Desktop screen flickering

Hello,

I have just made a fresh installation of the latest EndeavourOs Snapshot (Atlantis neo). Unfortunately my desktop is flickering - not constant but irregular without a noticable trigger and even while idle. It’s like having a kind of silent thunderstorm in my monitor with occasional lightnings :slight_smile:

However it is a quite disturbing and distracting and so I would like to ask for help. Thank you very much in advance for any suggestion and - hopefully - solution!

Things I observed:

  • The flickering happens even in the live session of a fresh USB Image. I tested different USB-sticks and have checked the .iso - file before flashing it.
  • The flickering seems not to be dependent on my desktop-environment. At least it happens under KDE and Xfce alike.
  • Same for Kernels (at least the standard and the zen kernel. My GPU is too new for 5.10 LTS)
  • I have used EndeavourOS before (same hardware setup) with the snapshot from Aug 27th. I have not experienced any kind of flickering I can remember of. And I am quite sure I would. :slight_smile:
  • For comparsion I have tested some other linux distributions. I have no flickering with OpenSuse Tumbleweed (KDE, 5.15 standard Kernel) and MX Linux 21 (Xfce, 5.14 standard Kernel), however Mageia 8 (KDE, XFce, 5.15 standard Kernel) has the same issue like EndeavourOS.
  • My Xorg.0.log has libinput-errors (see below)
  • My monitor usually uses a refresh rate of 144Hz. Reducing it to say 120Hz stops every flickering. Returning to 144Hz also returns flickering.

Things I tried

  • Searching the internet and the EndeavourOS-Forum. Most solutions point at the driver (mostly nvidia but I have an amd gpu) or the HDMI-cable. However I don’t think that the cable is the problem here as I have experienced flicker-free experience on other distributions/windows.
  • I have reinstalled my GPU-driver, mesa, AMD-firmware and everything I could identify to be related to my GPU or Xorg.
  • Changed and reinitialized the Kernel (standard & Zen).
  • Changed the Compositor from OpenGL 2.0 to OpenGL 3.1

My System

$ inxi -Fxxxza
System:
  Kernel: 5.15.10-zen1-1-zen x86_64 bits: 64 compiler: gcc v: 11.1.0
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=6fbbdc4b-f8a5-4a01-86b7-08e9432a51e6 rw rootflags=subvol=@
    quiet loglevel=3 nowatchdog nvme_load=YES
  Desktop: KDE Plasma 5.23.4 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: SDDM
    Distro: EndeavourOS base: Arch Linux
Machine:
  Type: Desktop System: Gigabyte product: X570 AORUS ULTRA v: -CF
    serial: <superuser required>
  Mobo: Gigabyte model: X570 AORUS ULTRA v: x.x
    serial: <superuser required> UEFI: American Megatrends LLC. v: F34
    date: 07/08/2021
