Just me venting. I've been using M$ platforms since 1989 so I know how to download more RAM. After (1) Having a Steam Deck and using SteamOS, which works pretty well in desktop mode and having poked around Ubuntu in the past. (2) Seeing Linus' videos on trying linux, and that going ok even for those idiots (3) Watching any tech youtuber talk about how windows is the antichrist (agree) (4) Using Claude ai to answer questions / feed me terminal commands and (5) Watching a video or five about which linux distro to use... I though well shit lets finally give Linux a try. CachyOS seems popular and uses Arch which is the backend for SteamOS, so that experience will transfer over.
I specifically wanted to set up a new NVME SSD (Samsung 9100 Pro) using TGC OPAL hardware encryption so there's no performance hit. I was looking at using SEDutil but my boy Claude tells me it's jank from 9 years ago and wanted to set me up with using LUKS and some other shit to handle the hardware encryption. Alright so that took like 4 hours, and there's a bug with my motherboard (MSI B650 Pro) that if I restart the PC (anything but the a dead cold boot), it hangs forever and never POSTs. If I hit the reset button it proceeds, but then leaves the other SSD with windows/NTFS in a dirty state so now Linux can't read it. Ok I don't actually restart that often so if I know it's a problem I can work around it.
So since I'm doing a non standard CachyOS install with the hardware encryption, I end up with a terminal and nothing else, then claude has me install the desktop environment and all of the other shit with commands through the terminal. Alright then we get booted into KDE Plasma and have some more terminal stuff to do and... where the fuck is the terminal? Oh I need to download that using Discover. Ok Konsole loaded.
Then on mistake number 1, using Discover to load things. "But that's what Discover is for" I hear you say, sure, unless you want the program to work. Using Discover loads flatpaks which are self contained programs that have all the dependencies included. Great right? Nope they're sandboxed and can't talk to each other or the system. So when I loaded Waterfox and Chromium, they couldn't interface with KeePassXC my password manager of choice. Ok so uninstall waterfox and reinstall it through "sudo apt get" NOOOOPE that's a different linux. Arch linux uses "pacman". Alright so load through pacman and NOOOOPE the program you want is not part of the offical distro, so use "yay". Alright so use "yay -S program" and NOOOOPE, CachyOS doesn't include yay or something and so you use "paru" instead. What the fuck are these names? (See meme.)
Alright so up and running, I need something to control my CPU fans since I have a gaming computer. The googlemachine points me toward "coolercontrol" so I do a paru to get that and load it up, it detects all of the sensors but then can't actually control the motherboard fans. Oh well. Lets reconfigure my logitech mouse buttons. So there's "Piper" for mouse stuff and it doesn't detect either of my mice. Ok lets try "solaar"... ok that tells me my mouse's battery level but nothing else really. Ok lets try "input-remapper" which works for some of the buttons but not the DPI up or DPI down buttons, unless you use some other utility to disable those buttons to make them mappable. Oh and good fucking luck trying to get that to apply the next time you startup.
Hmm why are all of the colors flickering a bit... oh because I had adaptive sync on. Turned it off and now my colors are stable (Gsync / freesync compatible screen)
Hmm you know the colors seems to look really shitty. (I noticed this on the steamdeck after they switched to "Wayland" from "X11".) How do I adjust the brightness and contrast, where's the nvidia control panel? Fuck you that's how. Oh shit ok. Well there's tool called "nvibrant" that some dude made lets try that. Oh wow my screens look good again. Restart. Oh no they look shitty again. How do I make that apply to every boot, is there an autoexec.cfg somewhere? Yeah just use this terminal command that might as well be in Chinese and is as long as the litany of the machine spirit and light some incense. Oh it didn't work. Turns it it was a race condition between nvibrant running before the compositor actually drew the screens.
mkdir -p ~/.config/systemd/user
printf '%s\n' '[Unit]' 'Description=Set NVIDIA Digital Vibrance and Dithering' 'PartOf=graphical-session.target' 'After=graphical-session.target' '' '[Service]' 'Type=oneshot' 'ExecStart=/usr/bin/nvibrant 300 1 2 3 4 512' "ExecStart=/bin/sh -c 'ATTRIBUTE=dithering /usr/bin/nvibrant 0 0 0 0 0 0'" '' '[Install]' 'WantedBy=graphical-session.target' > ~/.config/systemd/user/nvibrant.servicemkdir -p ~/.config/systemd/userprintf '%s\n' '[Unit]' 'Description=Set NVIDIA Digital Vibrance and Dithering' 'PartOf=graphical-session.target' 'After=graphical-session.target' '' '[Service]' 'Type=oneshot' 'ExecStart=/usr/bin/nvibrant 300 1 2 3 4 512' "ExecStart=/bin/sh -c 'ATTRIBUTE=dithering /usr/bin/nvibrant 0 0 0 0 0 0'" '' '[Install]' 'WantedBy=graphical-session.target' > ~/.config/systemd/user/nvibrant.service
systemctl --user enable --now nvibrant.service
Maybe this makes sense to someone.
I used Claude ai to give me the terminal commands for most of this and did some googling on the side, and there is no fucking way I could have done this by myself. If you look on reddit or other forums the linuxtards will inevitably respond with "mAyBe iF yOu rEaD tHe dOcuMenTaTion yOu cOuLd fIgUrE iT oUt". Bitch I have a job. Even reading the arch wiki and endless forum posts, you need to have an autistic level of base knowledge to even start. I spent half of Saturday getting from formatting the drive to the terminal, then 8 hours on Sunday working through these issues.
So CachyOS and linux in general is probably great unless you want to (1) Use hardware encryption (2) Play games with kernel level anti-cheat (3) Control your fans or gaming peripherals... I didn't even think about the TrackIR or joystick or throttle (4) Understand anything that is going on in your operating system. (5) Have taskbars on both monitors. You can... but they're not synched.
Now there's some things I really like. The "KDE Plasma" desktop environment is amazing. I love the window and transparency effects. I disabled the animations on preference. Looks good, runs good. The "Dolphin" file browser is really good. I like the split view. (I use it old FTP style, I put the 'local' on the left and 'remote' on the right.) "Discover" app store would be great if it didn't set you up for failure with the sandboxed flatpaks. I like the concept of flatpaks, and I guess you can use "flatseal" to unsandbox things but I didn't get to it. They also need something like Discover for non-official things like "paru" is pulling in, and to select the option between flatpak and native install. Updating stuff in linux is probably the biggest improvement over windows, where there's a centralized console to do it. (It used to be that spam and pr0n were X% of internet traffic, I think it's been surpassed now linux program updates.)
And I understand that all of this software was developed by hard working and passionate individuals and teams that are doing it for no / not enough pay. And in that respect they're doing a great job. A lot of this is the chicken and egg problem. Program and peripheral developers only make a windows version because that's 95% of the gaming PC market.
Back to my use case: I stopped and thought, is there anything linux is going to do that windows doesn't, and the main benefit is not being microsoft. Actually that's the only benefit and it's a big one. I've done a lot of the windows 11 debloat / privacy stuff and it's pretty good, but I still have 9gb of ram allocated on startup. (Vs 3-4 from CachyOS) So I dunno I'm gonna stew on it whether to abandon the experiment and just try software encryption and stick winblows.
C'mon SteamOS you're our only hope.