calling GLX 1.3 function "glXCreatePixmap" when GLX 1.3 is not supported

Bug #433488 reported by Tormod Volden
178
This bug affects 38 people
Affects Status Importance Assigned to Milestone
compiz (Ubuntu)
Won't Fix
Undecided
Unassigned
mesa (Mandriva)
New
Undecided
Unassigned
mesa (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: compiz

Compiz spews out this message all the time:
WARNING: Application calling GLX 1.3 function "glXCreatePixmap" when GLX 1.3 is not supported! This is an application bug!

This is printed by mesa (warn_GLX_1_3() in src/glx/x11/glx_pbuffer.c) because the server glx version is 1.2 (using the r300 dri driver).

ProblemType: Bug
Architecture: i386
CompizPlugins: [core,move,resize,place,decoration,animation,ccp,gconf,dbus,mousepoll,gnomecompat,png,svg,imgjpeg,text,neg,video,wall,snap,scale,scaleaddon,expo,staticswitcher,regex,resizeinfo,workarounds,ezoom,vpswitch,extrawm,fade,session]
Date: Sun Sep 20 14:09:23 2009
DistroRelease: Ubuntu 9.10
Lsusb:
 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Acer, inc. TravelMate 8100
Package: compiz 1:0.8.3+git20090917-0ubuntu1
PackageArchitecture: all
PciDisplay: 01:00.0 VGA compatible controller [0300]: ATI Technologies Inc Radeon Mobility X700 (PCIE) [1002:5653]
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.31-10-generic root=UUID=59b5106f-825d-4931-92d0-b6cd1eee4f49 ro radeon.modeset=0
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-10.34-generic
RelatedPackageVersions:
 xserver-xorg 1:7.4+3ubuntu5
 libgl1-mesa-glx 7.7.0~git20090919.b8477f07-0ubuntu0tormod
 libdrm2 2.4.13+git20090915.cdd325b5-0ubuntu0tormod
 xserver-xorg-video-intel 2:2.8.99.901~git20090918.33f98e40-0ubuntu0tormod
 xserver-xorg-video-ati 1:6.12.99+git20090919.da7487f6-0ubuntu0tormod
SourcePackage: compiz
Uname: Linux 2.6.31-10-generic i686
dmi.bios.date: 01/20/06
dmi.bios.vendor: Acer
dmi.bios.version: 3C25
dmi.board.name: Kingfisher
dmi.board.vendor: Acer, Inc.
dmi.board.version: Not Applicable
dmi.chassis.type: 1
dmi.chassis.vendor: , Inc.
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnAcer:bvr3C25:bd01/20/06:svnAcer,inc.:pnTravelMate8100:pvrNotApplicable:rvnAcer,Inc.:rnKingfisher:rvrNotApplicable:cvn,Inc.:ct1:cvrN/A:
dmi.product.name: TravelMate 8100
dmi.product.version: Not Applicable
dmi.sys.vendor: Acer, inc.
system: distro = Ubuntu, architecture = i686, kernel = 2.6.31-10-generic

Related branches

Revision history for this message
Tormod Volden (tormodvolden) wrote :
Revision history for this message
Tormod Volden (tormodvolden) wrote :

This warning is new in mesa http://cgit.freedesktop.org/mesa/mesa/commit/?h=mesa_7_6_branch&id=1f309c40b8065b8729fce631540c66e4b50b84df but has been applied both to the 7.5 and 7.6 branches.

Revision history for this message
Tormod Volden (tormodvolden) wrote :

I think compiz does not check for GLX version, it just probes for the functions it wants to use.

I have sent a patch upstream to make mesa more forgiving.

Bryce Harrington (bryce)
Changed in mesa (Ubuntu):
status: New → Confirmed
Revision history for this message
Tormod Volden (tormodvolden) wrote :

Patch went upstream http://cgit.freedesktop.org/mesa/mesa/commit/?h=mesa_7_5_branch&id=e8573033058a13bd39a0b85f48b6db64b04c65e0 so it should trickle in with the next mesa snapshot/release.

But compiz _is_ broken in this regard.

Changed in mesa (Ubuntu):
status: Confirmed → Fix Committed
Revision history for this message
Travis Watkins (amaranth) wrote :

I fail to see how compiz is doing anything wrong here. We don't check for the GLX version but we do check to see if that function exists before trying to use it.

Revision history for this message
Tormod Volden (tormodvolden) wrote :

From #dri-devel last night:
<tormod> idr, did you see the patch I posted for your GLX 1.3 warnings?
<idr> tormod: I did.
 tormod: Thank you for reminding me. I was going to commit that today.
<tormod> great. what should the "buggy" applications do btw? for instance compiz does not care about glx version and justs probes for the functions that it needs
<idr> If the GLX version is not 1.3 or greater, it should not call those functions.
<idr> tormod: I don't know what you mean by "probes for the functions that it needs".
 tormod: The only probe is to call glXQueryVersion.
 tormod: Or glXQueryExtensionsString.
<tormod> sorry I don't know how this works, but I had a glance at the compiz code and it checks for these functions
 and since the messages appear, it is obviously using them :) and it works
