Frequent screen flickering on the X11

I have recently updated the system to linux kernel 6.9 and libplasma 6.0.4-1.1 and it was running on the Wayland (without Nvidia GPU) earlier with very less frequent flickering, but it was causing problem with CPU intensive task, so I had to switch to Xorg which is configured on the Nvidia GPU but here the flickering the more frequent than wayland.

$ lsb_release -sirc
ManjaroLinux 24.0.0 Wynsdey
$ inxi -zv8 --color 0
System:
  Kernel: 6.9.0-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.9-x86_64
    root=UUID=44e25003-1f04-4d4c-ae58-396e08b83bc4 rw splash
    udev.log_priority=3
  Desktop: KDE Plasma v: 6.0.4 tk: Qt v: N/A info: frameworks v: 6.1.0
    wm: kwin_x11 vt: 2 dm: SDDM Distro: Manjaro base: Arch Linux
Machine:
  Type: Laptop System: ASUSTeK product: TUF Gaming FX505GT_FX505GT v: 1.0
    serial: <superuser required>
  Mobo: ASUSTeK model: FX505GT v: 1.0 serial: <superuser required>
    uuid: <superuser required> UEFI: American Megatrends v: FX505GT.311
    date: 02/08/2021
Battery:
  ID-1: BAT0 charge: 44.3 Wh (100.0%) condition: 44.3/48.1 Wh (92.1%)
    volts: 12.8 min: 11.7 model: Simplo SDI ICR18650 type: Li-ion
    serial: <filter> status: full cycles: 41
Memory:
  System RAM: total: 16 GiB available: 15.47 GiB used: 2.78 GiB (17.9%)
  Message: For most reliable report, use superuser + dmidecode.
  Array-1: capacity: 64 GiB slots: 4 modules: 1 EC: None
    max-module-size: 16 GiB note: est.
  Device-1: ChannelA-DIMM0 type: no module installed
  Device-2: ChannelA-DIMM1 type: no module installed
  Device-3: ChannelB-DIMM0 type: DDR4 detail: synchronous size: 16 GiB
    speed: 2667 MT/s volts: note: check curr: 1 min: 1 max: 1 width (bits):
    data: 64 total: 64 manufacturer: Samsung part-no: M471A2K43DB1-CTD
    serial: <filter>
  Device-4: ChannelB-DIMM1 type: no module installed
PCI Slots:
  Permissions: Unable to run dmidecode. Root privileges required.
CPU:
  Info: model: Intel Core i7-9750H bits: 64 type: MT MCP arch: Coffee Lake
    gen: core 9 level: v3 note: check built: 2018 process: Intel 14nm family: 6
    model-id: 0x9E (158) stepping: 0xA (10) microcode: 0xF6
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 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: 800 high: 801 min/max: 800/4500 scaling:
    driver: intel_pstate governor: powersave cores: 1: 800 2: 800 3: 800 4: 800
    5: 800 6: 800 7: 800 8: 800 9: 800 10: 801 11: 800 12: 800 bogomips: 62431
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat
    arch_capabilities arch_perfmon art avx avx2 bmi1 bmi2 bts clflush
    clflushopt cmov constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64
    dtherm dts epb ept ept_ad erms est f16c flexpriority flush_l1d fma fpu
    fsgsbase fxsr ht hwp hwp_act_window hwp_epp hwp_notify ibpb ibrs ida
    intel_pt invpcid lahf_lm lm mca mce md_clear mmx monitor movbe mpx msr
    mtrr nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq pdcm pdpe1gb pebs pge
    pln pni popcnt pse pse36 pti pts rdrand rdseed rdtscp rep_good sdbg sep
    smap smep ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp syscall tm tm2
    tpr_shadow tsc tsc_adjust tsc_deadline_timer vme vmx vnmi vpid x2apic
    xgetbv1 xsave xsavec xsaveopt xsaves xtopology xtpr
  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 status: Not affected
