-
Notifications
You must be signed in to change notification settings - Fork 73
Discord IPC Bridge (WDIB)
The Wine Discord IPC Bridge (WDIB) is a program that enables other programs which are running under Wine to send its own Rich Presence data to a Linux Discord client. It works by bridging the gap between Windows named pipes (\\.\pipe\discord-ipc-0
) and Unix domain sockets (/run/user/$UID/discord-ipc-0
).
Steamtinkerlaunch can automate this process using USE_WDIB
in the Game Menu and Default Menu.
Screenshots
The WDIB has an experimental feature to try connecting to Flatpak Discord's IPC Socket.
Instructions
To use it, you will need to symlink the native discord-ipc-0
pipe and Flatpak Discord's pipe using the following command:
ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-0
You can make this permanent with:
mkdir -p ~/.config/user-tmpfiles.d
echo 'L %t/discord-ipc-0 - - - - app/com.discordapp.Discord/discord-ipc-0' > ~/.config/user-tmpfiles.d/discord-rpc.conf
systemctl --user enable --now systemd-tmpfiles-setup.service
Flatpak Steam may or may not need permission to access $XDG_RUNTIME_DIR/app/com.discordapp.Discord/
and a symlink at its own $XDG_RUNTIME_DIR
in /run/user/$UID/app/com.valvesoftware.Steam/discord-ipc-0
pointing to /run/user/$UID/app/com.discordapp.Discord/discord-ipc-0
.
The project has noted itself to be a proof-of-concept and is still undergoing some development process, with a goal to eventually support Snap as well. As such, it has a few caveats and issues.
First of all, it only works with games that officially supports Rich Presence Data through the \\.\pipe\discord-ipc-0
pipe. It does nothing for games that does not support it.
Second, it has been tested on certain systems (currently mainly affects Arch-based distribution) to sometimes prevent the launching of the game until the pipe terminal window is closed.
Lastly, there may be issues involving mixing and matching of native vs flatpak Steam and Discord.
You can also use the older rpc-wine bridge as well, although this isn't supported directly by steamtinkerlaunch. Following this guide, you can use the rpc-wine by:
- Download the latest release (direct link)
- Extract it to a directory readable by Steam
- Add the dll path to the game's environment variable (
WINEDLLPATH=$WINEDLLPATH:/path/to/discord-rpc/bin64:/path/to/discord-rpc/bin32
) - Add the dll override
discord-rpc=n,b
(can also be added manually using winetricks/protontricks)
Example
Quick Links
- Changelog
- Installation
- Usage
- Main Menu
- Global Menu
- Tray Icon
- Modding
- Platform-Specific Documentation
- Tweaks
- Utilities
- Advanced