<tormod> compiz uses glXQueryExtensionsString, but also some getProcAddress ("glXCreatePixmap") magic (http://cgit.compiz.org/compiz/core/tree/plugins/opengl/src/screen.cpp)
<idr> tormod: That magic is 100% wrong.
 tormod: On the standard libGL, glXGetProcAddress *ALWAYS* returns a pointer to something.
 tormod: Even if you call 'glXGetProcAddress("baconisyummytoeat");'.
<MostAwesomeDude> Well, bacon *is* delicious.
<idr> true dat!
<tormod> :) but if compiz was doing things correct (TM) it would just not run on r300 then?
<idr> tormod: It was doing things correct, it would continue to run when non-essential functionality was not available.
 tormod: Can it just not possibly run without some GLX 1.3 exclusive functionality? I doubt it.
<tormod> yes I guess it would
<idr> It obviously does since we don't support GLX 1.3! :)
<tormod> but it uses those GLX 1.3 functions with success?
<idr> Given all the bug reports that we've had from compiz and Wine calling GLX 1.3 functions that eventually result in either crashes or incorrect results, no.
 Which is why I added the warning.
<tormod> so compiz _is_ buggy? news at 11
<idr> Many of the GLX 1.3 functions are identical to functions added by extensions (e.g., GLX_SGIX_fbconfig) that we do support.
 Calling the GLX 1.3 versions just dumps into the extension functions.
 Those cases happen to work by dumb luck.
<tormod> thanks for the explanations!

Revision history for this message
Travis Watkins (amaranth) wrote :

GLX_EXT_texture_from_pixmap requires GLX 1.3 and only works with glXCreatePixmap. GLX_EXT_texture_from_pixmap existing should be all the test we need to know glXCreatePixmap is safe to use. If we did what you suggest compiz would not work at all on r300 and older ati cards.

Changed in compiz (Ubuntu):
status: New → Won't Fix
Revision history for this message
Tormod Volden (tormodvolden) wrote :

I am not sure what you mean "I suggest" but I guess, yes, it is not supposed to work since the r300 driver does not support GLX 1.3. However, it works "by dumb luck".

Upstream (mesa) seems pretty clear about the glXGetProcAddress probing being wrong. Anyway, this is an upstream (compiz) issue so I don't think any Ubuntu action is needed.

Revision history for this message
Travis Watkins (amaranth) wrote :

Further upstream discussion:

<Amaranth> So, for now I think compiz should just ignore this warning :)
<Amaranth> and WINE will ignore it even if you don't want them to :/
<idr> Amaranth: The bad part is that systems where this really doesn't work won't give you a warning. You'll just get a protocol error.
<Amaranth> idr: But surely tfp won't exist there?
<idr> Amaranth: Ah, that is almost certainly true.
<Amaranth> So unless we get GLX_mesa_i_cant_believe_its_not_glx13 compiz is doing all it can to make sure it doesn't use something that doesn't exist while still working on systems where it can work

