Roon control GUI working on Linux using Wine

I’ve never used Bottles before trying it with Roon. I’ve noticed that the desktop shortcut to the Roon app takes longer to start up compared to Wine. Is that to be expected? Is that just because Bottles is a flatpak app?

Bottles seems to be a GUI to manage many installations of Wine version/variants and application environments connected to them (independent of a users Linux distribution). If you just want to run Roon, this seems to be overkill. If someone needs to run many versions/variants of Wine for different windows software and/or regularly wants to test software with different versions/variants of Wine, Bottles may be a comfortable GUI to help manage this tasks. The included sharing feature may also come in handy.

The longer boot times (but not only) are the price you have to pay for it.

grafik
Click on the picture to open the source page.

2 Likes

I have read that there are problems with Wine version 7.11 and I can confirm this for the Arch distributions Manjaro and Endeavouros. After updating Wine 7.4-1 with PlayOnLinux 4.3.4.4, the Windows GUI is no longer usable. Everything looks very nice after the simple installation, but does not respond.

Even this newer rocket does not ignite better if the base is missing.

The principle of rolling release brings you the last improvements, but it does not work well in every interaction. Now I look at what the new KDE superstructure with Ubuntu LTS base 22.04 offer. KDE Neon is also still quite fresh in the offer.

If something stops working after an update, there are several possibilities. Microsoft then does a rollback, which is as annoying and long-lasting as a complete installation with additional updates with Linux. The quality update June did not want and so I have completed 3 days each rollbacks with possible bug fixes. Now there is a month break.

In the meantime also Roon has given up its start under Linux, which the GUI with the new Wine version 7.11 did not work. A good time to test alternative distributions. About failures with Manjaro I came to Endevaoursos and KDE Neon and Bottles. An interesting tool that was used several times with KDE Neon and so I learned that all possible system environments could be set up much better there without leaving the graphical user interface. In the end everything worked again, but I stay with Manjaro with my Roon GUI, because I’m not the terminal guy and also the Roon server runs there. Only one device may not be the standard yet, but it works much more flexible in Bottles now.

Screenshot_20220627_160019

I have it working on 2 machines, but one gave me trouble. Maybe this helps others out there.

The one that is fully working is EndeavourOS with proprietary nvidia drivers, fully updated.
Installed is bottles 2022.6.14-9 and wine 7.11-1. I created a bottle, added dotnet and started the installer. It just worked. Its listed as Win64 application caffe-7.5.

The other one is my laptop. Same OS, same versions, same steps done. Also fully updated but intel video drivers instead of Nvidia. At first it didnt even start and crashed. The crash dialog provided vital information. Below the stack dump it lists:

Backtrace:
=>0 0x000000001ed1106e roon_dxgi_output_for_monitor+0x6e() in roon_dxgi (0x0000000000000000)
0x000000001ed1106e roon_dxgi+0x106e: movq	(%rcx),%rax

here it mentions DXGI, it is Microsoft’s DirectX Graphics Infrastructure. This works fine with Nvidia drivers, but with the Intel video drivers, not so much.

Under preferences, Graphics Section, turn “Use DXVK” “Use VKD3D” both off.

At that point Roon launched, but every few seconds it popped up something about “connecting”. I was able to enter my credentials, I received the email notification, but Roon dropped back to login screen with the nagging connecting popup every few seconds. I closed Roon.

Figured I had to tweak some more, but when I launched it again, it logged it and I am now looking at a fully functional Roon client on Linux with the latest version of Bottles and Wine.

hey folks a small update on the issues I was facing about a week ago, the fix has been implemented into wine and wine 7.12 staging will have the fixes applied. should be released today or tomorrow from what I can gather.

so hopefully those with some issues will be resolved in wine 7.12 staging when it is released. i will test it out when arch gets the update and update in due course.

thanks.

2 Likes

If you have an old NVIDIA graphics card, which is no longer supported, you may find that Roon on Wine or Bottles hangs or crashes when you start to scroll through albums, artists or composers.

This happened with one of my computers which has an NVIDIA GeForce GTX 260. I’m using Pop!_OS 22.04 but I imagine this applies to other Linux distros too.

