Written by johan the 3 Mar 08 at 21:54.
Category: Graphics.
Related project:
Nothing/Others.
Status: In development
Rationale
This is what I want:
I want to be able to mark applications "Not Compiz compatible" so that Compiz shuts down when I launch a game or some other 3D-heavy application. This is something I want to improve stability and performance for such applications.
This will be automatically fixed with the arrival of DRI2 and updated drivers. There is no point in adding a plugin or workaround like suggested. The caveat here is that the initial support for DRI2 is only for intel's i915 at the moment... maybe with i965 following shortly thereafter.
When the OpenSource drivers for ATI (radeon,radeonHD) and nVIDIA (nouveau) will support DRI2 is still unknown. But the only way to fix the mentioned bugs is via DRI2. There is not much action that can come from our (Canonical) side as we don't have any experienced upstream Xorg developer in our team.
Great idea! I don't have trouble with games or Google Earth while I'm running Compiz, but curiously enough I do have trouble with Noteedit and Kdenlive. So yes, I'd love this feature.
Of course, the best solution is to update all programs so they are compatible regardless...
I've been thinking about such a solution for a while now. Great idea :D Some games that I play don't respond very well unless I manually disable Compiz first.
We have this exact propblem with one of our applications at work. We've been wanting to give everyone compiz, but it doesn't work with Pro/E Wildfire (crappy app, stay away from it if you can). This would be nice.
+1
why make compiz aware of this applications.. is this the right way? i think its better to ask google for better compiz support in their apps. compiz and wms like it are the future..
This is a bad idea. Auto-disabling compiz may leave user without a window manager at all.
If you have problems with compiz just report them to compiz developers.
Compiz affects heavily on framerate. For example: Urban Terror shows ~90 fps on (NV6600GT nvidia-glx drivers) when using metacity. When using compiz UrT's internal counter continues to show ~90 fps, but actual framerate falls below 30-20.
Sauerbraten's counter shows change correctly: 120/40 (metacity/compiz)
Blender cannot be run in windowed mode with compiz.
For now, to easily solve this, get Compiz Switch - it's a little button you can have in your gnome panel, that when you click, will toggle compiz on/off.
Yep. Due to me being forgetful about this issue (so not using a toggle button) I have reimplemented several of my launchers as a small shell script that first runs metacity --replace before launching the app.
Natch I still have to re-launch compiz after, so a better native solution would be great.
A suggestion would be for it to be handled similar to Vista's "advanced effects." Whenever you run a 3d-app on full screen (I think, I'm not completely certain as I don't use Vista too often) it will pop-up a notification telling you that the advanced effects have been disabled because you are using a program that conflicts with it, but then when you close that program it will automatically enable it again.
A similar procedure could be followed with compiz if effects are enabled. Bring a notification telling the user that it was closed (be sure that it stays out of the way if it pops up behind a full-screen app though), and replace the decorator with metacity (in case they use a composite decorator such as emerald). Then when the app is closed, enable compiz again.
I do use fusion-icon but I would like a more seamless hassle-free solution, so this is why I posted this idea. The idea about having Compiz automatically shutdown (and startup afterwards again of cours) could also be done by detecting openGL being used somewhere else. I did consider this too, and that would be awesome, but I do think that my solution would be a simple quick fix for the issue, and therefore more realistic to be implemented. I guess you could add this sort of setting in the deb-package too.
However, I think that compiz should be designed to not influence other graphic applications (too much).
Also I would like to be able to task switch, even when working fullscreen. Meaning that either Compiz has to be restarted every time I switch to another application or my desktop graphics will work slow (without compiz).
Generally, I don't think this fix would be future-proof. It would be better to make improvements to Compiz, so other programs don't suffer from the hardware-accelerated desktop.
for example: UrbanTerror fps counter shows something like 80 fps with both metacity and compiz. But actual framerate with compiz in this game is around 20 fps or even less, despite counter shows same 80 fps.
(NV 6600GT, nvidia-glx)
andruk(Idea reviewer)
wrote on the 13 Oct 08 at 21:58
This would be even better if Compiz was disabled per-application. And totally awesome if there was a notification window that popped out from the titlebar of the window explaining what was going on and why.
A good solution is a script or something, called compiz-disable or something. So to run a game from the menu, the default command to start it would be: "compiz-disable /usr/bin/my-game" or something...
The script just disables compiz on startup and enables compiz when the game is finished.
saivann(Brainstorm moderator)
wrote on the 8 Feb 09 at 05:09
It is now possible to run 3D applications such as Google Earth with any compiz plugin without getting any weird behavior with some intel and ati cards!
If anyone want to alpha test jaunty current alpha release, feedbacks are still needed in launchpad bug report in order to confirm that this bug is definitively fixed :
I find it surprising that you have no developer with xorg experience. I understand it's a hard one but it's almost as important as the kernel to the general linux crowd.
In my opinion, it should be way like in description. Imagine, that we want just playing game, which rotate camera/scroll map on screen corners or FPS. We can of course, disabling Compiz corners when the apps will display in full screen mode.
All you need to do is run "metacity --replace" before you launch the app and "compiz --replace" afterwards.
You could either edit your launchers to run those two command before and after your main binary, or you could write a little script that you passed the game binary path (and edit your launchers to use the script).
If it's already 'so simple' to do through the command line, then it shouldn't be so hard to put it as an option under the context menu, or under a launcher's preferences either.
I personally did write a script that did exactly this, because I needed it launching some games through wine, which would otherwise perform badly, or refuse to launch with compositing. Problem was this script wasn't quite as 'simple' as I originally assumed, and it still doesn't work as I'd like it to. I already knew a bit about bash scripting, and I had to do some serious reading to get a decent cohesive script working for me...God help somebody with no scripting experience at all.
if you are working on this:
Selected solution (#2): Disable compiz automatically before using 3D apps/games
you have somethings to think, it can not be really like that... for example, if you begins to play gnome chess in 3D is it really necessary to turn compiz off??it just came to my mind, think about it