Flickering and graphic problems under Leap 15.6 - KDE

Hello Everyone,
I already asked you some time ago, about a problem, where I was stuck with the wrong display resolution after a fresh install.
(see: Stuck with wrong resolution after fresh install)

After (a fresh) install of openSUSE Leap 15.6, I had the same display issues again (I went with KDE this time, instead of XFCE). I went through the same steps as last time and it still works by installing the nvidia driver - but it seems to be more of a patchwork solution because I get the screen flickering I also mentioned in the post (it is so strong I canā€™t really look at the screen for a long time).
A solution on KDE is to switch to wayland where there is no flickering unless I activate ā€œAdaptive Scalingā€, then the flickering is noticeable again - but less strong than under X11. There is always a flickering on the login screen. The other problem is that some applications (mainly the ones I installed not the ones installed bz default like libreoffice) are buggy, their windows become black for a while before getting back to normal.

Another issue I noticed is, that although the Nvidia-Drivers seem to be installed I do not get any nvidia-settings if I type the command in the cli (as @malcolmlewis suggested). I am only getting ā€˜command not foundā€™. So maybe I did not install them correctly?

My Graphics card is an NVIDIA GeForce RTX 2070 Super.

Does anyone of you have an idea of how we could try to troubleshoot this?

@CopepodLover Hi, can you post the output from;

inxi -GSaz
zypper se suse-prime nvidia
inxi -GSaz
System:
  Kernel: 6.4.0-150600.21-default arch: x86_64 bits: 64 compiler: gcc v: 7.5.0
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.4.0-150600.21-default
    root=/dev/mapper/system-root splash=silent resume=/dev/system/swap
    preempt=full mitigations=auto quiet security=apparmor
  Desktop: KDE Plasma v: 5.27.11 tk: Qt v: 5.15.12 wm: kwin_wayland vt: 3
    dm: SDDM Distro: openSUSE Leap 15.6
Graphics:
  Device-1: NVIDIA TU104 [GeForce RTX 2070 SUPER] vendor: Gigabyte
    driver: nvidia v: 550.90.07 alternate: nouveau,nvidia_drm non-free: 530.xx+
    status: current (as of 2023-05) arch: Turing code: TUxxx
    process: TSMC 12nm FF built: 2018-22 pcie: gen: 3 speed: 8 GT/s lanes: 16
    ports: active: none off: DP-1 empty: DP-2,DP-3,HDMI-A-1 bus-ID: 07:00.0
    chip-ID: 10de:1e84 class-ID: 0300
  Display: wayland server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.4
    compositor: kwin_wayland driver: X: loaded: nvidia
    unloaded: fbdev,modesetting,vesa alternate: nouveau,nv gpu: nvidia
    display-ID: 0
  Monitor-1: DP-1 res: 2226x1252 size: N/A modes: N/A
  API: OpenGL v: 4.6.0 NVIDIA 550.90.07 renderer: NVIDIA GeForce RTX 2070
    SUPER/PCIe/SSE2 direct-render: Yes

The next one:

zypper se suse-prime nvidia
Repository                                                   : Time since last refresh
repo-non-free (15.6)                                         : 9 h 47 min 
repo-non-oss (15.6)                                          : 9 h 47 min 
repo-openh264 (15.6)                                         : 9 h 47 min 
repo-oss (15.6)                                              : 9 h 47 min 
update-backports (15.6)                                      : 9 h 47 min 
update-non-oss (15.6)                                        : 9 h 47 min 
update-oss (15.6)                                            : 9 h 47 min 
update-sle (15.6)                                            : 9 h 47 min 
packman-essentials                                           : 9 h 47 min 
Update repository of openSUSE Backports                      : 9 h 47 min 
Non-OSS Repository                                           : 9 h 47 min 
Open H.264 Codec (openSUSE Leap)                             : 9 h 47 min 
Haupt-Repository                                             : 9 h 47 min 
Update repository with updates from SUSE Linux Enterprise 15 : 9 h 47 min 
Hauptaktualisierungs-Repository                              : 9 h 47 min 
Aktualisierungs-Repository (Nicht-Open-Source-Software)      : 9 h 47 min 


    Note: Running with user privileges. From time to time run 'zypper refresh' as root to make sure
    the repository metadata are complete and up-to-date.

Repository-Daten werden geladen...
Installierte Pakete werden gelesen...

