Поскольку это исправление основано на изменении составного менеджера, и вы можете иметь только один составной менеджер за раз, это трудно сделать, если вы уже не используете систему, в которой нет составного менеджера. Я подозреваю, что можно применить LD_PRELOAD к любому композитному менеджеру, но композитный менеджер специфичен для каждой ОС и среды рабочего стола. Я также подозреваю, что вы можете заставить свою ОС использовать compton и исправление, но опять же, это специфично для среды OS / Desktop.
Если у вас есть составной менеджер, пропустите этот следующий раздел, если у вас нет составного менеджера, выполните следующие действия:
Install compton
Run the following command in your terminal and you will be all set, note that you must rerun this command every time you login, so I suggest putting this in your .bash_profile or .zprofile (if using ZSH).
LD_PRELOAD=/usr/lib/mumble/libmumble.so compton -CGb --backend glx --paint-on-overlay
The flags -CG disable shadow effects
The flag -b runs it in the background as a daemon
The flag --backend glx runs it using OpenGL
The flag --paint-on-overlay paints on X Composite overlay window instead of on root window. You can add the flag --vsync with an argument to enable vsync.
Run mumble. Because of the nature of the fix, you can start mumble after TF2 and still have the overlay show up. The overlay will appear whenever you are connected to a mumble server.
Если вы похожи на большинство людей и у вас есть комплексный менеджер, связанный с вашей ОС, эта задача становится более сложной, потому что у вас не может быть запущено 2 композитора одновременно. Обратите внимание, что это исправление довольно уродливо и требует некоторого времени для настройки, а также требует, чтобы вы выходили из системы каждый раз, когда вы хотите использовать наложение mumble. Следующие шаги перефразированы и изменены из этого руководства.
Install compton and openbox (you can optionally install obconf and obmenu, but they are not necessary)
Create the directory ~/.config/openbox if it does not exist
In that directory create a file called autostart
In that file, place the following (any line starting with a # is a comment and it will not be run)
# Starts compton and is necessary for the overlay to work, look at the above section on compton to decide what flags you want to use
LD_PRELOAD=/usr/lib/mumble/libmumble.so compton -CGb --backend glx --paint-on-overlay &
# Autostarts steam
steam &
# Autostarts mumble (comment out to stop mumble from automatically starting)
mumble &
# You also can place any program in here that you wish to start
# Use a & at the end of the name so that your computer does no wait until
# that program is fully started before it start the next program.
When you wish to play a game, logout of you account, and then select openbox as your desktop environment. This requires a login manager than supports multiple desktop environments. Most do, but it may require you to look around to find out how to switch desktop environments. If you are using startx/.xinitrc, make sure that you use exec openbox-session rather than exec openbox because exec openbox does not automatically load the autostart file.
To return to your normal desktop, logout of your account and then select your normal desktop environment from you login manager.