
Mumble и Team Fortress 2 (TF2) по отдельности у меня работают нормально, но я не могу заставить работать mumble-overlay ни отдельно, ни в составе TF2.
Я пробовал добавлять следующие параметры запуска в свойства TF2 в Steam, но ни один из них не сработал. (Примечание: я также использую bumblebee и 64-разрядный компьютер.)
mumble-overlay primusrun %command%
mumble-overlay primusrun %command% -nod3d9ex
mumble-overlay primusrun %command% -d3d9ex -32bit
LD_PRELOAD=/usr/lib/mumble/libmumble.so.1.2 primusrun %command%
TF2 работает в оконном режиме, поэтому я был бы рад, если бы mumble создавал свой собственный оверлей, который не был бы внедрен в TF2.
решение1
Поскольку это исправление основано на изменении композитного менеджера, а у вас может быть только один композитный менеджер за раз, это трудно сделать, если вы уже не используете систему, в которой нет композитного менеджера. Я подозреваю, что можно применить LD_PRELOAD к любому композитному менеджеру, но композитный менеджер специфичен для каждой ОС и среды рабочего стола. Я также подозреваю, что вы можете заставить свою ОС использовать Compton и исправление, но, опять же, это специфично для ОС/среды рабочего стола.
Если у вас есть составной менеджер, пропустите следующий раздел. Если у вас нет составного менеджера, выполните следующие действия:
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.