xf86-video-nouveau

FreeBSD и прочие в роли десктопа.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Гость
проходил мимо

xf86-video-nouveau

Непрочитанное сообщение Гость » 2009-01-29 12:22:52

всем кто хочет потестить nouveau (свободный драйвер для nvidia-карточек)
Для этого вам понадобиться:
  • обновиться до 7.2, 7-stable или 8-current
  • удалить x11/nvidia-driver
  • применить libdrm.diff и обновить порт graphics/libdrm
  • применить xf86-video-nouveau.diff и обновить порт x11-drivers/xf86-video-nouveau
  • применить drm-nouveau-062309.patch и пересобрать ядерные модули drm.ko и nouveau.ko
Выглядеть это будет примерно так

Код: Выделить всё

# pkg_delete -x nvidia-driver

# cd /usr/ports/graphics/libdrm
# fetch -qo- ftp://ftp.lissyara.su/users/Guest/libdrm.diff | patch -sp2
# make all deinstall install clean

# cd /usr/ports/x11-drivers/xf86-video-nouveau
# fetch -qo- ftp://ftp.lissyara.su/users/Guest/xf86-video-nouveau.diff | patch -sp2
# make all deinstall install clean

# cd /usr/src/sys
# fetch -qo- http://people.freebsd.org/~rnoland/drm-nouveau-032109.patch | patch -sp0
# cd modules/drm
# make depend all install
после чего заменить драйвер nv или nvidia в секции Device в xorg.conf и перезапустить Xserver(1) или перезагрузить комп.

Примечания для тех, кто использует DRM:
  • перезапуск Xserver'а не работает
  • если у вас приложения медленно отрисовываются и/или не работает Xvideo, то попробуйте включить композитный менеджер, такой как x11-wm/xcompmgr
  • если включение композитного менеджера приводит к зависанию Xserver'а и не работает переключение на консоль по Ctrl+Alt+F1, то попробуйте отключить MSI (Message Signaled Interrupts) добавив в загрузчике hw.drm.msi=0 или перед загрузкой модуля сделайте

    Код: Выделить всё

    # kenv hw.drm.msi=0
  • отсутствие модуля приведет к автоматическому включение опций в xorg.conf: NoAccel и ShadowFB
  • EXAPixmaps использует DRI2, но из-за отсутствия TTM рендериг картинки происходит намного медленнее
Вы можете попробовать включить EXAOptimizeMigration в секции Device для увеличения быстродействия.

После тестирования не забывайте сообщать о своих удачах/неудачах в рассылку freebsd-x11@ ответом на тему [PREVIEW] Nouveau on FreeBSD (Take 2).

Отладка:
Увеличить "словесность" DRM можно сборкой/загрузкой модулей собранных с DRM_DEBUG, т.е.

Код: Выделить всё