CPU:
  Info: model: AMD Ryzen 7 3700X bits: 64 type: MT MCP arch: Zen 2
    family: 0x17 (23) model-id: 0x71 (113) stepping: 0 microcode: 0x8701021
  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: 2315 high: 3592 min/max: 2200/4426 boost: enabled
    scaling: driver: acpi-cpufreq governor: schedutil cores: 1: 2053 2: 3592
    3: 2052 4: 2055 5: 2195 6: 2195 7: 2194 8: 2195 9: 2052 10: 3590 11: 2053
    12: 2049 13: 2196 14: 2195 15: 2195 16: 2192 bogomips: 114983
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities:
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown 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: Full AMD retpoline, IBPB: conditional,
    STIBP: conditional, RSB filling
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: AMD Navi 22 [Radeon RX 6700/6700 XT / 6800M] vendor: XFX Limited
    driver: amdgpu v: kernel bus-ID: 0d:00.0 chip-ID: 1002:73df class-ID: 0300
  Display: x11 server: X.Org 1.21.1.2 compositor: kwin_x11 driver:
    loaded: amdgpu,ati unloaded: modesetting,radeon alternate: fbdev,vesa
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 2560x1440 s-dpi: 96 s-size: 677x381mm (26.7x15.0")
    s-diag: 777mm (30.6")
  Monitor-1: HDMI-A-0 res: 2560x1440 hz: 144 dpi: 93
    size: 697x393mm (27.4x15.5") diag: 800mm (31.5")
  OpenGL: renderer: AMD Radeon RX 6700 XT (NAVY_FLOUNDER DRM 3.42.0
    5.15.10-zen1-1-zen LLVM 13.0.0)
    v: 4.6 Mesa 21.3.2 direct render: Yes
Audio:
  Device-1: AMD Navi 21 HDMI Audio [Radeon RX 6800/6800 XT / 6900 XT]
    driver: snd_hda_intel v: kernel bus-ID: 0d:00.1 chip-ID: 1002:ab28
    class-ID: 0403
  Device-2: AMD Starship/Matisse HD Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel bus-ID: 0f:00.4 chip-ID: 1022:1487
    class-ID: 0403
  Sound Server-1: ALSA v: k5.15.10-zen1-1-zen running: yes
  Sound Server-2: JACK v: 1.9.19 running: no
  Sound Server-3: PulseAudio v: 15.0 running: no
  Sound Server-4: PipeWire v: 0.3.42 running: yes
Network:
  Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel bus-ID: 06:00.0
    chip-ID: 8086:2723 class-ID: 0280
  IF: wlan0 state: down mac: <filter>
  Device-2: Intel I211 Gigabit Network vendor: Gigabyte driver: igb
    v: kernel port: f000 bus-ID: 07:00.0 chip-ID: 8086:1539 class-ID: 0200
  IF: enp7s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: Intel AX200 Bluetooth type: USB driver: btusb v: 0.8
    bus-ID: 3-5:2 chip-ID: 8087:0029 class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 0 state: down bt-service: disabled
    rfk-block: hardware: no software: no address: see --recommends
Drives:
  Local Storage: total: 3.01 TiB used: 8.17 GiB (0.3%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: SSD 970 EVO Plus 1TB size: 931.51 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 2B2QEXM7 temp: 39.9 C scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:2 vendor: Samsung
    model: SSD 970 EVO Plus 500GB size: 465.76 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 2B2QEXM7 temp: 36.9 C scheme: GPT
  ID-3: /dev/nvme2n1 maj-min: 259:1 vendor: Samsung
    model: SSD 970 EVO Plus 500GB size: 465.76 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 2B2QEXM7 temp: 37.9 C scheme: GPT
  ID-4: /dev/sda maj-min: 8:0 vendor: Crucial model: CT1000MX500SSD1
    size: 931.51 GiB block-size: physical: 4096 B logical: 512 B
    speed: 6.0 Gb/s type: SSD serial: <filter> rev: 032 scheme: GPT
  ID-5: /dev/sdb maj-min: 8:16 vendor: Crucial model: CT250MX500SSD1
    size: 232.89 GiB block-size: physical: 4096 B logical: 512 B
    speed: 6.0 Gb/s type: SSD serial: <filter> rev: 043 scheme: GPT
  ID-6: /dev/sdc maj-min: 8:32 type: USB vendor: SanDisk model: Extreme
    size: 59.63 GiB block-size: physical: 512 B logical: 512 B type: N/A
    serial: <filter> rev: 0001 scheme: MBR
Partition:
  ID-1: / raw-size: 100 GiB size: 100 GiB (100.00%) used: 8.17 GiB (8.2%)
    fs: btrfs dev: /dev/nvme2n1p3 maj-min: 259:11
  ID-2: /boot/efi raw-size: 1024 MiB size: 1022 MiB (99.80%)
    used: 576 KiB (0.1%) fs: vfat dev: /dev/nvme2n1p2 maj-min: 259:10
  ID-3: /home raw-size: 100 GiB size: 100 GiB (100.00%)
    used: 8.17 GiB (8.2%) fs: btrfs dev: /dev/nvme2n1p3 maj-min: 259:11
  ID-4: /var/log raw-size: 100 GiB size: 100 GiB (100.00%)
    used: 8.17 GiB (8.2%) fs: btrfs dev: /dev/nvme2n1p3 maj-min: 259:11
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 16.8 C mobo: N/A gpu: amdgpu temp: 35.0 C
    mem: 34.0 C
  Fan Speeds (RPM): N/A gpu: amdgpu fan: 0
Info:
  Processes: 377 Uptime: 41m wakeups: 0 Memory: 31.35 GiB
  used: 3.2 GiB (10.2%) Init: systemd v: 249 tool: systemctl Compilers:
  gcc: 11.1.0 clang: 13.0.0 Packages: pacman: 991 lib: 255 Shell: Bash
  v: 5.1.12 running-in: konsole inxi: 3.3.11

Output of Xrandr

xrandr
Screen 0: minimum 320 x 200, current 2560 x 1440, maximum 16384 x 16384
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-2 disconnected (normal left inverted right x axis y axis)
HDMI-A-0 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 697mm x 393mm
   2560x1440    143.97*+ 120.00    99.95    59.95  
   3840x2160     60.00    50.00    59.94  
   1920x1200    143.97  
   1920x1080    120.00   119.88    60.00    60.00    50.00    59.94  
   1600x1200    143.97  
   1680x1050     59.88  
   1280x1024     75.02    60.02  
   1440x900      59.90  
   1280x960      60.00  
   1280x800     143.97  
   1152x864      75.00  
   1280x720     120.00   119.88    60.00    50.00    59.94  
   1440x576      50.00  
   1024x768      75.03    70.07    60.00  
   1440x480      60.00    59.94  
   800x600       72.19    75.00    60.32    56.25  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08

Errors from Xorg.0.log

4.451] (II) AMDGPU(0): Setting screen physical size to 677 x 381
4.454] (EE) AMDGPU(0): Failed to make import prime FD as pixmap: 22
4.561] (II) event3  - HDA ATI HDMI HDMI/DP,pcm=3: is tagged by udev as: Switch
4.587] (II) event3  - not using input device '/dev/input/event3'.
4.587] (EE) libinput: HDA ATI HDMI HDMI/DP,pcm=3: Failed to create a device for /dev/input/event3
4.587] (EE) PreInit returned 2 for "HDA ATI HDMI HDMI/DP,pcm=3"
4.587] (II) UnloadModule: "libinput"
4.587] (II) config/udev: Adding input device HDA ATI HDMI HDMI/DP,pcm=7 (/dev/input/event4)
4.587] (**) HDA ATI HDMI HDMI/DP,pcm=7: Applying InputClass "devname"
4.587] (II) Using input driver 'libinput' for 'HDA ATI HDMI HDMI/DP,pcm=7'
4.587] (**) HDA ATI HDMI HDMI/DP,pcm=7: always reports core events
4.587] (**) Option "Device" "/dev/input/event4"
4.587] (**) Option "_source" "server/udev"
4.588] (II) event4  - HDA ATI HDMI HDMI/DP,pcm=7: is tagged by udev as: Switch
4.615] (II) event4  - not using input device '/dev/input/event4'.
4.615] (EE) libinput: HDA ATI HDMI HDMI/DP,pcm=7: Failed to create a device for /dev/input/event4
4.615] (EE) PreInit returned 2 for "HDA ATI HDMI HDMI/DP,pcm=7"
4.615] (II) UnloadModule: "libinput"
4.615] (II) config/udev: Adding input device HDA ATI HDMI HDMI/DP,pcm=8 (/dev/input/event5)
4.615] (**) HDA ATI HDMI HDMI/DP,pcm=8: Applying InputClass "devname"
4.615] (II) Using input driver 'libinput' for 'HDA ATI HDMI HDMI/DP,pcm=8'
4.615] (**) HDA ATI HDMI HDMI/DP,pcm=8: always reports core events
4.615] (**) Option "Device" "/dev/input/event5"
4.615] (**) Option "_source" "server/udev"
4.616] (II) event5  - HDA ATI HDMI HDMI/DP,pcm=8: is tagged by udev as: Switch
4.647] (II) event5  - not using input device '/dev/input/event5'.
4.647] (EE) libinput: HDA ATI HDMI HDMI/DP,pcm=8: Failed to create a device for /dev/input/event5
4.647] (EE) PreInit returned 2 for "HDA ATI HDMI HDMI/DP,pcm=8"
4.647] (II) UnloadModule: "libinput"
4.647] (II) config/udev: Adding input device HDA ATI HDMI HDMI/DP,pcm=9 (/dev/input/event6)
4.647] (**) HDA ATI HDMI HDMI/DP,pcm=9: Applying InputClass "devname"
4.647] (II) Using input driver 'libinput' for 'HDA ATI HDMI HDMI/DP,pcm=9'
4.647] (**) HDA ATI HDMI HDMI/DP,pcm=9: always reports core events
4.647] (**) Option "Device" "/dev/input/event6"
4.647] (**) Option "_source" "server/udev"
4.648] (II) event6  - HDA ATI HDMI HDMI/DP,pcm=9: is tagged by udev as: Switch
4.675] (II) event6  - not using input device '/dev/input/event6'.
4.675] (EE) libinput: HDA ATI HDMI HDMI/DP,pcm=9: Failed to create a device for /dev/input/event6
4.675] (EE) PreInit returned 2 for "HDA ATI HDMI HDMI/DP,pcm=9"
4.675] (II) UnloadModule: "libinput"
4.675] (II) config/udev: Adding input device HDA ATI HDMI HDMI/DP,pcm=10 (/dev/input/event7)
4.675] (**) HDA ATI HDMI HDMI/DP,pcm=10: Applying InputClass "devname"
4.675] (II) Using input driver 'libinput' for 'HDA ATI HDMI HDMI/DP,pcm=10'
4.675] (**) HDA ATI HDMI HDMI/DP,pcm=10: always reports core events
4.675] (**) Option "Device" "/dev/input/event7"
4.675] (**) Option "_source" "server/udev"
4.676] (II) event7  - HDA ATI HDMI HDMI/DP,pcm=10: is tagged by udev as: Switch
4.703] (II) event7  - not using input device '/dev/input/event7'.
4.703] (EE) libinput: HDA ATI HDMI HDMI/DP,pcm=10: Failed to create a device for /dev/input/event7
4.703] (EE) PreInit returned 2 for "HDA ATI HDMI HDMI/DP,pcm=10"
4.703] (II) UnloadModule: "libinput"
4.703] (II) config/udev: Adding input device HDA ATI HDMI HDMI/DP,pcm=11 (/dev/input/event8)
4.703] (**) HDA ATI HDMI HDMI/DP,pcm=11: Applying InputClass "devname"
4.703] (II) Using input driver 'libinput' for 'HDA ATI HDMI HDMI/DP,pcm=11'
4.703] (**) HDA ATI HDMI HDMI/DP,pcm=11: always reports core events
4.703] (**) Option "Device" "/dev/input/event8"
4.703] (**) Option "_source" "server/udev"
4.704] (II) event8  - HDA ATI HDMI HDMI/DP,pcm=11: is tagged by udev as: Switch
4.731] (II) event8  - not using input device '/dev/input/event8'.
4.731] (EE) libinput: HDA ATI HDMI HDMI/DP,pcm=11: Failed to create a device for /dev/input/event8
4.731] (EE) PreInit returned 2 for "HDA ATI HDMI HDMI/DP,pcm=11"
4.731] (II) UnloadModule: "libinput"

