I’m experiencing an issue with black flickering whenever I go beyond 60Hz on my HDR OLED screen using Manjaro. The flickering happens across multiple window managers (KDE Plasma, XFCE, etc.) and is persistent with different settings and configurations. However, I don’t encounter this problem when using Windows, where I can run the monitor at 240Hz without issues. On Manjaro, the refresh rate seems to be limited to 144Hz, even though the monitor and hardware support 240Hz.
some info:
inxi --full --admin --filter --width ✔
System:
Kernel: 6.11.2-4-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
clocksource: tsc avail: hpet,acpi_pm
parameters: BOOT_IMAGE=/boot/vmlinuz-6.11-x86_64
root=UUID=03c5722f-62d8-490f-9575-e89e8a635c5b rw quiet splash
udev.log_priority=3
Desktop: KDE Plasma v: 6.1.5 tk: Qt v: N/A info: frameworks v: 6.6.0
wm: kwin_x11 tools: avail: xfce4-screensaver vt: 2 dm: SDDM Distro: Manjaro
base: Arch Linux
Machine:
Type: Desktop System: ASUS product: N/A v: N/A serial: <superuser required>
Mobo: ASUSTeK model: ROG STRIX Z390-F GAMING v: Rev 1.xx
serial: <superuser required> part-nu: ASUS_MB_CNL uuid: <superuser required>
UEFI: American Megatrends v: 1903 date: 07/08/2021
CPU:
Info: model: Intel Core i7-8700K bits: 64 type: MT MCP arch: Coffee Lake
gen: core 8 level: v3 note: check built: 2018 process: Intel 14nm family: 6
model-id: 0x9E (158) stepping: 0xA (10) microcode: 0xF8
Topology: cpus: 1x dies: 1 clusters: 6 cores: 6 threads: 12 tpc: 2
smt: enabled cache: L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB
desc: 6x256 KiB L3: 12 MiB desc: 1x12 MiB
Speed (MHz): avg: 799 min/max: 800/4700 scaling: driver: intel_pstate
governor: powersave cores: 1: 799 2: 799 3: 799 4: 799 5: 799 6: 799 7: 799
8: 799 9: 799 10: 799 11: 799 12: 799 bogomips: 88824
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities:
Type: gather_data_sampling mitigation: Microcode
Type: itlb_multihit status: KVM: VMX disabled
Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT
vulnerable
Type: mds mitigation: Clear CPU buffers; SMT vulnerable
Type: meltdown mitigation: PTI
Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
Type: reg_file_data_sampling status: Not affected
Type: retbleed mitigation: IBRS
Type: spec_rstack_overflow status: Not affected
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
prctl
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
sanitization
Type: spectre_v2 mitigation: IBRS; IBPB: conditional; STIBP: conditional;
RSB filling; PBRSB-eIBRS: Not affected; BHI: Not affected
Type: srbds mitigation: Microcode
Type: tsx_async_abort mitigation: TSX disabled
Graphics:
Device-1: Advanced Micro Devices [AMD/ATI] Navi 21 [Radeon RX 6900 XT]
vendor: Tul / PowerColor 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: HDMI-A-1 empty: DP-1, DP-2, DP-3, Writeback-1
bus-ID: 03:00.0 chip-ID: 1002:73af class-ID: 0300
Display: x11 server: X.Org v: 21.1.13 with: Xwayland v: 24.1.2
compositor: kwin_x11 driver: X: loaded: amdgpu dri: radeonsi gpu: amdgpu
display-ID: :0 screens: 1
Screen-1: 0 s-res: 2560x1440 s-dpi: 96 s-size: 676x380mm (26.61x14.96")
s-diag: 775mm (30.53")
Monitor-1: HDMI-A-1 mapped: HDMI-A-0 model: LG (GoldStar) ULTRAGEAR+
serial: <filter> built: 2023 res: 2560x1440 dpi: 110 gamma: 1.2
size: 590x333mm (23.23x13.11") diag: 677mm (26.7") ratio: 16:9 modes:
max: 3840x2160 min: 640x480
API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
device: 1 drv: swrast gbm: drv: kms_swrast surfaceless: drv: radeonsi x11:
drv: radeonsi inactive: wayland
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.2.4-arch1.0.1
glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 6900 XT (radeonsi
navi21 LLVM 18.1.8 DRM 3.59 6.11.2-4-MANJARO) device-ID: 1002:73af
memory: 15.62 GiB unified: no
API: Vulkan v: 1.3.295 layers: 1 device: 0 type: discrete-gpu
name: AMD Radeon RX 6900 XT driver: amd v: 2024.Q3.2 (LLPC)
device-ID: 1002:73af surfaces: xcb,xlib
Audio:
Device-1: Intel Cannon Lake PCH cAVS vendor: ASUSTeK driver: snd_hda_intel
v: kernel alternate: snd_soc_skl, snd_soc_avs, snd_sof_pci_intel_cnl
bus-ID: 00:1f.3 chip-ID: 8086:a348 class-ID: 0403
Device-2: Advanced Micro Devices [AMD/ATI] Navi 21/23 HDMI/DP Audio
driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 03:00.1 chip-ID: 1002:ab28 class-ID: 0403
API: ALSA v: k6.11.2-4-MANJARO status: kernel-api with: aoss
type: oss-emulator tools: alsactl,alsamixer,amixer
Server-1: JACK v: 1.9.22 status: off tools: N/A
Server-2: PipeWire v: 1.2.5 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: Intel Ethernet I219-V vendor: ASUSTeK driver: e1000e v: kernel
port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15bc class-ID: 0200
IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter>
Info: services: NetworkManager,systemd-timesyncd
Drives:
Local Storage: total: 1.38 TiB used: 16.48 GiB (1.2%)
SMART Message: Required tool smartctl not installed. Check --recommends
ID-1: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 860 EVO 500GB
size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
tech: SSD serial: <filter> fw-rev: 4B6Q scheme: GPT
ID-2: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 870 QVO 1TB
size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
tech: SSD serial: <filter> fw-rev: 2B6Q scheme: GPT
ID-3: /dev/sdc maj-min: 8:32 vendor: SanDisk model: Cruzer Blade
size: 14.61 GiB block-size: physical: 512 B logical: 512 B type: USB rev: 2.0
spd: 480 Mb/s lanes: 1 mode: 2.0 tech: N/A serial: <filter> fw-rev: 1.00
scheme: MBR
Partition:
ID-1: / raw-size: 465.46 GiB size: 457.09 GiB (98.20%) used: 16.46 GiB (3.6%)
fs: ext4 dev: /dev/sda2 maj-min: 8:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 25.9 MiB (8.6%) fs: vfat dev: /dev/sda1 maj-min: 8:1
Swap:
Alert: No swap data was found.
Sensors:
System Temperatures: cpu: 36.0 C mobo: N/A gpu: amdgpu temp: 48.0 C
mem: 46.0 C
Fan Speeds (rpm): cpu: 0 gpu: amdgpu fan: 0
Info:
Memory: total: 16 GiB available: 15.53 GiB used: 2.97 GiB (19.1%)
Processes: 307 Power: uptime: 9m states: freeze,mem,disk suspend: deep
avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
suspend, test_resume image: 6.19 GiB services: org_kde_powerdevil,
power-profiles-daemon, upowerd Init: systemd v: 256 default: graphical
tool: systemctl
Packages: pm: pacman pkgs: 1323 libs: 377 tools: pamac,yay pm: flatpak
pkgs: 0 Compilers: gcc: 14.2.1 Shell: Zsh v: 5.9 default: Bash v: 5.2.37
running-in: konsole inxi: 3.3.36
1386.050] (II) AMDGPU(0): EDID vendor "GSM", prod id 23603
[ 1386.050] (II) AMDGPU(0): Using hsync ranges from config file
[ 1386.050] (II) AMDGPU(0): Using vrefresh ranges from config file
[ 1386.050] (II) AMDGPU(0): Printing DDC gathered Modelines:
[ 1386.050] (II) AMDGPU(0): Modeline "2560x1440"x0.0 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync (88.8 kHz e)
[ 1386.051] (--) AMDGPU(0): HDMI max TMDS frequency 340000KHz
sudo dmesg |grep -i amdgpu
[ 3.703840] [drm] amdgpu kernel modesetting enabled.
[ 3.703983] amdgpu: Virtual CRAT table created for CPU
[ 3.703992] amdgpu: Topology: Add CPU node
[ 3.704071] amdgpu 0000:03:00.0: enabling device (0006 -> 0007)
[ 3.707131] amdgpu 0000:03:00.0: amdgpu: Fetched VBIOS from VFCT
[ 3.707134] amdgpu: ATOM BIOS: 113-D41213-XTXH
[ 3.754144] amdgpu 0000:03:00.0: vgaarb: deactivate vga console
[ 3.754147] amdgpu 0000:03:00.0: amdgpu: Trusted Memory Zone (TMZ) feature disabled as experimental (default)
[ 3.754165] amdgpu 0000:03:00.0: amdgpu: MEM ECC is not presented.
[ 3.754166] amdgpu 0000:03:00.0: amdgpu: SRAM ECC is not presented.
[ 3.754178] amdgpu 0000:03:00.0: amdgpu: VRAM: 16368M 0x0000008000000000 - 0x00000083FEFFFFFF (16368M used)
[ 3.754180] amdgpu 0000:03:00.0: amdgpu: GART: 512M 0x0000000000000000 - 0x000000001FFFFFFF
[ 3.754318] [drm] amdgpu: 16368M of VRAM memory ready
[ 3.754320] [drm] amdgpu: 7952M of GTT memory ready.
[ 5.074836] amdgpu 0000:03:00.0: amdgpu: STB initialized to 2048 entries
[ 5.141220] amdgpu 0000:03:00.0: amdgpu: reserve 0xa00000 from 0x83fd000000 for PSP TMR
[ 5.289604] amdgpu 0000:03:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[ 5.289632] amdgpu 0000:03:00.0: amdgpu: smu driver if version = 0x00000040, smu fw if version = 0x00000041, smu fw program = 0, version = 0x003a5a00 (58.90.0)
[ 5.289645] amdgpu 0000:03:00.0: amdgpu: SMU driver if version not matched
[ 5.289678] amdgpu 0000:03:00.0: amdgpu: use vbios provided pptable
[ 5.363436] amdgpu 0000:03:00.0: amdgpu: SMU is initialized successfully!
[ 5.506207] amdgpu: HMM registered 16368MB device memory
[ 5.507457] kfd kfd: amdgpu: Allocated 3969056 bytes on gart
[ 5.507466] kfd kfd: amdgpu: Total number of KFD nodes to be created: 1
[ 5.507629] amdgpu: Virtual CRAT table created for GPU
[ 5.508208] amdgpu: Topology: Add dGPU node [0x73af:0x1002]
[ 5.508209] kfd kfd: amdgpu: added device 1002:73af
[ 5.508233] amdgpu 0000:03:00.0: amdgpu: SE 4, SH per SE 2, CU per SH 10, active_cu_number 80
[ 5.508236] amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[ 5.508237] amdgpu 0000:03:00.0: amdgpu: ring gfx_0.1.0 uses VM inv eng 1 on hub 0
[ 5.508238] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 4 on hub 0
[ 5.508239] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 5 on hub 0
[ 5.508240] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[ 5.508241] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[ 5.508242] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[ 5.508242] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[ 5.508243] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[ 5.508244] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[ 5.508245] amdgpu 0000:03:00.0: amdgpu: ring kiq_0.2.1.0 uses VM inv eng 12 on hub 0
[ 5.508246] amdgpu 0000:03:00.0: amdgpu: ring sdma0 uses VM inv eng 13 on hub 0
[ 5.508247] amdgpu 0000:03:00.0: amdgpu: ring sdma1 uses VM inv eng 14 on hub 0
[ 5.508248] amdgpu 0000:03:00.0: amdgpu: ring sdma2 uses VM inv eng 15 on hub 0
[ 5.508249] amdgpu 0000:03:00.0: amdgpu: ring sdma3 uses VM inv eng 16 on hub 0
[ 5.508249] amdgpu 0000:03:00.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 on hub 8
[ 5.508250] amdgpu 0000:03:00.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng 1 on hub 8
[ 5.508251] amdgpu 0000:03:00.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng 4 on hub 8
[ 5.508252] amdgpu 0000:03:00.0: amdgpu: ring vcn_dec_1 uses VM inv eng 5 on hub 8
[ 5.508253] amdgpu 0000:03:00.0: amdgpu: ring vcn_enc_1.0 uses VM inv eng 6 on hub 8
[ 5.508254] amdgpu 0000:03:00.0: amdgpu: ring vcn_enc_1.1 uses VM inv eng 7 on hub 8
[ 5.508255] amdgpu 0000:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 8 on hub 8
[ 5.510473] amdgpu 0000:03:00.0: amdgpu: Using BACO for runtime pm
[ 5.511097] [drm] Initialized amdgpu 3.59.0 for 0000:03:00.0 on minor 1
[ 5.525319] fbcon: amdgpudrmfb (fb0) is primary device
[ 5.525322] amdgpu 0000:03:00.0: [drm] fb0: amdgpudrmfb frame buffer device
[ 6.926690] snd_hda_intel 0000:03:00.1: bound 0000:03:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
I tried creating a /etc/X11/xorg.conf.d/20-amdgpu.conf
file with the following lines:
Section "OutputClass"
Identifier "AMD"
MatchDriver "amdgpu"
Driver "amdgpu"
Option "TearFree" "true"
Option "EnablePageFlip" "off"
EndSection
but this didn’t resolve the flickering… How can I fix the flickering issue and unlock the full 240Hz refresh rate?