# cd /usr/src/sys/modules/drm
# echo "CFLAGS+= -DDRM_DEBUG" >>Makefile.inc
# make depend all install
либо через `options DRM_DEBUG' в конфиге ядра. Пример сообщений

Код: Выделить всё

[drm:pid1357:nouveau_gpuobj_new] ch1 size=24 align=16 flags=0x00000006
[drm:pid1357:nouveau_gpuobj_new] gpuobj 0xffffff0005bf2100
[drm:pid1357:nouveau_gpuobj_new] private heap
[drm:pid1357:nouveau_gpuobj_ref_add] ch1 h=0x8003d001 gpuobj=0xffffff0005bf2100
[drm:pid1357:nouveau_ramht_hash_handle] ch1 handle=0x8003d001
[drm:pid1357:nouveau_ramht_hash_handle] hash=0x00000fc8
[drm:pid1357:nouveau_ramht_insert] insert ch1 0x00000fc8: h=0x8003d001, c=0x00000e00
[drm:pid1357:nouveau_gpuobj_ref_add] ch1 h=0x8003d002 gpuobj=0xffffff0005bf2100
[drm:pid1357:nouveau_ramht_hash_handle] ch1 handle=0x8003d002
[drm:pid1357:nouveau_ramht_hash_handle] hash=0x00000fd0
[drm:pid1357:nouveau_ramht_insert] insert ch1 0x00000fd0: h=0x8003d002, c=0x00000e00

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: xf86-video-nouveau

Непрочитанное сообщение Alex Keda » 2009-01-29 13:09:13

ф топку нвидию =)
AMD/ATI - наше всё =)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: xf86-video-nouveau

Непрочитанное сообщение manefesto » 2009-01-29 14:50:47

ати гавно...нвидиа всё наше
я такой яростный шо аж пиздеЦ
Изображение

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: xf86-video-nouveau

Непрочитанное сообщение Alex Keda » 2009-01-29 15:55:33

lissyara писал(а):ф топку нвидию =)
AMD/ATI - наше всё =)
холивар! =)
Убей их всех! Бог потом рассортирует...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: xf86-video-nouveau

Непрочитанное сообщение paradox » 2009-01-29 16:10:32

интересно другое
где гость взял этот порт
если оффициально пока в портах такого нет

если гость наваял его сам
может он и патчи для DRM Тогда бы приложил?))
а еще лучше что вообще в порт их бы интегрировал

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: xf86-video-nouveau

Непрочитанное сообщение hizel » 2009-01-29 16:12:51

НВидиевцы - умнички и няшки :)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: xf86-video-nouveau

Непрочитанное сообщение Гость » 2009-01-29 18:22:29

paradox писал(а):интересно другое
где гость взял этот порт
если оффициально пока в портах такого нет
из git, откуда же еще?! Правда выложил я не ту ревизию, надо вот эту:

Код: Выделить всё

commit 4c9346bd750797ee0f0485195f7ce8beb2114b04
Author: Ben Skeggs <skeggsb@gmail.com>
Date:   Thu Jan 29 14:24:57 2009 +1000

    bo_del->bo_ref, closer to ng api

 src/drmmode_display.c |    4 +-
 src/nouveau_bo.c      |   84 +++++++++++++++++++++++++------------------------
 src/nouveau_drmif.h   |    5 +--
 src/nouveau_xv.c      |   21 +++++-------
 src/nv50_randr.c      |    2 +-
 src/nv_accel_common.c |    4 +-
 src/nv_driver.c       |   12 +++----
 src/nv_exa.c          |    2 +-
 8 files changed, 64 insertions(+), 70 deletions(-)
paradox писал(а):если гость наваял его сам
может он и патчи для DRM Тогда бы приложил?))
а еще лучше что вообще в порт их бы интегрировал
nouveau умеет работать без DRM. Надо знать какую ревизию брать — запускается не каждая. Что до DRM, то патчи были давно и от netbsd-шников, но они сгнили...
Вложения
xf86-video-nouveau-0.0.10.20090129.tar.bz2
версия, коя у меня работает ;)
(417.27 КБ) 110 скачиваний


paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: xf86-video-nouveau

Непрочитанное сообщение paradox » 2009-01-29 18:31:37

в netbsd оно уже давно интергировано в ядро...
сделайте дифф и адаптируйте к freebsd ))

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: xf86-video-nouveau

Непрочитанное сообщение paradox » 2009-01-29 18:33:23

кстати отписл бы баг репорт в порты
пусть бы добавили ...

Гость
проходил мимо

Re: xf86-video-nouveau

Непрочитанное сообщение Гость » 2009-01-29 18:37:46

paradox писал(а):в netbsd оно уже давно интергировано в ядро...
это наверно какое-то другое ядро, а не то что включает http://cvsweb.netbsd.org/bsdweb.cgi/src ... v/pci/drm/

Гость
проходил мимо

Re: xf86-video-nouveau

Непрочитанное сообщение Гость » 2009-01-29 18:39:48

paradox писал(а):кстати отписл бы баг репорт в порты
пусть бы добавили ...
для этого нужно место, где дистфайл хранить. К тому же я тестировал только на одной тачке (8-current на amd64).

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: xf86-video-nouveau

Непрочитанное сообщение paradox » 2009-01-29 18:44:38

_http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/external/bsd/drm/dist/shared-core/

Гость
проходил мимо

Re: xf86-video-nouveau

Непрочитанное сообщение Гость » 2009-01-29 18:52:21

paradox писал(а):_http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/external/bsd/drm/dist/shared-core/
не та папочка, на нужна bsd-core. в shared-core нет драйверов, там куски кода (интерфейс), кои используются как в linux так и в bsd. Если погуглишь, то найдешь патч для DRM (файлики в bsd-core) от bjs@ и порт в pkgsrc wip/xf86-video-nouveau.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: xf86-video-nouveau

Непрочитанное сообщение paradox » 2009-01-29 19:00:32

ааа

а брали они в netbsd интересно откуда
или сами писали...

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: xf86-video-nouveau

Непрочитанное сообщение manefesto » 2009-01-30 7:45:30

а у меня не завелось
я такой яростный шо аж пиздеЦ
Изображение

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: xf86-video-nouveau

Непрочитанное сообщение manefesto » 2009-01-30 7:51:05

2гость: Дай конфиг иксов. Надеюсь они 7.4
я такой яростный шо аж пиздеЦ
Изображение

Гость
проходил мимо

Re: xf86-video-nouveau

Непрочитанное сообщение Гость » 2009-01-30 9:32:36

manefesto писал(а):2гость: Дай конфиг иксов. Надеюсь они 7.4
да, 7.4. До мажорного обновления иксов, в конфиге Xserver'а не было лишь AllowEmptyInput, бо usb2 (новый стек) не дружит с hald.
конфиг сервера иксов:

Код: Выделить всё

Section "Files"
	FontPath	"/usr/local/lib/X11/fonts/dejavu"
#	FontPath	"/usr/local/lib/X11/fonts/terminus-font"
	FontPath	"/usr/local/lib/X11/fonts/local"
 	FontPath	"/usr/local/lib/X11/fonts/cyrillic"
#	FontPath	"/usr/local/lib/X11/fonts/code2000"
	FontPath	"/usr/local/lib/X11/fonts/indic-ttf/bengali"
	FontPath	"/usr/local/lib/X11/fonts/indic-ttf/devanagari"
	FontPath	"/usr/local/lib/X11/fonts/indic-ttf/gujarati"
	FontPath	"/usr/local/lib/X11/fonts/indic-ttf/kannada"
	FontPath	"/usr/local/lib/X11/fonts/indic-ttf/malayalam"
	FontPath	"/usr/local/lib/X11/fonts/indic-ttf/oriya"
	FontPath	"/usr/local/lib/X11/fonts/indic-ttf/punjabi"
	FontPath	"/usr/local/lib/X11/fonts/indic-ttf/tamil"
	FontPath	"/usr/local/lib/X11/fonts/indic-ttf/telugu"
 	FontPath	"/usr/local/lib/X11/fonts/bitstream-vera"
EndSection

Section "ServerFlags"
	Option "AllowClosedownGrabs" "on"
	Option "AllowDeactivateGrabs" "on"
	Option "BlankTime"   "10"
	Option "StandbyTime" "10"
	Option "SuspendTime" "15"
	Option "OffTime"     "20"
	Option "AIGLX" "true"
#	Option "BackingStore" "true"
	Option "AllowEmptyInput" "off"
#	Option "AutoAddDevices" "off"
EndSection

#Section "Extensions"
#	Option "RENDER"      "disable"
#	Option "Composite"   "disable"
#EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "keyboard"
	Option      "AutoRepeat" "150 100"
	Option	    "XkbModel"	 "microsoftprousb"
	Option      "XkbLayout"	 "us(dvorak),ru(typewriter)"
	Option      "XKbOptions" "grp:caps_toggle,grp_led:caps,shift:breaks_caps,compose:rwin"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
#	Option	    "Device" "/dev/ums0"
	Option	    "Device" "/dev/sysmouse"
#	Option      "SampleRate" "1000"
#	Option	    "Resolution" "1600"
#	Option      "Sensitivity" "2"
	Option      "ZAxisMapping" "5 4" # why not in moused(8)?
#	Option      "InvX" "on" # already in moused(8)
#	Option      "InvY" "on"
EndSection

Section "Device"
	Identifier "Card0"

	Driver	   "nouveau"
#	Option     "NoAccel" "true"
#	Option 	   "DRI" "off"

#	Driver 	   "vesa"

#	Driver 	   "nvidia"
#	Option 	   "NoLogo" "true" # Disable drawing of the NVIDIA logo splash screen at X startup
#	Option 	   "MultisampleCompatibility" "true"
#	Option 	   "XvmcUsesTextures" "true"
#	Option 	   "AllowGLXWithComposite" "on" # default true?
#	Option 	   "AddARGBGLXVisuals" "true"
#	Option 	   "TripleBuffer" "true"
#	Option 	   "Coolbits" "1"
#	Option 	   "UseEvents" "true"
#	Option 	   "OnDemandVBlankInterrupts" "true"
#	Option 	   "IncludeImplicitMetaModes" "false"

#	Driver 	   "nv"
#	Option 	   "UseFBDev" "true"
#	Option 	   "AccelMethod" "EXA"
#	Option 	   "EXAOptimizeMigration" "true"
#	Option 	   "MigrationHeuristic"  "greedy"
EndSection

#Section "Monitor"
#	Identifier   "Monitor0"
#	VendorName   "NEC"
#	ModelName    "MultiSync LCD2070NX"
#	HorizSync    31.5-91.1
#	VertRefresh  56-85
#	DisplaySize  397 392
#	Option       "DPMS"
#EndSection

#Section "Screen"
#	Identifier "Screen0"
#	Device     "Card0"
#	Monitor    "Monitor0"
#	SubSection "Display"
#		Modes    "1024x768"
#	EndSubsection
#EndSection

#Section "ServerLayout"
#	Identifier     "Server0"
#	Screen	       "Screen0"
#	InputDevice    "Mouse0" "CorePointer"
#	InputDevice    "Keyboard0" "CoreKeyboard"
#EndSection
комментарии можешь почистить так:

Код: Выделить всё

sed 's/\d*#.*//; /^\d*$/d' xorg.conf
X'овые порты я почти не трогал

Код: Выделить всё

(/usr/ports)! cvs up x11*
A x11-drivers/xf86-video-nouveau/Makefile
A x11-drivers/xf86-video-nouveau/distinfo
A x11-drivers/xf86-video-nouveau/pkg-descr
A x11-drivers/xf86-video-nouveau/pkg-plist
M x11-toolkits/py-tkinter/Makefile
M x11-toolkits/py-tkinter/files/setup.py

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: xf86-video-nouveau

Непрочитанное сообщение paradox » 2009-01-31 21:46:25

надо попробовать на своей нвидии
если заведеться
то добавляй в порты заявку....

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: xf86-video-nouveau

Непрочитанное сообщение paradox » 2009-02-01 5:19:24

вообщем в отличии от nv который у меня как не пахал так нифига и не пашет((
nouveau у меня пашет
без ускорения естественно
но пашет

так что коппить в порты
токо чексум поправ к последнему архиву у порта
а то приходиться собирать NO_CHECKSUM=yes

Аватара пользователя
f_andrey
майор
Сообщения: 2651
Зарегистрирован: 2007-12-26 1:22:58
Откуда: СПб
Контактная информация:

Re: xf86-video-nouveau

Непрочитанное сообщение f_andrey » 2009-02-01 5:34:06

paradox писал(а):вообщем в отличии от nv который у меня как не пахал так нифига и не пашет((
А чем лучше веса? если лучше, вот если соберусь с силами и все таки займусь десктопом то тоже наверное попробую, а если будет на amd64 держать широкоформатку то и пропишу его там :)
Если ваша тема перенесена, то смотри http://forum.lissyara.su/viewtopic.php?f=1&t=32308

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: xf86-video-nouveau

Непрочитанное сообщение paradox » 2009-02-01 5:43:22

что значит широкоформатку?
я кстати на amd64 8current все это собрал и потестил

кстати вчем лучше vesa можно увидеть если сделать man nouveau после установки дров
ну естессно make makesum перед этим

Гость
проходил мимо

Re: xf86-video-nouveau

Непрочитанное сообщение Гость » 2009-02-01 10:03:15

я пока отправил мессагу на freebsd-x11@, а то ведь порт кроме того что неполный (нет DRM), так и еще постоянно находится в стадии beta.

Код: Выделить всё

Return-Path: <swell.k@gmail.com>
Received: from localhost (93-80-47-232.broadband.corbina.ru [93.80.47.232])
        by mx.google.com with ESMTPS id l12sm1848015fgb.51.2009.01.31.22.40.40
        (version=TLSv1/SSLv3 cipher=RC4-MD5);
        Sat, 31 Jan 2009 22:40:42 -0800 (PST)
From: swell.k@gmail.com
To: freebsd-x11@freebsd.org
Subject: xf86-video-nouveau
Date: Sun, 01 Feb 2009 09:40:36 +0300
Message-ID: <863aeyhd7f.fsf@gmail.com>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (berkeley-unix)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="

Can someone on the list tell if it's good idea to send a PR with
only DDX part of nouveau driver? It works on my system which is:

     FreeBSD 8-CURRENT amd64 with GeForce 9600 GT, no DRM module
     Xorg.0.log - http://pastebin.com/f34b1ff30

There was even one report that this driver worked where xf86-video-nv
didn't.

In the port's distfile there is ChangeLog file which is basically
`git log --stat'. Current revision in git doesn't work on my system
since commit 410788dc896d99b658508e3a7ebcb4940a039f35, that's why
the port is not about latest snapshot.

