- PVSM.RU - https://www.pvsm.ru -

Как за неделю подружить gma3600 (intel cedar trail) и linux

Как за неделю подружить gma3600 (intel cedar trail) и linux

В подарок отцу был куплен asus x101ch [1]. На первый взгляд шикарный нетбук, особенно в отношении цена-качество. В Евросети я отдал за него скромные 7500 рублей (дело было зимой). Больше всего меня привлекли матовый дисплей, двухъядерный 1.6Ghz Atom и заявленная возможнось просмотра Full HD (1080p), что в большей степени сказалось на выборе его в качестве замены старому eee pc 900. Ослеплённый положительным опытом, полученным от использования Intel Atom на неттопе с Debian 6, и всем вышеперечисленным, я забыл самое главное: изучить вопрос о работоспособности данного девайса в Linux до покупки, за что впоследствии и поплатился…

Первая попытка установить Linux или «Try Ubuntu»

Радостно освободив нетбук от упаковки, в очередной раз приступил к уже привычной операции — установке Ubuntu 12.04 LTS на новый девайс. Но уже после загрузки иксов в live сессии я был огорчён низким разрешением и невозможностью его изменить (800х600, у нетбука 1024x600). Чувствовалось, что рисовалось всё софтверно, а за всем этим стоял vesa драйвер. К тому же наблюдалось очень странное поведение мыши: она то пропадала, то опять появлялась — что спустя несколько секунд начинало сильно раздражать. Установка на диск ситуацию никак не изменила. Всё указывало на то, что проблема кроется в видеодрайвере.

Спустя день рысканий по просторам интернета вырисовывалась приблизительно такая картина:

  1. Тема [2] посвященная gma3600. 42 страницы. Третья по популярности на русскоязычном форуме Ubuntu в разделе Графическое оборудование [3]
  2. Отсутсвие 3d как такового (В любой ОС).
  3. Существование проприетарного драйвера с доступом к хардверному декодеру (video acceleration api).
  4. Intel пользовалелям нетбуков с gma3600 «сочувствует» [4]. Но помочь ничем не может (не хочет?).
  5. Наличие [5] Linux (MeeGo) для Cedar Trail. Тут же замечание о том, что про Win8 можете забыть.
  6. Ко всему прочему имеют место быть проблемы со сном [6] в Linux. А также не работает HDMI, VGA и ряд клавиш Fn.
  7. Сам графический чип является детищем компании Imagination Technologies [7], а именно, PowerVR SGX545 [8], который в gma3600 является «логическим» продолжением gma500. Последняя, в свою очередь, имеет очень дурную славу не только среди линуксойдов.

На тот момент весь этот набор уже заставил меня задуматься над целесообразностью покупки и спонсирования вендоров, выпускающих железо с такой поддержкой. Но делать было нечего, надо было привести в рабочее состояние нетбук, на котором даже предустановленная Win7 работала похабно. Подарок и сопутствующие ему положительные эмоции дарящей и принимающей сторон были омрачены окончательно. Попытки установить проприетарный драйвер из ppa приводили к чёрному экрану. На Ubuntu 12.10 в принципе не загружались иксы после установки. Бекпортирование [9] ядра 3.7.1 в Ubuntu LTS принесло некоторый успех — нормальное разрешение экрана, а в качестве бонуса — нерабочий драйвер wifi. На третий день после покупки я понял, что сопротивление бесполезно, и решил установить MeeGo.

Двухдневная баталия с MeeGo

По ссылке [5] с сайта Intel был загружен образ MeeGo Cedar Trail и записан (как есть) на флешку. Нетбук загрузился с нормальным разрешением, а MeeGo шустро показывал анимации перходов в меню рабочего стола и приложений. Заработал сон и ряд Fn. Я ликовал: общее впечатление было значительно лучше, чем от работы предустановленного стартера.

Как за неделю подружить gma3600 (intel cedar trail) и linux

Но счастье было недолгим. Буквально через час после установки, человечек радостно сообщил о наличии обновлений, которые я, недолго думая, установил. Результат не заставил себя долго ждать… Отвалился wi-fi, причём сразу, что очень насторожило. Перезагрузившись с флешки и сравнив образы ядра, предположил, что его обновление и стало тому причиной. Переставил, выключил обновления, руководствуяюсь принципом «работает — не трогай», и отдал в пользование отцу.

Не прошло и часа, как отец рассказал о странном поведении системы: установка mc (midnight commander) аналогично обновлению запорола wi-fi, хотя сама установка не тянула за собой никаких пакетов и тем более обновлений библиотек. Наигравшись с переустановкой дистрибутива, обнаружил для себя необяснимый, фатальный и ужасный баг — установка любого (да-да любого) пакета приводила к той же проблеме. Под подозрение попадала пакетная система, но так как в MeeGo это rpm, то единственным логичным объяснением мог быть какой-то глобальный косяк разработчиков дистрибутива. Разбираться в такой проблеме уже не было ни желания, ни сил. Следующий день не принёс ни единой зацепки в деле о поиске проблемы, да и нервы были дороже.

Кульминация

Под конец недели я начал подготавливаться к возврату нетбука обратно в магазин. Это не предвещало ничего хорошего, в виду того что нетбук, как вы знаете, относится к сложным электротехническим товарам и входит в перечень непродовольственных товаров надлежащего качества, не подлежащих возврату или обмену [10], и единственный способ его вернуть без «доплаты продавцу» — найти существенный недостаток, например: производственный брак или самопроизвольные выключения.

Упаковав всё в коробку и распечатав выдержки из озпп для предстоящих баталий с продавцом и, возможно, управляющим магазина, уже собирался выходить из дому. Но что-то ещё сопротивлялось в глубине души, и перед уходом я ещё раз решил попытать счастье.

В который раз открыл Chromium, дабы найти что-то полезное, прошедшее мимо моих глаз за неделю тщетных исканий. Буквально через минуту наткнулся на ещё не прочитанную до этого статью, беглое чтение которой вселило в меня надежду. Кардинально от десятка других howto её отличала одна строка, о которой далее и пойдёт речь.

Устанавливаем драйвер Xorg

Приборы и материалы: Ubuntu 12.04.1 i386 или Mint 13 (прямой наследник первой), девайс с процессором atom i386 и графической подсистемой gma3600.

Ход работы:
Первое, что вам потребуется, это сам дистрибутив. Лучший вариант: скачать [11] последний стабильный выпуск с оф. сайта.

Устанавливаем как обычно. Как в live сессии, так и после установки будет низкое разрешение. Это «нормально».

После установки обновляем список пакетов:

sudo apt-get update

Все руководства по установке драйвера гласят, что модуль ядра cedarview не совместим с pae ядрами. Не пытайтесь установить драйвер на pae ядро. Узнайте, какое у вас:

uname -r

Если у вас pae ядро (на это указывает суффикс "-pae" в выводе uname -r), устанавливаем обычное и хидеры к нему (требуются для сборки модуля ядра проприетарного драйвера):

sudo apt-get install linux-headers-generic linux-image-generic

Сносим pae ядро, сносим совсем, иначе получим чёрный экран:

sudo apt-get purge linux-headers-generic-pae linux-image-generic-pae

Именно оставшиеся настройки от pae ядра, которые не удаляются через apt-get remove, стали камнем преткновения на целую неделю.

После установки/удаления ядра grub2 должен пересканировать разделы на наличее других ОС и новых ядер. Если этого не произошло, командуем:

sudo update-grub2

Заодно устанавливаем gdm (некоторые пользователи испытывают проблемы с конфигурацией xorg для lightgdm):

sudo apt-get install gdm

Во время установки будет задан вопрос: какой display manager использовать — выбирайте gdm.

Перезагружаемся.

Установка драйвера

Дело за малым — осталось установить драйвер. Скорее всего после перезагрузки запустится jockey (Additional drivers), который предложит установить cedarview-drm, но этого не всё, что требуется для корректной работы:

sudo apt-get install cedarview-graphics-drivers cedarview-drm

Установка длится достаточно долго, около 10-15 мин, так как компилируется модуль ядра (видимо в один поток). Во время установки может гаснуть экран, а после на экране будет цветная каша. Главное — не выключить нетбук преждевременно.

После успешной установки драйвера разрешение должно стать нормальным, а также должны правильно работать выход из спящего режима и регулировка яркости.

Если после перезагрузки иксы не запустились, откройте tty1 Ctrl + Alt + F1, залогиньтесь под своим пользователем и отредактируйте настройки grub (на x101ch данный этап не потребовался):

nano /etc/default/grub

Найдите строчку:

GRUB_CMDLINE_LINUX=""

и добавьте между кавычками:

video=LVDS-1:d

Обновите grub2 и перезагрузитесь:

update-grub2
reboot

