need to add max texture size check

Bug #124519 reported by Sigurd
72
This bug affects 2 people
Affects Status Importance Assigned to Milestone
compiz (Ubuntu)
Fix Released
Critical
Unassigned

Bug Description

Binary package hint: compiz

I have a laptop (ibm r51) that has a radeon 9000, which have 3D support with the open source radeon driver. This laptop supports resolutions up to 1400*1050.

Both compiz (desktop effects) and beryl works fine up to 1024*768, but at higher resolutions it will "break" about one third of the screen on the right. The rest looks a streched 1024*768 screen, which works fine.

I will try to provide a screenshot soon.

Related branches

Revision history for this message
Federico Román (fromanf) wrote :

I have a Compaq Evo N800v that also has a native resolution of 1400*1050 with the open source ati driver. I can confirm the bug and I could add that the up and down panels don't refresh and don't work.

Changed in compiz:
importance: Undecided → Critical
status: New → Triaged
Anthony S (aaaantoine)
Changed in compiz:
assignee: nobody → ubuntu-desktop-effects
Changed in compiz:
assignee: ubuntu-desktop-effects → amaranth
Revision history for this message
Jos Dehaes (jos-dehaes) wrote :

I can confirm. My laptop (asus L3800C) has a mobility 7500, and works with the radeon driver. If I use 24bit colors, I have this limitation, if I downgrade to 16bit, I can use the native resolution (1400x1050) with compiz. Probably a lack of memory in the graphics card.

Revision history for this message
Jos Dehaes (jos-dehaes) wrote :

look at https://bugs.edge.launchpad.net/ubuntu/+source/compiz/+bug/31619 which describes this problem a few months ago.

Revision history for this message
Pitabred (ubuntu-pitabred) wrote :

I just updated Gutsy as of 19:15MST, and now compiz won't work on either my 64bit laptop or 32bit desktop. Compiz reports this:

david@dionysus:~$ compiz --replace &
[1] 6409
david@dionysus:~$ Checking for Xgl: not present.
Detected PCI ID for VGA: 01:00.0 0300: 10de:0398 (rev a1) (prog-if 00 [VGA])
Checking for texture_from_pixmap: present.
Checking for non power of two support: present.
Checking for Composite extension: present.
Comparing resolution (1280x800) to maximum 3D texture size (512): Failed.
aborting and using fallback: /usr/bin/metacity
no /usr/bin/metacity found, exiting

[1]+ Exit 1 compiz --replace
david@dionysus:~$

I'm quite positive that I have more than enough memory for all textures, as compiz worked previously on both machines prior to this update. Is this related? Can I provide any more information?

Revision history for this message
mannheim (kronheim) wrote :

I am in a similar situation to Pitabred. I have a nvidia 6200-based AGP card, with 256 MB of ram on the card. My screen is 1280x1024. The new compiz wrapper script bails out:

Comparing resolution (1280x1024) to maximum 3D texture size (512): Failed.

Yet (without this check), compiz nevertheless runs fine, as it has done for ages now. It seems that this check is incorrect. This card is quite capable of running compiz.

Revision history for this message
Daniel Elstner (daniel-elstner) wrote :

Arrrgh! This check is most definitely incorrect. It should check MAX_TEXTURE_SIZE, not MAX_3D_TEXTURE_SIZE. I very much doubt compiz is using 3D textures a lot, if at all. A 1024x1024x1024 8 bit 3D texture would use 1 GiB of memory...

Revision history for this message
Daniel Elstner (daniel-elstner) wrote :

The attached patch for the /usr/bin/compiz wrapper script fixes the problem.

Revision history for this message
Gavin Graham (gavingraham) wrote :