Graphics:
  Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630] vendor: ASUSTeK
    driver: i915 v: kernel arch: Gen-9.5 process: Intel 14nm built: 2016-20
    ports: active: eDP-1 empty: none bus-ID: 00:02.0 chip-ID: 8086:3e9b
    class-ID: 0300
  Device-2: NVIDIA TU117M [GeForce GTX 1650 Mobile / Max-Q] vendor: ASUSTeK
    driver: nvidia v: 550.78 alternate: nouveau,nvidia_drm non-free: 550.xx+
    status: current (as of 2024-04; EOL~2026-12-xx) arch: Turing code: TUxxx
    process: TSMC 12nm FF built: 2018-2022 pcie: gen: 3 speed: 8 GT/s
    lanes: 16 bus-ID: 01:00.0 chip-ID: 10de:1f91 class-ID: 0300
  Device-3: IMC Networks USB2.0 HD UVC WebCam driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-11:2
    chip-ID: 13d3:56a2 class-ID: 0e02 serial: <filter>
  Display: x11 server: X.Org v: 21.1.13 with: Xwayland v: 23.2.6
    compositor: kwin_x11 driver: X: loaded: modesetting,nvidia
    alternate: fbdev,nouveau,nv,vesa dri: iris gpu: i915 display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: eDP-1 model: ChiMei InnoLux 0x1521 built: 2020 res: 1920x1080
    dpi: 142 gamma: 1.2 chroma: red: x: 0.592 y: 0.349 green: x: 0.329 y: 0.557
    blue: x: 0.153 y: 0.118 white: x: 0.314 y: 0.329
    size: 344x193mm (13.54x7.6") diag: 394mm (15.5") ratio: 16:9
    modes: 1920x1080
  API: EGL v: 1.5 hw: drv: intel iris drv: nvidia platforms: device: 0
    drv: nvidia device: 1 drv: iris device: 3 drv: swrast gbm: drv: kms_swrast
    surfaceless: drv: nvidia x11: drv: iris inactive: wayland,device-2
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: intel mesa v: 24.0.6-manjaro1.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel UHD Graphics 630 (CFL
    GT2) device-ID: 8086:3e9b memory: 15.11 GiB unified: yes
  API: Vulkan v: 1.3.279 layers: 5 device: 0 type: discrete-gpu
    name: NVIDIA GeForce GTX 1650 driver: nvidia v: 550.78 device-ID: 10de:1f91
    surfaces: xcb,xlib
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: ASUSTeK
    driver: sof-audio-pci-intel-cnl alternate: snd_hda_intel, 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: NVIDIA vendor: ASUSTeK driver: snd_hda_intel v: kernel pcie:
    gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 01:00.1 chip-ID: 10de:10fa
    class-ID: 0403
  API: ALSA v: k6.9.0-1-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.0.5 status: off with: wireplumber status: active
    tools: pw-cli,wpctl
  Server-3: PulseAudio v: 17.0 status: active with: pulseaudio-alsa
    type: plugin tools: pacat,pactl
Network:
  Device-1: Intel Cannon Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    modules: wl bus-ID: 00:14.3 chip-ID: 8086:a370 class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  IP v4: <filter> type: dynamic scope: global broadcast: <filter>
  IP v6: <filter> type: noprefixroute scope: link
  IP v6: <filter> scope: link
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: ASUSTeK driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: 3000 bus-ID: 03:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp3s0 state: down mac: <filter>
  Info: services: NetworkManager, sshd, systemd-timesyncd, wpa_supplicant
  WAN IP: <filter>
