Bug 356581 - Bad performance even with "Suspend effects with fullscreen windows" in opengl games using fglrx
Summary: Bad performance even with "Suspend effects with fullscreen windows" in opengl...
Status: RESOLVED UPSTREAM
Alias: None
Product: kwin
Classification: Plasma
Component: scene-opengl (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-13 01:57 UTC by Luca Mastromatteo
Modified: 2015-12-14 21:19 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:
thomas.luebking: Catalyst+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Luca Mastromatteo 2015-12-13 01:57:27 UTC
As I said, opengl fullscreen games have bad performance even if I checked the "disable effetcs with fullscreen window", I'm using fglrx drivers.
The solution is disable effetcs with shift+alt+f12

Reproducible: Always

Steps to Reproduce:
1. Install fglrx driver
2. Check or uncheck the "Disable effects in fullscreen windows"
3. The performance in fullscreen games are always bad

Actual Results:  
Bad performance

Expected Results:  
The performance should be better
Comment 1 Thomas Lübking 2015-12-13 09:01:41 UTC
Unredirection is not capable of increasing performance.
The GL context is up and running and all ressources (except for the texture of the unredirected window) are still taken.

http://blog.martin-graesslin.com/blog/2011/04/turning-compositing-off-in-the-right-way/

Either use a rule to block the compositor for certain windows or check out
http://kde-look.org/content/show.php/GameMode?content=156659

For ideas why fglrx performs lousy w/ running compositor, please attach the output of "qdbus org.kde.KWin /KWin supportInformation" and note the game(s) you tried.
Comment 2 Thomas Lübking 2015-12-13 09:08:44 UTC
PS, we're probably gonna need the "glxinfo" output as well.
Comment 3 Luca Mastromatteo 2015-12-13 12:59:05 UTC
Really? So maybe was a placebo but months ago I wasn't having any performance/input lag problem with some games, also with compiz, I don't need to disable it. So I have to manually remove the compositor effects? With mate desktop I'm not having this problem, the reason is clear.
Comment 4 Luca Mastromatteo 2015-12-13 13:04:23 UTC
and that's only for fglrx?
Comment 5 Luca Mastromatteo 2015-12-13 13:22:25 UTC
I remember months ago I wasn't noticing any difference by disabling the compositor in fullscreen games, but now I need it.
Comment 6 Thomas Lübking 2015-12-13 14:54:53 UTC
Will you please attach the informations I asked for?

fglrx could simply perform lousy because one context is now on a core profile or it stumbles across the syncing between X11 and glx or you're on EGL and GLX at the same time or it doesn't like the swapcontrol or it now stumbles on the X11 v20 ABI or the combination of the plasmashell, kwin and game GL context or ...

Comparing GL compositor #1 to GL compositor #2 doesn't work for that reason; fglrx may not fail with two 1.3 contexts at all but cannot handle two 2.0 contexts or whatever.

The information "some months ago" bears exactly *zero* information, because it does not imply what's changed.

> So I have to manually remove the compositor effects?
As mentioned, there's a rule and a script for this and you desperately *want* to suspend the compositor (something that neither compiz nor mutter provides) since that allows the driver to focus on the single active context and doesn't have to switch around. (Though w/ all the GL contexts in QtQuick, you're rather lost anyway here)

PS: There's btw. a reason why Arch doesn't officially support fglrx.
Comment 7 Luca Mastromatteo 2015-12-13 19:01:26 UTC
http://pastebin.com/ampMRqsd

Here
Guess I'll back to the open drivers instead
Comment 8 Thomas Lübking 2015-12-14 21:19:14 UTC
Things you can try:
a) use OpenGL 2.0 instead of OpenGL 3 (there's no feature loss)
b) KWIN_PERSISTENT_VBO=0 kwin_x11 --replace &
c) kquitapp plasmashell # this shuts down desktop and panels, you should still have krunner on alt+f2, alternatively keep a konsole open


v'sync is disabled anyway and your driver doesn't support fencing, killing plasmashell will just get you rid of the gl contexts there.