StarGate01 / AmongUs-Mumble

Mumble VoIP Plugin and mod for the popular game "Among Us" to enable Proximity Voice Chat.
GNU General Public License v3.0
109 stars 13 forks source link

Support Linux / Proton #4

Closed StarGate01 closed 3 years ago

StarGate01 commented 3 years ago

Use start /unix /usr/bin/mumble rpc foobar to send an rpc command from wine to the linux host which runs mumble.

Use /dev/shm instead of OpenFileMappingW for shared memory, see https://github.com/feilen/oculus-wine-wrapper/blob/master/oculus_shm_adapter.c

StarGate01 commented 3 years ago

Detecting wine: https://www.winehq.org/pipermail/wine-devel/2008-September/069387.html

StarGate01 commented 3 years ago

Test on Linux (Steam, Proton) shows that after installing vcrun2015 using protontricks and adding a few DLL overrides,

Bugs:

Missing:

However, the function ucrtbase.dll.strtold (called via api-ms-win-crt-convert-l1-1-0 via std::stold), used at CLI11.hpp#L1500 requires Wine >=5.19, see https://www.winehq.org/announce/5.19 and https://bugs.winehq.org/show_bug.cgi?id=49873.

Until Steam releases a Proton version containing Wine >=5.19 (Currently 5.13-2), we can temporarily comment the offending function in CLI11, as we don't use it at all (It parses floating point numbers of type long double, we don't use those).

1337god commented 3 years ago

It just crashes in the latest version after following the instructions

StarGate01 commented 3 years ago

Yes. The latest versions of the game/mod were not (yet) ported to the wine branch.

StarGate01 commented 3 years ago

As of dcb2a0de91baf20cc1aef33db6adbf39c482fe02, the wine version now support the mumble link (make sure to set the wine-uid config option to your linux user uid). Still not working: Mumble RPC, DirectX overlay.

1337god commented 3 years ago

As of dcb2a0d, the wine version now support the mumble link (make sure to set the wine-uid config option to your linux user uid). Still not working: Mumble RPC, DirectX overlay.

Thank you! Will update

Corben78 commented 3 years ago

Hey there, I just read that you have to compile the wine branch on your own. Is that possible to do on Linux? Haven't seen a makefile, so I'm wondering.

StarGate01 commented 3 years ago

Hi, unfortunately we do not have a build setup for Linux at the moment. The DLL that is being compiled is still a Windows NT DLL, it just runs in Wine / Steam Proton.

However, we plan to merge (beta) Linux support in the next release, so stay tuned!

StarGate01 commented 3 years ago

Wine support is now merged into dev. See https://github.com/StarGate01/AmongUs-Mumble/wiki/Installation-and-Setup for updated installation instructions and known issues.

StarGate01 commented 3 years ago

Live in version 1.0.0.14 :)