Epsilon Posted August 28, 2014 Share Posted August 28, 2014 I'm running Mumble and Steam on Arch Linux, installed through the official repositories, although I had similar issues when I used to use (K)ubuntu.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 each of the following launch options into TF2's properties in Steam, none of which have worked. (N.B. I'm also using bumblebee for an Optimus switchable graphics card, 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% How can I get the overlay working? TF2 is in windowed mode, so I'd be happy with mumble producing its own overlay that wasn't injected into TF2.(I originally asked this on stackexchange, with no responses.) Quote Link to comment Share on other sites More sharing options...
Administrators kissaki Posted August 28, 2014 Administrators Share Posted August 28, 2014 What do you mean with put into the TF properties in steam?Dunno what primusrun is.Did you try starting TF2 from the command line? Quote Link to comment Share on other sites More sharing options...
Epsilon Posted August 28, 2014 Author Share Posted August 28, 2014 What do you mean with put into the TF properties in steam?In Steam, you can set launch options for games, as per this link. Dunno what primusrun is.primusrun is a command used by bumblebee, which allows Linux users to use their NVIDIA Optimus graphics cards. Usually, the integrated Intel processor is used as the GPU. However, launching a program with `primusrun COMMAND` allows Linux users to specify usage of the discrete NVIDIA GPU. Did you try starting TF2 from the command line?I didn't, but I think it's non-trivial to know how to run the program with a wrapper.Also, I've just troubleshooted more, and I realised that a vanilla `mumble-overlay glxgears` fails with: X Error of failed request: GLXBadDrawable Major opcode of failed request: 155 (GLX) Minor opcode of failed request: 29 (X_GLXGetDrawableAttributes) Serial number of failed request: 43 Current serial number in output stream: 43 I can get it to work with either of $ LIBGL_DRIVERS_PATH=/usr/lib/dri mumble-overlay glxgears $ LIBGL_DRIVERS_PATH=/usr/lib32/dri mumble-overlay glxgears but in both cases I get similar errors libGL error: dlopen /usr/lib/dri/i965_dri.so failed (/usr/lib/dri/i965_dri.so: cannot open shared object file: No such file or directory) libGL error: unable to load driver: i965_dri.so libGL error: driver pointer missing libGL error: failed to load driver: i965 libGL error: dlopen /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory) libGL error: unable to load driver: swrast_dri.so libGL error: failed to load driver: swrast I tried to find the missing file. $ locate i965_dri.so /usr/lib/xorg/modules/dri/i965_dri.so /usr/lib32/xorg/modules/dri/i965_dri.so Then tried $ LIBGL_DRIVERS_PATH=/usr/lib/xorg/modules/dri mumble-overlay glxgearsBut this fails again with X Error of failed request: GLXBadDrawable Major opcode of failed request: 155 (GLX) Minor opcode of failed request: 29 (X_GLXGetDrawableAttributes) Serial number of failed request: 42 Current serial number in output stream: 42 Quote Link to comment Share on other sites More sharing options...
Administrators kissaki Posted August 28, 2014 Administrators Share Posted August 28, 2014 What do you mean with put into the TF properties in steam?In Steam, you can set launch options for games, as per this link.So it’s the same as for windows. Those launch options are not the place to use mumble-overlay or primusrun at. It’s for (internal) game-settings only, as described on the page you linked.Do you know where the TF2 executable is? Which you can launch the game with?/usr/lib/dri looks like an incomplete path, that should continue with *driver.Are you sure that's the complete path? Where do you have it from? Quote Link to comment Share on other sites More sharing options...
Epsilon Posted August 29, 2014 Author Share Posted August 29, 2014 Those launch options are not the place to use mumble-overlay or primusrun at. It’s for (internal) game-settings only, as described on the page you linked.Ah okay. Do you know where the TF2 executable is? Which you can launch the game with?It's complicated (at least in Linux). There is an executable at `~/.local/share/Steam/SteamApps/common/Team Fortress 2/hl2.sh` which calls `~/.local/share/Steam/SteamApps/common/Team Fortress 2/hl2_linux`. However, neither will launch TF2 when called directly (with primusrun).However, I attempted to use a script from here to launch TF2. It sets environmental variables, etc. then launches with primusrun. It was actually written for an older version called optirun, but modified it to work with primusrun, and it launches fine.Then, I further modified the script to call mumble-overlay primusrun ./hl2_linux This launches TF2, but there is no overlay, and it outputs the following errors. ERROR: ld.so: object '/usr/lib64/mumble/libmumble.so.1' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. I thought this might have something to do with not having 32-bit mumble-overlay libraries, so I attempted to install them. However it still failed, this time with ERROR: ld.so: object '/usr/lib32/libmumble.so.1' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/usr/lib64/mumble/libmumble.so.1' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. /usr/lib/dri looks like an incomplete path, that should continue with *driver.Are you sure that's the complete path? Where do you have it from?No, I'm not sure at all! I just got that path from searching the web. With this path, mumble-overlay at least worked, even if it complained about errors. As you can see further in my last post, I attempted to search my system for the proper path, but I couldn't even launch my test program when I used that. Quote Link to comment Share on other sites More sharing options...
Administrators kissaki Posted August 29, 2014 Administrators Share Posted August 29, 2014 mumble-overlay primusrun ./hl2_linux This launches TF2, but there is no overlay, and it outputs the following errors. ERROR: ld.so: object '/usr/lib64/mumble/libmumble.so.1' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. Now that’s a helpful error message! :)I guess hl2_linux is 32-bit, so instead of /usr/lib64 I hope there is a /usr/lib/mumble/libmumble.so.1 for you to use!? Quote Link to comment Share on other sites More sharing options...
Epsilon Posted August 29, 2014 Author Share Posted August 29, 2014 Now that’s a helpful error message! :)I guess hl2_linux is 32-bit, so instead of /usr/lib64 I hope there is a /usr/lib/mumble/libmumble.so.1 for you to use!?Yes, that's what I thought too! But, as I mentioned in the second part of my last reply, I attempted to install the 32-bit libraries, and the new error messages suggest that these are also insufficient. Quote Link to comment Share on other sites More sharing options...
Administrators kissaki Posted August 30, 2014 Administrators Share Posted August 30, 2014 What do you mean, install the 32-bit libraries? I thought you were talking about stdc libraries, from the OS package repository.Did you try to use a 32-bit /usr/lib libmumble? Did you use the manual approach as per wiki? [1][1] http://wiki.mumble.info/wiki/Overlay#Manual_approach Quote Link to comment Share on other sites More sharing options...
Epsilon Posted August 31, 2014 Author Share Posted August 31, 2014 What do you mean, install the 32-bit libraries? I thought you were talking about stdc libraries, from the OS package repository.As mentioned earlier, I installed them from the Arch Linux AUR. This is the the "non-official" repositories. The installation script looks fairly straight forward. It looks like it builds mumble-overlay with the 32-bit flag, then links the libraries. Did you try to use a 32-bit /usr/lib libmumble? Did you use the manual approach as per wiki? [1][1] http://wiki.mumble.info/wiki/Overlay#Manual_approach Sort of. The link states that the manual approach is only necessary if I didn't install the binaries, which is incorrect. Nevertheless, I did try it. The link states that I need to preload `libmumble.so.1.1`, however this doesn't exist. I tried to locate similar files. $ locate libmumble.so.1 /usr/lib/mumble/libmumble.so.1 /usr/lib/mumble/libmumble.so.1.2 /usr/lib/mumble/libmumble.so.1.2.8 /usr/lib32/libmumble.so.1 /usr/lib32/libmumble.so.1.2 /usr/lib32/libmumble.so.1.2.8 I tried launching TF2 with `LD_PRELOAD=/usr/lib32/libmumble.so.1` instead. However, I still get the same errors as before. ERROR: ld.so: object '/usr/lib32/libmumble.so.1' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/usr/lib64/mumble/libmumble.so.1' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.