Announcement

Collapse
No announcement yet.

Using compiz implies OpenGL applications not to work properly.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Using compiz implies OpenGL applications not to work properly.

    Hello everyone.

    I 'm running a Debian lenny 64bit, 2.6.22 kernel and fglrx 8.41 with Radeon x800pro.

    My problem is the following : when compiz (from official Debian repositories) is enabled, I don't manage to run any openGL application. For instance, wine is flickering. The only solution I found is to unable compiz, CTRL+ALT+BACKSPACE and run the openGL application I want to use.

    My main problem is that I have to use an openGL application for work (named gmsh for those who know...) and whenever I have to use it I must reboot X...

    Does anyone have an idea what to add to xorg.conf so everything works find please?

    Thank in advance.

  • #2
    Some of this is a fundamental issue in the framework. Edit -- added a couple of links :

    http://hoegsberg.blogspot.com/2007/0...rendering.html

    https://blueprints.launchpad.net/ubu...rect-rendering

    The key point from Kristian's post is that until this is solved (via Redirected Direct Rendering) it doesn't make sense to enable a compositing desktop by default. RDR, in turn, requires more advanced memory management -- either TTM or the memory managers we use in the proprietary drivers.

    My understanding (and I'm admittedly still learning this stuff) is that any application which uses direct rendering rather than indirect rendering is going to flicker under Compiz because Compiz and the app both think that they own the screen. Redirected Direct Rendering essentially routes the direct rendering calls through the server (ie through the same path as AIGLX) to get around a number of different problems.

    It's not clear to me today how many apps and desktops have the ability to switch between direct and indirect rendering -- not sure if the choice is compiled in or is a runtime option. At first glance it seems like runtime options to force indirect rendering are either not common or not well understood.

    It certainly seems that if all the apps had the option of using indirect rendering then that would also take care of the problem, and we wouldn't need framework changes to let an app think it's using direct rendering while really forcing the output to go through the server so it can be properly composited. I think the idea is that RDR can perhaps be faster than going through AIGLX, not sure though. Time to go ask Hui and Matthew
    Last edited by bridgman; 18 February 2008, 12:31 PM.
    Test signature

    Comment


    • #3
      Thank you for that "extended" answer

      So, if I understnad correctly, composite option is required to run compiz, but openGL applications require compsite option to be unabled to run properly, am I right?

      Is that a fglrx specific bug or general bug? I mean : I also own a laptop with an nvidia video card on which I can both run compiz and gmsh at the same time... Well, at least for a few hours, then everything start bugging...

      Anyway, I guess all Ihave to do now is to wait for Direct Indirect Rendering to fixh the issue right?

      Thank you again.

      Comment


      • #4
        It's not an fglrx-specific thing, just something the framework doesn't handle yet. There do seem to be a number of different Compiz settings that make a difference but I haven't tinkered enough to say for sure. Here's an example :

        I may have found a workaround??

        I found that if in the CompizConfig settings manager under General Options I unmarked the option " Unredirect fullscreen windows"
        The flashing does not happen anymore....

        https://bugs.launchpad.net/ubuntu/+s...iz/+bug/149615
        The problems seem to happen on all vendors products but it does seem like tinkering with settings (or scripting to shut off Compiz while apps are running) can give pretty good results in the short term.
        Last edited by bridgman; 18 February 2008, 01:42 PM.
        Test signature

        Comment


        • #5
          I use two icons in the taskbar to control my windowmanagers.
          One has the target 'kwin --replace' and the other 'compiz --replace'.
          Its a pretty simple workaround ;-)

          Comment


          • #6
            Originally posted by uzi- View Post
            I use two icons in the taskbar to control my windowmanagers.
            One has the target 'kwin --replace' and the other 'compiz --replace'.
            Its a pretty simple workaround ;-)
            Right now, that's about the best we can do. It's still a nuisance, though. Because of this we can't really use dockers like AWN because as soon as we turn Compiz off for an opengl app, AWN will shut down. That makes it impossible to replace a panel with a dock.

            But it seems like the developers aren't looking at this problem as a priority.

            Comment


            • #7
              workaround:

              for video, I use compiz's video plugin. Gets redirected nicely and even uses a bit less CPU than the 'x11' engine.

              for opengl, I tolerate SOME flicker, IE google earth. The trick is, have no other windows opened up (minimized seems to be fine), so compiz doesnt have to try and render them, that seems to quiet down the flicker.

              Secondly, for games and such, you can use the 'non redirect full screen windows' in compiz settings. This causes full screen opengl games to render directly on 'top' of anything compiz does, as they would anyway, but disables compiz's trying to do something with them, hence stopping the flicker. Good for games as I said and any GL apps you'd care to run full screen (ie blender perhaps?)

              But yea, this is not an fglrx issue it seems - nvidia driver seems to take of those problems through it's own implementation of GLX and stuff, but as the xorg people pointed out, it would be much more practicle if the actual work were being performed at the level of the X server rather than the driver, to ensure everything is uniform.

              Question for bridgman though: if they finally implement that redirection of direct rendering in some future of xorg server, how long with fglrx be able to use it ? .. Are you guys tracking development of such things and planing on it ? Or are you just waiting to see what does go upstream and THEN code your driver around that.

              Comment


              • #8
                Originally posted by pedepy View Post
                Secondly, for games and such, you can use the 'non redirect full screen windows' in compiz settings. This causes full screen opengl games to render directly on 'top' of anything compiz does, as they would anyway, but disables compiz's trying to do something with them, hence stopping the flicker. Good for games as I said and any GL apps you'd care to run full screen (ie blender perhaps?)
                For some reason that doesn't do any good for me. In CompizConfig Settings Manager, it doesn't matter whether the 'Unredirect Fullscreen Windows' box is checked or unchecked. I still get flickering in fullscreen games. I know the settings manager is working for other settings, but that one doesn't seem to make a difference for me.

                Comment


                • #9
                  I think I've come to the conclusion that it might be a lot less painful to just go back to nvidia. It seems like they have all these problems worked out.

                  I'm trying out my onboard nvidia chipset, and I'm able to use Compiz without any video or opengl problems.

                  Hopefully you guys will get the kinks worked out sometime.

                  Comment


                  • #10
                    yea well .. of course going nvidia might solve things for you now .. unless you're like me, stuck with an ATI laptop. Can't do anything about that then. (althought i'll say im running 8.02 and its the 1st release I can actually use since 8.40 - i like it alot)


                    Now for unredirect full screen windows .. are you SURE you have nothing else opened, on any desktop, not even karamba applets widgets or whatever ?

                    Try minimizing EVERYTHING and hide or shut down any widgets applets or layers you might have running.

                    I was also still getting flicker with the option turned on only to realize that the karamba applets were causing the flicker .. it's easy to forget about those

                    Comment

                    Working...
                    X