Compiz r3275 breaks VirtualBox Guest Additions: black screen or just wallpaper
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Compiz |
Fix Released
|
High
|
Sam Spilsbury | ||
Virtualbox |
Fix Released
|
Unknown
|
|||
virtualbox-guest-additions (Ubuntu) |
Confirmed
|
Undecided
|
Sam Spilsbury |
Bug Description
I already reported this to Daniel, but the lp:compiz trunk does not work on the VirtualBox VM - while the current quantal version (1:0.9.
After logging in with this broken compiz in VirtualBox, the only thing that appears on screen is either the background or a black screen - the mouse can be moved, but no action can be performed (not even opening the terminal by keybindings).
From a previous run, this is what Ctrl+C'ing from the locked compiz (when running with unity --debug) gives me from gdb:
http://
Related branches
- Daniel van Vugt: Approve
- jenkins (community): Approve (continuous-integration)
-
Diff: 119 lines (+50/-1)4 files modifiedplugins/opengl/DRIVERS (+10/-0)
plugins/opengl/src/glxtfpbind/include/glx-tfp-bind.h (+4/-0)
plugins/opengl/src/glxtfpbind/src/glx-tfp-bind.cpp (+7/-0)
plugins/opengl/src/glxtfpbind/tests/test-opengl-glx-tfp-bind.cpp (+29/-1)
Changed in compiz: | |
status: | Invalid → Opinion |
Changed in compiz: | |
milestone: | 0.9.8.0 → 0.9.8.1 |
Changed in virtualbox: | |
status: | Unknown → New |
Changed in compiz: | |
milestone: | 0.9.8.2 → none |
summary: |
- Revision 3275 breaks compiz in VirtualBox + Compiz r3275 breaks VirtualBox Guest Additions: black screen or just + wallpaper |
Changed in compiz: | |
status: | Invalid → In Progress |
milestone: | none → 0.9.8.4 |
Changed in compiz: | |
status: | In Progress → Fix Committed |
Changed in compiz: | |
status: | Fix Committed → Fix Released |
Changed in virtualbox: | |
status: | New → Fix Released |
This indicates a broken driver to me, as the spec says you're not supposed to do that:
#5 0x00007ffff6d22a41 in XOpenDisplay () from /usr/lib/ x86_64- linux-gnu/ libX11. so.6 glXBindTexImage EXT () from /usr/lib/ x86_64- linux-gnu/ dri/vboxvideo_ dri.so
No symbol table info available.
#6 0x00007fffea05fc62 in vboxstub_
No symbol table info available.
---
http:// developer. download. nvidia. com/opengl/ specs/GLX_ EXT_texture_ from_pixmap. txt
5. Should users be required to re-bind the drawable to a texture after
the drawable has been rendered to?
It is difficult to define what the contents of the texture would be if
we don't require this. Also, requiring this would allow implementations
to perform an implicit copy at this point if they could not support
texturing directly out of renderable memory.
The problem with defining the contents of the texture after rendering
has occured to the associated drawable is that there is no way to
synchronize the use of the buffer as a source and as a destination.
Direct OpenGL rendering is not necessarily done in the same command
stream as X rendering. At the time the pixmap is used as the source
for a texturing operation, it could be in a state halfway through a
copyarea operation in which half of it is say, white, and half is the
result of the copyarea operation. How is this defined? Worse, some
other OpenGL application could be halfway through a frame of rendering
when the composite manager sources from it. The buffer might just
contain the results of a "glClear" operation at that point.
To gurantee tear-free rendering, a composite manager would run as follows:
-receive request for compositing: mageEXT( )
XGrabServer()
glXWaitX() or XSync()
glXBindTexI
<Do rendering/ compositing>
glXReleaseT exImageEXT( )
XUngrabServer()
In any case we'll have to work around it, I don't want to revert this revision as it will cause regressions on nvidia.