Также вы можете изменить конфигурацию загрузки ядра на один запуск, нажав e во время загрузки и добавив свои опции после «quiet splash».

Аппаратное ускорение видео на десерт

При покупке нетбука или другого девайса с gma3600 вы скорее всего обратили внимание на заманчивую рекламку: «Воспроизведение с разрешением Full HD 1080p». Уже сейчас нетбук способен проиграть 720p, но декодирование будет осуществляться программно, что плохо сказывается на нагрузке процессора и автономном времени работы. Например, mplayer может задействовать все четыре потока, нагружая каждое из двух ядер на ~80%. Но зачем? Есть же специальный микропроцессор, встроенный в графическую систему и позволяющий снизить нагрузку при проигрывании 720p до 3-4%, а при 1080p удерживать процессор в пределах 10%. Что бы его активировать, нужно установить дополнительную библиотеку, реализующую vaapi [12] к аппаратному декодеру.

Устанавливаем:

sudo apt-get install libva-cedarview-vaapi-driver

Также потребуется специальная сборка mplayer-vaapi:

sudo apt-add-repository  ppa:sander-vangrieken/vaapi
sudo apt-get update
sudo apt-get install mplayer-vaapi

Ну и графическая оболочка gnome-mplayer:

sudo apt-get install gnome-mplayer
Последний штрих

Откройте Gnome Mplayer, зайдите в Edit -->Preferences, вкладка Mplayer и добавьте в поле «Extra Options to Mplayer»:

-vo vaapi -va vaapi

Теперь 1080p видео с любимыми котиками аппаратно ускорено!

Подводя итог, можно с уверенностью сказать, что поддержка Intel, как Linux, так и Windows, не так хороша, как её малюют. Из непроверенного источника известно, что в Intel видимо поняли, что конкретно прокололись с gma3600/gma3650, и решили, что следующее поколение Intel Atom будет иметь урезанную графику с i3 и i5. Но всё же ситуация с gma3600 значительно лучше, чем с gma500, пятилетней давности.

П.С. Важно отметить, что mplayer-vaapi конфликтует с mplayer2 и устанавливает несколько пакетов, для работы с vaapi. Он менее стабилен, но позволяет задействовать ресурсы графической подсистемы.

Ещё был обнаружен репозитарий с исходниками cedarview. Он актуален, и последний коммит в нём датируется двадцатым числом января этого года. Судя по коммитам, можно судить о том, что добавлена поддержка ядер 3.5.0 и 3.7.2. Кодовая база основана на cedarview 1.0.3 от Intel, когда в Ubuntu 12.04 присутствует только 1.0.2. Сам я не пробовал собирать его, но среди явных плюсов можно отметить исправление утечек памяти в vaapi. В моём случае 2-ухчасовой просмотр FullHD с драйвером 1.0.2 (из репозитария) течи не обнаружил.

Upd:
В ядре, поставляемом с Ubuntu 13.04, теперь есть доработанный community драйвер. Он значительно лучше себя показывает в отрисовке 2д, однако придётся смириться с отсутвием vaapi.

Автор: alexeyknyshev

Источник [13]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/35715

Ссылки в тексте:

[1] asus x101ch: http://ru.asus.com/Eee/Eee_PC/Eee_PC_X101CH/

[2] Тема: http://forum.ubuntu.ru/index.php?topic=186601.0

[3] Графическое оборудование: http://forum.ubuntu.ru/index.php?board=57.0

[4] «сочувствует»: http://habrahabr.ru/company/intel/questions/1895/

[5] Наличие: http://www.intel.com/support/ru/graphics/intelgma3600/sb/cs-033597.htm

[6] проблемы со сном: http://forum.ubuntu.ru/index.php?topic=186601.90

[7] Imagination Technologies: http://ru.wikipedia.org/wiki/Imagination_Technologies

[8] PowerVR SGX545: http://en.wikipedia.org/wiki/PowerVR#Series_5

[9] Бекпортирование: http://www.upubuntu.com/2012/12/install-linux-kernel-371-on-ubuntu.html

[10] перечень непродовольственных товаров надлежащего качества, не подлежащих возврату или обмену : http://ozpp.ru/laws2/pravila-prod/tovar21.html

[11] скачать: http://www.ubuntu.com/download/desktop

[12] vaapi: http://en.wikipedia.org/wiki/Video_Acceleration_API

[13] Источник: http://habrahabr.ru/post/181790/