Для начала следует скачать пару архивов с офсайта VIA.
2D source code for 83-242 driver(29Aug08) (723.2K)
Chrome9 DRM source for kernel 2.6.27(12Dec08) (31.2K)
Сборка самого драйвера(полностью описана в readme):
$ tar zxvf chrome.83-242-2d-src.tar.gz
$ cd ./xf86-video-via-83.1.0/X11R7
$ chmod +x config_x11r7
$ chmod +x autogen.sh
$ chmod +x configure
$ ./config_x11r7
$ ./autogen.sh
$ make
# make install
$ chmod +x autogen.sh
$ chmod +x configure
$ ./config_x11r7
$ ./autogen.sh
$ make
# make install
Теперь собираем DRM модуль:
$ tar zxvf drm-via_chrome9-2.6.27-85a-44411-src.tar.gz
$ cd drm-via_chrome9-2.6.27-85a-44411-src
$ make
# mkdir -p /lib/modules/'uname -r'/kernel/viachrome
# cp -v ./via_chrome9.ko /lib/modules/'uname -r'/kernel/viachrome
# depmod -a
# modprobe via_chrome9
Смотрим что у нас получилось:
$ lsmod | grep via
via_chrome9 28300 2
drm 82856 3 via_chrome9
i2c_viapro 11668 0
via_agp 12160 1
agpgart 32840 2 drm,via_agp
Теперь можно заняться конфигом иксов.
# /etc/X11/xorg.conf for hp Mini-Note 2133 FU339EA ubuntu 8.10
# with ubuntu 8.04 change the PanelID option
# based on the xorg.conf published on http://hp2133.umsw.de/xorg.conf
Section "Files"
FontPath "/usr/share/fonts/misc"
FontPath "/usr/share/fonts/TTF"
RgbPath "/usr/share/X11/rgb"
ModulePath "/usr/lib/xorg/modules"
inputDevices "/dev/input/mice"
EndSection
Section "Module"
Load "glx"
Load "dbe"
Load "dri"
Load "freetype"
Load "synaptics"
Load "extmod"
Load "v4l"
EndSection
Section "Device"
Identifier "Device 0"
Driver "via"
VendorName "VIA Technology"
# BusID "PCI:1:0:0"
Option "NoDDCValue"
Option "ActiveDevice" "LCD"
Option "PanelID" "17" # si ubuntu 8.04
# Option "PanelID" "9" # si ubuntu 8.10
Option "ForceLCD" "TRUE"
Option "Refresh" "60"
# Option "LCDPort" "DFP_HIGHLOW"
# Option "AccelMethod" "XAA"
EndSection
Section "Monitor"
Identifier "Monitor 0"
DisplaySize 196 116
HorizSync 28-50
VertRefresh 43-60
Option "DPMS"
# mode "1024x600": 49.0 MHz, 37.3 kHz, 60.0 Hz
Modeline "1024x600_60" 48.96 1024 1064 1168 1312 600 601 604 622 -hsync +vsync # http://hp2133.umsw.de/xorg.conf
# mode "800x600": 40.0 MHz, 37.9 kHz, 60.3 Hz
Modeline "800x600_60" 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync
# mode "800x600": 36.0 MHz, 35.2 kHz, 56.2 Hz
Modeline "800x600_56" 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync
# mode "800x480": 40.0 MHz, 37.9 kHz, 60.3 Hz
Modeline "800x480_60" 40.00 800 832 960 1056 480 541 545 628 -hsync +vsync
# mode "720x576": 32.7 MHz, 35.9 kHz, 60.1 Hz
Modeline "720x576_60" 32.70 720 744 816 912 576 577 580 597 -hsync +vsync
EndSection
Section "Screen"
Identifier "Screen 0"
Option "XAANoOffscreenPixmaps"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x600_60" "800x600_60" "800x600_56" "800x480_60" "720x576_60"
EndSubSection
SubSection "Display"
Depth 32
Modes "1024x600_60" "800x600_60" "800x600_56" "800x480_60" "720x576_60"
EndSubSection
Device "Device 0"
Monitor "Monitor 0"
EndSection
Section "InputDevice"
Identifier "Keyboard1"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru(winkeys)"
Option "XkbOptions" "grp:alt_shift_toggle"
EndSection
Section "InputDevice"
Identifier "Touchpad"
Driver "synaptics"
Option "Buttons" "5"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "on"
Option "InputFashion" "Mouse"
Option "Name" "Synaptics Touchpad"
Option "Protocol" "explorerps/2"
Option "SHMConfig" "on" # GUI setting access
Option "ZAxisMapping" "4 5"
EndSection
Section "Monitor"
Identifier "External"
Option "DPMS"
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Screen 0"
# Screen "Screen 1"
InputDevice "Keyboard1"
InputDevice "Touchpad" "SendCoreEvents"
Option "RandR" "False" # d' apres viax.conf via
Option "AIGLX"
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Extensions"
Option "Composite" "enable"
EndSection
Мой конфиг конечно далеко не идеален, и подходит только для моделей с разрешением экрана 1024х600..
Всё, не забываем добавить в конфиги автозагрузку нужного модуля.
Перезапускаем иксы и смотрим что получилось:
$ glxinfo | grep render
direct rendering: Yes
OpenGL renderer string: S3/VIA Graphics Chrome9 HC IGP
Несколько замечаний:
- Прокрутка на тачпаде с моим конфигом не работает. Пока не знаю почему.
- При неправильной конфигурации иксов очень возможны графические и даже звуковые(!!) артефакты(высокачастотный свист из корпуса О_о)
- Openchrome тоже работает, причем настраивать его гораздо легче, только вот DRMа там нет(или я просто плохо искал)
- При других разрешениях экрана необходимо править Modeline и PanelID в конфиге иксов
Комментариев нет:
Отправить комментарий