r300 does support glXCreatePixmap (otherwise they couldn't support GLX_EXT_texture_from_pixmap) so any system that has GLX_EXT_texture_from_pixmap has glXCreatePixmap so we are covered.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mesa - 7.6.0-1ubuntu1

---------------
mesa (7.6.0-1ubuntu1) karmic; urgency=low

  * Merge from Debian. (LP: #420803)
    Remaining Ubuntu changes:
    - debian/control
      + Change maintainer address to Ubuntu.
      + Drop lesstif-dev from Build-Depends.
      + Comment out GLw libs since it depends on lesstif-dev.
      + Require at least libdrm_2.4.12+git20090801.45078630
    - debian/rules
      + Unexport LDFLAGS (amd64 FTBFS).
      + Use --disable-glw for swx11 targets too.
      + Don't enable motif for swx11 targets.
      + Build .debs with lzma compression.
      + Serialize install phase as suggested by Julien Cristau,
        fixes amd64 FTBFS.
    - debian/patches
      + 101_ubuntu_hidden_glname.patch
      + 102_dont_vblank.patch
      + 107_glxgears_is_not_a_benchmark.patch
  * Drop patches now included upstream:
    + 108_big_endian.patch
    + 109_fix_relocation_delta_for_wm_surfaces.patch
    + 110_deassociate_drawables.patch
    + 111_dridrawable_nullptr.patch
    + 112_dont_corrupt_random_number_state.patch
  * Mesa 7.6 fixes the following Ubuntu bugs:
    + Suppress excessive warnings on unsupported GLX 1.3 calls.
      (LP: #433488)
  * See http://www.mesa3d.org/relnotes-7.6.html for more details.

 -- Bryce Harrington <email address hidden> Wed, 07 Oct 2009 14:51:41 -0700

Changed in mesa (Ubuntu):
status: Fix Committed → Fix Released
Rafael Zenni (rafaeldz)
Changed in mesa (Ubuntu):
status: Fix Released → Fix Committed
status: Fix Committed → Fix Released
yopla (raphael-rignier)
Changed in mesa (Ubuntu):
status: Fix Released → Fix Committed
status: Fix Committed → Fix Released
Revision history for this message
Maicon Molina (maiconmolina) wrote :

Still no compiz in GMA 950. System got kernel panic when try to active it.

Revision history for this message
Tormod Volden (tormodvolden) wrote :

Maik, that has nothing to do with this bug report. You have to file your own bug report.

Revision history for this message
tekstr1der (tekstr1der) wrote :

Still seeing this error on an up-to-date clean lucid install.

This is with mesa 7.7.1-1ubuntu2

Revision history for this message
Travis Watkins (amaranth) wrote :

You're expected to see the message once for each of the functions when running compiz but it is not an error.

Revision history for this message
actionparsnip (andrew-woodhead666) wrote :

I see this too:
andy@D420:~$ Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x4200027 (Bug #43348)
Window manager warning: meta_window_activate called by a pager with a 0 timestamp; the pager needs to be fixed.
Window manager warning: Receiving a NET_CLOSE_WINDOW message for 0x4a00003 (CompizConf) without a timestamp! This means some buggy (outdated) application is on the loose!

Lucid UNR

Revision history for this message
Travis Watkins (amaranth) wrote :

Those messages are from metacity. You must have some other problem that compiz is detecting and so launching metacity for you instead. In any case, it isn't related to this bug.

Revision history for this message
Sonny (aadityabhatia) wrote :

This issue surfaced on my machine right after upgrading to Lucid. Compiz has been working perfectly on this box for years.

The following results in loss of window decorations and extreme unresponsiveness. Metacity works fine.

aaditya@u01:~$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)

aaditya@u01:~$ compiz --replace
Couldn't find a perfect decorator match; trying all decorators
Starting kde4-window-decorator
WARNING: Application calling GLX 1.3 function "glXCreatePixmap" when GLX 1.3 is not supported! This is an application bug!
kde-window-decorator(9545) KWD::KDecorationPlugins::loadPlugin: kwin : path "" for "kwin3_oxygen"
/usr/bin/kde4-window-decorator: Could not enable decorations on display ":0.0"
WARNING: Application calling GLX 1.3 function "glXDestroyPixmap" when GLX 1.3 is not supported! This is an application bug!

Revision history for this message
uboops (oops66) wrote :

Hello,
Here too, This issue came up on my computer just after upgrading to Lucid. Compiz has been working perfectly on this box for years.
FI: I use the free Lucid GPU driver and my graphic card is:
lspci | grep VGA
01:00.0 VGA compatible controller: ATI Technologies Inc RV730XT [Radeon HD 4670]
WARNING: Application calling GLX 1.3 function "glXCreatePixmap" when GLX 1.3 is not supported! This is an application bug!

Revision history for this message
Tormod Volden (tormodvolden) wrote :

Please file new bugs. The warning mentioned in this bug report is not a problem.

Revision history for this message
uboops (oops66) wrote :
Revision history for this message
laptoplinux (laptoplinux) wrote :

I can confirm this. Same scenario. Clean install of Lucid on separate partition from HOME. Had no problem in Karmic AND if I re-install Karmic this problem goes away.

To be honest all of these different bug references have me confused so I ma not sure which one addresses my problem specifically but...
:~/Downloads$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
:~/Downloads$ compiz --replace
WARNING: Application calling GLX 1.3 function "glXCreatePixmap" when GLX 1.3 is not supported! This is an application bug!
WARNING: Application calling GLX 1.3 function "glXDestroyPixmap" when GLX 1.3 is not supported! This is an application bug!

Revision history for this message
matt brown (emoticon2009) wrote :

hope this frikkin works!!!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.