Bluetooth:
  Device-1: Intel Bluetooth 9460/9560 Jefferson Peak (JfP) driver: btusb
    v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-14:3
    chip-ID: 8087:0aaa class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 1.38 TiB used: 407.14 GiB (28.9%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Micron
    model: 2200V MTFDHBA512TCK size: 476.94 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: P1MA0V4 temp: 36.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 870 EVO 1TB
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 3B6Q scheme: GPT
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 185.24 GiB size: 181.28 GiB (97.86%)
    used: 93.36 GiB (51.5%) fs: ext4 dev: /dev/nvme0n1p3 maj-min: 259:3
    label: N/A uuid: 44e25003-1f04-4d4c-ae58-396e08b83bc4
  ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%)
    used: 288 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1 label: N/A
    uuid: 5EAB-DF4A
  ID-3: /home raw-size: 283.38 GiB size: 277.87 GiB (98.06%)
    used: 151.98 GiB (54.7%) fs: ext4 dev: /dev/nvme0n1p5 maj-min: 259:4
    label: Home FS uuid: bfedcb7c-0b0f-4b4b-a600-bccac5dfa4b6
  ID-4: /mnt/Dump raw-size: 781.51 GiB size: 768.17 GiB (98.29%)
    used: 140.11 GiB (18.2%) fs: ext4 dev: /dev/sda2 maj-min: 8:2 label: Misc
    uuid: 1d4f105c-ff09-4ba4-960d-7e968d38304d
  ID-5: /mnt/Projects raw-size: 150 GiB size: 146.59 GiB (97.72%)
    used: 21.69 GiB (14.8%) fs: ext4 dev: /dev/sda1 maj-min: 8:1 label: Projects
    uuid: d1447d2a-4f0a-479e-b882-298a77094592
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: yes
    compressor: zstd max-pool: 20%
  ID-1: swap-1 type: partition size: 7.81 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme0n1p2 maj-min: 259:2 label: N/A
    uuid: 0acb163f-1be1-4311-9a63-2a70453ecf15
Unmounted:
  Message: No unmounted partitions found.
USB:
  Hub-1: 1-0:1 info: hi-speed hub with single TT ports: 16 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Device-1: 1-11:2 info: IMC Networks USB2.0 HD UVC WebCam type: video
    driver: uvcvideo interfaces: 2 rev: 2.0 speed: 480 Mb/s (57.2 MiB/s)
    lanes: 1 mode: 2.0 power: 500mA chip-ID: 13d3:56a2 class-ID: 0e02
    serial: <filter>
  Device-2: 1-14:3 info: Intel Bluetooth 9460/9560 Jefferson Peak (JfP)
    type: bluetooth driver: btusb interfaces: 2 rev: 2.0
    speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1 power: 100mA
    chip-ID: 8087:0aaa class-ID: e001
  Hub-2: 2-0:1 info: super-speed hub ports: 8 rev: 3.1
    speed: 10 Gb/s (1.16 GiB/s) lanes: 1 mode: 3.2 gen-2x1 chip-ID: 1d6b:0003
    class-ID: 0900
Sensors:
  System Temperatures: cpu: 40.0 C pch: 48.0 C mobo: N/A
  Fan Speeds (rpm): cpu: 2400
Repos:
  Packages: pm: pacman pkgs: 2030 libs: 441 tools: pamac,yay
  Active pacman repo servers in: /etc/pacman.d/mirrorlist
    1: http://ossmirror.mycloud.services/os/linux/manjaro/stable/$repo/$arch
    2: https://mirror.albony.xyz/manjaro/stable/$repo/$arch
    3: https://mirror.freedif.org/Manjaro/stable/$repo/$arch
Processes:
  CPU top: 5 of 303
  1: cpu: 22.3% command: brave pid: 5972 mem: 230.9 MiB (1.4%)
  2: cpu: 20.5% command: brave pid: 5118 mem: 266.1 MiB (1.6%)
  3: cpu: 14.0% command: brave pid: 5050 mem: 516.4 MiB (3.2%)
  4: cpu: 12.8% command: brave pid: 5091 mem: 185.6 MiB (1.1%)
  5: cpu: 5.0% command: Xorg pid: 759 mem: 112.5 MiB (0.7%)
  Memory top: 5 of 303
  1: mem: 516.4 MiB (3.2%) command: brave pid: 5050 cpu: 14.0%
  2: mem: 497.7 MiB (3.1%) command: telegram-desktop pid: 1187 cpu: 0.4%
  3: mem: 293.8 MiB (1.8%) command: plasmashell pid: 966 cpu: 1.3%
  4: mem: 266.1 MiB (1.6%) command: brave pid: 5118 cpu: 20.5%
  5: mem: 230.9 MiB (1.4%) command: brave pid: 5972 cpu: 22.3%
