Difference between revisions of "Compositor (X11)"
m (→Cinnamon) |
(Added Lutris to the automation section.) |
||
Line 18: | Line 18: | ||
*For Lutris: | *For Lutris: | ||
**To disable it for a single game: Right click the game -> <code>Configure</code> -> <code>System | **To disable it for a single game: Right click the game -> <code>Configure</code> -> <code>System Options</code> -> <code>Disable desktop effects</code>. | ||
**To disable it for all games: Click <code>...</code> in the top right corner -> <code>Preferences</code> -> <code>Global | **To disable it for all games: Click <code>...</code> in the top right corner -> <code>Preferences</code> -> <code>Global Options</code> -> <code>Disable desktop effects</code> | ||
*You can manually disable composition with <code>shift</code> + <code>alt</code> + <code>f12</code> before launching a game. The same combination re-enables it. | *You can manually disable composition with <code>shift</code> + <code>alt</code> + <code>f12</code> before launching a game. The same combination re-enables it. | ||
*If you want to use a terminal command (for example for automation, launch options for Steam, [[Gamemode]] etc): | *If you want to use a terminal command (for example for automation, launch options for Steam, [[Gamemode]] etc): | ||
Line 52: | Line 52: | ||
end=<enable> | end=<enable> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Lutris === | |||
* To automate this for a single game: Right click a game -> <code>Configure</code> -> <code>System Options</code> and put the disable composition command in the <code>Pre-launch</code> box and the enable composition command in the <code>Post-exit</code> script box. | |||
* To automate this for all games: Click the hamburger menu -> <code>Preferences</code> -> <code>Global Options</code> and do the things mentioned in the previous method. | |||
===Steam=== | ===Steam=== |
Revision as of 20:04, 28 February 2023
If you use a DE with X11, then you probably have a compositor. The compositor does nice things like window shadows, animations, transparency, blur, or other effects. But it also reduces fps, adds input lag, and introduces stuttering. That's why you should disable it when running a game. You can verify that composition is disabled, by looking at your desktop effects. For example, you should not see shadows. They either vanish, or get pitch black.
Disabling composition for your games
Disabling composition will dramatically improve performance, input lag, and "smoothness". Here is how to do it:
Gnome
This is the default DE on Pop!_OS, Nobara Official, and Nobara Gnome.
You don't have to do anything. Gnome uses unredirection (the same thing Windows does), which is almost as good as disabling compositon. Disabling composition in Gnome is not possible.
KDE
This is the default DE on Nobara KDE.
There are many options to disable composition:
- You can use Autocomposer. This should make it unnecessary to do anything of the following.
- For Lutris:
- To disable it for a single game: Right click the game ->
Configure
->System Options
->Disable desktop effects
. - To disable it for all games: Click
...
in the top right corner ->Preferences
->Global Options
->Disable desktop effects
- To disable it for a single game: Right click the game ->
- You can manually disable composition with
shift
+alt
+f12
before launching a game. The same combination re-enables it. - If you want to use a terminal command (for example for automation, launch options for Steam, Gamemode etc):
- disable:
qdbus org.kde.KWin /Compositor suspend
- enable:
qdbus org.kde.KWin /Compositor resume
- disable:
- You can also disable it completely with
System Settings
->Display and Monitor
->Compositor
->Enable compositor on startup
.
Xfce
- Disable composition with
xfconf-query -c xfwm4 -p /general/use_compositing -s false
[1] - Enable it again with
xfconf-query -c xfwm4 -p /general/use_compositing -s true
Mate
- Disable composition:
gsettings set org.mate.Marco.general compositing-manager false
[2] - Enable composition:
gsettings set org.mate.Marco.general compositing-manager true
Cinnamon
- As of Cinnamon 5.4, there's an option to disable composition for fullscreen applications, essentially referring to unredirection. However, it is disabled by default, forcing composition on all apps, making it not ideal. To enable it:
System Settings
->General
->Disable compositing on fullscreen applications
- Disabling composition completely might lead to better input lag. You can do that by checking:
System Settings
->General
->Disable compositing
. However, this might lead to visual degradation in desktop mode (no effects, no shadows, no transparency, no window previews, more tearing), but is still recommended if you want to reduce latency.
Pantheon
Unfortunately it appears to not support the option to disable composition.[3]
Automation
For DEs that support disabling/enabling the compositor with a terminal command, you can automate it. In the following <disable>
and <enable>
are to be replaced with the respective command to disable or enable the compositor.
Gamemode
The easiest way is to automate it with gamemode. You can edit gamemode.ini
and set
[custom]
start=<disable>
end=<enable>
Lutris
- To automate this for a single game: Right click a game ->
Configure
->System Options
and put the disable composition command in thePre-launch
box and the enable composition command in thePost-exit
script box.
- To automate this for all games: Click the hamburger menu ->
Preferences
->Global Options
and do the things mentioned in the previous method.
Steam
Set the launch command <disable>; %command%; <enable>
.
For example xfconf-query -c xfwm4 -p /general/use_compositing -s false; %command%; xfconf-query -c xfwm4 -p /general/use_compositing -s true
to disable composition on Xfce[4].
References and notes
- ↑ https://wiki.archlinux.org/title/Xfwm#Configuration
- ↑ https://wiki.archlinux.org/title/MATE#Disabling_compositing
- ↑ https://elementaryos.stackexchange.com/questions/4483/how-can-i-disable-composite-and-effects-in-elementary-os
- ↑ https://www.reddit.com/r/GlobalOffensiveLinux/comments/6b3cs5/comment/dhjw7z7/?context=3