Yeah screensharing with Wayland is a sore spot with many apps. Slack being one of them, last I checked. I think many of them haven’t bothered to revisit the functionality once Wayland started rolling out a proper workflow.
Huh. I only gave it a short try but at least on XFCE it seemed to work.
Will re-test that though.
Very low energy prices today encouraged me to fly some more DCS in VR. I upgraded (using protonup-qt) to Proton GE 10-4, which has a nice new feature:
Putting the env var FSR4_UPGRADE=1 in front of your %command% in launch options now automatically replaces FSR3.1 with FSR4. I think it’s working in DCS, I set up FSR with scale 0.66 (very low) and it still looked quite OK, whereas I remember FSR3 looking incredibly ugly even at 0.8
Despite the constant 90 fps, moving my head still gave weird stutters. I’ve heard rumors that this is a known issue with tracking WMR headsets under Monado. If this isn’t fixed, I might have to buy a new headset after all.
Also haven’t fixed the UUIDs yet so I am still redoing my axis commands.
Aannnd I got printing working on my Canon USB printer with shitty proprietary drivers.
- Follow CachyOS installer instructions as it walks you through installation of the OS: it tells you to enable CUPS if you want to use a printer
- Read the AUR page on printers when it doesn’t work yet: CUPS - ArchWiki
- Click on one of the six(!) links to the page on Printer-specific problems
- Find your printer’s model on that page and follow the link next to it. In my case, Canon LBP 6030 was mapped to AUR (en) - cndrvcups-lt so I installed that:
paru -S cndrvcups-lt - Try to print something. Nothing happens. Follow the suggestion in the first comment on the AUR page to install
libxml2-legacyand it works.
This is one of the worst printers to get to work driver-wise. Even on Windows it doesn’t work out of the box, and it’s always a pain to get to work. But I love how the Archwiki and AUR help with these kinds of problems. This stuff is genuinely easier on Arch-based distributions than on Ubuntu or Fedora.
Doesn’t Lutris keep Proton up-to-date? Or is the one they supply a bit behind upstream?
I’m not running through Lutris, I only use it to install and update DCS. I’m running through Steam. From what I understand, Lutris does not support Proton, and I need Proton (Wine is not good enough) for OpenXR through Monado
Lutris does Proton I think!
At least I can choose it in some drop down menu.
Guess I gotta look at how I can configure Lutris to run Proton then! Would make things a lot simpler.
I was also using cachyos-proton before but wanted to try this fresh Proton GE version for the FSR4 stuff. Which gives great performance, and is simple to use! And to think the Proton devs did this entirely via reverse engineering, as AMD has not released an FSR4 SDK. ![]()
I’m not feeling like trying something experimental, I’ve copied the entire game folder, wiped the old install, installed it from the new installer and then transferred the saves.
Love it, C:\-drive as cattle
For those not familiar with cloudnative IT:
https://cloud-rsp.devcom.vt.edu/articles/P/007-cattle-not-pets/
Bah curse GOG and their off-by-one link name vs file name system. What kind of bull manure is this…
Of course it made me miss downloading a file. Not for the first time, mind you.
Yeah, why can’t they label the links properly! I always have to do the conversion in my head: “I’ve got -5 so that is part six so I need to click part seven” ![]()
This is only a small thing, but today my wife ran into a problem with her Android phone. It had saved all the pictures as *.heic instead of jpg, so she could not open them in the software she uses to make photobooks.
I wrote a 1-minute shell-script to just convert them to jpg, you just need libheic installed (which apparently is standard in many Linux distributions, including mine).
Really not hard, but it might come in handy for someone.
Here is the content of the script. Drop it into a folder which contains heic files, add the executable bit, and run it. It will convert the files into jpgs of the same name:
FILES="./*.heic"
for f in $FILES
do
heif-dec $f
done
exit
And as if I hadn’t a lot on my plate already I decided to double down and try to get my Rift S working.
I spent two evenings on it so far and I have made progress. There is just something missing that I am not able to catch it seems.
I am using a software called Envision, which builds and configures monado and other needed software.
I’ll explain the needed steps later, as there were some speedbumps in the way which I had to clear.
So far I got my headset working as a screen, and 6dof tracking, so I can run an openXR demo application and it works.
Something with the FOV is off though, there is a bit of distortion.
I also installed the Monado->SteamVR plugin, but that is where I am stuck. Steam doesn’t recognize the headset at all.
But hey, it almost works!
Known issue in Monado, the distortion profiles don’t quite match perfectly. Same on my Reverb G2.
Lucky for you, Rift S is being worked on quite actively at the moment.
You don’t need SteamVR if you play OpenXR-compatible games, such as DCS. Just start the game (via Proton) in VR mode and it should work.
Will definitely try that!
But I want to make it work in SteamVR as well, to play games like Moss or Assetto Corsa.
Oh, and I haven’t tried the hand controllers yet. But I don’t really need those for flight sims or driving anyway.
The Monado SteamVR driver cannot be loaded, according to Steam, because it lacks dependencies. I checked and I have those *.so files in usr/lib though. So that’s apparently a path issue that I dont know how to fix.
I tried copying a few of those *.so files into the driver’s directory and they were loaded. I still gave up (for now) after around 20 of them.
The log file always only tells me the first failed one, so I have to launch, check log, copy, repeat.
Placing a symlink to usr/lib doesn’t seem to work and I don’t know where to adjust the environment variable.
I could maybe copy the driver’s directory to usr/lib but I kinda don’t want to do that.
Has anyone tried the Linux build for OpenComposite? I’ve been using it for Windows so long I keep forgetting that SteamVR is still a thing people need to use…
I haven’t, but that sounds interesting on first glance.
Meanwhile I can report that Moss chapter two (bought it but haven’t played it yet) is running, and I can turn my head and everything.
Sadly the controllers aren’t tracked. I can press buttons and everything but the hands don’t move.
I think I have to use the mercury hand tracker to make it work? I thought I had installed it, but it was late last night so I might have missed activating it.
But this is progress! I might already be able to test some of my games now that are supported by openXR.
Here are all the VR games I have (I think), I marked those that are reported to work with openXR with an asterisk (*). I haven’t started any of them yet since I got Monado up and running but will try them soon.
Keep Talking and Nobody Explodes *
Dirt Rally 2.0 *
Moss 1
Moss 2 *
DCSW *
MSFS2020 *
MSFS2024 *
Aircar *
Assetto Corsa *
VR flush
The Lab
I saved the downer for last though:
The distorted view makes me nauseous after only a minute or so. Fingers crossed that there will be a fix for that soon or this Linux VR journey will be a purely academic thing for me. We will see.
Hmpf. Another day of no significant progress.
Anyway. I’ll share some things I did that might help someone else get things up and running a bit more quickly than I was able to. Nothing of this is groundbreaking or anything, but I had to piece it together.
The players are:
Linux, X11/Wayland, CoreCtl, OpenXR, Envision, Monado, Basalt, Survive, OpenComposite, OpenHMD, Mercury, Steam, SteamVR, WINE, Proton, and all VR games that you want to play.
Now, I won’t claim that I know what even half of them really do or how they work together. The good thing is: I don’t have to, because most of them are handled by a software called Envision.
I installed it from the git using paru: paru envision
Envision configures not only Monado (the main software for VR in Linux it seems) but can also handle several different builds of both Monado and all the software packages that work with it.
You can install Monado and the other stuff without Envision, but I have no clue how, and its seems that it would also rob me of some possibilities. So this is the Envision way, which surely has some disadvantages, too, but I don’t know them. If you know, please tell me!
After Envision was there, I started it and it instantly asked me why I didn’t have a VR profile running for my GPU, and that I should install CoreCtl to do so. I am not sure if that is also used for nVidia GPUs, but it works fine for AMD. It can configure both CPUs and GPUs, although I let the former untouched.
→ sudo pacman -S corectrl
CoreCtl is simple to set up. You just make a new profile, use the preset for VR, and activate it. It will make the GPU run in some performance mode for VR, which makes it have lower latency or something. You probably shouldn’t use it if you aren’t doing VR though. It seems like it disables your energy management for example, so your screens won’t turn off anymore.
When I tried to run Monado it turned out that the install script only was almost good. It had installed a wrong version of Basalt apparently. I am not sure what Basalt exactly does, but it is used for tracking the headset it seems.
I installed it manually:
→ paru Basalt
The next step is probably not necessary (and different on Wayland, but I am using X11).
I tested whether the RiftS was recognized by the GPU, but allowing it to be recogized as a normal screen by X11:
→ xrandr --prop (will tell you which DisplayPort device you have to specify)
→ xrandr --output DisplayPort-0 --set non-desktop 0
I could see that it worked so everything was fine and I set it to non-desktop again.
Envision will also let you make new profiles and get, install, and build further software, like Mercury for handtracking and OpenComposite for OpenVR/OpenXR emulation. Some headsets like that.
I ran into one problem there: Envision uses Cmake to build the makefiles and stuff (I am not a C programmer so I haven’t used Cmake all that much), and it wants a version 3.x but my system has Cmake 4.x installed.
So I downloaded and extracted Cmake 3.31.8 manually into my downloads folder, made the install script executable and ran it.
→ chmod a+x cmake-3.31.8-linux-x86_64.sh
→ ./cmake-3.31.8-linux-x86_64.sh
Then told Envision to use that cmake by closing Envision, opening a shell, setting the environment variable, and then launching envision from that shell.
→ export PATH=“/home/aginor/Downloads/cmake-3.31.8-linux-x86_64/bin:$PATH”
→ envision
Now Envision can build all kinds of profiles for monado and stuff.
More on that later.
