Public bug reported: Binary package hint: compiz
This is similar to Bug #745839 (for a while I thought that's what it was), but not quite the same issue. Compiz renders everything to a single, giant OpenGL window that covers the entire display area. If your display area is larger than your video card's maximum *framebuffer* size (not *texture* size as in Bug #745839), OpenGL fails to initialize. Compiz does not detect this failure, and so still covers your screen with this window which now does not have an OpenGL context bound to it. As a result, all drawing operations fail. The window never gets redrawn, so it keeps displaying whatever happened to be in the block of video memory allocated to it (which in my case is usually a corrupted version of the desktop wallpaper). The apparent effect is that all you can see is a screenfull of garbage; the cursor still changes and interacts with windows, but they aren't visible. This problem isn't solved by breaking windows into multiple small textures, since the issue isn't the size of the window textures but the size of the OpenGL framebuffer they're being drawn into. The only workaround I can think of would be to create multiple OpenGL windows (probably one per monitor) and split the drawing between them. (Hopefully it's possible to share textures between multiple OpenGL windows; otherwise it might be necessary to forbid a window from ever spanning across multiple screens.) This issue is the cause of the error message: r300: Implementation error: Render targets are too big in r300_set_framebuffer_state, refusing to bind framebuffer state! The same can be seen with other programs, e.g.: glxgears --geometry 3000x1000+0+0 This displays the same error message and the same window full of garbage (at least for one frame before glxgears resizes its window for some reason). Since the corrupted display is really just a window covering everything, it's still possible to kill Compiz (by blindly clicking or typing or using another terminal) and get the display working again, but for novice users the apparent effect would be that they simply can't see any windows. ** Affects: compiz (Ubuntu) Importance: Undecided Status: New ** Description changed: Binary package hint: compiz This is similar to Bug #745839 (for a while I thought that's what it was), but not quite the same issue. Compiz renders everything to a single, giant OpenGL window that covers the entire display area. If your display area is larger than your video card's maximum *framebuffer* size (not *texture* size as in Bug #745839), OpenGL fails to initialize. Compiz does not detect this failure, and so still covers your screen with this window which now does not have an OpenGL context bound to it. As a result, all drawing operations fail. The window never gets redrawn, so it keeps displaying whatever happened to be in the block of video memory allocated to it (which in my case is usually a corrupted version of the desktop wallpaper). The apparent effect is that all you can see is a screenfull of garbage; the cursor still changes and interacts with windows, but they aren't visible. This problem isn't solved by breaking windows into multiple small textures, since the issue isn't the size of the window textures but the size of the OpenGL framebuffer they're being drawn into. The only workaround I can think of would be to create multiple OpenGL windows (probably one per monitor) and split the drawing between them. (Hopefully it's possible to share textures between multiple OpenGL windows; otherwise it might be necessary to forbid a window from ever spanning across multiple screens.) This issue is the cause of the error message: r300: Implementation error: Render targets are too big in r300_set_framebuffer_state, refusing to bind framebuffer state! The same can be seen with other programs, e.g.: glxgears --geometry 3000x1000+0+0 This displays the same error message and the same window full of garbage (at least for one frame before glxgears resizes its window for some reason). + + Since the corrupted display is really just a window covering everything, + it's still possible to kill Compiz (by blindly clicking or typing or + using another terminal) and get the display working again, but for + novice users the apparent effect would be that they simply can't see any + windows. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/789385 Title: Max 3D frame buffer size causes corrupted, unusable display -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs