From owner-freebsd-questions@FreeBSD.ORG Sun Aug 14 01:22:09 2011 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8349E1065672 for ; Sun, 14 Aug 2011 01:22:09 +0000 (UTC) (envelope-from freebsd@edvax.de) Received: from mx02.qsc.de (mx02.qsc.de [213.148.130.14]) by mx1.freebsd.org (Postfix) with ESMTP id 336DE8FC1C for ; Sun, 14 Aug 2011 01:22:08 +0000 (UTC) Received: from r56.edvax.de (port-92-195-15-138.dynamic.qsc.de [92.195.15.138]) by mx02.qsc.de (Postfix) with ESMTP id AB3D624605 for ; Sun, 14 Aug 2011 03:22:07 +0200 (CEST) Received: from r56.edvax.de (localhost [127.0.0.1]) by r56.edvax.de (8.14.5/8.14.5) with SMTP id p7E1M6TG018494 for ; Sun, 14 Aug 2011 03:22:06 +0200 (CEST) (envelope-from freebsd@edvax.de) Date: Sun, 14 Aug 2011 03:22:06 +0200 From: Polytropon To: FreeBSD Questions Message-Id: <20110814032206.49ad7062.freebsd@edvax.de> Organization: EDVAX X-Mailer: Sylpheed version 1.0.6 (GTK+ 1.2.10; amd64-portbld-freebsd8.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: System lockups in X with nVidia GeForce 7600 GS (G73) and Gtk+ X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Polytropon List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Aug 2011 01:22:09 -0000 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. 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? 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? 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. :-) -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...