System lockups in X with nVidia GeForce 7600 GS (G73) and Gtk+

Frank Shute frank at shute.org.uk
Sun Aug 14 02:55:25 UTC 2011


On Sun, Aug 14, 2011 at 03:22:06AM +0200, Polytropon wrote:
>
> I'm using FreeBSD/amd64 on an Intel Core 2 4300 (1.8GHz)
> on a VIA-equipped mainboard. The whole machine is a quite
> cheap one from a discounter (mainly food).
> 
> OS is 8.2-STABLE (July 2011). I have xorg-7.5.1 installed 
> with xorg-server-1.7.7_1,1, using xf86-video-nv-2.1.18
> configured in xorg.conf. The GPU I'm using is a nVidia
> GeForce 7600 (G73) which is being supported by the "nv"
> driver (as well as by "nouveau", see later on) according
> to the documentation.

My setup is about the same but with a GeForce 7300. I use nv without
problems.

> 
> When in X and _only_ in conjunction with programs using
> the Gtk2 (Gtk+) toolkit, I encounter _total_ system
> lockups (freezes): no disk activity, no console I/O,
> nothing. It even happens during drawing operations.
> A hard reset is required, which means power-cycling
> as the cheap PC doesn't have a RESET button. A fsck
> is required on next booting.
> 
> I could trigger this problem with Sylpheed, Claws
> Mail and Firefox.
> 
> I am only able to do email because I downgraded
> Sylpheed from 3.1.1_1 to 1.0.6_9 which does use
> the classic Gtk (which I find more accessible
> anyway). This old version that _works_ is about
> to be removed from the ports tree!!!
> 
> The machine has successfully been compiling the system,
> X and OpenOffice, so I may assume that it's not
> defective RAM or broken CPU. The hard disk is new.
> 
> When the system does not lock up, frame rates for
> 3D (tested with "glxgears" and xlock -mode fire")
> is _very_ bad - much worse than on my old P4 with
> ATI graphics.
> 
> I read that the "nv" driver does not support 3D, so
> I tried to install the "nouveau" driver.
> 
> I did install xf86-video-nouveau-0.0.10.20090728_3
> from ports and replaced "nv" by "nouveau" in xorg.conf.
> Result:
> 
> (EE) [drm] drmOpen failed.
> (EE) NOUVEAU(0): [drm] error opening the drm
> Segmentation fault: 11 at address 0x0
> Fatal server error:
> Caught signal 11 (Segmentation fault: 11). Server aborting
> 
> There is no /dev/dri available.
> 
> /usr/ports/x11-drivers/xf86-video-nouveau/pkg-message:
>     # cd /usr/src/sys
>     # fetch http://people.freebsd.org/~rnoland/drm-nouveau-062309.patch
>     # patch -sp0 -i drm-nouveau-062309.patch
>     # cd modules/drm
>     # make depend all install
> 
> I've done this, installed & rebooted, same result.
> 
> % startx
> drmOpenDevice: node name is /dev/dri/card0
> Failed to change owner or group for file
> 	/dev/dri! 2: No such file or directory
> Failed to change owner or group for file
> 	/dev/dri/card0! 2: No such file or directory
> [drm] failed to load kernel module "nouveau"
> 
> (EE) [drm] drmOpen failed.
> (EE) NOUVEAU(0): [drm] error opening the drm
> Segmentation fault: 11 at address 0x0
> Fatal server error:
> Caught signal 11 (Segmentation fault: 11). Server aborting
> 
> The kernel loggs the following messages:
> 
> link_elf_obj: symbol DRM_MEM_TTM undefined
> linker_load_file: Unsupported file type
> 
> I tried some searching and found "We can haz Nouveau
> on FreeBSD!" of March 2009. According to this instruction:
> 
> http://romain.blogreen.org/blog/2009/03/we-can-haz-nouveau-on-freebsd/
> 
> It complains about xorg-server must be >= 1.8, but
> only 1.7.7 is in latest ports (right now). This is
> step 4 on the list. Note that it's "./autogen.sh",
> not "./autogen" as in the article.
> 
> The steps explained are:
> 
> 1. Uninstall any nvidia driver
> # pkg_delete nvidia-driver-\*
> # vi /boot/loader.conf # Remove the line 'nvidia_load="YES"'
> 
> 2. Patch your kernel (Update your system if you are not running 8.0-CURRENT or a recent 7.1-STABLE / 7.2-PRERELEASE):
> # cd /usr/src/sys
> # fetch http://people.freebsd.org/~rnoland/drm-nouveau-032109.patch
> # mkdir modules/drm/nouveau
> # patch > drm-nouveau-032109.patch
> # cd /usr/src && make kernel
> # reboot
> 
> 3. Install libdrm from git:
> % git clone git://anongit.freedesktop.org/git/mesa/drm
> % cd drm
> % ./autogen --enable-nouveau-experimental-api
> % gmake
> % sudo gmake install
> 
> 4. Install xf86-video-nouveau from git:
> % git clone git://anongit.freedesktop.org/git/nouveau/xf86-video-nouveau
> % cd xf86-video-nouveau
> % ./autogen
> % gmake
> % sudo gmake install
> 
> 5. Update /usr/local/etc/X11/xorg.conf.
> 
> As I said, I have problems doing so because of
> 
> nouveau_dri2.c:374: warning: implicit declaration of function 'DRI2BlockClient'
> nouveau_dri2.c: In function 'nouveau_dri2_init':
> nouveau_dri2.c:445: error: 'DRI2InfoRec' has no member named 'ScheduleSwap'
> nouveau_dri2.c:446: error: 'DRI2InfoRec' has no member named 'ScheduleWaitMSC'
> nouveau_dri2.c:447: error: 'DRI2InfoRec' has no member named 'GetMSC'
> gmake[2]: *** [nouveau_dri2.lo] Error 1
> gmake[2]: Leaving directory `/usr/src/sys/drm/xf86-video-nouveau/src'
> gmake[1]: *** [all-recursive] Error 1
> gmake[1]: Leaving directory `/usr/src/sys/drm/xf86-video-nouveau'
> gmake: *** [all] Error 2
> 
> and so on.
> 
> 
> 
> So my questions are:
> 
> Has anyone got the "nouveau" driver working, and if,
> how precisely has he done so?

Yes. I got it working once by following the package instructions but
on a subsequent system upgrade it stopped working and all my efforts
to get it working again have been unsuccessful.

> 
> Is there an explaination of the lockups (always only
> in relation to Gtk+ triggering it)? Does it indicate
> a defective driver or a defective hardware? What do
> you think?

It doesn't seem to make sense. Have you got something missing/added to
xorg.conf that's causing it?

My xorg.conf:

Section "ServerLayout"
	Identifier     "X.org Configured"
	Option	 "AutoAddDevices" "off"
        Option "DontZap" "off"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
#	RgbPath      "/usr/local/share/X11/rgb"
	ModulePath   "/usr/local/lib/xorg/modules"
	FontPath     "/usr/local/lib/X11/fonts/misc/"
	FontPath     "/usr/local/lib/X11/fonts/TTF/"
	FontPath     "/usr/local/lib/X11/fonts/URW/"
	FontPath     "/usr/local/lib/X11/fonts/OTF/"
	FontPath     "/usr/local/lib/X11/fonts/Type1/"
	FontPath     "/usr/local/lib/X11/fonts/100dpi/"
	FontPath     "/usr/local/lib/X11/fonts/75dpi/"
	FontPath     "/usr/local/lib/X11/fonts/bitstream-vera/"
	FontPath     "/usr/local/lib/X11/fonts/webfonts/"
	FontPath     "/usr/local/lib/X11/fonts/local/"
EndSection

#Section "Module"
#	Load  "extmod"
#	Load  "record"
#	Load  "dbe"
#	Load  "glx"
#	Load  "GLcore"
#	Load  "xtrap"
#	Load  "dri"
#	Load  "freetype"
##	Load  "type1"
#EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
	Option "CoreKeyboard"
	Option "XkbRules"  "xorg"
#	Option "XkbLayout"  "qwerty"
        Option "XkbModel" "pc105"
        Option "XkbLayout" "gb"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option      "CorePointer"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/sysmouse"
#	Option      "Emulate3Buttons" "false"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "IVM"
        ModelName    "PLE480/481"
 ### Comment all HorizSync and VertRefresh values to use DDC:
        HorizSync    24.0 - 83.0
        VertRefresh  55.0 - 76.0
        Option      "DPMS"
#	Modeline "1280x1024"   108.00   1280 1336 1448 1688   1024 1025 1028 1066 +hsync +vsync
	Modeline "1920x1200"   193.25   1920 2068 2268 2592   1200 1203 1209 1245 -hsync +vsync
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
	Identifier  "Card0"
	#Driver      "nouveau"
	#Driver      "nvidia"
	Driver      "nv"
	VendorName  "nVidia Corporation"
	BoardName   "NV44 [GeForce 6200 TurboCache(TM)]"
	BusID       "PCI:1:0:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	DefaultColorDepth 24
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

BTW, I don't use HAL.

> 
> I have _never_ encountered such kind of problems yet,
> so I'm almost out of ideas. Sadly I can't check with
> my (wonderfully working) ATI card because this one
> is AGP, but the mainboard only has PCIe.
> 
> Any ideas and instructions, as well as diagnosis-guessing
> is very welcome. :-)
> 

I don't have any ideas but I wish the nouveau driver port would get
some love and attention.

Downloading and applying patches etc. should be automatic shouldn't
it? It seems rather "brittle" too.


Regards,

-- 

 Frank

 Contact info: http://www.shute.org.uk/misc/contact.html


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20110814/b63c9faf/attachment.pgp


More information about the freebsd-questions mailing list