LINUX.ORG.RU

Пользователям VIA VX посвящается


0

0

Здравствуй, ЛОР. После двухдневной переписки с разработчиком из Via мне удалось заполучить новую версию видеодрайвера для чипсетов VX800/VX820/VX855 от Via. Посему этот тред будет интересен, в первую очередь, владельцам ноутбуков Samsung NC20, Lenovo S12, HP 2133 и некоторых других. На оф. сайте этой версии драйверов нет. К сожалению, мне удалось заполучить драйверы только в бинарном виде, впрочем, этого достаточно. Для тех, кому это нужно/интересно.
1. Забираете с http://linux.via.com.tw в секции 9.04 / VX800 сырцы 2D/DRM драйвера, компиляете их под свое ведро (В 2.6.30 мне потребовалось сделать небольшой патч для успешной компиляции)
2. Устанавливаете и загружаете DRM модуль ведра "via", устанавливаете дрова X-сервера и настраиваете xorg.conf:

------------

Section "Device"
Identifier "Card0"
Driver "via"
Option "ActiveDevice" "LCD,CRT"
Option "PanelSize" "1280x800"
Option "LCDPort" "LVDS0"
VendorName "VIA Technologies, Inc."
BoardName "VIA Chrome9 HC3 IGP"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Modes "1280x800"
Depth 24
EndSubSection
EndSection

Section "DRI"
Mode 0666
EndSection

Section "ServerFlags"
Option "AIGLX" "on"
EndSection

------------

3. Забираете архив с экспериментальными дровами, о котором сабж.
4. Достаете оттуда все что касается 3D: libGL, via_chrome9_dri и.т.д. Модуль ведра и via_drv вы уже собрали на шаге 2, они Вам не понадобятся.
5. Все распихиваете в нужные места, depmod -a, ldconfig.
6. Наслаждаетесь аппаратным ускорением mplayer -vo xv, а также openGL 1.2

В glxgears при вышеописанном допиливании имею 430fps стабильно.
Драйвер может быть немного глючным. 2D/DRM часть имеет открытый код и можно копаться.

Собственно экспериментальные дрова:
http://rghost.ru/493699

Апдейт. Помимо того, что уже публиковалось, теперь есть и заточенный под Suse 11 драйвер, тоже бинарный. Согласно свежей информации от разработчика, в перспективе планируется включение DRM модуля в mainline kernel, прицел на 32 / 33, сейчас над этим идет работа.

На всякий случай залью экспериментальный драйвер на новый хост.

86a-50937, Ubuntu:
http://rghost.ru/526145

86a-50937, Suse11:
http://rghost.ru/526158

orbitalC
() автор топика
Ответ на: комментарий от anonymous

Еще несколько важных моментов.

1.
У некоторых возникают проблемы с XRandr на этих драйверах.
Можно его просто выключить из xorg.conf:

Section "ServerLayout"
Identifier "ConfiguredLayout"
Option "RandR" "false"
EndSection

2.
Скрипт ./vinstall из 86a-50937 запишет вам свой xorg.conf, совершенно неправильный. Но имевшийся будет забекаплен в /etc/X11/xorg.conf.viabak

3.
В нульпосте возможна ошибка в пункте 2. Из-за неразберихи в Via модуль DRM называется кое-где via, а кое-где via_chrome9. По моим данным, первый - огрызок от модуля для карт поколения UniChrome. Поэтому у меня модуль via занесен в блеклист, а загружается via_chrome9.

4.
В июле-августе стало известно о несвободном статусе части 3D драйвера. По словам Via, откывать его не будут. Сообществу были предложены книжки со спецификациями и дан намек делать.

5.
У некоторых пользователей libGL.so.2.via_chrome9 не "заводится" на X сервере начиная с версии 7.5. На 7.4 работает точно. А у некоторых все живет и на 7.6-devel. Почему - я так и не смог понять.

6.
Для тех, кому не хочется заниматься этим онанизмом, есть openchrome, благо с неделю назад вышла новая версия 0.2.904. В ней поддерживается это железо, все работает сразу и берется это счастье из SVN или даже пакетом (Я собрал .deb со свежего чекаута, могу выслать).
Но про вкусности вроде аппаратного ускорения забудьте.

7.
Это, хммм, how-to, поток сознания я здесь оставляю не как мусор, а как именно how-to. Я сам после очередной переустановки уже приходил сюда за своими же инструкциями и файлами. Так что, если все это вам кажется ненужным мусором, проходите мимо, пожалуйста.

orbitalC
() автор топика
Ответ на: комментарий от orbitalC

