Framebuffer на MSI U100 в Archlinux

Предистория
Дело в том что в grub нет возможности задать режим фреймбуферу отличный от 640x480, 800x600, 1024x768 и 1280x1024, а на msi wind матрица 1024x600 и при 800x600 выглядит всё немного растянуто, да и глаза напрягает. В итоге решил найти метот который бы позволил задать разрешение 1024x600 на ноутбучной карточке (intel 945GM).

Поиски
Поиски вели в бредни по патчинью grub2, полез в aur и нашел grub2-915resolution, но сей grub намекает на отказ от ext4 чего я делать не был намерен, после поиска патча на ext4 на эту версию grub и патча 915resolution на grub2 уже поддерживающий ext4 (в ArchLinux он уже на ext4 пропатчен) решил отказаться от сего метода - надоело искать. Потом вспомнил о 915resolution
Посмотрел в aur и нашел 915resolution-static который патчит видео BIOS для поддержки нужного нам режима — в моем случае 1024x600. И с ним всё оказалось нетривиально но до безобразия просто.

Рецепт
yaourt -S 915resolution-static v86d
Первый пакет собираем из aur, второй лежит в extra. После этого редактируем два файла /etc/modprobe.d/uvesafb.conf(при необходимости создать) и /lib/initcpio/hooks/915resolution дабы они выглядели как показано ниже (естественно что делать это надо от пользователя root).

Первый
options uvesafb mode_option=1024x600-32 scroll=ywrap

Второй
run_hook ()
{
  msg -n ":: Patching the VBIOS..."
  /usr/sbin/915resolution -c 945GM 5c 1024 600
  msg "done."
}

После сих действий добавляем в /etc/mkinitcpio.conf нужные хуки (HOOKS="base udev 915resolution v86d остальные") и запускаем (опять же от суперпользователя) mkinitcpio -p kernel26
Как только образ initrd соберется можно уходить в ребут и наблюдать приятную глазу консоль во фреймбуфере с разрешением в 1024х600, правда логотип ArchLinux при загрузке мы не увидем, ибо uvesafb будет включатся несколько позже.

В общем всё не так сложно как я об этом читал в сети, к тому же grub вообще не пригодился.

PS. Кстати, про msi wind u100 есть описание в ArchWiki так же как и на msiwind.net описание ArchLinux. Но про framebuffer там не слова — я что один арчевод работающий по-большей части в консоли не запуская иксов?

PPS. Если есть из читающих Арчевод с желанием запихнуть это в wiki, то просьба запихнуть, а то я с вики плохо дружу, чаще порчу всё — как-то вообще не сложилось с wiki-редактированием
vD 09-07-2009
> я что один арчевод работающий по-большей части в консоли не запуская иксов
проще KMS прикрутить ;)
muhas 09-07-2009
Доки там для тех ядер где KMS ещё не было.
но за идею впасибо, надо посмотреть чем kms поможет мне с фрембуфером - а то я что-то о нем и забыл совсем...
vD 09-07-2009
танцов с бубном меньше
а если вы используете арч, то у вас должна быть последняя версия ядра с кмс
на данный момент я заметил только две проблемы kms:
1) не работает mplayer в консоле
2) не совсем работает xrandr (хотя разработчики обещали поправить xrandr в версии 2.8.0)
muhas 09-07-2009
> не работает mplayer в консоле
ой, после этого остальное можно было и не приводить... минусов для мну уже больше чем плюсов, хотя попробую всё-равно - насколько понял надо задать опцию i915.modeset=1 ядру? а как указывать разрешения хз - вроде в биосе видюхи как таковое 1024x600 не прописано
vD 09-07-2009
про мплеер говорят что это баг мплеера, а не кмс =)
да, только еще добавть в /etc/mkinitcpio.conf (хотя они у вас и так должны быть там) ;)
MODULES="intel_agp i915"
перегенерировать initrd

на старте выкинуть из строчки с ядром все что относится к графике (типа vga=0x312)
он сам подхватит 1024х600
muhas 09-07-2009
Попробовал. Всё работает, только когда демоны запускаются часть почему-то такого-же размера но не на весь экран. за пару демонов всё встает на свои места.
Всё-таки kms это не просто хорошо, это еще и просто :)

Из плюсов пока заметил более быстрый старт иксов и без моргания (хотя это может визуально кажется что он стал быстрее ибо моргания нету)

Спасибо, добрый человек за терпение и разъяснения.
vD 09-07-2009
спасибо и вам
пишите в блог еще
с удовольствием читаю ;)
muhas 09-07-2009
Ой как оказывается приятно получать такие комментарии :D
Только меня можно и на "ты"
kirill.zabarniuk 10-08-2010
если grub собран с модулем 915resolution (а скорее всего именно так и собран), то на wind-e можно установить родное разрешение чисто для самого груба :)
http://m0squito.blogspot.com/2010/08/set-grub-resolution-with-915resolution.html
muhas 10-08-2010
@kirill.zabarniuk
1) grub2 в то время когда я писал ещё не поддерживал ext4
2) kms уже давно тем же intel отлично поддерживается, и тут мою и твою заметки можно вообще удалить(хороша ложка к обеду)
3) граб виден только дуалбутщикам =)
4) вроде и без 915resolution второй граб сам уже научился ставить нужное разрешения просто с помощью set gfxmode=1024x600 (вроде, не уверен) - хотя я считаю что для загрузчика оси это излишество
5) пиарить собственный бложик в старых статьях я считаю немного неэтично (отсюда и большая часть негатива в моем комменте, несмотря на то что расцениваю пост немного как спамерския я его всё же не удалю, может быть он кому-то пригодится)

ps бложик твой может быть полезным, только пишешь очень-очень редко
tchgefest 10-08-2010
Скажите,а вы картридер настроили,у меня правда 130 модель MSI
не могу победить и все
muhas 10-08-2010
кардридер заработал вообще без каких либо телодвижений, видимо в 130 совсем другая железка :(