Have you tried any of these kernel parameters?

amdgpu.dc=0 amdgpu.audio=0 amdgpu.dpm=0 amdgpu.aspm=0 amdgpu.runpm=0 amdgpu.bapm=0
1 Like

Not yet. Shall I try a specific one, one by one or all together?

You can use more than one at a time but maybe try one at a time and see. If you introduce one and it causes other issues than you can remove them.

Edit: Are you able to set 120 Hz for the same resolution and does it still flicker?

1 Like

The flickering is gone if I go down to 120Hz but it returns if I go back to 144Hz.

Well i guess if you can’t resolve it then 120Hz it is. Is there that much difference that you notice?

1 Like

Hard to tell, to be honest. Maybe while gaming but it is hard to tell if there is really a difference or imagination because I know that it is lower than usual :slight_smile:

However I guess it would feel a bit awkward because I know that other distributions work just fine at 144Hz and even Endeavour did it some months before. :woman_shrugging:

But maybe one of the kernel parameters will work, I have yet to try them. Thank you for them :slight_smile:

Are you using HDMI cable? What version is the cable. Does the output have Display port and also monitor?

1 Like

I am using HDMI and the version should support 144Hz. There are no problems with this refresh rate under windwos or opensuse for example.

In theory I could use display port aswell but my GPU (AMD Radeon 6700XT) behaves a bit weird with display port and my monitor often gets no signal. This seems to be a common issue and various people report this issue. So I switched to HDMI.

