15 авг. 2009 г.

Nouveau на FreeBSD

В /usr/ports/UPDATING заметил следующее:
20090801:
AFFECTS: users of x11-drivers/xf86-video-nouveau
AUTHOR: rnoland@FreeBSD.org

An updated libdrm and xf86-video-nouveau have been committed.  These
update the API version to 0.0.14 and if you are using DRM you will need
to update your kernel patch.  See pkg-message in xf86-video-nouveau for
details.

Будучи пользователем amd64, nv и GeForce 9600GT скорость прокрутки в терминале просто убивает, и поэтому я, сломя голову, понёсся ставить nouveau.

Дабы завести это чудо необходима последняя версия graphics/libdrm, иначе при сборке x11-drivers/xf86-video-nouveau будет наблюдаться следующее:
nouveau_exa.c  -fPIC -DPIC -o .libs/nouveau_exa.o
nouveau_exa.c: In function ‘NVAccelDownloadM2MF’:
nouveau_exa.c:92: error: ‘struct nouveau_bo’ has no member named ‘tile_mode’
nouveau_exa.c: In function ‘NVAccelUploadM2MF’:
nouveau_exa.c:213: error: ‘struct nouveau_bo’ has no member named ‘tile_mode’
nouveau_exa.c: In function ‘nouveau_exa_mph_broken_should_die’:
nouveau_exa.c:441: warning: implicit declaration of function ‘nouveau_bo_new_tile’
nouveau_exa.c: In function ‘nouveau_exa_pixmap_is_tiled’:
nouveau_exa.c:475: error: ‘struct nouveau_bo’ has no member named ‘tile_flags’
nouveau_exa.c: In function ‘nouveau_exa_pixmap_map’:
nouveau_exa.c:493: error: ‘struct nouveau_bo’ has no member named ‘tile_flags’
nouveau_exa.c: In function ‘nouveau_exa_pixmap_unmap’:
nouveau_exa.c:521: error: ‘struct nouveau_bo’ has no member named ‘tile_flags’

Убеждаемся что имеем последнюю graphics/libdrm и идём в порты:
$ cd /usr/ports/x11-drivers/xf86-video-nouveau && sudo make install clean

После успешной установки нам скажут, что не всё так хорошо в датском королевстве и нам придётся компильнуть модуль для ядра. Я сделал это так:
$ cd /usr/src/sys
$ curl http://people.freebsd.org/~rnoland/drm-nouveau-062309.patch | sudo patch -sp0
$ cd modules/drm
$ sudo make depend all install

Теперь в xorg.conf надо указать драйвер nouveau вместо nv или nvidia, а также отключить AIGLX. Также советую в /etc/ttys закоментировать строчку про xdm, а после успешного запуска X-ов раскомментировать.
Всё, ребут. Если X-ы не стартуют, то welcome to /var/log & google.

Итого: FPS в glxgears больше не стало, xcompmgr всё так же подтормаживает, но терминал стал прокручиваться заметно быстрее. Короче говоря, я доволен как слон. (:

Комментариев нет:

Отправить комментарий