The crash involves the Nouveau graphics driver which gets used for older graphics cards. Often I saw this error:

nouveau: kernel rejected pushbuf: Invalid argument

I also saw this error sometimes:

double free or corruption (fasttop)

You can tell if you are using Nouveau by running any of the following commands:

lsmod | grep nouveau
lspci -nnk | grep -iA2 vga
sudo lshw -class video | grep driver=

The problem is that there are bugs in Nouveau to do with multi-threaded OpenGL use, and it seems this applies to Roon. My solution is to force Roon to use the software implementation of OpenGL. You can do this by setting the following environment variable in Wine or Bottles:

LIBGL_ALWAYS_SOFTWARE=1

This worked for me.

So when everyone says that “Roon works perfectly”, what does that mean? Are you able to use the built-in audio on your machine (non-USB DAC and USB DAC) to playback music? I’m having an issue that someone above posted. I’m running Wine 5.11 on Arch Linux kernel 5.18.13. I can run the Roon GUI using roon-on-wine from spockfish. However, when I play audio to the System Output (or WSAPI or whatever) the player skips through all music. I’ve verified from other clients (MacOS) that the same music plays no issue. I’m trying to get rid of my MacOS laptop and trying to avoid Windows as much as possible. Thanks!

I use it only as a remote for a networked Core, no idea about built-in USB

When using Roon on Wine, or Roon on Bottles, you also have to install Roon Bridge on that computer if you want to play music on the local computer. Here is the link:

I used the Easy Installer approach.

Then in Roon, go to Settings / Audio and add the Analog endpoint and choose that as your output zone.

1 Like

Suddenly I cannot install Roon, neither with the @spockfish script nor the same manual method I always used (using a separate prefix etc.). The instance I had already installed is working fine. But when I run the script, I get a Windows message, “NSIS Error: Error launching installer”, and on the terminal:

[win64|/home/mario/my_roon_instance] Installing .NET… …
0034:err:module:process_init L"C:\windows\system32\winemenubuilder.exe" not found
002c:err:wineboot:process_run_key Error running cmd L"C:\windows\system32\winemenubuilder.exe -a -r" (126).
wine: could not open working directory L"unix\home\mario\Downloads\roon-on-wine-master\", starting in the Windows directory.
Fontconfig error: failed reading config file: /etc/fonts/conf.d: Is a directory (errno 21)
Fontconfig error: failed reading config file: /etc/fonts/conf.avail: Is a directory (errno 21)
The application cannot find one of its required files, possibly
because it was unable to create it in the folder. Please make
sure that the folder in which this application was downloaded is
accessible and not read-only.[win64|/home/mario/my_roon_instance] Installing Roon …
0034:err:module:process_init L"C:\windows\system32\winemenubuilder.exe" not found
002c:err:wineboot:process_run_key Error running cmd L"C:\windows\system32\winemenubuilder.exe -a -r" (126).
wine: could not open working directory L"unix\home\mario\Downloads\roon-on-wine-master\", starting in the Windows directory.
Fontconfig error: failed reading config file: /etc/fonts/conf.d: Is a directory (errno 21)
Fontconfig error: failed reading config file: /etc/fonts/conf.avail: Is a directory (errno 21)
0024:err:shell:SHGetFileInfoW pidl is null!
009c:err:rpc:I_RpcReceive we got fault packet with status 0x1c010003

And many of the “wine: could not open working directory” errors before that.
Ubuntu 22.04.01 LTS. Any ideas? Thanks

And when installing manually, I also get the same Windows error upon installing Roon. I am following my written notes from previous installations that worked, no idea what changed.
I deleted all wine prefixes and started from scratch to no avail

The error seems to typically indicate a corrupt installer, but I downloaded it many times. It does not seem to matter where I save the installer and run it from (~/Downloads or ~/.wine or ~/.local/share/wineprefixes/roon)

image

This is what happens in terminal when starting the Roon installation:

WINEPREFIX=/home/mario/.local/share/wineprefixes/roon wine RoonInstaller64.exe
wine: could not open working directory L"unix\home\mario\.local\share\wineprefixes\roon\", starting in the Windows directory.
Fontconfig error: failed reading config file: /etc/fonts/conf.d: Is a directory (errno 21)
Fontconfig error: failed reading config file: /etc/fonts/conf.avail: Is a directory (errno 21)
0024:err:shell:SHGetFileInfoW pidl is null!

