i965 (sandy-bridge): mesa-git DRI drivers is not linked against libdrm-git (libdrm_intel.so)

Sedat Dilek sedat.dilek at gmail.com
Sun Jan 20 05:30:41 PST 2013


Hi,

I am here on Ubuntu/precise AMD64.

With the attached scripts I can't use a i965_dri.so for example from
gles3 GIT tree.

First, I have built libdrm-2.4.41, installed and ldconfig-ed it before
building mesa.

I have chosen a classic XORG prefix!

[ /etc/ld.so.conf.d/xorg.conf ]

# Xorg lib configuration
/opt/xorg/lib

For the build of mesa I have suppressed generating any GALLIUM driver
as there exists AFAICS none for the Intel sandy-bridge GPU.
But I am building the i965 classic MESA/DRI driver!

[ build_mesa.sh ]
...
DRI_DRIVERS="i965"
GALLIUM_DRIVERS=""
...
DRI_CFG_OPTS="--with-dri-drivers=$DRI_DRIVERS"
GALLIUM_CFG_OPTS="--with-gallium-drivers=$GALLIUM_DRIVERS"
...
[ /build_mesa.sh ]

For the build of mesa I have these EXPORTS (Thanks Peter [1]):

### Set prefix for XORG installation
PREFIX="/opt/xorg"

### Export some useful XORG settings
export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig"
export LD_LIBRARY_PATH="$PREFIX/lib"
export LDFLAGS="-L$PREFIX/lib"
export PATH="$PREFIX/bin:$PATH"

NOTE: I have thrown away any development packages like libdrm-dev
which could have caused PKGCONFIG troubles.

When I am checking the OPENGL version, I get this:

$ LIBGL_DEBUG=verbose LIBGL_DRIVERS_PATH=/opt/xorg/lib/dri glxinfo |
grep -i opengl
libGL: OpenDriver: trying /opt/xorg/lib/dri/tls/i965_dri.so
libGL: OpenDriver: trying /opt/xorg/lib/dri/i965_dri.so
libGL error: dlopen /opt/xorg/lib/dri/i965_dri.so failed
(/opt/xorg/lib/dri/i965_dri.so: undefined symbol:
drm_intel_gem_context_create) <--- THIS IS DEFINED IN NEW LIBDRM!
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL: OpenDriver: trying /opt/xorg/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /opt/xorg/lib/dri/swrast_dri.so
libGL error: dlopen /opt/xorg/lib/dri/swrast_dri.so failed
(/opt/xorg/lib/dri/swrast_dri.so: cannot open shared object file: No
such file or directory)
libGL error: unable to load driver: swrast_dri.so
libGL error: reverting to indirect rendering
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile
OpenGL version string: 1.4 (3.0 Mesa 8.0.4) <--- FALLBACK TO UBUNTUS
ORIGINAL MESA!
OpenGL extensions:

Investigating deeper with LDD:

$ sudo ldd /opt/xorg/lib/dri/i965_dri.so | egrep 'libdri|libdrm|libkm'
        libdricore9.0.1.so.1 => /opt/xorg/lib/libdricore9.0.1.so.1
(0x00007fe4a2f37000)
        libdrm_intel.so.1 =>
/usr/lib/x86_64-linux-gnu/libdrm_intel.so.1 (0x00007fe4a26ce000)
        libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2
(0x00007fe4a24c2000)

Investigating harder with nm:

$ nm /opt/xorg/lib/libdrm_intel.so | grep drm_intel_gem_context_create
0000000000009ab0 T drm_intel_gem_context_create

OK, so my NEW i965_dri.so was not built against NEW libdrm.
But why the hell it is not?

Do I need to build a new DDX (xf86-video-intel), too?
Or is other software missing?

/me -> CONFUSED as building mesa-8.0.5 with cherry-picked LLVM patches
from upstream [2] worked here!

As a sidenote: I am building here with LLVM/CLANG v3.2 if this matters.

Any help appreciated!

Regards,
- Sedat -

P.S.: When I am building swrast (llvmpipe) GALLIUM driver that works.

[1] http://who-t.blogspot.de/2009/04/my-workflow.html
[2] http://lists.freedesktop.org/archives/dri-devel/2013-January/033614.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build_libdrm.sh
Type: application/x-sh
Size: 1043 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20130120/4f8c4722/attachment-0004.sh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build_mesa.sh
Type: application/x-sh
Size: 1383 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20130120/4f8c4722/attachment-0005.sh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: git-clone_libdrm-fdo.sh
Type: application/x-sh
Size: 260 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20130120/4f8c4722/attachment-0006.sh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: git-clone_mesa-fdo.sh
Type: application/x-sh
Size: 213 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20130120/4f8c4722/attachment-0007.sh>


More information about the dri-devel mailing list