[PREVIEW] Nouveau on FreeBSD (Take 2)

Robert Noland rnoland at FreeBSD.org
Mon Mar 23 02:02:18 PDT 2009


On Mon, 2009-03-23 at 09:28 +0800, wsk wrote:
> >Ok, this patch should work on NV50 chips also.
> 
> >What you get is EXA and Xv.
> 
> >You still need:
> 
> >A recent -CURRENT or -STABLE.
> 
> >git master of libdrm and xf86-video-nouveau.
> 
> >This patch.
> 
> >Things I've figured out since the last patch...
> 
> >On NV50 class hardware you need to have a compositing manager running
> >for Xv to work.  That means xcompmgr, metacity with composite enabled,
> >xfce (rumored to work as well, haven't tried).  If your running Gnome
> >with metacity, open gconf-editor and go to apps->metacity->general and
> >check the composite box.
> 
> >On NV40 class hardware, you don't need the composite manager.  In fact
> >(at least with Xserver 1.6 which I'm running now), if a composite
> >manager is enabled, I'm seeing high cpu utilization from Xorg under some
> >circumstances.  I don't think this is a drm issue, but still an issue.
> >For me, if I start a video using mplayer in an xterm, cpu is fine as
> >long as that xterm is the foreground window.  If it is not the
> >foreground window, even if it isn't obscured I see the cpu utilization.
> >Disabling the composite manager makes everything fine.
> 
> >http://people.freebsd.org/~rnoland/drm-nouveau-032109.patch <http://people.freebsd.org/%7Ernoland/drm-nouveau-032109.patch>
> 
> >robert.
> 
> get the following errors and exitThis is a pre-release version of the X server from The X.Org Foundation.
> It is not supported in any way.
> Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/.
> Select the "xorg" product for bugs you find in this release.
> Before reporting bugs in pre-release versions please check the
> latest version in the X.Org Foundation git repository.
> See http://wiki.x.org/wiki/GitPage for git access instructions.
> 
> X.Org X Server 1.5.99.902 (1.6.0 RC 2)
> Release Date: 2009-1-30
> X Protocol Version 11, Revision 0
> Build Operating System: FreeBSD 7.1-STABLE amd64
> Current Operating System: FreeBSD lp.gddsn.org.cn 7.2-PRERELEASE FreeBSD 7.2-PRE
> RELEASE #2: Sun Mar 22 19:44:23 CST 2009     wsk at lp.gddsn.org.cn:/usr/obj/usr/sr
> c/sys/WSK amd64
> Build Date: 06 February 2009  04:22:44PM
> 
>         Before reporting problems, check http://wiki.x.org
>         to make sure that you have the latest version.
> Markers: (--) probed, (**) from config file, (==) default setting,
>         (++) from command line, (!!) notice, (II) informational,
>         (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
> (==) Log file: "/var/log/Xorg.0.log", Time: Mon Mar 23 09:14:03 2009
> ing config file: "xorg.conf1"
> error: [drm:pid30722:drm_alloc_resource] *ERROR* Couldn't find resource 0x2
> error: [drm:pid30722:drm_alloc_resource] *ERROR* Couldn't find resource 0x2
> error: [drm:pid30722:drm_alloc_resource] *ERROR* Couldn't find resource 0x2
> vgapci0: 0x10000000 bytes of rid 0x14 res 3 failed (0, 0xffffffffffffffff).
> error: [drm:pid30722:drm_alloc_resource] *ERROR* Couldn't find resource 0x1
> vgapci0: 0x10000000 bytes of rid 0x14 res 3 failed (0, 0xffffffffffffffff).
> error: [drm:pid30722:drm_alloc_resource] *ERROR* Couldn't find resource 0x1
> drm0: [ITHREAD]
> info: [drm] Allocating FIFO number 1
> info: [drm] nouveau_fifo_alloc: initialised FIFO 1
> info: [drm] PFIFO_DMA_PUSHER - Ch 1
> (EE) NOUVEAU(0): 1296: No valid FB address in PCI config space
> (EE) Screen(s) found, but none have a usable configuration.
> 
> Fatal server error:
> no screens found
> 
> Please consult the The X.Org Foundation support
>          at http://wiki.x.org
>  for help.
> Please also check the log file at "/var/log/Xorg.0.log" for additional informati
> on.
> 
> info: [drm] nouveau_fifo_free: freeing fifo 1
> error: [drm:pid30722:nouveau_fifo_free] *ERROR* Failed to idle channel 1 before
> destroy.Prepare for strangeness..
> vgapci0: 0x10000000 bytes of rid 0x14 res 3 failed (0, 0xffffffffffffffff).
> error: [drm:pid30722:drm_alloc_resource] *ERROR* Couldn't find resource 0x1
> 
> what can i do ?
> 
> 
> 
> 
> plain text document attachment (Xorg.0.log)
> This is a pre-release version of the X server from The X.Org Foundation.
> It is not supported in any way.
> Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/.
> Select the "xorg" product for bugs you find in this release.
> Before reporting bugs in pre-release versions please check the
> latest version in the X.Org Foundation git repository.
> See http://wiki.x.org/wiki/GitPage for git access instructions.
> 
> X.Org X Server 1.5.99.902 (1.6.0 RC 2)
> Release Date: 2009-1-30
> X Protocol Version 11, Revision 0
> Build Operating System: FreeBSD 7.1-STABLE amd64 
> Current Operating System: FreeBSD lp.gddsn.org.cn 7.2-PRERELEASE FreeBSD 7.2-PRERELEASE #2: Sun Mar 22 19:44:23 CST 2009     wsk at lp.gddsn.org.cn:/usr/obj/usr/src/sys/WSK amd64
> Build Date: 06 February 2009  04:22:44PM
>  
> 	Before reporting problems, check http://wiki.x.org
> 	to make sure that you have the latest version.
> Markers: (--) probed, (**) from config file, (==) default setting,
> 	(++) from command line, (!!) notice, (II) informational,
> 	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
> (==) Log file: "/var/log/Xorg.0.log", Time: Mon Mar 23 09:14:03 2009
> (++) Using config file: "xorg.conf1"
> (==) No Layout section.  Using the first Screen section.
> (==) No screen section available. Using defaults.
> (**) |-->Screen "Default Screen Section" (0)
> (**) |   |-->Monitor "<default monitor>"
> (==) No device specified for screen "Default Screen Section".
> 	Using the first device section listed.
> (**) |   |-->Device "Card0"
> (==) No monitor specified for screen "Default Screen Section".
> 	Using a default monitor configuration.
> (==) Automatically adding devices
> (==) Automatically enabling devices
> (==) No FontPath specified.  Using compiled-in default.
> (==) FontPath set to:
> 	built-ins
> (==) ModulePath set to "/usr/local/lib/xorg/modules"
> (II) Cannot locate a core pointer device.
> (II) Cannot locate a core keyboard device.
> (II) The server relies on HAL to provide the list of input devices.
> 	If no devices become available, reconfigure HAL or disable AllowEmptyInput.
> (II) Loader magic: 0xb20
> (II) Module ABI versions:
> 	X.Org ANSI C Emulation: 0.4
> 	X.Org Video Driver: 5.0
> 	X.Org XInput driver : 4.0
> 	X.Org Server Extension : 2.0
> (II) Loader running on freebsd
> (--) Using syscons driver with X support (version 2.0)
> (--) using VT number 9
> 
> (--) PCI:*(0 at 1:0:0) nVidia Corporation Quadro NVS 140M rev 161, Mem @ 0xfd000000/16777216, 0x00000000/268435456, 0xfa000000/33554432, I/O @ 0x0000df00/128, BIOS @ 0x????????/65536

Ok, thats a new one...

> (II) System resource ranges:
> 	[0] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
> 	[1] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
> 	[2] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
> 	[3] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
> 	[4] -1	0	0x00000000 - 0x000000ff (0x100) IX[B]
> (II) LoadModule: "extmod"
> (II) Loading /usr/local/lib/xorg/modules/extensions//libextmod.so
> (II) Module extmod: vendor="X.Org Foundation"
> 	compiled for 1.5.99.902, module version = 1.0.0
> 	Module class: X.Org Server Extension
> 	ABI class: X.Org Server Extension, version 2.0
> (II) Loading extension MIT-SCREEN-SAVER
> (II) Loading extension XFree86-VidModeExtension
> (II) Loading extension XFree86-DGA
> (II) Loading extension DPMS
> (II) Loading extension XVideo
> (II) Loading extension XVideo-MotionCompensation
> (II) Loading extension X-Resource
> (II) LoadModule: "dbe"
> (II) Loading /usr/local/lib/xorg/modules/extensions//libdbe.so
> (II) Module dbe: vendor="X.Org Foundation"
> 	compiled for 1.5.99.902, module version = 1.0.0
> 	Module class: X.Org Server Extension
> 	ABI class: X.Org Server Extension, version 2.0
> (II) Loading extension DOUBLE-BUFFER
> (II) LoadModule: "glx"
> (II) Loading /usr/local/lib/xorg/modules/extensions//libglx.so
> (II) Module glx: vendor="X.Org Foundation"
> 	compiled for 1.5.99.902, module version = 1.0.0
> 	ABI class: X.Org Server Extension, version 2.0
> (==) AIGLX disabled
> (==) Exporting typical set of GLX visuals
> (II) Loading extension GLX
> (II) LoadModule: "record"
> (II) Loading /usr/local/lib/xorg/modules/extensions//librecord.so
> (II) Module record: vendor="X.Org Foundation"
> 	compiled for 1.5.99.902, module version = 1.13.0
> 	Module class: X.Org Server Extension
> 	ABI class: X.Org Server Extension, version 2.0
> (II) Loading extension RECORD
> (II) LoadModule: "dri"
> (II) Loading /usr/local/lib/xorg/modules/extensions//libdri.so
> (II) Module dri: vendor="X.Org Foundation"
> 	compiled for 1.5.99.902, module version = 1.0.0
> 	ABI class: X.Org Server Extension, version 2.0
> (II) Loading extension XFree86-DRI
> (II) LoadModule: "nouveau"
> (II) Loading /usr/local/lib/xorg/modules/drivers//nouveau_drv.so
> (II) Module nouveau: vendor="X.Org Foundation"
> 	compiled for 1.5.99.902, module version = 0.0.10
> 	Module class: X.Org Video Driver
> 	ABI class: X.Org Video Driver, version 5.0
> (II) NOUVEAU driver Date:   Wed Mar 18 09:36:33 2009 +1000
> (II) NOUVEAU driver for NVIDIA chipset families :
> 	RIVA TNT    (NV04)
> 	RIVA TNT2   (NV05)
> 	GeForce 256 (NV10)
> 	GeForce 2   (NV11, NV15)
> 	GeForce 4MX (NV17, NV18)
> 	GeForce 3   (NV20)
> 	GeForce 4Ti (NV25, NV28)
> 	GeForce FX  (NV3x)
> 	GeForce 6   (NV4x)
> 	GeForce 7   (G7x)
> 	GeForce 8   (G8x)
> (II) Primary Device is: PCI 01 at 00:00:0
> (II) resource ranges after probing:
> 	[0] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
> 	[1] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
> 	[2] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
> 	[3] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
> 	[4] -1	0	0x00000000 - 0x000000ff (0x100) IX[B]
> (--) NOUVEAU(0): Chipset: "NVIDIA NV86"

Hrm, NV86... I'll have to ask around about that.  Meanwhile can you send
me a pciconf -lvb which should at least show us the BAR configuration.

Ok, my sources are telling me that this should work and that it is an
NV50, or at least should work the same...

Also, just to be safe, please rebuild/reinstall devel/libpciaccess.  I'm
not sure if it may be trashing the BARs somehow.

robert.

> (II) Loading sub module "int10"
> (II) LoadModule: "int10"
> (II) Loading /usr/local/lib/xorg/modules//libint10.so
> (II) Module int10: vendor="X.Org Foundation"
> 	compiled for 1.5.99.902, module version = 1.0.0
> 	ABI class: X.Org Video Driver, version 5.0
> (II) NOUVEAU(0): Initializing int10
> (==) NOUVEAU(0): Write-combining range (0xa0000,0x20000) was already clear
> (==) NOUVEAU(0): Write-combining range (0xc0000,0x40000) was already clear
> (II) NOUVEAU(0): Primary V_BIOS segment is: 0xc000
> (==) NOUVEAU(0): Write-combining range (0x0,0x1000) was already clear
> drmOpenDevice: node name is /dev/dri/card0
> drmOpenDevice: open result is 10, (OK)
> drmOpenDevice: node name is /dev/dri/card0
> drmOpenDevice: open result is 10, (OK)
> drmOpenByBusid: Searching for BusID pci:0000:01:00.0
> drmOpenDevice: node name is /dev/dri/card0
> drmOpenDevice: open result is 10, (OK)
> drmOpenByBusid: drmOpenMinor returns 10
> drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
> (II) [drm] DRM interface version 1.2
> (II) [drm] DRM open master succeeded.
> (II) NOUVEAU(0): [drm] nouveau interface version: 0.0.12
> (--) NOUVEAU(0): [drm] kernel modesetting not available
> (--) NOUVEAU(0): VESA-HACK: Console VGA mode is 0x3
> (II) NOUVEAU(0): Creating default Display subsection in Screen section
> 	"Default Screen Section" for depth/fbbpp 24/32
> (==) NOUVEAU(0): Depth 24, (--) framebuffer bpp 32
> (==) NOUVEAU(0): RGB weight 888
> (==) NOUVEAU(0): Default visual is TrueColor
> (II) Loading sub module "vgahw"
> (II) LoadModule: "vgahw"
> (II) Loading /usr/local/lib/xorg/modules//libvgahw.so
> (II) Module vgahw: vendor="X.Org Foundation"
> 	compiled for 1.5.99.902, module version = 0.1.0
> 	ABI class: X.Org Video Driver, version 5.0
> (==) NOUVEAU(0): Randr1.2 support enabled
> (==) NOUVEAU(0): Using HW cursor
> (EE) NOUVEAU(0): 1296: No valid FB address in PCI config space
> (==) NOUVEAU(0): Write-combining range (0x0,0x1000) was already clear
> (II) UnloadModule: "nouveau"
> (II) UnloadModule: "vgahw"
> (II) Unloading /usr/local/lib/xorg/modules//libvgahw.so
> (II) UnloadModule: "int10"
> (II) Unloading /usr/local/lib/xorg/modules//libint10.so
> (EE) Screen(s) found, but none have a usable configuration.
> 
> Fatal server error:
> no screens found
> 
> Please consult the The X.Org Foundation support 
> 	 at http://wiki.x.org
>  for help. 
> Please also check the log file at "/var/log/Xorg.0.log" for additional information.
> 
-- 
Robert Noland <rnoland at FreeBSD.org>
FreeBSD
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20090323/bae1fc9d/attachment.pgp


More information about the freebsd-current mailing list