S  | Name                                        | Summary                                                                       | Type
---+---------------------------------------------+-------------------------------------------------------------------------------+------
i  | kernel-firmware-nvidia                      | Kernel firmware files for Nvidia Tegra and graphics drivers                   | Paket
   | kernel-firmware-nvidia-gsp-G06              | Kernel firmware file for open NVIDIA kernel module driver G06                 | Paket
   | kernel-firmware-nvidia-gspx-G06             | Kernel firmware file for open NVIDIA kernel module driver G06                 | Paket
   | libnvidia-container-devel                   | NVIDIA container runtime library (development files)                          | Paket
   | libnvidia-container-static                  | NVIDIA container runtime library (static library)                             | Paket
   | libnvidia-container-tools                   | NVIDIA container runtime library (command-line tools)                         | Paket
   | libnvidia-container1                        | NVIDIA container runtime library                                              | Paket
   | libnvidia-egl-wayland-devel                 | Development package for libnvidia-egl-wayland                                 | Paket
   | libnvidia-egl-wayland1                      | The EGLStream-based Wayland external platform                                 | Paket
i  | nvidia-compute-G06                          | NVIDIA driver for computing with GPGPU                                        | Paket
i  | nvidia-compute-G06-32bit                    | 32bit NVIDIA driver for computing with GPGPU                                  | Paket
   | nvidia-compute-utils-G06                    | NVIDIA driver tools for computing with GPGPU                                  | Paket
   | nvidia-computeG05                           | NVIDIA driver for computing with GPGPU                                        | Paket
   | nvidia-computeG05-32bit                     | 32bit NVIDIA driver for computing with GPGPU                                  | Paket
   | nvidia-container-runtime                    | NVIDIA Container Runtime                                                      | Paket
   | nvidia-container-toolkit                    | NVIDIA Container Toolkit                                                      | Paket
i+ | nvidia-driver-G06-kmp-default               | NVIDIA graphics driver kernel module for GeForce 700 series and newer         | Paket
   | nvidia-drivers-G06                          | Meta package for full installations (X, GL, etc.)                             | Paket
   | nvidia-drivers-minimal-G06                  | Meta package for compute only installations                                   | Paket
   | nvidia-gfxG05-kmp-default                   | NVIDIA graphics driver kernel module for GeForce 600 series and newer         | Paket
i  | nvidia-gl-G06                               | NVIDIA OpenGL libraries for OpenGL acceleration                               | Paket
i  | nvidia-gl-G06-32bit                         | 32bit NVIDIA OpenGL libraries for OpenGL acceleration                         | Paket
   | nvidia-glG05                                | NVIDIA OpenGL libraries for OpenGL acceleration                               | Paket
   | nvidia-glG05-32bit                          | 32bit NVIDIA OpenGL libraries for OpenGL acceleration                         | Paket
   | nvidia-open-driver-G06-signed-azure-devel   | Devel Package to nvidia-open-driver-G06-signed                                | Paket
   | nvidia-open-driver-G06-signed-default-devel | Devel Package to nvidia-open-driver-G06-signed                                | Paket
   | nvidia-open-driver-G06-signed-kmp-azure     | NVIDIA open kernel module driver for GeForce RTX 2000 series and newer        | Paket
   | nvidia-open-driver-G06-signed-kmp-default   | NVIDIA open kernel module driver for GeForce RTX 2000 series and newer        | Paket
   | nvidia-texture-tools                        | NVIDIA Texture Tools                                                          | Paket
   | nvidia-utils-G06                            | NVIDIA driver tools                                                           | Paket
i  | nvidia-video-G06                            | NVIDIA graphics driver for GeForce 700 series and newer                       | Paket
i  | nvidia-video-G06-32bit                      | 32bit NVIDIA graphics driver for GeForce 700 series and newer                 | Paket
i  | openSUSE-repos-Leap-NVIDIA                  | openSUSE NVIDIA repository definitions                                        | Paket
   | pcp-pmda-nvidia-gpu                         | Performance Co-Pilot (PCP) metrics for the Nvidia GPU                         | Paket
   | plasma5-applet-suse-prime                   | Plasma 5 applet for controlling SUSE Prime                                    | Paket
   | suse-prime                                  | GPU (nvidia/intel) selection for NVIDIA optimus laptops with bbswitch support | Paket
   | x11-video-nvidiaG05                         | NVIDIA graphics driver for GeForce 600 series and newer                       | Paket
   | x11-video-nvidiaG05-32bit                   | 32bit NVIDIA graphics driver for GeForce 600 series and newer                 | Paket

Have you tried X11?? Wayland is still not 100% with KDE+NVIDIA

Under X11 there is a terrible flickering that makes me impossible to use the computer.

1 Like

@CopepodLover so you have a hybrid/optimus setup not one but two graphics cardsā€¦ with the Nvidia GPU as N/Aā€¦

Two options, suse-prime or switcherooctl, also how your wanting to controlā€¦

Have a read here about suse-prime;

  1. Laptop - dual GPU Intel + NVIDIA RTX 4090 - NVIDIA Not powering off
  2. Nvidia drivers not working on A3000 mobile gpu

