Linuxes default configuration innappropriate for gaming

Linux defaults to doing a variety of things that aren’t conducive to high performance such as memory randomization, extensive security hardening, support for hundreds of hardware components that most people do not need, wifi power saving is on by default, and it also defaults to using high resolution timer mode which appears to create synchronization issues with online gaming unless it is explicitly built without it or given the command highres=off.

I’ve been tweaking windows and linux for a long time to get better performance in gaming for fun, and it has always been obvious there are an enormous amount of barriers to getting the most out of our hardware built into our operating systems. In windows 11 now users get a setting to turn off security features such as memory randomization that are necessary for enjoying online gaming. The same is true for all the various sub processes that absorb our ram and the systems processing in general over time. Professional gamers even have to take a step further disabling hardware I/O ports such as unused USB ports to achieve reduced latency between their own commands and the operating system.

It also isn’t clear exactly which explicit features are even engaged in a typical users session simply trying to play online games. The kernel is super complex looking at it as a giant wall of incomprehensible text, and non-systems pogrammers are left to their instincts when choosing how to alter the situation to achieve better performance.
Searching for information about improving gaming performance, google, leads to articles all about overclocking our graphics cards instead of reducing bottlenecks that actually create a stable consistent environment to begin with.

It’s also not clear exactly what Nvidia requires to be taken advantage of similarly to the linux kernel. In windows gui settings are enough to actually get high performance immediately(after 30 minutes of tweaking). and modern hardware produces extreme performance. My own basic consumer setup, with mid-range budget items from a few years ago gets extreme performance on windows. There the RTX 3060 absolutely is like a speeding train of performance. There my hardware performs like a super car, whereas in linux it performs like a normal car that gets good performance.

Now I’ve started diving into documentation for linux and nvidia to figure out how to fix this situation, and it’s honestly not helpful. I used to simply look up advice online, like in webforums and wiki pages… but it’s obvious there is missing information, and these sources don’t even reflect my own experience tweaking systems for gaming performance for years-which has always focused on reducing features that are barriers to simply using the hardware to the fullest extent of it’s capabilities. What does NVIDIA require to achieve good performance? What does windows do differently that linux doesn’t?

I’ve never even been able to find this documentation before until I found some github page that linked to it. These are the pages that describe installing the NVIDIA driver and what it’s requirements are to function properly.

https://download.nvidia.com/XFree86/Linux-x86_64/530.41.03/README/installationandconfiguration.html
https://download.nvidia.com/XFree86/Linux-x86_64/530.41.03/README/editxconfig.html
https://download.nvidia.com/XFree86/Linux-x86_64/530.41.03/README/editxconfig.html

I’ve figured out at least, that we should start with a stable base-line to sweep away complexity from the situation, such as using a kernel built from the kernel’s own sources, and nvidia installed, from it’s own website, as opposed to the distributions packaging schemes. I installed the latest nvidia driver last night with it’s own installer without issues straight from my desktop, but had to rebuild the initramfs with sudo instead of as root, and everything is working typically. I also figured out that using a lightweight desktop environment and without any compositor is the best setup by far, even though it can have some issues with U.I.s. I have to hold the control key to click on menu items in steams new graphical interface…

I also noticed using nvidia-smi that the nvidia card is barely using any power at all apparently, about 1/4 of it’s capacity even with max performance mode on, and while gaming. Sometimes it appears to want to work better using quality graphics settings or increasing the graphics quality settings ingame, but I don’t play games like that, I play for enhanced performance. Faster movement, faster interactions, seamless interaction, and for long periods of time. I tried using the nvidia-powerd and dynamic boost packages from debian repositories which appear to do nothing at all for me. Maybe we can get some solutions from NVIDIA to avoid the middle man, where issues out of our control can arise.

How do we improve this situation? Do we need dynamic boost for the graphics card to perform typically? Where’s the missing piece to this puzzle? I tried using this with debian, but maybe it’s appropriately installed on other distributions, and not debian. With my cpu I know at least to turn off C-states and keep it from falling asleep on me. One strategy is to turn off hardware control of power states, so we can actually use our hardware without it secretly turning against us.

https://download.nvidia.com/XFree86/Linux-x86_64/530.41.03/README/dynamicboost.html

The nvidia-powerd daemon provides support for the NVIDIA Dynamic Boost feature on Linux platforms. Dynamic Boost is a system-wide power controller which manages GPU and CPU power, according to the workload on the system. By shifting power between the GPU and the CPU, Dynamic Boost can deliver more power to the component that would benefit most from it, without impacting the system’s total thermal and electrical budgets. This optimizes overall system performance per watt.

Software Requirements

The system must fulfill all of the following requirements:

  1. Use the systemd init daemon.
  2. Support the D-Bus message bus system.
  3. Use the cpufreq infrastructure.

It appears to me after years of looking at different websites and forums, that absolutely no one knows what they are talking about in regards to these issues. Does anyone here?

Here’s the latest docs from nvidia, that I’ve never even seen before or have been able to find.

https://download.nvidia.com/XFree86/Linux-x86_64/550.54.14/

Is the solution in there? (I don’t think so)

Edit: I also figured out that using the f2fs file system with the fastboot option in fstab on an nvme drive prevents the kernel from getting locked up when booting up a system tweaked top to bottom for extreme performance. We also can’t use steam as an administrator due to the new implementation of the home folder which isolates users from systems libraries, so in order to use steam and play games from there with higher priority we need to install steam as a root user to work around this issue. Playing games as an administrator has been standard practice for over a decade now on windows, idk where the disconnect is between the gaming community the developers and our systems configurations, but this situation is unacceptable to me. I’m looking at possibly switching out intel and nvidia to provide support for my CPU and GPU needs for AMD which apparently has good support for linux, because honestly after literally years, and thousands of hours of reading documentation and manuals and guides online it seems like we are trapped in an endless loop, left with no option but turning to windows to take advantage of our expensive high performance hardware made for gaming, and that is because ultimately it’s arbitrary for the developers of the systems we rely on whether or not we can achieve good outcomes possibly on linux versus windows or mac.