As of today, I have been hit with this bug too. Here is the output:
gavin@gavin-desktop:~$ gnome-appearance-properties
/bin/sh: /usr/bin/esd: not found
nvidia_new restricted driver is already enabled
Checking for Xgl: not present.
Detected PCI ID for VGA: 01:00.0 0300: 10de:014e (rev a2) (prog-if 00 [VGA])
Checking for texture_from_pixmap: present.
Checking for non power of two support: present.
Checking for Composite extension: present.
Comparing resolution (1280x1024) to maximum 3D texture size (512): Failed.
aborting and using fallback: /usr/bin/metacity
Window manager warning: "" found in configuration database is not a valid value for keybinding "toggle_shaded"

(gnome-appearance-properties:7668): GLib-CRITICAL **: g_array_free: assertion `array' failed
Window manager warning: "" found in configuration database is not a valid value for keybinding "toggle_shaded"

Revision history for this message
Gavin Graham (gavingraham) wrote :

May I add that my above comment is for Gutsy Tribe5 + latest updates.

Revision history for this message
Gavin Graham (gavingraham) wrote :

Sorry for posting again but I was also able to fix it by changing line 222 in /usr/bin/compiz from:
 TEXTURE_LIMIT=$(glxinfo -l | grep GL_MAX_3D_TEXTURE_SIZE | sed 's/.*=[^0-9]//g')
to:
 TEXTURE_LIMIT=$(glxinfo -l | grep GL_MAX_TEXTURE_SIZE | sed 's/.*=[^0-9]//g')

Revision history for this message
Ralf Nieuwenhuijsen (ralf-nieuwenhuijsen) wrote :

The issues with the nvidia cards show that:
 1- they implemented the texture-size thingie
 2- there is bug in there (https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/141130)

What is more important is to know in _this_ bug report is wether the issue with radeon driver works after applying the suggested fix. We don't want to fix one thing and break another,..

Revision history for this message
Daniel Elstner (daniel-elstner) wrote :

If the check for GL_MAX_TEXTURE_SIZE doesn't fail for the radeon card in question (where it is supposed to fail), it will probably be necessary to write a tiny test program in C which tries to allocate a GL_PROXY_TEXTURE2D of the required size. The GL_MAX_*_SIZE constants are only rough indicators of the real texture capabilities at runtime. In any case checking GL_MAX_3D_TEXTURE_SIZE is definitely broken.

It would be great if the original reporter could confirm whether the patched script still properly disables compiz for her/him. But I think a new upload is in order regardless of this particular problem. The patch definitely breaks more than it fixes. I believe only very high-end cards -- or alternatively just lying drivers -- will be able to get past this test as it is now.

Revision history for this message
Gavin Graham (gavingraham) wrote :

Here's my logic, tell me if it's wrong:
People don't submit bug reports when things are working and when this was working (before the last updates) for the nVidia users, it seems that there were also no complaints from the ATI users. The wrapper may need to be patched and if it breaks for ATI users, then they would be inclined to submit a bug report and that way the affect will be known.
Also, as Daniel stated, it is doubtful that compiz is using 3D textures so this would be the wrong variable to test on any graphics adaptor.

Michael Vogt (mvo)
Changed in compiz:
assignee: amaranth → mvo
status: Triaged → Fix Committed
Revision history for this message
Tom Badran (tom-badran) wrote :

I think this fix may have broken my setup, and be responsible for #141543 which i recently filed.

Revision history for this message
Michael Vogt (mvo) wrote :

compiz (1:0.5.2+git20070918-0ubuntu4) gutsy; urgency=low

  * debian/compiz-manager:
    - fix in the check for the TEXTURE_SIZE (LP: #124519, #141130)

 -- Michael Vogt <email address hidden> Fri, 21 Sep 2007 17:43:31 +0200

Changed in compiz:
status: Fix Committed → Fix Released
Revision history for this message
Glenn Slotte (phear-dude) wrote :

This check will not work as GL_MAX_TEXTURE_SIZE ignores a number of parameters.

I have a Compaq Evo N610c with ATI Radeon Mobility 7500 running compiz just fine under 1400x1050x16. Increasing the bit depth to 24 will break it though. Symptoms are similar to those reported by the submitter.

Read this for more info:
http://www.opengl.org/resources/faq/technical/texture.htm#text0120

Revision history for this message
michelem (michele-marcucci) wrote :

With the latest Gutsy upgrade if I lock the screen, it just freezes when I enter the password and click unlock, the screen remains black, only mouse works and I have to shutdown the laptop. (intel i810)
I attach the .xsession-errors log

Revision history for this message
Andry (andry-korolyuk) wrote :

Gutsy with latest updates

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV250 [Mobility FireGL 9000] (rev 01)

compiz wouldn't start untill /usr/bin/compiz modified and lines starting from 228 in function check_texture_size()
are commented out.

 #if [ $VRES -gt $TEXTURE_LIMIT ] || [ $HRES -gt $TEXTURE_LIMIT ]; then
 # verbose "Failed.\n"
 # return 1;
 #fi
 #verbose "Passed.\n"

regression from feisty

Revision history for this message
professordes (d-a-johnston) wrote :

Removing the max texture check in the compiz script in /usr/bin/ isn't enough to get things going on an IBM X31 with the latest Gutsy updates. It has a Radeon Mobility M6 LY chip which had working compiz-fusion/beryl under Feisty.

Without the texture check (or forcing it to take a larger value by hand) the window decoration crashes on executing compiz --replace.

Revision history for this message
GabrielGrant (gabrielgrant) wrote :

Note that on the X31 (with Radeon Mobility M6) this is a recent regression. As described in bug #144077, as of Sept 29th, the output was:

Comparing resolution (1280x800) to maximum 3D texture size (2048): Passed.
Checking for nVidia: not present.
Checking for FBConfig: present.
Checking for Xgl: not present.
Starting gtk-window-decorator
/usr/bin/compiz.real (core) - Fatal: No GLXFBConfig for default depth, this isn't going to work.
/usr/bin/compiz.real (core) - Error: Failed to manage screen: 0
/usr/bin/compiz.real (core) - Fatal: No manageable screens found on display :0.0

Now, testing on the same hardware gives

No nvidia hardware available
Checking for Xgl: not present.
Detected PCI ID for VGA: 01:00.0 0300: 1002:4c59 (prog-if 00 [VGA])
Checking for texture_from_pixmap: not present.
Trying again with indirect rendering:
Checking for texture_from_pixmap: present.
Checking for non power of two support: present.
Checking for Composite extension: present.
Comparing resolution (1024x768) to maximum 3D texture size (512): Failed.
aborting and using fallback: /usr/bin/metacity

So, for some people at least, this is a regression from a few weeks ago.

Also, are this bug and bug #141543 duplicates of one another?

Thanks!
-Gabriel

Revision history for this message
Miguel Gaspar (ghaspias) wrote :

Please note that there are two questions being talked here:
- The added checks before starting compiz, which may be too stringent, but can be bypassed;
- If the tests pass and compiz starts, it might work ok, or it may present garbage in the right and bottom of the screen.

Also, there seems to be a regression _not_ related to the added checks (at least in the Gutsy Beta Live CD), because I have been able to use compiz in Feisty, provided I set my display to 16bpp, but now, even if compiz starts by skipping the checks, it always presents the garbage / non-refreshing right and bottom. glxinfo -l reports the same GL_MAXIMUM_TEXTURE_SIZE of 1024 in both systems, but one presents the garbage while the other doesn't.

(Hardware:Asus L3000 series laptop with ATI Radeon Mobility M7 set to 1400x1050x16)

Revision history for this message
professordes (d-a-johnston) wrote :

As of today (15/10/07) following a recent slew of updates, desktop effects have started working again on an IBM X31 with a Radeon Mobility M6 LY chip.
No more max texture size check errors and no crashes on startup.

Revision history for this message
Andry (andry-korolyuk) wrote :

Still doesn't work for my Presario X1000
Radeon RV250 [Mobility FireGL 9000] (rev 01)

gxlinfo returns - GL_MAX_TEXTURE_SIZE = 1024
and
xdpyinfo returns - dimensions: 1280x800 pixels

script compares VRES and HRES to be less than 1024 and sure fails. Not sure if gxlinfo returns wrong number.

Revision history for this message
GabrielGrant (gabrielgrant) wrote :

I'm also on a Thinkpad X31 (including same Radeon). I've just checked to make sure that I have all updates, which I do, and I'm still getting the same:

Comparing resolution (1024x768) to maximum 3D texture size (512): Failed.
aborting and using fallback: /usr/bin/metacity

What does your command line output look like?

Cheers,
-Gabriel

Revision history for this message
Andry (andry-korolyuk) wrote :

If I run unmodified /usr/bin/compiz --replace

Checking for Xgl: not present.
Detected PCI ID for VGA: 01:00.0 0300: 1002:4c66 (rev 01) (prog-if 00 [VGA])
Checking for texture_from_pixmap: not present.
Trying again with indirect rendering:
Checking for texture_from_pixmap: present.
Checking for non power of two support: present.
Checking for Composite extension: present.
Comparing resolution (1280x800) to maximum 3D texture size (1024): Failed.
aborting and using fallback: /usr/bin/metacity

try to comment out lines 229 to 232 in /usr/bin/compiz and see if it enables composition

Andry

Revision history for this message
professordes (d-a-johnston) wrote :

The output from compiz --replace on my IBM X31 now looks like:

Checking for Xgl: not present.
Detected PCI ID for VGA: 01:00.0 0300: 1002:4c59 (prog-if 00 [VGA])
Checking for texture_from_pixmap: not present.
Trying again with indirect rendering:
Checking for texture_from_pixmap: present.
Checking for non power of two support: present.
Checking for Composite extension: present.
Comparing resolution (1024x768) to maximum 3D texture size (512): Passed.
Checking for nVidia: not present.
Checking for FBConfig: present.
Checking for Xgl: not present.
Starting gtk-window-decorator

and the bling is starting up OK (even in custom mode, albeit running rather slowly)

Revision history for this message
DenialP (danlezoche) wrote :

I have been following this thread with the same errors and no resolution. I am running Ubuntu 7.10 on a Sony S260 w/ a Radeon Mobility 9200 and had been running compiz fine on the latest beta of 7.10.

I receive the following error: "Comparing resolution (1280x800) to maximum 3D texture size (1024): Failed."

Commenting lines 229 to 232 out in the compiz configuration will allow me to run compiz --replace, however the right side of my screen gets wonky.

I have attached my output from lspci and glxgears if anyone is interested.

Thanks, and any suggestions would be greatly appreciated.

Dan

Revision history for this message
tkamen (arvin-tdficq) wrote :

I'm having the exact same issue as DenialP. On a Radeon Mobility 9000 It seems as though the screen is getting cut off at the point where the width would be 1024 pixels. Any window you open can occupy the empty space, but nothing behind gets displayed. I have included a screenshot.

Revision history for this message
analogue (analogue-yahoo) wrote :

Same problem here as tkamen and DenialP.

My hardware:
Dell Inspiron 700M
Video Hardware: Intel 855GM

Symptoms:
At 1280x800x24 - screens gets chopped off vertically @ x = 1024
At 1280x600x16 - everything works fine

This used to work fine w/ Feisty + Compiz Fusion loaded from Trevino's repo which tracked git trunk (http://www.compiz.org/Compiz_and_Copmiz_Fusion_GIT_Ubuntu_Repository).

Even though a fix is released, this seems like a regression since behavior is not what it could be given working scenarios on Feisty + Compiz Fusion from Trevinos repo.

Revision history for this message
proycon (proycon) wrote :

I have the exact same issue as well on a HP compaq nx7010 with ATI Radeon 9200. Whilst Feisty+Beryl used to work fine I am now forced to switch to 16bpp instead of 24bpp on gutsy, if I don't I get:

 Comparing resolution (1280x800) to maximum 3D texture size (1024): Failed

If I set SKIP_CHECKS=yes and thus force compiz to continue, the right 1024+ part screen of the screen becomes distorted. But as said,on feisty+beryl, it all did work in the desired resolution...

(the fix that is released is another older issue with the same check symptom)

Revision history for this message
proycon (proycon) wrote :

I think I have found a fix for the issue of the garbage at the right/bottom when forcing compiz to start despite the failed texture size. By setting a virtual size I manage to use my preferred resolution (1280x800), without needing to revert to 16bpp:

Put this in your "Screen" section in /etc/X11/xorg.conf:

        DefaultDepth 24
        SubSection "Display"
                Depth 24
                Virtual 1280 800
                Modes "1024x800"
        EndSubSection

Values may differ according to desired resolution and maximum texture size (1024 in my case, hence I choose 1024x800 for the modeline.

Though untested, I think compiz should in this situation start cleanly without the SKIP_CHECKS=yes option enabled.

Revision history for this message
tkamen (arvin-tdficq) wrote :

Thanks proycon, Your suggestion seems to have worked for me. Everything looks like it worked and I'm running at full resolution. Thanks!

Revision history for this message
Michael Longval (mlongval) wrote :

Using a Thinkpad T41 with Radeon 9000 (r250) @1400x1050 on Ubuntu 7.10 (Gutsy Gibbon):

I also have felt the love from compiz now that I modified xorg.conf Thanks to the folks here I reduced default depth from 24 to 16 and miracles of miracles, it works.

Because of the bug in the compiz wrapper for ati, I have to run it as ">SKIP_CHECKS=yes compiz" to get it to work. But after that works great, no crashes, resume after suspend ok....

Here is the relevant section from xorg.conf

 Section "Device"
        Identifier "Radeon 9000"
        Driver "ati"
        BusID "PCI:1:0:0"
        Option "XAANoOffscreenPixmaps"
EndSection

Section "Monitor"
        Identifier "Generic Monitor"
        Option "DPMS"
        HorizSync 30-70
        VertRefresh 50-160
EndSection

Section "Screen"
        Identifier "Default Screen"
        Device "Radeon 9000"
        Monitor "Generic Monitor"
        DefaultDepth 16
        SubSection "Display"
                Depth 16
# Virtual 1600 1200 # seems to work without this hack
                Modes "1400x1050"
        EndSubSection
EndSection

Section "ServerLayout"
        Option "AIGLX" "true"
        Identifier "Default Layout"
        Screen "Default Screen"
        InputDevice "Generic Keyboard"
        InputDevice "Configured Mouse"
EndSection

Section "DRI"
        Mode 0666
EndSection

Section "Extensions"
        Option "Composite" "Enable"
EndSection

Revision history for this message
The Amigo (theamigo) wrote :

How does glxinfo get its information?

When I boot from the final 7.10 CD, running glxinfo -l | grep MAX_TEXTURE_SIZE shows 2048.
But when I install to the HD and run the same command, glxinfo reports a MAX_TEXTURE_SIZE of 1024.

This is on a Dell D600 with a Radeon Mobility 9000.

Running off the liveCD, compiz' wrapper script doesn't complain about max texture size, but still won't run. Instead, it complains about FBConfig (don't have the exact error right now as I'm booted off the HD).

Revision history for this message
Oliver Dungey (oliver-dungey) wrote :

Any news on this? I have a Lenovo T60 with Intel 945, dual screens on Intrepid and it looks like this same issue is still present:

Checking for Xgl: not present.
Detected PCI ID for VGA:
Checking for texture_from_pixmap: not present.
Trying again with indirect rendering:
Checking for texture_from_pixmap: present.
Checking for non power of two support: present.
Checking for Composite extension: present.
Comparing resolution (2680x1050) to maximum 3D texture size (2048): Failed.
aborting and using fallback: /usr/bin/metacity

Revision history for this message
Oliver Dungey (oliver-dungey) wrote :

Is this issue the same as this one:

http://<email address hidden>/msg04745.html

Revision history for this message
Vincenzo Ciancia (vincenzo-ml) wrote :

Same here on jaunty

Detected PCI ID for VGA:
Checking for texture_from_pixmap: not present.
Trying again with indirect rendering:
Checking for texture_from_pixmap: present.
Checking for non power of two support: present.
Checking for Composite extension: present.
Checking screen 1Comparing resolution (2560x1024) to maximum 3D texture size (2048): Failed.

What to do? BTW when I switched on the second monitor, compiz worked (but the desktop background was garbled). When I restarted compiz, it failed in the startup test.

Revision history for this message
Colin Dean (colindean) wrote :

I hate to add another "me too" but that's about all the information I have.

I'm encountering this problem on Intrepid with an Intel GMA 945.

00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)

$ compiz --replace
Checking for Xgl: not present.
Detected PCI ID for VGA:
Checking for texture_from_pixmap: not present.
Trying again with indirect rendering:
Checking for texture_from_pixmap: present.
Checking for non power of two support: present.
Checking for Composite extension: present.
Comparing resolution (2880x900) to maximum 3D texture size (2048): Failed.
aborting and using fallback: /usr/bin/metacity

Big difference for me when skipping the checks, though. The screen goes white. I can't see anything on the desktop, but I /can/ rotate the cube and see it /attempting/ to rotate the cube (not the most powerful machine in dual screen mode).

SKIP_CHECKS=yes compiz --replace
Checking for Xgl: not present.
Detected PCI ID for VGA:
Checking for texture_from_pixmap: not present.
Trying again with indirect rendering:
Checking for texture_from_pixmap: present.
Checking for non power of two support: present.
Checking for Composite extension: present.
Comparing resolution (2880x900) to maximum 3D texture size (2048): Failed.
SKIP_CHECKS is yes, so continuing despite problems.
Checking for Software Rasterizer: present.
Software rasterizer detected, abortingSKIP_CHECKS is yes, so continuing despite problems.
Checking for nVidia: not present.
Checking for FBConfig: present.
Checking for Xgl: not present.
/usr/bin/compiz.real (video) - Warn: No 8 bit GLX pixmap format, disabling YV12 image format

Direct rendering is on; glxgears works fine.

I've got a 1440x900 LVDS display and a 1440x900 VGA display. It's a HP-branded Compaq nc6400.

Revision history for this message
Jmadero (jmadero) wrote :

I am also experiencing this problem. I have an intel on board card that works great but when I try to dual monitor compiz fails and gives this error

Checking for Xgl: not present.
xset q doesn't reveal the location of the log file. Using fallback /var/log/Xorg.0.log
Detected PCI ID for VGA:
Checking for texture_from_pixmap: not present.
Trying again with indirect rendering:
Checking for texture_from_pixmap: present.
Checking for non power of two support: present.
Checking for Composite extension: present.
Checking screen 1Comparing resolution (2880x900) to maximum 3D texture size (2048): Failed.
aborting and using fallback: /usr/bin/metacity

I'd love to be able to still use compiz when I dual monitor. Thanks for the hard work

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

This bug report is not the right place for such comments, the bug talked about here was fixed long ago. Your problem is actually a hardware limitation so there is nothing we can do.

jack sways (jacksways)
Changed in compiz (Ubuntu):
assignee: Michael Vogt (mvo) → nobody
status: Fix Released → Fix Committed
status: Fix Committed → In Progress
status: In Progress → Incomplete
Changed in compiz (Ubuntu):
status: Incomplete → Fix Released
Changed in compiz (Ubuntu):
status: Fix Released → Incomplete
status: Incomplete → Fix Released
Changed in compiz (Ubuntu):
status: Fix Released → Fix Committed
Changed in compiz (Ubuntu):
status: Fix Committed → Fix Released
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.