As one would think, the “wine: could not open working directory L"unix\home\mario.local\share\wineprefixes\roon", starting in the Windows directory.” seems to be the problem.

I have the same issue in other new wineprefixes with other software, e.g. 7zip starts the installer with “C:\Program Files\7-Zip” as the target by default, but then shows a “path not found” message on installation. However, I can navigate to this folder in the installer’s GUI just fine. And in the terminal:

mario@chronic:~/.local/share/wineprefixes/7zip$ WINEPREFIX=/home/mario/.local/share/wineprefixes/7zip wine ./7z2201-x64.exe
wine: could not open working directory L"unix\home\mario\.local\share\wineprefixes\7zip\", starting in the Windows directory.
Fontconfig error: failed reading config file: /etc/fonts/conf.d: Is a directory (errno 21)
Fontconfig error: failed reading config file: /etc/fonts/conf.avail: Is a directory (errno 21)

However the folder structure seems fine:
mario@chronic:~/.local/share/wineprefixes/7zip$ ls -l dosdevices/
total 0
lrwxrwxrwx 1 mario mario 10 Aug 26 20:42 c: → …/drive_c
(…)

mario@chronic:~/.local/share/wineprefixes/7zip$ ls -l drive_c/
total 20
drwxrwxr-x 3 mario mario 4096 Aug 26 20:42 ProgramData
drwxrwxr-x 6 mario mario 4096 Aug 26 20:42 ‘Program Files’
drwxrwxr-x 6 mario mario 4096 Aug 26 20:42 ‘Program Files (x86)’
drwxrwxr-x 4 mario mario 4096 Aug 26 20:42 users
drwxrwxr-x 16 mario mario 4096 Aug 26 20:42 windows

Found this bug report with the same error:
https://bugs.winehq.org/show_bug.cgi?id=48114
but this was a new issue in wine-staging 4.19 in 2019 and fixed in 4.20
https://source.winehq.org/git/wine.git/?a=commit;h=f2060812418bc049105c2a30ceb039ee6d5f0fd7
with the comment

ntdll: Keep a valid DOS name if the initial current directory is a Unix dir.

And I have:
wine --version
wine-6.0.3 (Ubuntu 6.0.3~repack-1)

And I CAN run already installed programs fine.

:sos:

:smiley:

Try to use the current stable release (7.0) from the official wine repository instead? Instructions at: Ubuntu WineHQ Repository - WineHQ Wiki

1 Like

Phew, thanks. I doubt it was the version as such, after all I had used it before, but something was messed up with my wine install, and I only noticed when I switched to the HQ version. Had to help apt getting the Ubuntu wine uninstalled.

Somewhat weirdly, HQ currently has no winehq-stable in the repository, so I installed -staging. With this one, winetricks claimed that dotnet452 is broken, but it cites an outdated version number. So I helped it along with a --force and so far all is working well.

I didn’t try again with a reinstalled Ubuntu wine, as long as staging is working …
(Sadly nothing changed with the high CPU :wink: )

Thanks again

I have just reinstalled ubuntu and was trying to install Roon (not core just to control). I get the following message so I am not sure the install finishes. Any ideas on how to solve? Thanks.

image

Likely because you forgot to set the Windows version to “Windows 10”. Please scroll up in this thread to read how to do this (if needed).

1 Like

I am probably not doing something correctly @BlackJack .

I tried WINEPREFIX=/home/user/my_roon_instance and then WINEPREFIX=/home/user/my_roon_instance winecfg changing to win 10.

Any thoughts where I have gone wrong? I can’t complete the install as I get the error message above.

How do you start the install after you changed the Windows version? If you run the install.sh file again, the Windows version gets set again to 7 – in this case, better change the install.sh file (line 90).

Yes, I was, and so that explains it. Thanks.

OK, I have found this, should I change to 10?

Thanks for your help, as you can tell, I am a linux newbie.

Yes, Win10 should do it (I guess, never tried so far).