Well Display port should be no issue.

1 Like

I thought the same as I bought this GPU a half year ago. But it has proved me otherwise and according to the internet I am not alone with this problem :slight_smile:

However, HDMI works just fine - usually.

Well you need HDMI 2.1 cable if you want to do 144 HZ @ 2560x1140 or at least display port 1.4 with DSC 1.2

Edit: Cables spec matter

1 Like

Of course and I appreciate that you are so rigorous. :slight_smile:

I have checked both cables and according to the printing on them they are both allright.

Have you tried the kernel parameters yet?

1 Like

Is your UEFI Bios up to date?

Edit: Looks like F35d is out.

1 Like

Besides the UEFI Bios update F35d here’s another tidbit on cables.

1 Like

So far I have tried:

  • amdgpu.dc=0 → My Monitor lost the signal before entering the login-manager and I had to reboot
  • amdgpu.audio=0 → Boots to login-manager and desktop, flickering still present.
  • amdgpu.dpm=0 → My monitor lost the signal before entering the login-manager and my system freezes
  • amdgpu.aspm=0 → Boots to login-manager and desktop, flickering still present.

I stopped here to watch your video :slight_smile:

My BIOS is at F34 if I remember correctly. Do you think this could be a issue although windows and MX Linux/OpenSuse don’t show any flickering?

