Problems getting Nvidia optimus drivers to work

Hello,
I am at my wits end with this issue. It’s been an ongoing issue through multiple distros. The goal is running League of Legends on my dGPU.

I am running EOS on an Asus laptop with an Intel UHD 620 integrated graphics + GeForce MX150 combo, but I cannot get the switching to work. I’ve tried multiple approaches:

  • Installing drivers thorugh nvidia-inst and bumblebee, later disabling that and installing optimus-manager, i.e., this guide.
  • Tried installing nvidia-dkms by itself and running with optimus-manager.
  • Tried the above methods but with envycontrol instead. This lead to my laptop display being turned off completely (no backlight).
  • I even tried asking ChatGPT who told me to install nvidia and nvidia-utils and run with optimus-manager (this was the closest to actually work).

So what are my issues?

When trying to switch to nvidia graphics through optimus-manager and relogging, LightDM failes to start. I can only see a cursor blinking and there might be a failure in Xorg.

When trying the ChatGPT route I can actually log in and by running glxinfo | grep 'renderer string' I can see that the Nvidia card is being used. However, after some time, the whole laptop is frozen and I have to choke it to reboot.

Output from inxi -Ga:

Graphics:
  Device-1: Intel UHD Graphics 620 vendor: ASUSTeK driver: i915 v: kernel
    arch: Gen-9.5 process: Intel 14nm built: 2016-20 ports:
    active: HDMI-A-2,eDP-1 empty: DP-1,HDMI-A-1 bus-ID: 00:02.0
    chip-ID: 8086:5917 class-ID: 0300
  Device-2: NVIDIA GP108M [GeForce MX150] vendor: ASUSTeK driver: nvidia
    v: 525.60.11 alternate: nouveau,nvidia_drm non-free: 525.xx+
    status: current (as of 2022-12) arch: Maxwell code: GMxxx
    process: TSMC 28nm built: 2014-19 pcie: speed: Unknown lanes: 63 link-max:
    gen: 6 speed: 64 GT/s bus-ID: 01:00.0 chip-ID: 10de:1d10 class-ID: 0302
  Device-3: IMC Networks USB2.0 HD UVC WebCam type: USB driver: uvcvideo
    bus-ID: 1-6:4 chip-ID: 13d3:5694 class-ID: 0e02 serial: 0x0001
  Display: x11 server: X.Org v: 21.1.6 compositor: Picom v: git-b700a
    driver: X: loaded: modesetting dri: iris gpu: i915 display-ID: :0 screens: 1
  Screen-1: 0 s-res: 3840x1080 s-dpi: 96 s-size: 1016x285mm (40.00x11.22")
    s-diag: 1055mm (41.54")
  Monitor-1: HDMI-A-2 mapped: HDMI-2 pos: right model: HP E233
    serial: CNC8520YSK built: 2018 res: 1920x1080 hz: 60 dpi: 96 gamma: 1.2
    size: 509x286mm (20.04x11.26") diag: 584mm (23") ratio: 16:9 modes:
    max: 1920x1080 min: 720x400
  Monitor-2: eDP-1 pos: primary,left model: BOE Display 0x0718 built: 2016
    res: 1920x1080 hz: 60 dpi: 158 gamma: 1.2 size: 309x173mm (12.17x6.81")
    diag: 354mm (13.9") ratio: 16:9 modes: 1920x1080
  API: OpenGL v: 4.6 Mesa 22.3.1 renderer: Mesa Intel UHD Graphics 620 (KBL
    GT2) direct render: Yes

uname -r:

6.0.12-arch1-1

pacman -Qs nvidia:

local/egl-wayland 2:1.1.11-2
    EGLStream-based Wayland external platform
local/lib32-nvidia-utils 525.60.11-1
    NVIDIA drivers utilities (32-bit)
local/libvdpau 1.5-1
    Nvidia VDPAU library
local/libxnvctrl 525.60.11-2
    NVIDIA NV-CONTROL X extension
local/nvidia 525.60.11-3
    NVIDIA drivers for linux
local/nvidia-inst 1.8-1
    Script to setup nvidia drivers (dkms version) in EndeavourOS
local/nvidia-installer-common 1.7-2
    Common scripts for nvidia-installer-dkms and nvidia-inst
local/nvidia-utils 525.60.11-1
    NVIDIA drivers utilities

Just let me know if you want any more information,

Thanks!

Have you tried prime?

I have, through nvidia-inst -p. But there seems to be issues with leagueoflegends-git using prime-run. I cannot get past the Riot client. I can try again and see if it works. What packages do I need? Just nvidia-prime?

Maybe read up on prime here as I’m not sure as i don’t use any hybrid graphics. Usually i always go for optimus manager. But can also depend on the hardware what works. :man_shrugging:

Good idea, haha!

It has a little more info so maybe it helps. You can do the same for optimus-manager or other on Arch wiki if you can understand it. :laughing: