XCB errors in OpenGL applications caused by fglrx 11.8
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
fglrx-installer-updates (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
This applies to both fglrx and fglrx-updates, as they are currently both installing Catalyst 11.8.
When running certain OpenGL based applications in Ubuntu 11.10, they will crash with the following error:
[xcb] Extra reply data still left in queue
[xcb] This is most likely caused by a broken X extension library
[xcb] Aborting, sorry about that.
../../src/
Notably, wine is causing issues like this. Both official wine1.2 and wine1.3 from the ubuntu-wine PPA are affected.
Using winedbg, I have traced one cause of the error back to one of the libraries that come with fglrx. Can't seem to reproduce it now, though. Probably because certain debug symbols are missing.
I've tested Catalyst 11.9 from the AMD website last night (fglrx 8.892), and managed to get wine working with that.
It is still unclear to me if the issue lies in a library incompatibility (wrong libGL being picked, lib32 issue, etc.) or a bug in Catalyst. I used the installer script and made sure everything is in place manually.
ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: fglrx-updates 2:8.881-0ubuntu6
ProcVersionSign
Uname: Linux 3.0.0-12-generic x86_64
NonfreeKernelMo
ApportVersion: 1.23-0ubuntu3
Architecture: amd64
Date: Tue Oct 18 15:07:24 2011
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
ProcEnviron:
LANGUAGE=
PATH=(custom, no user)
LANG=en_GB.utf8
SHELL=/bin/bash
SourcePackage: fglrx-installer
UpgradeStatus: Upgraded to oneiric on 2011-10-16 (1 days ago)
I experimented a bit more.
After removing libGL junk from /usr/lib32 and reinstalling ia32-libs, it seems wine is now picking up a libGL.so.1 that actually works. Most likely, it's the one from mesa (libgl1-mesa-glx). That one doesn't have this nasty XCB bug.
Is there a way to determine which libGL wine loads? ldd is not a great help here...
As for 64bit programs, they link against /usr/lib/ fglrx/libGL. so.1 - and that works fine too.