Are you sure you don't have compiz running ? Can you turn off desktop effects just to be sure ?
Ubuntu automatically enables Compiz when you crank up the desktop effects if the driver supports it, at least it does on my system.
I'm getting lots of flickering in any 3d app I open when my ATI 2900GT is installed, but not when I tried a 7900GS. I havn't got compiz or any other window manager installed. I'm using drivers which Ubuntu downloaded when I clicked 'enable' under hardware devices. Any Idea's on how to stp it flickering?
Here's my pc if it helps:
E2160 @2.7Ghz
2gb ram
320gb HDD
Sapphire 2900gt
ubuntu 8.04lts
Are you sure you don't have compiz running ? Can you turn off desktop effects just to be sure ?
Ubuntu automatically enables Compiz when you crank up the desktop effects if the driver supports it, at least it does on my system.
I've just completely disabled desktop effects and its just about worked, there's still the occasional flicker but I can live with it. Is there any way I can use compiz and a 3d app at the same time?
There are a couple of options :
1. There is a compiz option to "disable redirect on fullscreen" - if you turn that on and run your 3d apps fullscreen that will avoid the flicker.
2. Some folks wrap their 3d apps in a script which disables compiz when starting the app and re-enables it after the app finishes. It has pretty much the same effect as #1 above but also works for windowed apps.
3. Most apps for Linux today use direct rendering (DRI) rather than indirect rendering (AIGLX) because it can run a bit faster and because AIGLX was not generally available until recently. My understanding (not tested) is that if the app uses AIGLX instead of DRI then you can run without flicker, but very few apps seem to offer that option.
The issue here is that the DRI infrastructure in X doesn't fully support redirected 3d today. There are a couple of related initiatives -- DRI2 and RDR (Redirected Direct Rendering) -- which will allow the output from a 3d app to be composited rather than fighting with the compositor as happens today. You get flicker because the 3d app and compiz are both drawing to the same area of the screen.
In a perfect world it would be possible to simply tell Compiz "don't redraw the portion of the screen where my 3d app is running", but I haven't seen any real discussion about that. I imagine this is because most feel that DRI2 and RDR are sufficiently close that pursuing another approach in parallel is not worth the effort.
Last edited by bridgman; 06-08-2008 at 01:02 PM.
Nvidia managed it!
Agreed, they're not redirected in the first place but that's not the point... Compiz acts like they're being redirected and draws "something" on top of the app. That's what I was told anyways![]()
For me, if I have anything under the opengl windows that is regularly redrawing (ie. a terminal with top) that option doesn't do any good.
Adam
Interesting -- so that even causes problems when the opengl window is fullscreen ? I had always thought of "fullscreen" as also meaning "exclusive", but maybe that only holds true for Windows.
One more item for my ever-growing list of "things to play with"![]()
Yes, even when fullscreen :-)