Не поделитесь тогда до кучи - how to патчить под ядро драйвер DRI? в сырцах толи 27 толи 28, откатывать с 2.6.31 не очень хочется, с wifi проблемы решать придется ( Arch x86_64 kernel 2.6.31 ... выполнил ./vinstall ldconfig ругается ldconfig: libraries libGL.so.1 and libGL.so.1.2 in directory /usr/lib have same soname but different type. ...

find /usr/lib | grep libGL /usr/lib/libGL.so.1 /usr/lib/libGLU.so.1.3.070501 /usr/lib/libGLw.so.1 /usr/lib/libGL.so.1.2 /usr/lib/libGLw.so.1.0.0 /usr/lib/libGLU.so /usr/lib/libGLw.so /usr/lib/libGLU.so.1 /usr/lib/libGL.so /usr/lib/libGL.so.1.2.via_chrome9

в какую сторону гуглить чтобы обратно фарш раскрутить?

cirill
()
Ответ на: комментарий от cirill

Что касается DRM модуля, я использовал H5DRM, под ядро 28. Я по разному с ним упражнялся, но самым важным для меня было убрать все упомниания о dri_library_name.

Что касается libGL.so, к нему ведет несколько символических ссылок, причина мне, честно говоря неизвестна. Важно то, что пере использованием ./vinstall следует удалить все имевшиеся драйверы, такие как openchrome или более старые версии драйвера via. Могу предложить взглянуть в ldconfig на то, как и что залинковано с libGL.so и опубликовать сюда.

Ядро откатывать, размеется, не надо. Все работает и с 30, и с 31.

orbitalC
() автор топика

Лень репостить сюда, скину ссылку специально для убунтоводов.
Там находится мой пост, подробно описывающий процесс инсталляции.
Кроме того, по этой ссылке архив отличается, там изменен xorg.conf
в поставке и скрипт установки. Чтобы практически не надо было думать.

http://ubuntuforums.org/showpost.php?p=8103495&postcount=244

orbitalC
() автор топика
Ответ на: комментарий от orbitalC

не осилил скомпилить DRM под 2.6.31 убрал и dri_library_name из 220 строки и почистил так и этак - не заводится ... не поделитесь пропатченным via_chrome9_drm.c ? ) ldconfig заборол, да, гуглить полезно )

cirill
()
Ответ на: комментарий от cirill

К сожалению я сейчас не имею доступа к компьютеру с железом Via, а там же лежат драйверы. А может дадите вывод ошибки? Я более-менее помню что к чему. И какая версия libdrm2 у Вас, кстати.

orbitalC
() автор топика
Ответ на: комментарий от cirill

Пропатчил ведро ( пришлось повозится, в основном из-за исчезновения drm_free и прочего, что заменил на kfree и еще всякую шушеру, заняло от силы минут 20. Работает на ура, обрадовался, когда 600 фпс смог получить, но потом обновил иксы и какая-то лажа пошла ( glxgears не запускались и прочее ), перешел на опенхром, работает хорошо ( 120-160 фпс ). Я доволен. Сижу на самсунге нс20. Патч к ядру: http://mirror.ls-home.org/distfiles/genpatches-2.6.31-4.lastrix.tar.bz2

Если хочется 3д, то сидеть придется на старом ксорге ( 1.5.3-r6 ).

anonymous
()
Ответ на: комментарий от anonymous

Спасибо за внимание уделенное моей проблеме ) К сожалению, вынужден тратить все имеющееся время на текущие проекты, и самообразование, эксперименты придется отложить. Скорее всего закончу как раз к выходу 2.6.33 ))

cirill
()

Да... на Убунте работает. Я собственно любимую Генту убил ради запуска этого драйвера на Убунте.

А на генту буде работать или нет? Я начинающий линуксовод... Не сильно осведемлен о бинарной совместимости.

mesouug
()
Ответ на: комментарий от mesouug

На генте ( проверено 100% работает ) дрова от виа ( топикстарт смотри ссылку на файлы ) работают шикарно, качаешь патч ( ищи выше в моем же посте), если не знаешь как ебилд сделать, то вот он: http://ls-home.org/gentoo-sources-2.6.31_p20091015.ebuild ( это фактически ядро gentoo-sources-2.6.31-r3 ). Потом делаешь тоже что описано в начале. Стабильно glxgears выдает 500-600 фпс, даже hdtv-видео смотрел через nfs, и без лагов ))))

Да и кстати, дрм для опенхрома не работает, если не пропатчить include/drm/drm_pciids.h . Без добавление VX800 в этот файл дрм не работает, с ним же фпс в 2 раза подскакивают ( с 80 до 160 ). Кстати патч включен в тот патч наверху.

А генту убил зря кстати ))) Нужно немного уметь гуглить и читать маны. Думаю на неделе посмотреть почему на ксорге 1.6 не работают эти дрова... может найду как исправить ). ЗЫ 2д-ускоритель и дрм работают везде )

lastrix
()
Ответ на: комментарий от lastrix

Вах... пасиба... С генту проста разметка была кривая... Лень перемещать... чистить... Решил координально. Ну если на 31-ом ядре всё отлично работает... Это супер. Буду пилить. Ибо гента куда шустрее.

mesouug
()
Ответ на: комментарий от lastrix

Протестировал еще раз на 1.6, дрова работают, чистый гном когда, то фпс 400 ( можно даже в мплеере смотреть hdtv 720р ), но запустил оперу начались лаги, причем нипадецки, в том числе и при вводе, как например сейчас, когда я пишу, так что перейду обратно на openchrome, там хоть стабильно 130-160 фпс, и ничего не глючит. Правда hdtv уже не посмотришь )))

lastrix
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.