14

Mumble and Team Fortress 2 (TF2) both work fine for me individually, but I cannot get mumble-overlay working, either independently or within TF2.

I've tried putting the following launch options into TF2's properties in Steam, none of which have worked. (N.B. I'm also using bumblebee, and a 64-bit computer.)

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 is in windowed mode, so I'd be happy with mumble producing its own overlay that wasn't injected into TF2.

  • What version of Mumble are you using. It seems that it´s a bug that was fixed on 1.2.5 - wiki.mumble.info/wiki/Overlay – user34720 Dec 23 '15 at 16:04
  • @nwildner I'm running the latest mumble 1.2.12. primusrun has stopped working for me recently, so I've had to revert to the "old" way of launching TF2. I tried inserting the mumble command as follows, but TF2 fails to launch at all. LD_PRELOAD="libpthread.so.0 libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 mumble-overlay optirun %command%. I checked my update logs, and apparently I was running 1.2.6 on Jun 10 '14, so I think that I've had this problem ≥1.2.5. – Sparhawk Jan 9 '16 at 23:11
  • 1
    Have you tried the solution detailed here? reddit.com/r/tf2/comments/393upg/… – Natecat Mar 26 '16 at 21:36
  • @Natecat No, I haven't. Thanks for the link. However, that sounds way too invasive, given I'm already running a compositor (in KDE Plasma). If I have to log out and in every time, I might as well dual boot. Thanks anyway. – Sparhawk Mar 26 '16 at 21:56
1

Because this fix relies on modifying the composite manager, and you can only have one composite manager at a time, it is hard to do unless you already use a system that does not have a composite manger. I suspect that it is possible to apply the LD_PRELOAD to any composite manager, but the composite manager is specific to every OS and desktop environment. I also suspect that you can force your OS to use compton and the fix, but again that is specific to OS/Desktop Environment.

If you have a composite manager, skip this next section, if you do not have a composite manager, follow these steps:

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.

If you are like the majority of people and have a composite manager bundled with your OS, this task becomes more involved because you cannot have 2 compositors running at once. Please note that this fix is rather ugly and requires some time to set up and also requires you to logout every time you wish to use the mumble overlay. The following steps are paraphrased and modified from this guide.

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.
  • Thanks for the answer. Unfortunately (as per my comments above) I'm already running a compositor. Logging in and out is too invasive for me; I might as well dual boot. +1 anyway. – Sparhawk Aug 21 '16 at 1:23
  • @Sparhawk, ah damn, sorry to hear it didnt work man. I'll try to see if I figure out anything else. – kommander0000 Aug 21 '16 at 14:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.