Great instructions! They worked for me, except a few of the 4.6.x .NET packages wouldn’t install with Bottles, so I just did WINEPREIFX=/srv/data/roon-client/Roon winetricks dotnet472 (where that path is the path my Bottle is stored at). And I’ve got Roon working well on my NixOS desktop.
Getting the audio to work from within the Wine environment is a fool’s errand.
Just use the Roon Bridge.
why is it a fools errand?
all the games and programs i use with bottles or lutris /steam work with audio.
some even with surround o.o
Roon is the only program which is not working as expected.
Does it work without being exclusive for you ?
i tested it ones on a dev system i had and i could either use the roon brige audio or anything else.
hearing zoom or system notifications as example while the roon bridge played audio was not possible ![]()
It depends on the audio device you select in Roon. Chose the mixer if you want notifications or the audio device if you need exclusive.
thank you for the recommendation.
if i find some time ill make a snapshot of my current system and try setting up roon bridge on fedora this weekend (;
Nice. Glad it works!
I have a new configuration to report for the latest Wine version or beta, to run natively without a container, and I believe the current roon-on-wine actually matches it so may work just fine these days. But documenting the manual process here as it’s actually quite simple.
How to install Roon under system Wine, latest version (9.0 as of this writing).
-
Install wine for your system (at least version 9.0). See: Download · Wiki · wine / wine · GitLab
-
Install winetricks. See: Winetricks · Wiki · wine / wine · GitLab
For apt-based systems, for example:sudo apt install winetricks -
Ensure winetricks is fully updated for the latest packages:
sudo winetricks --self-update -
Create a new wine prefix for your roon:
WINEPREFIX=$HOME/.roon winecfg -
Install dotnet6 in your prefix:
WINEPREFIX=$HOME/.roon winetricks -q dotnet6You can also leave out the “-q dotnet6” and open the GUI if you want to install it that way. Choose “Select current wineprefix” and then “Libraries” to find it.
-
Download the Roon installer for Windows (from https://download.roonlabs.net/builds/RoonInstaller64.exe), then run it with:
WINEPREFIX=$HOME/.roon winecfg wine $HOME/Downloads/RoonInstaller64.exe(Replace the path to the installer with wherever you downloaded it to)
-
Follow the installation instructions, but don’t run Roon when it finishes. It’ll work, but it will crash when you select an audio zone. This is okay, there’s a workaround.
-
We’ll need a script to run Roon and covers that workaround. Run the following:
mkdir -p ~/bin touch ~/bin/start-roon && chmod +x ~/bin/start-roon nano ~/bin/start-roonand paste in all of this:
#!/bin/bash # Adjust scale. 1.25-1.5 is a good value for high-res screens. SCALEFACTOR=1.25 PREFIX=$HOME/.roon env WINEPREFIX=$PREFIX WINEDEBUG=fixme-all WINEDLLOVERRIDES="windows.media.mediacontrol=" wine $PREFIX/drive_c/users/trisweb/AppData/Local/Roon/Application/Roon.exe -scalefactor=$SCALEFACTORAdjust the SCALEPREFIX value as needed, you may need to play with it a bit.
-
Next, we’ll need a Desktop file for your desktop env to find it and run it with a click easily.
Create a file here:nano ~/.local/share/applications/roon.desktopand paste in all of this:
[Desktop Entry] Name=Roon Exec=start-roon Terminal=false Type=Application StartupNotify=true Icon=0369_Roon.0 StartupWMClass=roon.exe -
Bring in the icons from the roon-on-wine project:
mkdir -p ~/.local/share/icons/hicolor/{16x16,32x32,48x48,256x256}/apps curl -L -o ~/.local/share/icons/hicolor/16x16/apps/0369_Roon.0.png https://github.com/RoPieee/roon-on-wine/blob/master/icons/16x16/roon-on-wine.png?raw=true curl -L -o ~/.local/share/icons/hicolor/32x32/apps/0369_Roon.0.png https://github.com/RoPieee/roon-on-wine/blob/master/icons/32x32/roon-on-wine.png?raw=true curl -L -o ~/.local/share/icons/hicolor/48x48/apps/0369_Roon.0.png https://github.com/RoPieee/roon-on-wine/blob/master/icons/48x48/roon-on-wine.png?raw=true curl -L -o ~/.local/share/icons/hicolor/256x256/apps/0369_Roon.0.png https://github.com/RoPieee/roon-on-wine/blob/master/icons/256x256/roon-on-wine.png?raw=true update-desktop-database ~/.local/share/applications gtk-update-icon-cache -
You should now see Roon in your Applications as normal, and be able to open it and run it.
Whew. That was more steps than I remember.
Again, the latest version of roon-on-wine basically automates this exact process, so I recommend downloading that and running the install script—but I thought I would document the manual process fully here for Wine 9.0 with dotnet6, since it seems to be working very well and could help someone.
You can also use Bottles to run it, which is a slightly simpler more GUI based method, however I have had some trouble getting it to feel native (the icon is the Bottles icon for example, rather than the Roon icon), so the native installation on Wine feels best to me and as of today, works great.
So today i started my weekend with again trying to get roon working (:
i decided to start completely fresh including a new LXC with roon server on ubuntu.
(aside from the official documentation being outdated it looks like it is working well)
https://help.roonlabs.com/portal/en/kb/articles/linux-install#Roon_Server_x86_64
easy installer link is http and fails (needs to be https)
curl is not on every system and needs to be installed beforehand as well as lbzip2
So i continued with another try of bottles (i like programs being contained like in a flatpak bottle:)
which worked so far like the other times i tried. ( Roon 2.0 and Linux (Wine) .. is 32bit needed? [answer: no, wine supports 64bit] - #117 by Tristan_Harward )
the new problem is that the login is now permanently a web-redirect? (wth ???)
so my Question is: how am i supposed to log into my roon?
//EDIT1 managed to mount a network share and put a backup of an old roon server into it.
it was possible to connect to the server and restore the backup successful sadly login is still not possible ![]()
//EDIT2 Trouble Logging Into Roon App Without Web Redirect (ref#H7ETR0) helped out alot. As i understand its a one off thing (still think its bad design tho).
→ tried to install a browser into the same bottle but that got messy. Luckily i have an old phone which i used to hook into the same vlan as roon (be aware the roon app does not like old android versions [which would be ok if it wasnt nessesary for the login ^^])
Use a mobile device to perform the login. When using Bottles or Wine, there are two system browsers: Windows and Linux. Consequently, the handoff doesn’t happen.
so i tried the combination of roon (bottles) and a roonbridge on my system directly via easy install script.
Sadly as last time it claims exclusive output ![]()
so i can start roon and listen to music but the rest of my system is unusable.
no sound from anything and even some applications like voicechat clients error out.
So its basically either roon or anything else ![]()
when i listen with any other audio player like web streaming or tidal i can use it simultaneously with everything else ![]()
is there any solution to this?
to use roonbridge like every other audio player so i can still hear notifications or listen to music in the background while doing sth elese?
my last resort would be buying a small raspberry installing roon bridge on there and use its output as input on my PC… but tbh i dont want to do that.
its unnecessary cost and power draw just to get roon to work like any other audio playback ![]()
there is no mixer just audio devices ![]()
i found this but i dont know how i would have to modify it for nor being exclusive mode ![]()
$ cat ~/.local/state/wireplumber/* | grep RAAT
Input/Audio:application.name:RAATServer.exe:channelMap=FL;FR;
Input/Audio:application.name:RAATServer.exe:channelVolumes=1.0;1.0;
Input/Audio:application.name:RAATServer.exe:mute=false
Input/Audio:application.name:RAATServer.exe:volume=1.0
Output/Audio:application.name:RAATServer.exe:channelMap=FL;FR;
Output/Audio:application.name:RAATServer.exe:channelVolumes=1.0;1.0;
Output/Audio:application.name:RAATServer.exe:mute=false
Output/Audio:application.name:RAATServer.exe:volume=1.0
Output/Audio:application.name:RAATServer:channelMap=FL;FR;
Output/Audio:application.name:RAATServer:channelVolumes=1.0;1.0;
Output/Audio:application.name:RAATServer:mute=false
Output/Audio:application.name:RAATServer:volume=1.0
Input/Audio:application.name:RAATServer.exe={"volume":1.000000, "channelMap":["FL", "FR"], "channelVolumes":[1.000000, 1.000000], "mute":false}
Output/Audio:application.name:RAATServer={"volume":1.000000, "channelVolumes":[1.000000, 1.000000], "mute":false, "channelMap":["FL", "FR"]}
Output/Audio:application.name:RAATServer.exe={"volume":1.000000, "channelMap":["FL", "FR"], "channelVolumes":[1.000000, 1.000000], "mute":false}
In addition to HDMI, there are three audio devices. I’m guessing the first is the system mixer, and the last, the audio hardware.
Try the ‘Analog’ device with exclusive mode.
i tried every device in the list all will be exclusive ![]()
its just other devices like my monitor via hdmi or analog / digital output of my system
it even does detect my yealink headset for work … but even if i try to use this for listening its exclusive ![]()
i wonder how @Tristan_Harward got it working since https://help.roonlabs.com/portal/en/kb/articles/exclusive-mode states there is no “mixed” Mode on linux ![]()
maybe i can put the roon bridge into an lxc and than mix the audio of that LXC but its so much work … why cant roon just have an option to work like everything else ?
isn’t roon bridge even officially supported? There have to be other use cases where you want mixed audio on a bridge ![]()
same as every other output as soon as roon uses it the rest of the system is dead ![]()
only difference is that when i use analog the system can get it back and roon goes silent (without recovery) but even that would be a bad solution since it is not mixed ![]()
//EDIT1 i now tried connecting my DAC not via Optical but USB and still no matter what i choose its exclusive ![]()
That’s a lot of sadness, sorry you’re having trouble.
I think what you describe is actually how my system works. When I’m playing through Roon, it’s not mixed, it takes over the audio output.
It’s just not a problem for me, at all. I don’t expect other audio when I’m listening to music via Roon, in fact it’s preferable.
When I stop playing music, the audio device can be used by system audio again cleanly. Never had an issue.
As far as I know there isn’t really a way around this. If you really don’t want to block system audio my suggestion would be to get a simple Roon endpoint (basically separate little linux box to run the Roon Bridge and just hook up to a DAC) and send that to your audio output, and keep your computer’s system output undisturbed.
There is no other option, so unfortunately this is just one of those things you adapt to.
thank you for your reply.
indeed its quite sad ![]()
i bought roon sometime in 2021 iirc.
Since than i try to also get it to work for music playback (not just looking up potential playlists and artist bio)
but i always find that it works on windows but not on linux …
(on windows you can just install roon connect it to your server and be done - even with mixed audio).
they support mac which is in many parts also just like linux but as soon as you use linux as a client you are out of look.
i am honestly not willing to set up another device which takes space and draws power just because roon has to work differently than every other program i use ![]()
maybe i can find a way to setup a virtual alsa device which than forwards is input to my mixed output but finding someone with that knowledge is hard.
my gut tells me ill sit here when roon 3.0 releases and still wait for correct playback.
only to get blamed by devs because i am not using windows or mac ![]()
makes me real sad since except for playback i really love roon and consider it great to use <3
When you run Roon-on-wine, you can use the wine audio outputs in Roon. They do mix with other sound sources.

wow that would be great ![]()
ill give it a shot in the next days and look if i can get that working on my System
currently i still try to get a virtual ALSA Device which than can be mixed into the rest.
So far without success ![]()
//EDIT:
@robin246 YOU ARE A HERO !
i looked into the script:
which at line 104 only says:
_winetricks "Setting sound to ALSA" -q sound=alsa
so i looked into my Bottles for that sound setting and found:
so setting:
[HKEY_CURRENT_USER\\Software\\Wine\\Drivers]
"Audio"="alsa" //or 'pulse' etc
and stopping the roon bridge on the system made Roon working as expected inside Bottles !
without any Alsa config changes to the host so it is even fully migrate able between backups ![]()
//EDIT2
Finally after so many years of fiddling on and off this it currently looks like this small setting apparently fixed it
![]()
//EDIT3
@robin246 is it possible to control the playback volume inside your roon? for me it currently is always 100% no matter where the slider is

this is playing at 100%
Filters / Crossfeed etc seam to work just the volume control looks stuck for now
A quick workaround is a de extension like this:
I played with ALSA loopback devices some time ago, but that was to make roon-bridge talk to a Bluetooth headphone not to mix with other audio sources.
I never use the Roon volume control. So don’t mind if it is fixed.
Has anyone managed to run Roon within Wayland? Had no issue on Xorg but both Xwayland and wayland let me down at the moment.
I’ve been using Roon with Xwayland with no issues for about six months now. I didn’t have to change anything from my previous Xorg config:
- Roon installed through bottles
- ProtonGE as my runner
my whole roon journey is on wayland/pipewire
i never used unsafe legacy software ![]()
i use roon client inside bottles and with the registry tweak to get audio out of it
what is the specific problem you face?
//EDIT i use ftatpak bottles
runner is wine-ge-proton


