Bad nvidia performance when using switcheroo to run glmark2 on intel graphics vs nvidia

I got a score of 600 on glmark2 with command :
switcherooctl launch -g 0 glmark2
and 50 with command
switcherooctl launch -g 1 glmark2
But reinstalling suse-prime and rebooting with NVIDIA with the command
sudo prime-select boot nvidia
I got a score of 23551

That seems to be confirmed in the following thread :
archlinux


If you can't switch completely in BIOS/UEFI which should be preffered:

The simplest, ready made solution for most nvidia cards is installing nvidia-prime and using the prime-run command to start a game in question as described in: [https://wiki.archlinux.org/title/PRIME# … er_offload](https://wiki.archlinux.org/title/PRIME#PRIME_render_offload)

On GPUs/CPU combinations like yours that are a bit older, this will lead to not being able to fully suspend the nvidia card while not in which will have a higher power draw. If you want more control over this, other options are outlined in: https://wiki.archlinux.org/title/NVIDIA_Optimus -- note that none of the other options outlined here will generally give you better performance than the PRIME method, if performance is your main concern and you don't care about power draw you should stick with PRIME or disabling the iGPU completely.

*Last edited by V1del (2023-09-21 10:26:55)*

Any comment is welcome

What Hardware setup inxi -GSaz, what Desktop Environment, wayland or X11?

Running nvidia :

user_install@localhost:~> inxi -GSaz
System:
  Kernel: 6.4.0-150600.23.65-default arch: x86_64 bits: 64 compiler: gcc
    v: 7.5.0 parameters: BOOT_IMAGE=/boot/vmlinuz-6.4.0-150600.23.65-default
    root=UUID=e9588180-06b5-440a-b5c9-c24b6f9f2dde
    resume=/dev/disk/by-label/LNX_SWAP preempt=full ipv6.disable=1
    ipv6.all.disable=1 security=apparmor mitigations=auto
    rd.driver.blacklist=nouveau
  Desktop: KDE Plasma v: 5.27.11 tk: Qt v: 5.15.12 wm: kwin_x11 vt: 2
    dm: SDDM Distro: openSUSE Leap 15.6
Graphics:
  Device-1: Intel Arrow Lake-S [Intel Graphics] vendor: ASUSTeK driver: i915
    v: kernel ports: active: eDP-1 empty: DP-1,DP-2 bus-ID: 00:02.0
    chip-ID: 8086:7d67 class-ID: 0300
  Device-2: NVIDIA AD108M [GeForce RTX 5060 Max-Q / Mobile] vendor: ASUSTeK
    driver: nvidia v: 580.82.07 alternate: nouveau,nvidia_drm non-free: N/A
    status: unknown device ID pcie: gen: 5 speed: 32 GT/s lanes: 8 link-max:
    lanes: 16 ports: active: none empty: DP-3,HDMI-A-1,eDP-2 bus-ID: 02:00.0
    chip-ID: 10de:2d59 class-ID: 0300
  Device-3: Sonix ASUS FHD webcam driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-5:3 chip-ID: 3277:0018
    class-ID: fe01 serial: <filter>
  Display: x11 server: X.Org v: 1.21.1.11 with: Xwayland v: 24.1.1
    compositor: kwin_x11 driver: X: loaded: modesetting,nvidia alternate: intel
    dri: kms_swrast gpu: i915 display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1200 s-dpi: 96 s-size: 507x317mm (19.96x12.48")
    s-diag: 598mm (23.54")
  Monitor-1: eDP-1 mapped: eDP-1-1 model: BOE Display NE180WUM-NY3
    built: 2024 res: 1920x1200 hz: 144 dpi: 126 gamma: 1.2
    size: 388x242mm (15.28x9.53") diag: 457mm (18") ratio: 16:10
    modes: 1920x1200
  API: OpenGL v: 4.6.0 NVIDIA 580.82.07 renderer: NVIDIA GeForce RTX 5060
    Laptop GPU/PCIe/SSE2 direct-render: Yes
user_install@localhost:~>
user_install@localhost:~>
user_install@localhost:~> user_install@localhost:~> loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type
user_install@localhost:~: command not found
user_install@localhost:~> Type=x11
user_install@localhost:~>

Running INTEL GRAPHICS

user_install@localhost:~> inxi -GSaz
System:
  Kernel: 6.4.0-150600.23.65-default arch: x86_64 bits: 64 compiler: gcc
    v: 7.5.0 parameters: BOOT_IMAGE=/boot/vmlinuz-6.4.0-150600.23.65-default
    root=UUID=e9588180-06b5-440a-b5c9-c24b6f9f2dde
    resume=/dev/disk/by-label/LNX_SWAP preempt=full ipv6.disable=1
    ipv6.all.disable=1 security=apparmor mitigations=auto
    rd.driver.blacklist=nouveau
  Desktop: KDE Plasma v: 5.27.11 tk: Qt v: 5.15.12 wm: kwin_x11 vt: 2
    dm: SDDM Distro: openSUSE Leap 15.6
Graphics:
  Device-1: Intel Arrow Lake-S [Intel Graphics] vendor: ASUSTeK driver: i915
    v: kernel ports: active: eDP-1 empty: DP-1,DP-2 bus-ID: 00:02.0
    chip-ID: 8086:7d67 class-ID: 0300
  Device-2: NVIDIA AD108M [GeForce RTX 5060 Max-Q / Mobile] vendor: ASUSTeK
    driver: nvidia v: 580.82.07 alternate: nouveau,nvidia_drm non-free: N/A
    status: unknown device ID pcie: gen: 5 speed: 32 GT/s lanes: 8 link-max:
    lanes: 16 ports: active: none empty: DP-3,HDMI-A-1,eDP-2 bus-ID: 02:00.0
    chip-ID: 10de:2d59 class-ID: 0300
  Device-3: Sonix ASUS FHD webcam driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-5:3 chip-ID: 3277:0018
    class-ID: fe01 serial: <filter>
  Display: x11 server: X.Org v: 1.21.1.11 with: Xwayland v: 24.1.1
    compositor: kwin_x11 driver: X: loaded: modesetting gpu: i915 display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 1920x1200 s-dpi: 96 s-size: 508x317mm (20.00x12.48")
    s-diag: 599mm (23.57")
  Monitor-1: eDP-1 model: BOE Display NE180WUM-NY3 built: 2024
    res: 1920x1200 hz: 144 dpi: 126 gamma: 1.2 size: 388x242mm (15.28x9.53")
    diag: 457mm (18") ratio: 16:10 modes: 1920x1200
  API: OpenGL v: 4.5 Mesa 23.3.4 renderer: llvmpipe (LLVM 17.0.6 256 bits)
    direct-render: Yes
user_install@localhost:~>
user_install@localhost:~>
user_install@localhost:~> loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type
Type=x11

Thank you

@jcdole no EGL or Vulkan? So can’t help much with you running X11 and suse-prime/bbswitch which is really designed for older optimus hardware.

With that hardware (both Intel and Nvidia) I would sure be using Prime Render Offload as well as a later version of Mesa (Slowroll or Tumbleweed).

To be honest, if what your using works, rock on and wait for Leap 16.0 and revisit along with using Wayland.

Likewise the Ultra’s (Arrow Lake-S) CPU/iGPU have so many features, hopefully you will get to take advantage of these.

To switch between GPU, I use :
for NVIDIA :
sudo switcherooctl launch -g 1
sudo reboot"

and
for INTEL
sudo switcherooctl launch -g 0
sudo reboot"

Nothing special is configured as it is a new install on a new laptop.

There is no reboot required. Additionally , there is no root or sudo required to run switcherooctl.
Switcherooctl does not permanently switch the use of a GPU. It works on a per application basis.

switcherooctl launch -g 1 will do nothing as the application is missing from the command.
switcherooctl launch -g 1 vlc will launch VLC using the device 1 (dedicated) GPU.

suse-prime and switcherooctl are completely different. suse-prime allowed to permanently use only one GPU after rebooting. switcherooctl uses a more granular concept as it allows the user to define which apps he wants to start with the dedicated GPU.

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