Info:
  Processes: 303 Power: uptime: 15m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 6.18 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 255 default: graphical
    tool: systemctl
  Compilers: clang: 17.0.6 gcc: 13.2.1 Shell: Bash v: 5.2.26
    running-in: konsole inxi: 3.3.34

$ mhwd -li
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-prime            2023.03.23               false            PCI
     video-modesetting            2020.01.13                true            PCI
   network-broadcom-wl            2018.10.07               false            PCI

$ mhwd-kernel -li
Currently running: 6.9.0-1-MANJARO (linux69)
The following kernels are installed in your system:
   * linux68
   * linux69

Key Points

  1. On 144Hz it is hard to see any text as the flickering very very frequent and takes some time to load the screen, so I am running 60 Hz.
  2. I recently got my laptop display fixed ref

Additional Note: It fickered more than 10 times while writing this post. Luckily keyboard inputs are not getting lost or what ever but they are buffered and then appear all in once. I usually have fast typing speed.

Update: I am running 6.8.9-3-MANJARO, and flickering happened during splash screen and it still happen but infrequent and for very short time (impulse of flicker)

I can’t exactly tell if that helps, but it could help… because it fixed flickering that i had long time ago till nvidia fixed it with their drivers.

You can maybe try this out.

Nvidia Black Flickering/Flashes workaround:
In /etc/default/grub “add” nvidia_drm.modeset=1 to the GRUB_CMDLINE_LINUX_DEFAULT line:

GRUB_CMDLINE_LINUX_DEFAULT=“nvidia_drm.modeset=1”

Save the file and after you done this command:

sudo update-grub

Don’t replace the line, just add this command: nvidia_drm.modeset=1

first, you’re on intel (sgi) and not on nvidia
second, this update installed only the hardware-acceleration for wayland and the x11-hardware acceleration must be installed manually

 echo $XDG_SESSION_TYPE && glxinfo | grep server

sgi ? → switch to nvidia

pamac search libva-vdpau-driver

libva-vdpau-driver-wayland installed but

libva-vdpau-driver

not ? install the package

Then why nvidia-smi show Xorg process?

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.78                 Driver Version: 550.78         CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 1650        Off |   00000000:01:00.0 Off |                  N/A |
| N/A   39C    P5              5W /   20W |       6MiB /   4096MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A       740      G   /usr/lib/Xorg                                   4MiB |
+-----------------------------------------------------------------------------------------+

Yes

$ pamac search libva-vdpau-driver
lib32-libva-vdpau-driver  0.7.4-7 [Installed]                                                                multilib
    VDPAU backend for VA API (32-bit)
libva-vdpau-driver  0.7.4-6 [Installed]                                                                         extra
    VDPAU backend for VA API

I can’t reach to the greeter session after adding this, is there any to fix this or should I prepare live boot and then edit the group file?

In 6.8 kernel

In 6.9 kernel

It sounds like the plymouth bug, prepare live boot and chroot,
then remove splash from grub… you can still add nvidia_drm.modeset=1 if you want.

Save the file and…

sudo update-grub

If it is a plymouth issue you don’t need to boot from a live image to get into your system. Spam the SHIFT key after boot to bring up the GRUB menu, press E to edit kernel parameters, and remove splash.

That is only temporary so you still need to update grub once you’re in.

1 Like

Nope, not working that either. I will try to remove this from chroot. and test again