Thank you very much for your help so far, I will continue with the two remaining parameters as soon as I have finished watching the video. :slight_smile:

Edit:
The BIOS description for F35d tells me:

• Major vulnerabilities updates, customers are strongly encouraged to update to this release at the earliest.
• Introduce capsule BIOS support starting this version.

  1. Checksum : 2DFA
  2. Update AGESA ComboV2 1.2.0.4 A
  3. Change default status of AMD PSP fTPM to Enabled for addressing basic Windows 11 requirements

Edit 2:

  • amdgpu.runpm=0 → Boots to Login-Manager7Desktop, still flickering
  • amdgpu.bapm=0 → Same

I have checked the Xorg.0.log every time after a successful boot and the same errors appear as before. No changes there, unfortunately.

I don’t know if this an information of value but I have downloaded the snapshot from Aug 27th and there is no flickering while using the live system.

So maybe this is somehow related to an update of kernel or AMD driver in the meantime between August and December (Atlantis neo)? :thinking:

I will try to install the August snapshot tomorrow, save the logs and then update Endeavour to its current version. Maybe this will help to hunt down the problem.

Maybe try mesa-git and lib32-mesa-git

1 Like

I wonder if your issue is related to Freesync? I have experienced similar problems with G-Sync.

Did you try changing your monitor resolution/refresh rate through display settings? What about disabling compositing, under window manager tweaks (in xfce)?

1 Like