CPU Usage High With Xorg


As the title suggests, Xorg is using upwards of 25% CPU on idle on my Garuda Linux system (KDE Dragonized). Has been happening for some months now. At first I thought my thermal paste needed replacement. Replaced it today with no luck. Even when using a governor like Schedutil the CPU usage tends to jump between 1% to almost 30%. System Monitor shows nothing. I had to use top in the CLI to find the root cause and it turned out to be Xorg at a consistently high CPU usage. I have a dual monitor setup and the second screen has some widgets on it to give me information about me hardware (usage, temperature etc). Not sure if that is causing the high CPU usage though. All Conky processes are barely consuming 0.1% of CPU resources.

Any sort of help would be appreciated!


Kernel: 6.6.27-1-lts arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
clocksource: tsc avail: hpet,acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-lts
root=UUID=203a3d3a-4ddd-4d3b-8d55-af9e22322e25 rw rootflags=subvol=@
quiet rd.luks.uuid=dee7fb91-a317-463d-affc-25302947eaa3 quiet
rd.udev.log_priority=3 vt.global_cursor_default=0
resume=/dev/mapper/luks-6d79df88-6590-481d-8b34-b690dbfa25db loglevel=3
Desktop: KDE Plasma v: 6.0.3 tk: Qt v: N/A info: frameworks v: 6.1.0
wm: kwin_x11 with: krunner tools: avail: lxlock vt: 2 dm: SDDM
Distro: Garuda base: Arch Linux
Type: Desktop System: ASUS product: N/A v: N/A serial: <superuser required>
Mobo: ASUSTeK model: PRIME B550-PLUS v: Rev X.0x
serial: <superuser required> part-nu: SKU uuid: <superuser required>
UEFI: American Megatrends v: 3202 date: 06/15/2023
Info: model: AMD Ryzen 7 3700X bits: 64 type: MT MCP arch: Zen 2 gen: 3
level: v3 note: check built: 2020-22 process: TSMC n7 (7nm)
family: 0x17 (23) model-id: 0x71 (113) stepping: 0 microcode: 0x8701030
Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
L3: 32 MiB desc: 2x16 MiB
Speed (MHz): avg: 4179 high: 4196 min/max: 2200/4426 boost: enabled
scaling: driver: acpi-cpufreq governor: schedutil cores: 1: 4196 2: 4191
3: 4192 4: 4142 5: 4186 6: 4182 7: 4191 8: 4174 9: 4196 10: 4191 11: 4192
12: 4151 13: 4156 14: 4181 15: 4176 16: 4178 bogomips: 115038
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Vulnerabilities: <filter>
Device-1: AMD Navi 23 [Radeon RX 6600/6600 XT/6600M] vendor: Sapphire
driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm)
built: 2020-22 pcie: gen: 4 speed: 16 GT/s lanes: 16 ports:
active: DP-1,HDMI-A-1 empty: DP-2,DP-3 bus-ID: 0b:00.0 chip-ID: 1002:73ff
class-ID: 0300
Display: x11 server: X.Org v: 21.1.13 with: Xwayland v: 23.2.6
compositor: kwin_x11 driver: X: loaded: amdgpu unloaded: modesetting,radeon
alternate: fbdev,vesa dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
Screen-1: 0 s-res: 3840x1080 s-dpi: 96 s-size: 1013x285mm (39.88x11.22")
s-diag: 1052mm (41.43")
Monitor-1: DP-1 mapped: DisplayPort-0 pos: primary,left
model: LG (GoldStar) ULTRAGEAR serial: <filter> built: 2023 res: 1920x1080
dpi: 92 gamma: 1.2 size: 530x300mm (20.87x11.81") diag: 609mm (24")
ratio: 16:9 modes: max: 1920x1080 min: 640x480
Monitor-2: HDMI-A-1 mapped: HDMI-A-0 pos: right
model: ViewSonic VA2451 SERIES serial: <filter> built: 2014 res: 1920x1080
hz: 60 dpi: 94 gamma: 1.2 size: 521x293mm (20.51x11.54")
diag: 598mm (23.5") ratio: 16:9 modes: max: 1920x1080 min: 720x400
API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
device: 1 drv: swrast surfaceless: drv: radeonsi x11: drv: radeonsi
inactive: gbm,wayland
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.0.5-arch1.1
glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 6600 (radeonsi navi23
LLVM 17.0.6 DRM 3.54 6.6.27-1-lts) device-ID: 1002:73ff memory: 7.81 GiB
unified: no
API: Vulkan v: 1.3.279 layers: 14 device: 0 type: discrete-gpu name: AMD
Radeon RX 6600 (RADV NAVI23) driver: mesa radv v: 24.0.5-arch1.1
device-ID: 1002:73ff surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe
(LLVM 17.0.6 256 bits) driver: mesa llvmpipe v: 24.0.5-arch1.1 (LLVM
17.0.6) device-ID: 10005:0000 surfaces: xcb,xlib
Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel pcie:
gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 0b:00.1 chip-ID: 1002:ab28
class-ID: 0403
Device-2: AMD Starship/Matisse HD Audio vendor: ASUSTeK
driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 0d:00.4 chip-ID: 1022:1487 class-ID: 0403
API: ALSA v: k6.6.27-1-lts status: kernel-api with: aoss
type: oss-emulator tools: N/A
Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
Server-2: PipeWire v: 1.0.5 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Device-1: Intel Wi-Fi 6E AX210/AX1675 2x2 [Typhoon Peak] driver: iwlwifi
v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1 bus-ID: 05:00.0
chip-ID: 8086:2725 class-ID: 0280
IF: wlp5s0 state: down mac: <filter>
Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
vendor: ASUSTeK RTL8111H driver: r8169 v: kernel pcie: gen: 1
speed: 2.5 GT/s lanes: 1 port: f000 bus-ID: 08:00.0 chip-ID: 10ec:8168
class-ID: 0200
IF: enp8s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Info: services: NetworkManager, smbd, systemd-timesyncd, wpa_supplicant
Device-1: Intel AX210 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-7.2:4 chip-ID: 8087:0032
class-ID: e001
Report: btmgmt ID: hci0 rfk-id: 0 state: down bt-service: enabled,running
rfk-block: hardware: no software: yes address: <filter> bt-v: 5.3 lmp-v: 12
status: discoverable: no pairing: no
Local Storage: total: 2.27 TiB used: 857.17 GiB (36.8%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
model: WD Blue SN570 1TB size: 931.51 GiB block-size: physical: 512 B
logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
fw-rev: 234100WD temp: 31.9 C scheme: GPT
ID-2: /dev/sda maj-min: 8:0 vendor: Seagate model: ST3500414CS
size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 3.0 Gb/s
tech: HDD rpm: 5900 serial: <filter> fw-rev: CA14 scheme: GPT
ID-3: /dev/sdb maj-min: 8:16 vendor: Western Digital
model: WD10EZEX-00BN5A0 size: 931.51 GiB block-size: physical: 4096 B
logical: 512 B speed: 6.0 Gb/s tech: HDD rpm: 7200 serial: <filter>
fw-rev: 1A01 scheme: GPT
ID-1: / raw-size: 896.84 GiB size: 896.84 GiB (100.00%)
used: 80.04 GiB (8.9%) fs: btrfs dev: /dev/dm-1 maj-min: 254:1
mapped: luks-dee7fb91-a317-463d-affc-25302947eaa3
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 1.1 MiB (0.4%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 896.84 GiB size: 896.84 GiB (100.00%)
used: 80.04 GiB (8.9%) fs: btrfs dev: /dev/dm-1 maj-min: 254:1
mapped: luks-dee7fb91-a317-463d-affc-25302947eaa3
ID-4: /var/log raw-size: 896.84 GiB size: 896.84 GiB (100.00%)
used: 80.04 GiB (8.9%) fs: btrfs dev: /dev/dm-1 maj-min: 254:1
mapped: luks-dee7fb91-a317-463d-affc-25302947eaa3
ID-5: /var/tmp raw-size: 896.84 GiB size: 896.84 GiB (100.00%)
used: 80.04 GiB (8.9%) fs: btrfs dev: /dev/dm-1 maj-min: 254:1
mapped: luks-dee7fb91-a317-463d-affc-25302947eaa3
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: partition size: 34.38 GiB used: 0 KiB (0.0%)
priority: -2 dev: /dev/dm-0 maj-min: 254:0
mapped: luks-6d79df88-6590-481d-8b34-b690dbfa25db
ID-2: swap-2 type: zram size: 31.25 GiB used: 0 KiB (0.0%) priority: 100
comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 16 dev: /dev/zram0
System Temperatures: cpu: 55.1 C mobo: N/A gpu: amdgpu temp: 38.0 C
mem: 36.0 C
Fan Speeds (rpm): N/A gpu: amdgpu fan: 0
Memory: total: 32 GiB available: 31.25 GiB used: 8.52 GiB (27.3%)
Processes: 673 Power: uptime: 3h 1m states: freeze,mem,disk suspend: deep
avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
suspend, test_resume image: 12.48 GiB services: org_kde_powerdevil,
power-profiles-daemon, upowerd Init: systemd v: 255 default: graphical
tool: systemctl
Packages: 2669 pm: pacman pkgs: 2664 libs: 658 tools: gnome-software,
octopi, pamac, paru pm: flatpak pkgs: 5 Compilers: clang: 17.0.6
gcc: 13.2.1 Shell: garuda-inxi default: Bash v: 5.2.26 running-in: konsole
inxi: 3.3.34
Garuda (2.6.25-1):
System install date:     2024-04-13
Last full system update: 2024-04-16 ↻
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut
Windows dual boot:       No/Undetected
Failed units:

Why don’t you switch to wayland?

KDE Wayland gives me a black screen. I have to manually reboot and change the desktop environment at the next boot to Plasma X11 to get the GUI back.

Please restart the system.

Is baloo file indexer running? You might want to try turning it off. Baloo - ArchWiki , it can also be done with the gui as well you may have to restart for it to take full effect if you do it from the gui.

Might want to do some research cause the KDE finally beat it into submission.


So I attempted to use Wayland instead of Xorg as suggested by someone here. Using this command:

sudo pacman -S wayland wayland-utils xorg-wayland plasma-wayland-protocols plasma-wayland-session lib32-wayland

I reinstalled some packages. Upon restarting my computer and choosing KDE Wayland, I was finally able to bypass the black screen and get to a working desktop environment. My CPU usage has gone down significantly. It now tends to idle at around 2-3% with the occasional surge in usage. The computer is running much more quieter and cooler than before as well. My research on this topic also lead me to the conclusion that Xorg is a somewhat dated approach and that Wayland is much more stable and efficient; especially with AMD hardware. I will probably be going forward with Wayland in the future. There are some minor issues with Wayland like some weird text in a few programs and the full screen mode in DOTA 2 being a a bit janky but those are issues I am looking at separately.

Thanks to everyone who helped.

if you grab xdg-desktop-portal-gnome an restart the session it should fix your text problem on gtk apps.

Try this on a different kernel like arch or xanmod or CachyOS kernel and then see what happens

At least spell the kernel nqme correctly. It’s CachyOS.

oops my bad

btw its name not nqme

It would be nice if we could communicate normally here and stick to the forum rules.
I will continue to delete unsightly emojis that I find.


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.