Monday, 26 May 2025
It's been a month
So about a month (and a week) since I fully switched from using a dual-boot setup of Windows and Linux, to fully using Linux as my daily driver. Here is the good and the bad of what I find.
Distribution
The Distribution (or Distro for short) that I am using is Arch Linux. It is a minimalist distro that allows you to choose what you want installed on the computer. Unlike a lot of other Distro's out there that bundle a ton of programs and packages out of the box, Arch Linux only gives you the kernel, package manager, tty, and some core terminal commands. There is an installation guide online and in the ISO file if I recall, along with a script to help install Arch Linux. So it isn't that it is hard to install, but it does involve more steps and reading to get it installed compared to Linux Mint, EndeavourOS, and the like.
I use Arch Linux because it is very minimal and is cutting edge. Arch just feels better for me as I do enjoy tinkering with the system a lot, and since that is the core of Arch, it fits quite well. It is also rolling with no set releases or update cycle, so that means as soon as a program updates, Arch Linux builds and pushes it. For most, this is a problem, but for some it is good. And this is good because quite a few times, Arch Linux has caught bugs in the kernel itself. Granted most bugs caught by Arch Linux is in the testing branch, but of course sometimes it gets out of testing. However, this just shows that Distros like Arch are great for ensuring bugs get discovered. I am fine digging into why something is not working, it is like a puzzle to me. I rarely have issues on Arch Linux since I run updates a few weeks to once a month.
Daily Usage
I have not found much issue in daily driving Linux, and the issues I find are fixable. For the most part, my system
starts up just fine. Running systemd-analyze
shows me that my system takes 20 seconds to get into a login state
(ignoring firmware and loader).
Startup finished in 16.829s (firmware) + 7.104s (loader) + 8.259s (kernel) + 11.987s (userspace) = 44.180s
graphical.target reached after 11.987s in userspace.
I have no idea why the firmware is taking almost 20 seconds to do its job, but I know the loader is taking almost 8 seconds is because I have a 5-second auto-boot timer. This technically means that the loader actually takes only 3 seconds to do its job, it is just waiting for me to select an option or the timer to run out.
I did find it annoying that while the auto-starts are starting up, a prompt for CoreCtrl to run as root would constantly be de-focused. The fix for that was simple, tell KDE Plasma to have a heavy focus-steal protection. This makes it to where that privilege prompt would not become de-focused while I am typing my password. I would honestly prefer it if the prompt would act more like the UAC on Windows, total focus on the screen, however, I also enjoy that I can just set Plasma to just stop the focus stealing.
I also found it annoying that I no longer had the multiple audio input/output that I had in Windows with the use of
VoiceMeeter Potato. The good news, however, is that feature is built into PipeWire. And even better is that, to my
knowledge, you can have infinite amount of those loopback devices as you want. There is no fancy UI to do this, at
least not to my knowledge, but I do love the terminal. So I just mkdir
a folder in my ~/.config/pipewire
folder to
place a config file in. I just created the file in vim
and set up the config file that way. I had help from my
friend Grand on Resonite. This is how the file is set up for me on my PC:
context.modules = [
{
name = libpipewire-module-loopback
args = {
audio.position = [ FL FR ]
capture.props = {
media.class = Audio/Sink
node.name = game_audio_sink
node.description = "Game Audio"
}
playback.props = {
node.name = game_audio_source
node.description = "Game Audio"
target.object = "easyeffects_sink"
}
}
},
{
name = libpipewire-module-loopback
args = {
audio.position = [ FL FR ]
capture.props = {
media.class = Audio/Sink
node.name = vc_audio_sink
node.description = "VC Audio"
}
playback.props = {
node.name = vc_audio_source
node.description = "VC Audio"
targetr.object = "easyeffects_sink"
}
}
},
{
name = libpipewire-module-loopback
args = {
audio.position = [ FL FR ]
capture.props = {
media.class = Audio/Sink
node.name = non_stream_sink
node.description = "Non-stream Audio"
}
playback.props = {
node.name = non_stream_source
node.description = "Non-stream Audio"
target.object = "easyeffects_sink"
}
}
},
{
name = libpipewire-module-loopback
args = {
audio.position = [ FL FR ]
capture.props = {
media.class = Audio/Sink
node.name = stream_sink
node.description = "Stream Audio"
}
playback.props = {
node.name = stream_source
node.description = "Stream Audio"
target.object = "easyeffects_sink"
}
}
}
]
I use Easy Effects as a way to also get the same audio manipulation I got with VoiceMeeter Potato. Telling PipeWire to pipe all those loopbacks to the Easy Effects Sink. With the help of KDE Plasma, I can set a default for what programs use what audio output. Reason I do this is for OBS, as then I can tell OBS to record from each of the loopbacks instead of the Easy Effects. As a friend was watching my stream and was having issues with the audio if it was piped through Easy Effects.
I have noticed something fairly interesting. When my system is under a lot of load, Windows and Linux behave
differently. For example, I am typing this out while I have Blender doing a render on my CPU and GPU at the same
time. Looking at btop
, I can see my system is under 100% load on both. Yet my desktop is remaining super smooth
and everything is still super responsive. The only time my desktop has become non-responsive is if my GPU crashes or
all of RAM is used up to the max. If neither of those things are the case, my computer stays super responsive. On
Windows, however, I have noticed that under a high CPU or disk usage, Windows just stops being responsive. I have
tested high disk usage on Linux and for the most part, it still remains responsive.
If you want to know about another issue I faced, check out the Virtual Reality section.
Gaming
So, as you might know is that I do enjoy playing video games. Thanks to the efforts of Valve, it has become a lot more reasonable to play games on Linux. Some games that use anything in the kernel, like Kernel Level Anti-Cheat (example: Easy Anti-Cheat), will not work unless they enable the option for it to run under Proton, if that option exists. There is also a new issue that is rising that I hate, and it is that some companies decided that they will ONLY support the Steam Deck. I am going to insert a little rant here, as a heads-up with maybe some... unprofessional words.
Kernel Level Anti-Cheat
No one with a freaking braincell should allow such horrible software to run on their system! Kernel Level Anti-Cheat (KLAC from now on) should never be installed at all since it is a rootkit! I have had some people tell me that KLAC is not a rootkit, but the definition of a rootkit from Wikipedia is, "A rootkit is a collection of computer software, typically malicious, designed to enable access to a computer or an area of its software that is not otherwise allowed (for example, to an unauthorized user) and often masks its existence or the existence of other software." With that, KLAC tends to do the following:
- Enables access to the computer or unauthorized parts
- Bypass user permissions.
- Allow memory manipulation outside user space.
- Typically installed with games
Both those needed checkboxes are marked, it can safely be said that KLACs are rootkits. Rootkits are typically malicious, but not always, and they often mask themselves or another program, but not always. I have heard, "How are games supposed to protect people from cheaters?" To that question, I tell them that Security 101 states that when it comes to internet-based security is to NEVER trust the client. The client should be designed in a way to have as little information as possible, it should only know what the player can see and hear. The servers should be verifying that the data it received from the client is valid data, and we have had this tech before and used it! On top of this, because KLACs are typically closed source, we have to trust the creator of it. We also have to trust that they know what they are doing in kernel space, and do not introduce bugs into it that would allow for something like RCE, or Remote Code Execution. We would also need to trust that they aren't snooping any data from our PCs either. I have also heard, "But that would increase internet traffic", and like, ok? Watching a 4K video off YouTube, my internet traffic is roughly 30MBps, or 240Mbps, which is not bad when you consider that, according to Steam Stats, the average user has about 142.7 Mbps and that was a 4K video. Games typically only use kilobytes of data, so we're talking about a slightly bigger increase in internet usage and either a set heartbeat of 60Hz or maybe an increase of that? Really? Watching Netflix or YouTube is more demanding on the internet than a video game!
So in short, KLACs are able to access any part of your PC, are installed alongside the game, are black boxes, and the solution is to verify the data on the server side and decrease what the client knows...and yet some people are worried because their game might use more data more often, and willing to potentially lose privacy, security, and control of their PC? To me, that is insanity and stupidity.
End of Rant
Now back to talking about gaming on Linux. Every game I tested in my Steam Library works either flawlessly or has some bugs in it, but is still playable. In fact, I am seeing more frames in the games I play on Linux than I do Windows. Some games I enjoyed as a kid that I have in my Steam Library works only under Proton. For example, Star Wars: Empire at War would not work for me at all under my Windows install. It would routinely crash saying that it could not find a GPU. I put inside the directory the files of DXVK, which translates DirectX 11 and under to Vulkan, and it wouldn't start at all. Under Proton the game just launches with no issues at all. I also bought F.E.A.R. a while back because a friend told me to buy it and play it on stream. It, too, would not launch on Windows at all. My solution at that time was to use my gaming laptop with Pop!_OS on it and stream the game to my Windows PC. Another showcase that Linux is preserving Windows games better than Windows. It still isn't always perfect, and to see if a game does work, you can always check ProtonDB. Which does show that 11% of the Steam Catalog is playable on Linux, as reported by the community. Of the top 10 games on Steam, only 2 are borked, and out of the top 100, 8 are borked.
Virtual Reality
An issue I had is Virtual Reality, and it still needs time to cook on Linux. This isn't to say it isn't usable, it is usable depending on what you want to sacrifice. Personally, I can deal with a bit of the jittering from SteamVR, as long as the framerate stays above 40fps, the jitter isn't that bad. What I hate is not being able to hot-plug my VR devices, and auto-base station turn off. I think that field is where Envision and Monado need to improve on. Monado does not have the jitter problem that SteamVR has, but I like to start my VR first in case there are any problems. So this field is more of, what demon would you prefer? No VR, jittering, or no hot-plugging?
Streaming
As you may or may not know, I do stream over on Twitch. I use OBS for streaming, and it has a native Linux build, in fact they support multiple ways of using it on Linux. First way is through Flatpak, and this is the way I have it, adding an apt repo for Ubuntu, or downloading the deb from their GitHub. While it is on Steam, that version is for Windows and macOS. And while I was on Windows, I used the Steam version of OBS to keep OBS up-to-date. Now I have Flatpak to do that for me.
Sadly, when it comes to VNyan, it is spotty on features, namely the all-in-one tracking. If I want VNyan to track me, I have to use XR Animator for that, so back to using 2 programs for tacking me. On top of that, VNyan keeps memory leaking for me and causing issues. My solution to that, while I track down why it is memory leaking, is to tell SystemD to limit how much RAM VNyan can use. I told SystemD that VNyan can only use 8GiB of RAM, and if VNyan goes over that, it will kill VNyan with the OOM killer. And a notification will pop up saying that VNyan was killed and if I want to restart it. It is not optimal, but it is something to at least keep me going until I can find a better fix.
Making Art
Some do call me an artist because I make some render in Blender, so I guess I'll add this section in. Blender works fantastic in Linux. For me, I cannot use the Flatpak version of Blender, nor the Steam version, as both of those do not see my GPU. However, since I use Arch Linux, they do package Blender into their repositories. So I use Pacman to install Blender and now it can see my GPU. So now I can use hardware acceleration to not only quickly render scenes out, but also tinker a bit. I have noticed that when I stress my GPU to the limit with Blender, there's a small chance that my GPU will crash, causing my entire desktop to restart. Which the fix for that is to log out and log back in to get all the programs I have set for auto-launch to be back up. However, if I recall correctly, KDE is working on a way to where if the desktop crashes, it can auto-recover everything back.
I also like to edit textures models I bought and use. For that I have use Substance Painter, which was bought by
*shudders* Adobe a while back. Adobe just seems to have a hate for their users, however Linux specifically. The
only version of Substance Painter that works natively on Linux is the Steam version, problem is, they make you buy a
new copy of Substance Painter every freaking year. I only have the 2024 version and it has a bug in it to where I need
to launch Steam with -compat-force-slr off
. This option simply tells Steam to not force any native Linux titles to
use the Steam Linux Runtime (SLR), which means the native Linux titles will reach out to the system and look for the
libraries there. Honestly, I do prefer the Linux version of Substance Painter has it will actually load my SPP files
off of my network.
When it comes to making videos, something I used to do but got burnt out of it, is Adobe Premiere Pro with Adobe After Effects and Adobe Audition on Windows. Now I just use DaVinci Resolve, and I don't edit audio files anymore so I don't use anything on that front. DaVinci Resolve works well under Linux, but from what I can tell, to get Hardware encoding, you must purchase a license from them. I cannot tell if it is only for NVidia GPUs or not, but one thing I can tell is that they use FFmpeg under the hood, which supports NVidia, AMD, and Intel GPUs for encoding and decoding. And as I point out, if OBS can use FFmpeg and support hardware encoding and decoding for the big 3 GPU vendors with a small team, then the people behind DaVinci Resolve can too.
Conclusion
So after being solely on Linux for an entire month (and week), what are my thoughts? Am I going to re-install Windows? Am I going to stay on Linux? The answer, if anyone knows me, is that I am going to be staying on Linux for the foreseeable future. Windows has annoyed me so much with everything, and keeps doing things that annoy me. The amount of bloat that is on Windows is so bad, and how unoptimized it all is. On top of that, when I log in, I will see my RAM usage on Linux being at 7%. Not bad compared to Windows sitting at 13%. Windows will say I have about 22.000 threads running with about 315 processes. Meanwhile, Linux over being like, "I only have 191 processes, and 2.270 threads." And yet I get more functionality and usability out of Linux than Windows with less overhead! I had the following programs launch on boot/login on Windows:
- Login
- KDE Konnect
- Mullvad VPN
- Steam
- Discord
- JetBrains Toolbox
- NextCloud Desktop Client
- Elgato StreamDeck
- ESET
- Process Hacker 2
- AMD Adrenaline Edition
- And of course the Microsoft defaults
- Boot
- Microsoft's default
On my Linux system, this is what I can view for bootup and login:
- Login
- KDE Konnect (built into KDE Plasma)
- Mullvad VPN
- Steam
- Vesktop (Modified Discord Client)
- CoreCtrl
- Use to switch my GPU to VR Mode.
- JetBrains Toolbox
- NextCloud Desktop Client
- StreamController (for my StreamDeck)
- Boot
- SDDM
- Ufw
- NetworkManager
- Bluez
- Out of Memory Daemon
- Timesync Daemon
- Cronie
- CUPS
- For printing things
- Folding At Home
- Waydroid
- Libvirtd
- This is used for Virtual Machines
Not only do I have less, because you have to take into account all of Microsoft's Bloat. Most of the stuff on Windows is either stuff you cannot turn of because then you brick the entire OS, or if you turn it off, it causes issues with other programs. And if you turn it off, who's to say the next freaking update will not turn it back on. This actually happened to me when most of the O&O Shut Up script I ran when I installed Windows on my PC was reverted back. So I ask why on Earth would I put myself through all that, when I have a better time with Linux. A kernel and suite of OSes that actually respects me, does not baby me, allows me to fine tune the system, and even fix issues with it? A suite of software that has been open to the public for years, and is built around people coming together to fix things and implement things they want. Does it annoy me that VNyan memory leaks? Yes, but I found work-a-rounds to it. Does it annoy me that Stream Controller is not very stable? Yes, but I barely use my Stream Deck outside my streams. But what I gain is better security through containerizing programs, and a Kernal that is fairly strict in keeping user space and kernel space seperated.
I am a tinkerer, I get that, and that is why I use Arch Linux. Arch Linux probably isn't for your average Joe, but to them, I recommend Linux Mint, Fedora Linux, and Pop!_OS. Because for the average Joe out there, those Distros are built for them. If an issue comes up, it is easier to search the internet for stuff since those are popular Distros. They are cycle-based Distros, meaning they have scheduled releases. In fact my neighbor had issues with their PC, Windows just stopped working, asked if they are fine with trying an alternative to save them money. They agreed and I installed Linux Mint for them. Years later their PC finally died, and I pointed them to a functional PC that is cheap. They bought it and I came over to install it and, get this, to uninstall Windows and installed Linux Mint onto that computer. This neighbor isn't young either, they're probably in their 70+ years at this point.
So yeah, at this point I am sticking with Linux. Nothing at this moment is going to change that because of how easier it is becoming. Rather that be from devs porting their software to Linux, Open-Source programs that mimic the Windows versions, Wine+DXVK/VKD3D, and a company that we, especially gamers can get behind, pushing Linux forward. Linux, at this point, as a bright future for it while Microsoft drowns in enshittification.
I challenge all of you to try Linux for a month, give it a shot. And to those "waiting for SteamOS", there is nothing special about SteamOS. It is just a Distribution like every other Linux Distro out there, except being backed by Valve. Just install EndeavorOS onto your computer, or Linux Mint.
Side Note: I am generally a person who does not like being a "fanboy" over a company, as most companies don't deserve it. Valve, on the other hand does deserve it. While they are doing this to make more money, this is an example of the rising tide lifts all ships. As Valve paved the way for new competition, not only in the gaming market, but also in the OS market as well. On top of that, Valve isn't close-sourcing all of this at all, in fact the opposite of it. What improvements they make in Proton, they push it up stream to WINE, DXVK, and VKD3D. Valve, like every company and person in this world, has issues, but at least they tend to listen to their community, and will make stances against practises that other companies are doing that is harmful. At this moment, Valve is the biggest company that I approve of.
Let me make it clear though, Valve does have some issues. Like turning a blind eye to CS gambling, keeping the build pipeline of SteamOS hidden, and taking so long to make Half-Life 3. In the end, they are a company and needs to make money. At least they are contributing back to projects and listening to their community, unlike a lot of other companies out there.