system software engineer @ nvidia
0,0
рейтинг
2 июня 2013 в 10:57

Администрирование → Как за неделю подружить gma3600 (intel cedar trail) и linux из песочницы



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


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

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

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



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

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

Кульминация


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

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

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

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


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

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

Устанавливаем как обычно. Как в 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 к аппаратному декодеру.

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

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,0
рейтинг 0,0
system software engineer @ nvidia
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Администрирование

Комментарии (43)

  • –15
    Ждем следующую статью, как в linux за месяц написать драйвер для стиральной машины) А вообще, статья отличная.
  • +1
    > Из непроверенного источника известно, что в Intel видимо поняли, что конкретно прокололись с gma3600/gma3650, и решили, что следующее поколение Intel Atom будет иметь урезанную графику с i3 и i5.
    Да, уже и поддержку добавили: lists.freedesktop.org/archives/intel-gfx/2012-March/015574.html.
  • +6
    Я как наступил на грабли с GMA500 зарёкся иметь девайсы с PowerVR. Лучшее решение, которое я встречал по использованию GMA500 — «я продал нетбук» :)
  • 0
    А у вас vaapi нормально работает? У меня часто «мусор» накапливается на картинке или еще какие артефакты вылезают c h264.
    • 0
      Есть такой момент, засветки на h264. Видимо декодер хардверный такое же фуфло.
      • 0
        Скорее всего, не поддерживается H264 Level 5. У меня такая беда была на AMD E350 пока они не допилили драйвер.
  • 0
    Папа без ноута остался?)
    • 0
      Вот сейчас прямо пользуется.
  • –9
    Подобные проблемы и делают линукс юрезанфрендли для типичного пользователя. Я ставил убунту парочке людей, спустя год все же пришлось менять ее на винду.
    • +7
      Да нет, в данном случае с Linux всё хорошо, просто набор этих драйверов — редкостное г-но, простите уж.
      • –6
        Формально — да, проблема с драйверами. Но в винде то она не проявляется, верно?
        • +7
          Хехе, проявляется, и ещё как! У меня похожая железка, только не на Atom, последний драйвер, формально поддерживающий Win7 был выпущен в 2009, но при этом он XPDM — т.е. никакого композитного стола, и никакого Aero, в итоге более-менее нормально заработал ещё более старый драйвер, 2008 года выпуска. Про возможность установки 8ки на эту железку само собой можно вообще забыть.
          • +1
            Я жду, когда теперь SageScs честно признает здесь, что формально проблема с драйверами, но она делает винду юзеранфриендли для типичного пользователя.
            • –1
              Ну как мы выяснили, задача далеко не типичная ни для какой из осей. И я не апологет винды. Сам пользовался и виндой, и убунту, сейчас мак ос. Каждая из них хороша для определенных людей и определенных задач.
              Комментарий выше написал лишь как крик души и проявление сочувствия автору, который целую неделю работал над вопросом. В свое время я сам намучался помогать людям, которым ставил убунту. Шаг вправо, шаг влево, уже ковыряться надо, а умеют это далеко не многие.
              • 0
                Я просто сам знаком с глюками винды на GMA500. Реально анфриендли. Но всё-таки нечестно писать, что-де линукс от проблем с драйверами становится неудобен для рядового пользователя, а винда от тех же проблем — не становится. Становится, правда. И проблемы бывают.

                З.Ы. Как-то удивил знакомого, когда наглядно продемонстрировал, что его любимый EMU0404 у меня взлетает по полной программе со стандартными драйверами (несколько, т.к. там несколько модулей — pcm, midi). Вот так вот. По такому случаю в упор не понимаю, зачем ему нужен драйвер в винде, и почему она его не заводит сама, раз он class-compliant. Да и вообще часто отсутствие драйверов в линуксе оказывается не проблемой, т.к. «ему не надо, у него встроенные есть», так что в смысле юзабилити он оказывается лучше — воткнул и работай, ничего не надо делать, в отличие от винды.
                • 0
                  Да с виндой тоже проблем полно. Но для рядового юзера с линуксом их еще больше. Это просто личный опыт. Хотя это и задевает некоторых линуксоводов, карму подслили сразу:)

                  В данном случае автор объяснил специфику. И все вопросы к линуксу в данной ситуации снимаются.
                  • +2
                    Ну так очевидный факт вы так и не признали: проблемы с драйверами делают винду юзеранфриендли :)
                    • –1
                      В моем опыте проблем с дровами на винде было меньше, чем на линуксе.

                      Последние примеры:

                      — беспроводная гарнитура для компа.
                      В винде/макоси как только я втыкаю стикер в usb-порт, звук мгновенно переключается на наушники/микрофон гарнитуры. В убунту я вынужден каждый раз лезть в системные настройки и переключать источник звука вручную на наушники гарнитуры. Раздражает.

                      — беспроводная мышка. Для винды есть и дрова, и специальная прога, позволяющая настроить дополнительные функциональные кнопки. Для мака/линукса дров нет, кнопки настроить невозможно. Приходится юзать на маке как обычную мышь.
                      • –1
                        > В винде/макоси как только я втыкаю стикер в usb-порт, звук мгновенно переключается на наушники/микрофон гарнитуры. В убунту я вынужден каждый раз лезть в системные настройки и переключать источник звука вручную на наушники гарнитуры. Раздражает.

                        У меня появится неудержимая агрессия по отношению к тому человеку, который сделает такое переключение в линуксе автоматическим (и неотключаемым). Если я настроил, скажем, встроенную звуковуху основной, то меня не волнует, что кто куда втыкал и выдёргивал, основная — встроенная, потому, что я так настроил.
                        • 0
                          Опция отключаемая, есс-но. Но автоматическое переключение — это необходимость. Сижу я за компом, вдруг звонит скайп. Втыкаю стикер, нажимаю прием звонка — пара секунд. Лезть в настройки и переключать вручную — долго, приходится отклонять звонок, переключать и перезванивать.
                          • 0
                            PulseAudio (а может это фича сугубо Phonon, не знаю) позволяет выбрать приоритетную звуковую карту для VoIP (а так же для системных уведомлений, музыки, видео и игр). Не скажу за Ubuntu, но в Kubuntu с KDE это легко настраивается.
                          • +1
                            Втыкать что-то в порт на каждый звонок — не очень юзер-френдли, вы не находите? Не говоря уже о порт-френдли.
                            • 0
                              Нет, не нахожу, конечно. Музыку я предпочитаю слушать через колонки ноутбука (наушники через длительное время ношения давят на уши), а разговаривать по скайпу в наушниках (ибо прайваси).
                              • –1
                                Что мешает настроить Скайп на конкретное устройство и держать его в порту?
                                • –1
                                  Мешает стикер в порту, т.к. ноут я перемещаю. И втыкаю стикер только по необходимости: звонки по скайпу (иногда гарнитура может быть разряжена, значит, нужно говорить через колонки — опять вручную перенастраивать?), звонки по youmagic, послушать аудио-каст, пока делаешь что-то руками (опять же — если в той же комнате, то без наушников, если в другой — с ними, опять перенастраивать?).
                                  Вобщем, дальше объяснять смысла не вижу, все равно Вы это как холивар линукс vs винда воспринимаете, удаляюсь из темы.
                                  • 0
                                    > опять вручную перенастраивать?
                                    Я же вам написал сверху, что это настраивается единожды. Действительно, о чём тут дальше можно говорить?
                                    • 0
                                      Единожды каждую из программ.
                                      И объясните как единожды настроить программу воспроизведения звука, если я слушаю то в колонках(музыку), то в наушниках(аудиокасты)?
                                      • –1
                                        > Единожды каждую из программ.
                                        О какой настройке «каждой из программ» вы сейчас пишите? Вы комментарий сверху увидели? habrahabr.ru/post/181790/#comment_6317278

                                        > И объясните как единожды настроить программу воспроизведения звука, если я слушаю то в колонках(музыку), то в наушниках(аудиокасты)?
                                        Расскажите, а как вы это в Windows настраиваете?
                                        • –1
                                          Комментарий увидел, проверить возможности уже нет, убунты под рукой больше нет. В любом случае, нетривиальное решение.
                                          В винде/маке не настраиваю никак, просто втыкаю стикер, когда мне нужно, и звук автоматически переходит в наушники.
                                          • 0
                                            > В любом случае, нетривиальное решение.
                                            Выбрать предпочтительную звуковую карту для VoIP в системных настройках мультимедиа — нетривиальное решение? (У меня ровно восемь кликов с вызова главного меню до применения изменений.)

                                            > В винде/маке не настраиваю никак, просто втыкаю стикер, когда мне нужно, и звук автоматически переходит в наушники.
                                            Если их выставить в начало списка — звук будет так же автоматически переходить на них и в Linux.
      • 0
        Через год спросите у папы — хорошо ли все?
        • 0
          Мне тоже интересен ответ на этот вопрос, особенно интересно не отвалится что нибудь после очередного апдейта ядра.
          • 0
            Dkms поддерживатся в поставке, однако, как я уже сказал, сedar view драйвер прибит гвоздями к 3.2.0.
            Т.е. ядро без проблем обновляется в рамках 3.2.0-*. А 3.2.0 это longterm, так что без паники.
    • +7
      Трудно с вами не согласиться, но по сути проблема не конкретно в линуксе, а в отношении вендоров к всесторонней поддержке своего железа, будь то блобы не обновляемые копирастами под новые версии ядра или просто пофигистическое отношение к пользователям linux: «Подкованные мол, сами разгребут и дрова среверс инженирят». В такой ситуации мне остаётся голосовать ногами против таких вендоров и предупредить остальных, дабы не совершали моих ошибок.

      Лично я не стал бы даже ничего трогать, если бы не специфика работы отца (да-да, вы не ослышались, ему нужен именно linux).

      Возвращаясь к проблемам, они в приблизительно таком же объёме присутствуют в предустановленной винде. Только в ней вообще всё еле ворочается, ибо семёрка отжирает в лучшем случае треть оперативы на отцовском девайсе. Единственный плюс: ставить ничего не надо.
      • 0
        Согласен. Для себя вывел принцип, если задачи стоят банальные — юзать самый массовый софт. Там, как правило, воркфлоу проработан достойно.
      • 0
        Вы правы, дело в поддержке вендорами железа. Если присмотреть внимательно, то даже в случае с Windows встречаются аналогичные же шляпы, когда железка работает только на определенно версии ОС или же некорректно работает с драйверами для определенной версии ОС. Дело в том, что вендоры все-таки слегка больше внимания уделяют Windows, потому и проблемы менее массовые, но между тем они есть.
      • 0
        Что вы подразумеваете под вендором?
        Поставщика собранного изделия?
        Асус известен своей лояльностью к Линуксу, к примеру с моим нетбуком (1000h) шли два компакт диска с драйверами — один для окошек, другой для Линукса.
        Плюс их собственная облегченная оболочка, суть есть Линукс.
        Из недавних моделек стоит вспомнить — Asus 1015E с Убунту
        Если же говорить о поставщиках конкретных запчастей — то да, я с вами согласен. Потому что поставщики, по сути, способствуют монополии Microsoft
        • 0
          Intel и Imagination Technologies.
          Imagination Technologies спасибо за ужасное железо и отсутсвующую поддержку (контора эта — один из самых отявленных проприетарщиков на рынке).
          Intel — за пущенную пыль в глаза, ибо это дерьмо от Imagination Technologies в атомах оказалось для меня сюрпризом. А в довесок и прикрыли своим брендом (intel gma / intel cedar trail).

          А по поводу отношения Asus к Linux я бы не зарекался)
          Их пропаганда мелкомягких так и блещет на странице с ноутами: «ASUS рекомендует харкать кровью». А если по делу, то с возвратом рублей за форточки при отказе они не спешат. У Acerа и Lenovo с этим всё просто.

          П.С. Но ноуты у Asusа хорошие
  • 0
    poulsbo кстати вполне себе работал в одной из убунт. Потом, почему-то, отломали его.
  • 0
    >> Тема посвященная gma3600. 42 страницы.
    Уже 86 =)
    Спасибо за пост и сочувствую вам. Тоже бес попутал приобрести эту платку в качестве основы для домашней машины (привлёк уж очень малый аппетит). После недели плясок зарёкся поднимать на нём хоть какую-то графику, Вы отлично справились.
    • 0
      Думаю, что просто у вас с автором разное количество сообщений на страницу выводится :)
      • 0
        Просто пост писался 2.5 мес назад и валялся в песочнице до инвайта и вчерашней публикации
  • 0
    Я недавно сталкивался с этими проблемами, правда, мне было проще — я начинал с ядра 3.8, где поддержка уже почти допилена: драйвер modesetting рулит, оказывается.

    fat-troll.blogspot.ru/2013/05/asus-eeepc-1011cx-backlight-hack.html — вот тут я описал хак для неюзерфрендли дистрибутивов, который можно повесить на Fn-клавиши изменения яркости, если они не работают по дефолту.

    В Linux 3.9 для меня всё стало совсем хорошо: изменение яркости работает искаропки, правда, иногда подглючивает. За ускорением 3D и 1080p-видео не гонюсь вовсе — на десятидюймовом экранчике даже 720p — оверхед (но это моё ИМХО). HDMI не проверял.

    На будущее — никому не советую покупать нечто, основанное на чипах cedar trail. Плеваться будете долго.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.