Tuned - desktop-max v1.1

Some minor revisions to my desktop-max profile … if any “veteran” in the openSUSE organization would like to suggest tweaks to the sysctl sections (or anywhere else) for desktops (not servers) I’d love to hear them … reading source files to determine what is best is slow going :nerd_face:

In the end this profile will get renamed to something like desktop-quick and I’ll put out another profile that is 100% max … like for gamers

dart@windeath:~> cat /etc/tuned/profiles/desktop-max/tuned.conf 
# 06/05/2025 Kernel 6.15 X86_64 
# tuned configuration DesktopMax Version 1.1
# Minor cleanups and placeholders
# check profiles with "tuned-adm verify" and then "cat /var/log/tuned/tuned.log"

[main]
summary=Optimize for maximum desktop performance

[modules]
# acpi_pstate_strict non-zero -> strict ACPI checks are performed during frequency changes 
# (0:default/1) 1 is a *little* slower to react - very little 
acpi_cpufreq=+r,acpi_pstate_strict=1


[sysctl]
# See /proc/sys/(kernel,net,vm) directory
vm.swappiness=10
net.ipv4.tcp_low_latency=1


[cpu]
priority=10
governor=ondemand|schedutil
sampling_down_factor = 1000
energy_perf_bias=performance|balance_performance
energy_performance_preference=performance|balance_performance
boost=1

[acpi]
platform_profile=performance

[audio] 
timeout=10

[disk]
# Comma separated list of devices, all devices if commented out.
# Check your device!! -- use command "lsblk"
# You can also "blacklist" devices if not specifying any with a devices line 
# tuned will attempt to tune all that it finds like the loop device 
# but will throw an error because loop doesn't support that -- eg "devices=!loop"
# you can exclude devices with "devices=!<device_name>"
devices=sda
readahead=>4096

# cat /sys/block/<device>/queue/scheduler
# current (6.14.4-1-default) none [mq-deadline] kyber bfq
# mq-deadline was my default but kyber seems to work the best for me 
elevator=kyber

[scsi_host]
# 
alpm=max_performance
2 Likes

In the meantime try this … go to speedtest.net and run it … then set these parameters … if you’re paranoid check them without the “=integer” first to see the original values like so …
sysctl net.ipv4.tcp_slow_start_after_idle
…etc

sysctl net.ipv4.tcp_slow_start_after_idle=0
sysctl net.ipv4.tcp_timestamps=0
sysctl net.ipv4.tcp_low_latency=1

Now run speedtest again … you can always set them back … or they will revert on a reboot

1 Like

The “ondemand” governor works really well … I set everything to “performance” for testing and the only thing I gained was more heat and wear/tear on my machine so there won’t be a desktop-game profile … I use this on as my daily driver and it works great … added the ipv4 and vm.background/dirty background. ratios … they really helped with my write speed on my ssd

# 06/05/2025 Kernel 6.15 X86_64 
# tuned configuration DesktopMax Version 1.1
# Minor cleanups and placeholders
# check profiles with "tuned-adm verify" and then "cat /var/log/tuned/tuned.log"

[main]
summary=Optimize for maximum desktop performance

[modules]
# acpi_pstate_strict non-zero -> strict ACPI checks are performed during frequency changes 
# (0:default/1) 1 is a *little* slower to react - very little - I like it better 
#acpi_cpufreq=+r,
acpi_cpufreq=+r,acpi_pstate_strict=1


[sysctl]
# See /proc/sys/(kernel,net,vm) directory
# I've read that this does little to nothing if you have selinux enabled
vm.swappiness=10

# I only have 8G of ram ... if you have more you can go lower
# I keep the the dirty.ratio at even numbers so going 1/2 for
# background ratio keeps things neat (8/4,6/3) but YMMV
# these really help write speeds with disk i/o
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5

# Network
net.ipv4.tcp_low_latency=1
net.ipv4.tcp_timestamps=0
net.ipv4.tcp_slow_start_after_idle=0

[cpu]
priority=10
governor=ondemand|schedutil
sampling_down_factor = 1000
energy_perf_bias=performance|balance_performance
energy_performance_preference=performance|balance_performance
boost=1

[acpi]
platform_profile=performance

[audio] 
timeout=10

[disk]
# Comma separated list of devices, all devices if commented out.
# Check your device!! -- use command "lsblk"
# You can also "blacklist" devices if not specifying any with a devices line 
# tuned will attempt to tune all that it finds like the loop device 
# but will throw an error because loop doesn't support that -- eg "devices=!loop"
# you can exclude devices with "devices=!<device_name>"
# I need to do more testing to see what is the best blocksize for ssd/nvme or 
# or how to determine that
devices=sda
readahead=>4096

# cat /sys/block/<device>/queue/scheduler
# current (6.14.4-1-default) none [mq-deadline] kyber bfq
# mq-deadline was my default but kyber seems to work the best for me 
# nvme drives are recommended to have "none" which is probably the default if you have one
elevator=kyber

[scsi_host]
# 
alpm=max_performance
1 Like