Установка Ubuntu (Xubuntu, Kubuntu, Lubuntu etc.) 12.04 на ноутбук с GMA500

После очередных мучений с моим нетбуком (на этот раз мучений практически не было), решил все-таки записать последовательность действий.

Ноутбук у меня Asus 1101ha со знаменитой в кругах линуксоидов карточкой Intel GMA500. С убунтой на этом ноуте я уже с версии 9.10, и постоянно что-нибудь, да не работает, уже много раз пожалел, что выбрал именно этот ноут. Тем не менее, все эти годы он мне исправно служит, хотя и приходится при переходе на очередную версию убунты немного повозиться.

На самом деле, начиная с версии 11.10 уже заявлена поддержка GMA500 "из коробки", и она действительно есть, но не работает (точнее криво работает). Поэтому после установки приходится поправить 2 файла. По сравнению с предыдущими версиями - это действительно можно считать работой "из коробки".

Приступим к установке Ubuntu 12.04 (это так же относится к остальным *бунтам)

Как делать загрузочную флешку я здесь описывать не буду, нужно только изменить на уже созданой флешке файл syslinux/txt.cfg, а именно

"quiet splash" заменить на "quiet console=tty1 acpi_backlight=vendor acpi_osi=Linux mem=896mb" (для тех, у кого 2Гб памяти: "mem=1920mb").

Самая важная опция здесь "console=tty1", без нее все изображение сворачивается в верхнюю часть экрана, что, мягко говоря, неудобно. Кстати можно и не заморачиваться с опциями, а просто переключиться в консоль Ctrl+Alt+F1 и набрать "sudo service lightdm restart", изображение нормализуется, и можно спокойно установить убунту. После установки, при первой загрузке получаем просто черный экран или свернутый в верхнюю треть. Нажимаем Ctrl+Alt+F1, заходим под своим пользователем, набираем "sudo service lightdm restart" и мы снова в графике до следующей перезагрузки. Чтобы закрепить полученный результат, открываем терминал и набираем:

sudo nano -w /etc/default/grub

меняем строку GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" на GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty1 acpi_backlight=vendor acpi_osi=Linux mem=896mb" (для тех, у кого 2Гб памяти: "mem=1920mb")

дальше Ctrl+O, Ctrl+X и вводим sudo update-grub

На этом почти все.

Что уже работает:

console=tty1 - приводит в норму графический режим
acpi_backlight=vendor acpi_osi=Linux - включает кнопки управления яркостью дисплея (на ноутбуках от Acer для изменения яркости нужно добавить acer_wmi.blacklist=yes)
mem=896mb - освобождает память для видеокарты

Управление яркостью

Как оказалось, для некоторых ноутбуков (точно для Asus 1101ha и Asus 1201ha) добавление параметра в grub не решает проблему с регулировкой яркости. Индикатор по горячим клавишам появляется, но реально ничего не регулирует. Проблема оказалась в том, что регулятор яркости регулирует яркость в файле /sys/class/backlight/eeepc/brightness, а драйвер ждет настроек в /sys/class/backlight/psb-bl/brightness. Немного погуглив нашел 2 решения: добавление патченного gsd-backlight-helper (мне не помогло), второй со скриптом в автозапуске, который в цикле каждую секунду проверяет значение /sys/class/backlight/eeepc/brightness и добавляет его умноженное на 7 в файл /sys/class/backlight/psb-bl/brightness. Идея постоянно висящего в системе bash-скрипта на атоме мне абсолютно не понравилась, поэтому решил придумать свой способ. В его правильности абсолютной уверенности у меня нет, но он работает. Идея проста: делаем так, чтобы оба пути вели к одному и тому же, правильному файлу. В данном случае файловая система /sys создается каждый раз при загрузке, поэтому и править ее придется каждый раз при загрузке.

Итак, решение, которое работает у меня - добавляем в автозапуск системы подмену каталога:

sudo nano -w /etc/rc.local

и перед строкой exit 0 добавляем следующую строку:

mount /sys/class/backlight/psb-bl /sys/class/backlight/eeepc -o bind

Приводим в чувства ждущий режим.

Здесь все еще проще:

sudo nano -w /etc/pm/config.d/gma500

и вписать строку: ADD_PARAMETERS='--quirk-vbemode-restore'

Вот и все, можно работать.


Uptime. Мониторинг сайтов и серверов.