-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
64 bit Mumble doesn't work with 32 bit Steam games on Linux #1274
Comments
I can confirm this for all Source games. It works with Killing Floor however. The 32 bit library doesn't work either, the output is nearly the same
Also, if you use mumble-overlay %command% in the launch options, the games crash with a segmentation fault without even starting. Using the LD_PRELOAD=/usr/lib32/libmumble.so %command% method yields the error message from above. |
@NothingMuchHereToSay you are talking about (solely) the overlay not working, right? |
Our 'mumble-overlay' script is somewhat fragile. It tries to work with both 32-bit and 64-bit client binaries, as you can see here: https://github.com/mumble-voip/mumble/blob/master/scripts/mumble-overlay#L35 The detection doesn't work very well with scripts either (since the method the mumble-overlay script uses to determine the arch of the 'binary' is the 'file' utility, which obviously doesn't work on shell scripts). It is however possible to set the LD_PRELOAD environment variable yourself, and point it to the libmumble.so file (of the right arch). If you try this, and it works, please report back. :-) An example of doing it manually can be seen below:
Note: that's a made up path for both the game binary, and a made up path for libmumble.so. You'll have to swap in the right ones! |
@mkrautz I've tried adding the LD_PRELOAD line to the Left 4 Dead 2 launch script (not the Steam launch options) as you can't just directly execute the game binary from the command line. Since hl2_linux is a 32-bit binary I've used the 32-bit Mumble library (obviously), but the overlay still doesn't pop up. Is it related to the fact that Mumble itself is a 64-bit application? Just fyi: The launch script |
Wow, okay, maybe I should also specify that needing a launch script is absolutely ludicrous. Just make it so that whenever a game is launched, Mumble will have its overlay ready. |
@mkrautz |
The problem is still exist. Attempt to run Team Fortress 2 with overlay: Mumble (1.3.0 I was using this workaround for a while. But looks like it's doesn't work now. |
@Thrash-td There are a number of possible problems here: Either the error is from Steam itself. This could happen if the Steam binary itself is 32-bit. Another possibility is that the error is from the game itself. In this case, the game is of a different architecture than the libmumble.so that you're using. Since you're on a 64-bit x86_64 OS, you'd need a libmumble.so built for i386 instead. Then it would probably work. Right now, we can't easily provide a 32-bit libmumble.so with our PPA inside the 64-bit package. And Linux distributions don't do that either, since an x86_64 package shouldn't contain i386 binaries. Either you build libmumble.so yourself. |
@NothingMuchHereToSay We want to provide automatic injection on Linux as well. But it's already quite fragile on the other platforms (which is why we want to make it only injection into known game launcers by default on Windows, for example: #2059). The feature is tracked here: Obviously, if you want to inject it into everything -- that has been possible since the start. Simply set a global environment variable, LD_PRELOAD=/path/to/libmumble.so, and you'll automatically have the overlay in all processes. |
@davidebeatrici I'd say it is not only ubuntu problem. I having segfaults on gentoo too. Even when (just to test) trying to preload overlay to glxgears |
@msva Hm. But this thread isn't about segfaults, it's about binary distros not shipping both 64-bit and 32-bit overlay libraries. Can you open a new issue for what you're seeing -- or at least clarify in here? Thanks. |
I just meant that I have all the same behaviour as @Weegee mentioned in second comment |
This appears to be a duplicate of #1273 just with more info. |
There are mutlitple issues addressed in here and as such this is not a particularly useful ticket. But for the most part it really seems to be a duplicate of the linked issue. |
Ubuntu 14.04 64 bit
Command output:
ERROR: ld.so: object '/usr/lib/mumble/libmumble.so.1' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
The text was updated successfully, but these errors were encountered: