so i finally did the switch to arch on my desktop pc too, bringing it in line with my pinephone, and i reinstalled windows too while i was at it. my old windows 10 install had been getting kind of buggy, it constantly froze. i was going to continue boycotting windows 11 but since 10 is apparently end of life in 2 years i thought i might as well install 11 now and save myself the trouble of having to reinstall again in 2 years (still eagerly awaiting the day that i won’t have to use windows for anything anymore). the last thing i did on the old installs was checking windows for stuff i have to keep and of course it wanted to force me to update and shutdown instead of just shutting down, so i immediately just pressed the power button. rest in peace, windows 10, the last version of windows. (insert obligatory windows 11 rant that i don’t feel like wasting time on)
i was worried that manually setting up fde would be difficult and that i wouldn’t be able to do it. but just like when i first tried installing arch in a vm, setting up fde turned out to be easy and fast. i was again tempted to find some install script that does everything for me but i withstood the temptation and was happy to see that i understood everything i had to do instead of blindly copying commands that i don’t understand. i’ve learnt so much in the past years!
and just like that i had a basic arch install ready. the actual troublesome part turned out to be plasma. i wanted to try a plasma + wayland + nvidia setup since i’ve read that that might now work well unlike the last time i tried it. there was some not so obvious stuff i had to set up for nvidia like to make waking from sleep work without issues but i found everything i needed on the arch wiki. the first plasma issue i had was the task bar freezing visually but not functionally, so clicking on things is still possible if the position of programs hasn’t changed. alt+tab still works though and temporarily moving the task bar to a different screen edge restores visual functionality for a few minutes until it freezes again. this is a known bug and until it’s fixed, disabling window previews on hover prevents this from happening (see https://bugs.kde.org/show_bug.cgi?id=469016).
the biggest issue i had was plasma (or kwin) crashing after login. it happened only sometimes at first and only when logging into wayland, but it kept getting worse, also affecting x11 and breaking workarounds i had found. using a new user or deleting my .config made it temporarily work again. eventually i got it to stop crashing (at least for now?) by not using the two wayland lines for emacs.service (instead just restarting it after login), not having a yay config (i can live without yay so that’s ok) and not having a streamlink-twitch-gui config (i was going to use it because i assumed you could also access past streams with it but it seems you can only see live streams with it so i don’t need it, for now i have to continue using the annoying twitch website to access past streams and twitch-nunc + streamlink + mpv for live streams and twitch now for notifications).
there were also lots of other smaller issues. i wanted to use flatpaks as much as possible this time but had to switch back to some native packages like firefox because it wouldn’t let me copy things from the url bar and quod libet because font antialiasing didn’t work. the monitor order resets after suspension which i had to work around with a systemd service that changes it back. when i had heard about the new plasma feature for better xwayland scaling i was excited but as it turns out it’s not really usable because things that don’t support scaling like steam render at the tiny default size on all screens, making things not just too small on high dpi monitors but also unreadably small on monitors with less dpi. being able to set this per-application would be nice.
all wayland-supporting image viewers i tried, not just gwenview and imv that i usually use, had the unfortunate behaviour of always rendering the image according to the monitor with the highest scaling factor and dpi, which meant that viewing an image on my main 1080p monitor had some issues. setting the zoom to 1:1 always set it to what would be 1:1 if it were on the UHD 200% scaling monitor. so to actually view the image 1:1 on my main monitor, i would have to change the image zoom to 200%. which is not only annoying but also seems to be blurry because it first scales the image up to 200% because that’s what the image zoom is, and then it scales that to half its resolution on my 1080p screen. completely unacceptable. i only eventually worked around this by forcing gwenview and imv to use xwayland which made it behave normally on my main monitor with 100% screen scaling and blurry on the 200% UHD monitor as it was before, but i can live with that. interestingly it doesn’t seem like video players like mpv and vlc have this issue.
i also had troubles with screenshot applications. spectacle itself worked fine but the area select magnifying glass is bugged, it doesn’t display the screen contents as it should. everything is blurry because it somehow shifts everything up and left by half a pixel. but it was the only working wayland screenshot tool with a magnifying glass i found, and since i figured out that i have to mark the top left blurry pixel in area select mode to get the right pixel-perfect area marked i guess it works well enough to be usable. it’s still unfortunate because i used the magnifying glass and area select for a lot more things than just screenshots, like measuring pixels and seeing pixels up-close.
other than finally being able to make use of the full resolution of my uhd monitor (except for image viewers), the main thing using wayland has finally made possible is gaming. before on my ubuntu x11 setups, 3d games were not really playable because they were somehow displayed with very low fps, definitely way lower than what the fps counter said. my human eye can see more than 30 fps and does notice tearing and micro-stuttering when they happen, so this was definitely real. the only game that ran as it should was minetest with __GL_SYNC_TO_VBLANK=0
whatever that does, and even then it still ran as choppy as everything else on some boots. games still run just as badly on my fresh arch install if i use x11, but on wayland everything works as it should. games are as smooth as the fps counter says they should be. ratz instagib (proton) runs well at high fps while tf2 (native) unfortunately drops quite low on a server with people on it but it’s still playable and i always had fps issues with tf2 on windows as well. tf2 has some bugs on linux by default like the sensitivity being wrong and the loadout character model spinning at 1000× speed but i found out that that can actually be solved (see https://docs.mastercomfig.com/latest/os/linux/#fixing-bugs-with-newer-sdl). deep rock galactic (proton) still has very low fps that i wouldn’t want to play at, unfortunately. overwatch ran almost perfectly back when i tried it on x11, so i assume it would work perfectly with high fps now (but i stopped playing overwatch). recording with obs also works well (except that i can’t really use window capture more than once because after restarting the captured application obs/pipewire always asks again what window it should let obs access, so having elaborate window capture setups would be a giant pain).
variable refresh rate supposedly should work out-of-the-box on plasma but kscreendoctor says that my main monitor doesn’t support it. maybe it’s the combination of nvidia + freesync? unlike on x11 where i always had tearing everywhere, on wayland i only had tearing twice so far, once in ratz instagib and once in firefox. no idea why but at least it seems to be rare. i do notice stuttering in games on some boots though so vrr would be very nice but i only rarely play games these days anyway and i don’t feel like spending more time trying to get it to work now. i can live with it the way it is for now. the only thing i currently use that i still have to use windows for is my oculus rift with beat saber. i tried using the oculus rift fork of openHMD like a year ago and it was more or less playable but it ran at very low fps (probably would run better now under wayland?), there was a very noticeable delay compared to the Virtually Instant™ feel of virtual movements on windows, and the virtual space kept slightly moving in all axes instead of staying still. it was like standing on a ship out on the rough sea, and the horizontal rotation of the virtual playspace slowly drifted away until it was completely different from the actual layout of my room. i was able to complete a beat saber level like this but i still wouldn’t really call it usable. also, i just saw that the install instructions say it doesn’t support wayland yet. unfortunate.
audio latency is definitely better with wireplumber than it was before with pulse. it’s still noticeably higher in games compared to windows but as i said i only rarely play games anymore and not competitively, so it’s now low enough that i can live with it. it’s also way lower in famitracker (but still higher than i would like it to be).
so, this year is still not the Year of the Linux GUI Install Without Issues for me but it is the Year of Most Things Including Gaming and Wayland Working Well on Linux with a Nvidia Graphics Card.