So Roon on WINE can work fantastically if it works. Or it can frustratingly not install. Or you can have a system that does not allow you to directly install things to the root filesystem such as the Steam Deck or really any system where you may not have sudo.
Distrobox is an application that allows you to basically run almost any Linux app by running it in a docker/docker-like container, directly in userspace. No sudo needed. BoxBuddy is a Flatpak-friendly implementation of Distrobox:
On a couple systems now, including one with no root filesystem access, I was able to install BoxBuddy via Flathub, one-click install openSUSE Tumbleweed, and open a terminal. In the BoxBuddy terminal, install wine, winecfg, winetricks, and git. (sudo zypper wine winecfg winetricks git
) (sudo will work in the BoxBuddy container). That’ll take a few minutes to download ~2 GB worth of dependencies.
Then somewhere in your home folder (I chose .local/share/roon) clone Roon on WINE (git clone https://github.com/RoPieee/roon-on-wine
) and follow the install (customizing install.sh as needed). Roon should install and start. It usually crashes for me once when I try to play something, and then after restarting it, never crashes again.
The only downside is that you need to open BoxBuddy, start the terminal, navigate to the ./start-my-roon-instance.sh
file and run that every time. However, we can make a desktop shortcut for it. The easiest way to do this is to put start_my_roon_instance.sh
somewhere in the path in the BoxBuddy container (or in your regular Linux OS host’s path as I believe BoxBuddy inherits that). Type echo $PATH
to get a list of where it will search for the $PATH. Here’s my path:
/home/colin/.micromamba/condabin:/home/colin/.local/bin:/usr/local/bin:/usr/bin:/bin
Then, copy the start_my_roon_instance.sh
file to somewhere in that path. I copied mine into /home/.loocal/bin
. Now, when BoxBuddy starts, the start_my_roon_instance.sh
file is available for it to execute like any other installed executable, and we can make a desktop shortcut for it on the host.
To make the desktop shortcut, make a file called Roon,.desktop in /home/<yourname>/.local/share/applications/
. If Roon.desktop already exists, just overwrite it.
[Desktop Entry]
Comment[en_US]=
Comment=
Exec=/usr/bin/distrobox-enter /usr/bin/distrobox-enter -n Roon -- start_my_roon_instance.sh
GenericName[en_US]=
GenericName=
Icon=0369_Roon.0
MimeType=
Name[en_US]=Roon
Name=Roon
Path=
StartupNotify=true
StartupWMClass=roon.exe
Terminal=false
TerminalOptions=
Type=Application
X-KDE-SubstituteUID=false
X-KDE-Username=
The operative line is Exec=/usr/bin/distrobox-enter /usr/bin/distrobox-enter -n Roon -- start_my_roon_instance.sh
. That basically says when you click the Roon icon, to start the distrobox container, and run the start_my_roon_instance.sh
file.
I’ve done this on a couple computers, that couldn’t run Roon or didn’t have access to the root file system, and it’s worked flawlessly each time. This has saved me a lot of headache with Bottles, dependencies, etc. Hope some here find it useful.