Have a read here about switcherooctl;

  1. Atomic Modeset Error -22 after latest Nvidia Update on Tumbleweed
  2. Nvidia kernel module not found
  3. How to switch to the NVIDIA dGPU in Tumbleweed?
1 Like

Thank you! Iā€™ll have a further read, but intuitively, I would go for suse-prime, if this is what SUSE sets up as default. I am not using Linux as a gaming platform, and if I one day do, I will probably setup another SSD for that (probably with Tumbleweed). My desktop is really my day to day workspace.

On the other hand, you mentioned in other posts that switcherooctl might be better for newer hardware.
What are your experiences or observations when it comes to most of these setups, is one really more stable than the other, or are both kinda prone to breakage?

I mainly use my computer for studying (can be a bit resource demanding when compiling some code or graphs, but this should not be too much of a GPU problem - I mean, depending on the models I will need to compile, but for now and the coming years it should be fine), office work, record and edit music, do some photo editing.

I didnā€™t knew that my system was hybrid. Looking back, I would probably have used other components for my computer, but I was not using Linux at the time.

What is funny, is that I had no issue at all on Tumbleweed - but thatā€™s probably because everything was bleeding edge and because Plasma 6 really made great improvements with Wayland and the Xapplication bridge (but before Plasma 6 I had no problems either).

@CopepodLover My bad, itā€™s notā€¦ (I blame not enough coffee!) So you need to add some boot options, fire up YaST2 bootloader and in the kernel options add nvidia_drm.modeset=1

The other option is to enable GSP firmware, but check first with nvidia-smi -q | grep "Firmware Version" if nothing then I would create a file called 50-nvidia.conf with the following contents;

##Enable NVIDIA GSP Firmware
options nvidia NVreg_EnableGpuFirmware=1

Then as root user copy this file to /etc/modprobe.d/ directory. Reboot and check the nvidia-smi command from earlier again.

nvidia-smi -q | grep "Firmware Version"

Gives me a command not found

So Iā€™ll probably go for the file copy.

Whatā€™s the difference between both techniques, do they have the same finality, or what exactly do they do?

Also, may I dare to ask you, how to fire up YaST2 bootloader ? I am searching for it right now, but do I have to do it through the cli or is there are graphical interface?
(I am not used to have these settings summoned so quickly and this makes OpenSUSE beautiful :star_struck: )

I found how to open Yast2. I did not knew about this, itā€™s beautiful

I think I found it, do I have to add to the ā€˜optional kernel parametersā€™?

@CopepodLover you need to install nvidia-utils-G06 so zypper in nvidia-utils-G06 should have nvidia-smi commandā€¦

There should be a desktop icon for YaST, click that and should see under System ā†’ Boot Loader? Else from the command line as root user yast2 bootloader. Ahh see you found it :wink:

Yes, at the end add nvidia_drm.modeset=1

Okay, I did the first solutions, Iā€™ll reboot and am (hopefully), right back!

1 Like

I am back and I finally have the Nvidia X Server Settings

Thank you!!!

The flickering seem to have stopped - at least on during the login screen (probably on X). Iā€™ll have to check and login with it. The apps still seem buggy, but thatā€™ s probably more the Wayland interaction than the the driver question itself.

Any recommandations for Nvidia Settings that are maybe problematic if turned off or on?

@CopepodLover well I also set a power option, but Iā€™m only using the nvidia gpu as offloadā€¦

##Power Management
options nvidia NVreg_DynamicPowerManagement=0x02

Refer for above https://download.nvidia.com/XFree86/Linux-x86_64/550.90.07/README/dynamicpowermanagement.html

Worth a peruse here https://download.nvidia.com/XFree86/Linux-x86_64/550.90.07/README/installationandconfiguration.html

And https://download.nvidia.com/XFree86/Linux-x86_64/550.90.07/README/wayland-issues.html

I suppose, I would have to set this under the 50-nvidia.conf at /etc/modprobe.d/ right?

I will have a read at those threads.

Thanks a lot for your help!

Should I still do this additionally or would this lead to breakage?

@CopepodLover No, you will be fine creating the 50-nvidia.conf file and adding the two options. Those options are running here on a Turing card, Nvidia Quadro T400ā€¦

1 Like

So I made the 50-nvidia.conffile, rebooted, but I still get cnf for nvidia-smi.

I actually checked, and just saw that there is already a file called: 50-nvidia-default.conf

at /etc/modprobe.d/

Shall I delete the file 500nvidia.conf I created?

I am also not sure, because when I checked before restarting my Computer, there was already the nvidia-default.conf file, now there are 6 files total:

50-nvidia-default.conf
50-nvidia.conf (the one I made)
50-yast.conf
nvidia-default.conf
tuned.conf
and a README file