You are not logged in.
Hi,
I'm having trouble getting nouveau hardware acceleration work on an NV18 [10de:0185] board.
The board is:
02:00.0 VGA compatible controller: NVIDIA Corporation NV18 [GeForce4 MX 4000] (rev a4)Running glxgears produces this output (with LIBGL_DEBUG=verbose):
libGL: screen 0 does not appear to be DRI3 capable
libGL: pci id for fd 4: 10de:0185, driver nouveau
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri/tls/nouveau_dri.so
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri/nouveau_dri.so
libGL: driver does not expose __driDriverGetExtensions_nouveau(): /usr/lib/xorg/modules/dri/nouveau_dri.so: undefined symbol: __driDriverGetExtensions_nouveau
libGL error: failed to create dri screen
libGL error: failed to load driver: nouveauHere I can see that libGL tries to use nouveau_dri.so (post-NV20) while I have NV18 and thus need nouveau_vieux_dri.so.
Symlinking nouveau_dri.so to nouveau_vieux_dri.so fails:
libGL: screen 0 does not appear to be DRI3 capable
libGL: pci id for fd 4: 10de:0185, driver nouveau
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri/tls/nouveau_dri.so
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri/nouveau_dri.so
libGL: driver does not expose __driDriverGetExtensions_nouveau(): /usr/lib/xorg/modules/dri/nouveau_dri.so: undefined symbol: __driDriverGetExtensions_nouveau
libGL error: core dri or dri2 extension not found
libGL error: failed to load driver: nouveauRelated packages:
nouveau-dri 10.1.0-4
nouveau-fw 325.15-1
xf86-video-nouveau 1.0.10-2
xorg-server 1.15.0-5dmesg | grep -Ei 'drm|nouveau':
[ 1.338803] [drm] Initialized drm 1.1.0 20060810
[ 1.386175] fb: conflicting fb hw usage nouveaufb vs VESA VGA - removing generic driver
[ 1.416333] [drm] hdmi device not found 2 0 1
[ 1.416516] nouveau [ DEVICE][0000:02:00.0] BOOT0 : 0x018500a2
[ 1.416523] nouveau [ DEVICE][0000:02:00.0] Chipset: NV18 (NV18)
[ 1.416529] nouveau [ DEVICE][0000:02:00.0] Family : NV11
[ 1.419303] nouveau [ VBIOS][0000:02:00.0] checking PRAMIN for image...
[ 1.487980] nouveau [ VBIOS][0000:02:00.0] ... appears to be valid
[ 1.487988] nouveau [ VBIOS][0000:02:00.0] using image from PRAMIN
[ 1.487995] nouveau [ VBIOS][0000:02:00.0] BMP version 5.28
[ 1.488395] nouveau [ VBIOS][0000:02:00.0] version 04.18.20.39.00
[ 1.488756] nouveau W[ PTIMER][0000:02:00.0] unknown input clock freq
[ 1.488775] nouveau [ PFB][0000:02:00.0] RAM type: DDR1
[ 1.488781] nouveau [ PFB][0000:02:00.0] RAM size: 128 MiB
[ 1.488786] nouveau [ PFB][0000:02:00.0] ZCOMP: 0 tags
[ 1.495621] nouveau [ CLK][0000:02:00.0] --:
[ 1.518509] nouveau [ DRM] VRAM: 127 MiB
[ 1.518515] nouveau [ DRM] GART: 128 MiB
[ 1.518522] nouveau [ DRM] BMP version 5.40
[ 1.518530] nouveau [ DRM] DCB version 2.2
[ 1.518538] nouveau [ DRM] DCB outp 00: 01000300 00009c40
[ 1.518545] nouveau [ DRM] DCB outp 01: 02020321 00000733
[ 1.518830] nouveau [ DRM] Loading NV17 power sequencing microcode
[ 1.523671] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.523681] [drm] No driver support for vblank timestamp query.
[ 1.552675] nouveau [ DRM] MM: using M2MF for buffer copies
[ 1.552693] nouveau [ DRM] Setting dpms mode 3 on TV encoder (output 1)
[ 1.613961] nouveau [ DRM] allocated 1024x768 fb: 0x9000, bo ddbd5400
[ 1.614555] fbcon: nouveaufb (fb0) is primary device
[ 2.287520] nouveau 0000:02:00.0: fb0: nouveaufb frame buffer device
[ 2.287527] nouveau 0000:02:00.0: registered panic notifier
[ 2.287540] [drm] Initialized nouveau 1.1.1 20120801 for 0000:02:00.0 on minor 0/var/log/Xorg.0.log: full is at http://ix.io/byL, related excerpt is here:
[ 2144.710] (II) NOUVEAU(0): Opened GPU channel 0
[ 2144.711] (II) NOUVEAU(0): [DRI2] Setup complete
[ 2144.711] (II) NOUVEAU(0): [DRI2] DRI driver: nouveau_vieux
[ 2144.711] (II) NOUVEAU(0): [DRI2] VDPAU driver: nouveau_vieux
[ 2144.712] (II) EXA(0): Driver allocated offscreen pixmaps
[ 2144.712] (II) EXA(0): Driver registered support for the following operations:
[ 2144.712] (II) Solid
[ 2144.712] (II) Copy
[ 2144.712] (II) Composite (RENDER acceleration)
[ 2144.712] (II) UploadToScreen
[ 2144.712] (II) DownloadFromScreen
[ 2144.712] (==) NOUVEAU(0): Backing store enabled
[ 2144.712] (==) NOUVEAU(0): Silken mouse enabled
[ 2144.712] (==) NOUVEAU(0): DPMS enabled
[ 2144.712] (II) NOUVEAU(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[ 2144.713] (--) RandR disabled
[ 2144.746] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
[ 2144.746] (II) AIGLX: enabled GLX_ARB_create_context
[ 2144.746] (II) AIGLX: enabled GLX_ARB_create_context_profile
[ 2144.746] (II) AIGLX: enabled GLX_EXT_create_context_es2_profile
[ 2144.746] (II) AIGLX: enabled GLX_INTEL_swap_event
[ 2144.746] (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control
[ 2144.746] (II) AIGLX: enabled GLX_EXT_framebuffer_sRGB
[ 2144.746] (II) AIGLX: enabled GLX_ARB_fbconfig_float
[ 2144.746] (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects
[ 2144.747] (II) AIGLX: Loaded and initialized nouveau_vieux
[ 2144.747] (II) GLX: Initialized DRI2 GL provider for screen 0How can I make libGL look for the correct driver?
Thanks.
Last edited by intelfx (2014-04-25 11:10:43)
Offline
That's an old card and may offer very little HW acceleration .
See http://nouveau.freedesktop.org/wiki/MesaDrivers
nouveau_vieux (NV04 - NV20)
nouveau_vieux_dri.so is a classic Mesa DRI driver, and not a Gallium3D driver, because these cards do not have enough shader capabilities to reasonably support the Gallium3D infrastructure.
Do not file bug reports about this driver.
Your best best might very well be to remove nouveau-dri and see what performance you get using mesa llvmpipe software acceleration.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
That's an old card and may offer very little HW acceleration .
I know, yes.
Your best best might very well be to remove nouveau-dri and see what performance you get using mesa llvmpipe software acceleration.
I'm already on llvmpipe, libGL falls back to it automatically, but the CPU is 1100 MHz Athlon XP. The question is specifically about enabling HW acceleration in order to offload as much as possible.
Last edited by intelfx (2014-04-08 14:27:30)
Offline
Intelfx, i'm sorry for assuming you hadn't seen that.
My post was intended to indicate this is likely a problem that can only be solved upstream , and upstream doesn't want to deal with bugs for the nouveau_vieux driver.
for figuring out HW acceleration issues, glxinfo is often more useful then glxgears.
please post the output of glxinfo (you might need to use LIBGL_DEBUG=verbose also) .
If that gives similar result as glxgears :
- You could try posting to mesa-users mailing list , http://mesa3d.org/lists.html , to see if there are people willing to help.
- aur has the proprietary nvidia-96xx package that supports your card, it may give you better performance then nouveau.
Last edited by Lone_Wolf (2014-04-09 12:28:22)
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
My post was intended to indicate this is likely a problem that can only be solved upstream , and upstream doesn't want to deal with bugs for the nouveau_vieux driver.
for figuring out HW acceleration issues, glxinfo is often more useful then glxgears.
please post the output of glxinfo (you might need to use LIBGL_DEBUG=verbose also) .
So it got "magically" resolved after a recent mesa update. BTW, hardware acceleration increased glxgears FPS from ~35 to ~273 and glxspheres FPS (full-screen) from <1 to ~35. I guess, HW acceleration actually makes a difference.
Offline