steamux
Run multiple programs and interactive shells in one Proton's environment (Steam/umu-launcher), so they share the wineserver and have correct IPC behavior, and programs like wine-discord-ipc-bridge, Cheat Engine and some UI overlays just work.
Usage
Generally, you run steamux in the target environment (steamux serve run as a server/daemon, listening on a unix domain socket), and run steamuxctl anywhere to ask the daemon to run programs in the environment.
Make sure the steamux binary is accessible in the target environment. If not, the easiest way is that just copy it to somewhere accessible (e.g. the folder where the game is installed) (and use the copied one!).
For more information, see steamux --help and steamuxctl --help.
Quick Start
Run first program (steamux CLI)
Steam
Set the launch options to steamux steam -- %command% > steamux.log and then run the game.
umu-launcher
Instead of running umu-run <exe> [args], run steamux umu -- <exe> [args].
Run another program (steamuxctl CLI)
Steam: cd to the folder your game installed in.
umu-launcher: cd $WINEPREFIX.
steamuxctl run -p foo.exeto runfoo.exesteamuxctl shell -p cmdto get an interactive cmd.exesteamuxctl shell bashto get an interactive bashsteamuxctl spawn <executable>to run it in the background
See steamuxctl --help.