https://bugs.freedesktop.org/show_bug.cgi?id=62434
Priority: medium Bug ID: 62434 Assignee: dri-devel@lists.freedesktop.org Summary: [bisected] 3284.073] (EE) AIGLX error: dlopen of /usr/lib/xorg/modules/dri/r600_dri.so failed (/usr/lib/libllvmradeon9.2.0.so: undefined symbol: lp_build_tgsi_intrinsic) Severity: blocker Classification: Unclassified OS: Linux (All) Reporter: lonewolf@xs4all.nl Hardware: x86-64 (AMD64) Status: NEW Version: git Component: Drivers/Gallium/r600 Product: Mesa
Upon starting x loading r600_dri.so fails
first bad commit : http://cgit.freedesktop.org/mesa/mesa/commit/?id=f70c3853513637fa6ed38e75f73...
------------------------------------------------------------- ./autogen.sh --prefix=/usr \ --sysconfdir=/etc \ --with-dri-driverdir=/usr/lib/xorg/modules/dri \ --with-gallium-drivers=r300,r600,radeonsi,swrast \ --with-dri-drivers=swrast \ --enable-gallium-llvm \ --enable-egl \ --enable-gallium-egl \ --with-egl-platforms=x11,drm,wayland \ --enable-shared-glapi \ --enable-gbm \ --enable-glx-tls \ --enable-dri \ --enable-glx \ --enable-osmesa \ --enable-gles1 \ --enable-gles2 \ --enable-texture-float \ --enable-xa \ --enable-vdpau \ --enable-gallium-gbm \ --enable-gallium-g3dvl \ --enable-xvmc \ --enable-xorg \ --enable-r600-llvm-compiler \ --with-llvm-shared-libs
--------------------------------------------------- I've chosen blocker as severity, as this commit is a candidate for the 9.1 branch
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #1 from Maarten Lankhorst m.b.lankhorst@gmail.com --- Can you be more specific on how it fails?
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #2 from LoneVVolf lonewolf@xs4all.nl --- X can't initialize the driver and falls back to software rastering.
excerpt from Xorg.0.log :
[ 12609.742] (EE) AIGLX error: dlopen of /usr/lib/xorg/modules/dri/r600_dri.so failed (/usr/lib/libllvmradeon9.2.0.so: undefined symbol: lp_build_tgsi_intrinsic) [ 12609.742] (EE) AIGLX: reverting to software rendering [ 12609.742] (II) AIGLX: Screen 0 is not DRI capable [ 12609.746] (II) AIGLX: Loaded and initialized swrast
additional info :
OS : Archlinux x86_64 kernel 3.8.3 , https://www.archlinux.org/packages/testing/x86_64/linux/ xf86-video-ati 7.1.0, https://www.archlinux.org/packages/testing/x86_64/xf86-video-ati/
I'll attach the build output and complete Xorg.0.log
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #3 from LoneVVolf lonewolf@xs4all.nl --- Created attachment 76641 --> https://bugs.freedesktop.org/attachment.cgi?id=76641&action=edit build output
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #4 from LoneVVolf lonewolf@xs4all.nl --- Created attachment 76642 --> https://bugs.freedesktop.org/attachment.cgi?id=76642&action=edit complete Xorg.0.log
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #5 from Andreas Boll andreas.boll.dev@gmail.com --- Created attachment 76652 --> https://bugs.freedesktop.org/attachment.cgi?id=76652&action=edit Possible patch
Does this patch help?
https://bugs.freedesktop.org/show_bug.cgi?id=62434
Andreas Boll andreas.boll.dev@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |tstellar@gmail.com
--- Comment #6 from Andreas Boll andreas.boll.dev@gmail.com --- Tom, could you look at this bug?
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #7 from LoneVVolf lonewolf@xs4all.nl --- yes, the patch in comment #5 solves the problem.
Looking at the 'bad' commit, it seems the changes in src/gallium/auxiliary/Makefile.am required a change in the src/gallium/drivers/radeon/Makefile.am ?
If so, i wonder if other drivers then radeon are affected also. The patch looks more as a workaround then as a real solution.
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #8 from Michel Dänzer michel@daenzer.net --- (In reply to comment #5)
Possible patch
This seems less than ideal, as it makes libllvmradeon duplicate lots of stuff from the driver *.so, and it grows from ~500K to ~10M for me.
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #9 from LoneVVolf lonewolf@xs4all.nl --- That appears to be correct, in a git version build on march 11 libllvmradeon9.2.0.so is just 39 Kib . Build with the patch it's size increases to 1.8 Mib !
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #10 from Andreas Boll andreas.boll.dev@gmail.com --- (In reply to comment #8)
(In reply to comment #5)
Possible patch
This seems less than ideal, as it makes libllvmradeon duplicate lots of stuff from the driver *.so, and it grows from ~500K to ~10M for me.
Hmm we definitely need a shared libgallium. That would reduce the size of all gallium drivers.
Or we could remove/revert the visibility flags from src/gallium/auxiliary/Makefile.am
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #11 from Maarten Lankhorst m.b.lankhorst@gmail.com --- The fix is correct, despite the size increase.
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #12 from Maarten Lankhorst m.b.lankhorst@gmail.com --- Reverting the gallium fix would reopen bug #59238
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #13 from Fabio Pedretti fabio.ped@libero.it --- Ubuntu is providing a shared libgallium, the patches are here: http://anonscm.debian.org/gitweb/?p=pkg-xorg/lib/mesa.git;a=tree;f=debian/pa...
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #14 from LoneVVolf lonewolf@xs4all.nl --- Trying to summarize
I've looked a bit more at bug #59238, and if i understand correctly the problem with building xa tracker was that symbols were exported that are not supposed to be visible outside of the library itself ?
By adding the VISIBILITY_CFLAGS and VISIBILITY_CXXFLAGS changes in the f70c385 commit, the troublesome symbols were removed. A consequence however was that symbols needed for r600_dri.so to call libllvmradeon9.2.0.so were no longer present.
Including $(top_builddir)/src/gallium/auxiliary/libgallium.la in src/gallium/drivers/radeon/Makefile.am makes sure all needed symbols are present, but has a size increase of libllvmradeon9.2.0 as downside.
To counter the size increase, switching to a shared libgallium is proposed.
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #15 from Michel Dänzer michel@daenzer.net --- Can you please fix this somehow for now? This is preventing radeonsi from working at all.
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #16 from Andreas Boll andreas.boll.dev@gmail.com --- (In reply to comment #15)
Can you please fix this somehow for now? This is preventing radeonsi from working at all.
I've sent the proposed patch from comment #5 to the list:
http://lists.freedesktop.org/archives/mesa-dev/2013-March/036423.html
https://bugs.freedesktop.org/show_bug.cgi?id=62434
--- Comment #17 from Michel Dänzer michel@daenzer.net --- (In reply to comment #12)
Reverting the gallium fix would reopen bug #59238
FWIW, that seems less of an issue to me than this bug or the side effects of the attached patch.
https://bugs.freedesktop.org/show_bug.cgi?id=62434
Maarten Lankhorst m.b.lankhorst@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #18 from Maarten Lankhorst m.b.lankhorst@gmail.com --- The size increase only happens if radeonsi is built too, and can be countered with the shared libgallium patch.
The original bug described here is fixed with these 2 commits:
36320bfa54b758b34 - radeon/llvm: Link against libgallium.la to fix an undefined symbol 7c3d8301afed46cf9 - radeon/llvm: Do not link against libgallium when building statically.
dri-devel@lists.freedesktop.org