[2. the port in shar archive --- text/plain; xf86-video-nouveau-0.0.10.20090129.shar]

#!/bin/sh
# This is a shell archive
echo x xf86-video-nouveau/
mkdir -p xf86-video-nouveau/ > /dev/null 2>&1
echo x xf86-video-nouveau/distinfo
sed 's/^X//' > xf86-video-nouveau/distinfo << 'SHAR_END'
XMD5 (xorg/driver/xf86-video-nouveau-0.0.10.20090129.tar.bz2) = ea4663197027d798b2d287b315721832
XSHA256 (xorg/driver/xf86-video-nouveau-0.0.10.20090129.tar.bz2) = a8fe3ba39aa691535c7423134bc6b6224c6bd8fbfdee3ed523301892976c6bdf
XSIZE (xorg/driver/xf86-video-nouveau-0.0.10.20090129.tar.bz2) = 569851
SHAR_END
echo x xf86-video-nouveau/pkg-plist
sed 's/^X//' > xf86-video-nouveau/pkg-plist << 'SHAR_END'
Xlib/xorg/modules/drivers/nouveau_drv.la
Xlib/xorg/modules/drivers/nouveau_drv.so
X@dirrmtry lib/xorg/modules/drivers
X@dirrmtry lib/xorg/modules
X@dirrmtry lib/xorg
SHAR_END
echo x xf86-video-nouveau/Makefile
sed 's/^X//' > xf86-video-nouveau/Makefile << 'SHAR_END'
X# New ports collection makefile for:	xf86-video-nouveau
X# Date Created:				29 Jan 2009
X# Whom:					<swell.k@gmail.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	xf86-video-nouveau
XPORTVERSION=	0.0.10.20090129
XCATEGORIES=	x11-drivers
XMASTER_SITES=	ftp://ftp.lissyara.su/upload/
X
XMAINTAINER=	x11@FreeBSD.org
XCOMMENT=	free nouveau display driver for nvidia-based cards
X
XXORG_CAT=	driver
XUSE_XORG=	videoproto xextproto xf86driproto
XMAN4=		nouveau.4x
X
X.include <bsd.port.mk>
SHAR_END
echo x xf86-video-nouveau/pkg-descr
sed 's/^X//' > xf86-video-nouveau/pkg-descr << 'SHAR_END'
Xnouveau is an X.Org Foundation and Freedesktop.org project which was
Xinitially based on the obfuscated 2D-only free and open source "nv"
Xdriver, aiming to develop free software drivers for NVIDIA graphics
Xcards, by reverse engineering NVIDIA's current proprietary drivers for
XLinux.
X
X-- Wikipedia
SHAR_END
exit
прикрепляю tar (вместо shar) здесь.

если не дойдет, то видать я забыл подписаться на freebsd-x11@ для отправки. Просто из-за задержек от news.gmane.org не сразу поймешь в чем дело.
Вложения
xf86-video-nouveau.tar.bz2
отправленная версия порта:
поправлено описание (pkg-descr), зависимости (xf86driproto) и добавлено авторство (анонимусов вряд ли примут).
(1004 байт) 48 скачиваний

Гость
проходил мимо

Re: xf86-video-nouveau

Непрочитанное сообщение Гость » 2009-02-01 10:18:01

Гость писал(а):если не дойдет, то видать я забыл подписаться на freebsd-x11@ для отправки. Просто из-за задержек от news.gmane.org не сразу поймешь в чем дело.
дошло, читаем комментарии тут (пока их нет ;)):
http://thread.gmane.org/gmane.os.freebsd.devel.x11/7163