-
Notifications
You must be signed in to change notification settings - Fork 34
/
config.kdl
91 lines (73 loc) · 2.71 KB
/
config.kdl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
// WARNING: Modifications to this file will not be preserved on upgrade.
// To configure, make a config.kdl file under /etc/system76-scheduler/.
// Version of the configuration file
version "2.0"
// Autogrouping nullifies nice priorities
autogroup-enabled false
// Latency profiles the kernel's Completely Fair Scheduler
cfs-profiles enable=true {
// The kernel-default values which are ideal for battery life and servers
default latency=6 nr-latency=8 wakeup-granularity=1.0 bandwidth-size=5 preempt="voluntary"
// Zen CFS parameters that make the desktop more responsive
responsive latency=4 nr-latency=10 wakeup-granularity=0.5 bandwidth-size=3 preempt="full"
}
// Monitors and applies process priority adjustments
process-scheduler enable=true {
// How often to reload process assignments. 0 to disable
refresh-rate 60
// Enable realtime process priority adjustment with execsnoop
execsnoop true
// Preset process assignment profiles
assignments {
// Prevent crackling and distortion from the sound server
sound-server nice=-15 io=(realtime)0 {
"/usr/bin/pipewire"
"/usr/bin/pipewire-pulse"
"/usr/bin/jackd"
}
// Applications with realtime audio processing needs
recording nice=-9 io=(best-effort)0
// Enables pipewire process monitoring and assignments
pipewire nice=-6 io=(best-effort)0
// Video games
games nice=-5 io=(best-effort)0
// Desktop environments
desktop-environment nice=-3 io=(best-effort)0
// Foreground process profile
foreground nice=0 io=(best-effort)0
// Background process profile
background nice=6 io="idle"
// Session services belonging to the user
session-services nice=9 io="idle" {
include cgroup="/user.slice/*.service" parent="systemd"
include cgroup="/user.slice/*/session.slice/*" parent="systemd"
exclude cgroup="/user.slice/*app-dbus*"
}
// System services belonging to root
system-services nice=12 io="idle" {
include cgroup="/system.slice/*"
}
// Package management processes
package-manager nice=15 sched="batch" io="idle"
// CPU-intense background tasks
batch nice=19 sched="idle" io="idle"
}
exceptions {
include descends="chrt"
include descends="gamemoderun"
include descends="ionice"
include descends="nice"
include descends="taskset"
include descends="schedtool"
chrt
dbus
dbus-broker
gamemoderun
ionice
nice
rtkit-daemon
systemd
taskset
schedtool
}
}