You are not logged in.

#1 2024-01-31 12:18:09

Xsofito
Member
Registered: 2024-01-29
Posts: 50

[SOLVED] Setting Prime GPU offload

I'm trying to get Nvidia Prime offload to work in my system, I'm using proprietary Nvidia drivers for a 1650 Mobile.
I just manage to get Xorg not to crash on startup but now the Nvidia card isn´t being used even when using prime-run command.
Following the arch wiki I get the following error:

prime-run glxinfo | grep "OpenGL renderer"
X Error of failed request:  BadAlloc (insufficient resources for operation)
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  5 (X_GLXMakeCurrent)
  Serial number of failed request:  0
  Current serial number in output stream:  31

Here is the Xorg log

I previously had problems with the Nvidia modules not loading fast enought, might it be part of the problem?


This is the output of

pacman -Qs "(mesa|nvidia|nouv|xf86-video|optimus|vulkan)"
local/cuda 12.3.1-2
    NVIDIA's GPU programming toolkit
local/egl-wayland 2:1.1.13-1
    EGLStream-based Wayland external platform
local/glu 9.0.3-1
    Mesa OpenGL utility library
local/lib32-glu 9.0.3-1
    Mesa OpenGL utility library (32 bits)
local/lib32-mesa 1:23.3.3-1
    An open-source implementation of the OpenGL specification (32-bit)
local/lib32-nvidia-utils 545.29.06-1
    NVIDIA drivers utilities (32-bit)
local/lib32-opencl-nvidia 545.29.06-1
    OpenCL implemention for NVIDIA (32-bit)
local/lib32-vkd3d 1.10-1
    Direct3D 12 to Vulkan translation library By WineHQ
local/lib32-vulkan-icd-loader 1.3.274-1
    Vulkan Installable Client Driver (ICD) Loader (32-bit)
local/libva-nvidia-driver-git 0.0.11.r11.gf977766-1
    VA-API implementation that uses NVDEC as a backend (git version)
local/libvdpau 1.5-2
    Nvidia VDPAU library
local/libxnvctrl 545.29.06-1
    NVIDIA NV-CONTROL X extension
local/mesa 1:23.3.3-1
    An open-source implementation of the OpenGL specification
local/mesa-utils 9.0.0-3
    Essential Mesa utilities
local/nvidia 545.29.06-13
    NVIDIA drivers for linux
local/nvidia-prime 1.0-4
    NVIDIA Prime Render Offload configuration and utilities
local/nvidia-settings 545.29.06-1
    Tool for configuring the NVIDIA graphics driver
local/nvidia-utils 545.29.06-1
    NVIDIA drivers utilities
local/opencl-nvidia 545.29.06-1
    OpenCL implemention for NVIDIA
local/spirv-tools 2023.5-1 (vulkan-devel)
    API and commands for processing SPIR-V modules
local/vkd3d 1.10-1
    Direct3D 12 to Vulkan translation library By WineHQ
local/vulkan-headers 1:1.3.274-1 (vulkan-devel)
    Vulkan header files
local/vulkan-icd-loader 1.3.274-1
    Vulkan Installable Client Driver (ICD) Loader
local/vulkan-tools 1.3.269-1 (vulkan-devel)
    Vulkan Utilities and Tools
local/xf86-video-intel 1:2.99.917+923+gb74b67f0-1 (xorg-drivers)
    X.org Intel i810/i830/i915/945G/G965+ video drivers

Trying to run some games gives the following:

glx: failed to create dri3 screen
failed to load driver: nouveau
[!] Vulkan ICD files not found
    Please install the correct Vulkan driver

Last edited by Xsofito (2024-02-01 00:24:03)

Offline

#2 2024-01-31 16:03:06

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,106

Re: [SOLVED] Setting Prime GPU offload

Remove xf86-video-intel.

The kernel cmdline also shows you are not loading modesetting on the nvidia card you probably want to do that, you're also on an outdated kernel which might point to partial updates. Update your system, set up the modeset kernel parameter: https://wiki.archlinux.org/title/NVIDIA … de_setting, if you are also following the early loading instructions ADD i915 to the MODULES= line in addition to the nvidia modules. if those didn't help, post your journal

sudo journalctl -b

Last edited by V1del (2024-01-31 16:08:47)

Offline

#3 2024-01-31 16:50:49

Xsofito
Member
Registered: 2024-01-29
Posts: 50

Re: [SOLVED] Setting Prime GPU offload

I removed xf86-video-intel and added i915 to the modules.

I followed the Nvidia KMS guide from the wiki multiple times since I fresh installed this system.
My /boot/loader/entries/arch.conf looks like:

title   Arch Linux
linux   /vmlinuz-linux
initrd  /intel-ucode.img
initrd  /initramfs-linux.img
options root=/dev/md/raid0 rw
nvidia_drm.modeset=1
nvidia.NVreg_PreserveVideoMemoryAllocations=1
rcutree.gp_init_delay=1

And my /etc/mkinitcpio.conf looks like:

MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
BINARIES=()
FILES=()
HOOKS=(base udev autodetect modconf keyboard keymap consolefont block filesystems fsck mdadm_udev)

Offline

#4 2024-01-31 17:07:59

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,106

Re: [SOLVED] Setting Prime GPU offload

don't add them to new lines, they all need to be on the options line space separated. And as mentioned add i915 as the first module in that MODULES line.

Offline

#5 2024-01-31 17:56:26

Xsofito
Member
Registered: 2024-01-29
Posts: 50

Re: [SOLVED] Setting Prime GPU offload

Done, /boot/loader/entries/arch.conf is now:

title   Arch Linux
linux   /vmlinuz-linux
initrd  /intel-ucode.img
initrd  /initramfs-linux.img
options root=/dev/md/raid0 rw nvidia_drm.modeset=1 nvidia.NVreg_PreserveVideoMemoryAllocations=1 rcutree.gp_init_delay=1

And /etc/mkinitcpio.conf is:

MODULES=(i915 nvidia nvidia_modeset nvidia_uvm nvidia_drm)
BINARIES=()
FILES=()
HOOKS=(base udev autodetect modconf keyboard keymap consolefont block filesystems fsck mdadm_udev)

But doing these changes made it so Xorg doesn't start, I also tried starting wayland with no luck, so I guess it's a graphics thing...

My Xorg log

And journalctl -b

(Sorry if it's that I correct wrongly my mkinitcpio.conf)

Last edited by Xsofito (2024-01-31 17:57:37)

Offline

#6 2024-01-31 19:23:07

Xsofito
Member
Registered: 2024-01-29
Posts: 50

Re: [SOLVED] Setting Prime GPU offload

nvidia_drm.modeset=1 nvidia.NVreg_PreserveVideoMemoryAllocations=1 rcutree.gp_init_delay=1

Moving these to /etc/modprobe.d/nvidia-pm.conf as:

options nvidia_drm modeset=1 
options nvidia NVreg_PreserveVideoMemoryAllocations=1 
options rcutree gp_init_delay=1

This now makes Xorg start, but still, I get the same errors as before.

Offline

#7 2024-01-31 19:40:38

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,895

Re: [SOLVED] Setting Prime GPU offload

[    20.366] (II) LoadModule: "intel"
[    20.366] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
[    20.375] (II) Module intel: vendor="X.Org Foundation"
[    20.375] 	compiled for 1.21.1.6, module version = 2.99.917
[    20.375] 	Module class: X.Org Video Driver
[    20.375] 	ABI class: X.Org Video Driver, version 25.2

Either the xorg log is outdated or xf86-video-intel is still present.

[    20.330] (==) Using config directory: "/etc/X11/xorg.conf.d"

Fresh output of ls -lR /etc/X11 please.

Moving these to /etc/modprobe.d/nvidia-pm.conf as:

nvidia_drm modeset=1 needs to be set as kernel paramater, putting it in /etc/modprobe.d is not enough.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#8 2024-01-31 20:00:11

Xsofito
Member
Registered: 2024-01-29
Posts: 50

Re: [SOLVED] Setting Prime GPU offload

ls -IR /etc/X11

xinit 
  xinitrc
  xinitrc.d
    40-libcanberra-gtk-module.sh
    50-systemd-user.sh
    80xapp-gtk3-module.sh
  xserverrx

xorg.conf.d
  00-keyboard.conf

The output of:

sudo pacman -Rs xf86-video-intel
error: target not found: xf86-video-intel

I just moved again the nvidia.modeset=1 to the kernel conf file and again xorg can't start

Offline

#9 2024-01-31 20:13:57

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,895

Re: [SOLVED] Setting Prime GPU offload

You are booting to multi-user.target and using startx or xinit  , right ?

Edit : doing those 2 things makes troubleshooting X much easier

Last edited by Lone_Wolf (2024-01-31 20:17:24)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#10 2024-01-31 20:25:32

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,356

Re: [SOLVED] Setting Prime GPU offload

pacman -Qs xf86-video

and post the journal for the failing X11 server:

cat /var/log/Xorg.0.log | curl -F 'file=@-' 0x0.st

Edit: also

pacman -Qs nvidia
pacman -Qikk nvidia-utils

Last edited by seth (2024-01-31 20:29:24)

Offline

#11 2024-01-31 20:43:25

Xsofito
Member
Registered: 2024-01-29
Posts: 50

Re: [SOLVED] Setting Prime GPU offload

Lone_Wolf wrote:

You are booting to multi-user.target and using startx or xinit  , right ?

Yeah

No output from:

pacman -Qs xf86-video
pacman -Qs xf86-video-intel

and post the journal for the failing X11 server:

https://privatebin.net/?967659df01b1d33 … pCKioMq1tv

pacman -Qs nvidia

local/cuda 12.3.1-2
    NVIDIA's GPU programming toolkit
local/egl-wayland 2:1.1.13-1
    EGLStream-based Wayland external platform
local/lib32-nvidia-utils 545.29.06-1
    NVIDIA drivers utilities (32-bit)
local/lib32-opencl-nvidia 545.29.06-1
    OpenCL implemention for NVIDIA (32-bit)
local/libva-nvidia-driver-git 0.0.11.r11.gf977766-1
    VA-API implementation that uses NVDEC as a backend (git version)
local/libvdpau 1.5-2
    Nvidia VDPAU library
local/libxnvctrl 545.29.06-1
    NVIDIA NV-CONTROL X extension
local/nvidia 545.29.06-14
    NVIDIA drivers for linux
local/nvidia-prime 1.0-4
    NVIDIA Prime Render Offload configuration and utilities
local/nvidia-settings 545.29.06-1
    Tool for configuring the NVIDIA graphics driver
local/nvidia-utils 545.29.06-1
    NVIDIA drivers utilities
local/opencl-nvidia 545.29.06-1
    OpenCL implemention for NVIDIA

pacman -Qikk nvidia-utils

local/lib32-nvidia-utils 545.29.06-1
    NVIDIA drivers utilities (32-bit)
local/nvidia-utils 545.29.06-1
    NVIDIA drivers utilities

Had to disable nvidia modeset to be able to startx and send this

Offline

#12 2024-01-31 20:47:03

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,356

Re: [SOLVED] Setting Prime GPU offload

That's not the -Qikk output and the xorg log from the boot where you removed the parameter that supposingly breaks X11 is useless.
Use the command I posted to post the file from the commandline or archive the log before you reboot.

But xf86-video-intel is *now* gone so you must have removed it at some point.

Offline

#13 2024-01-31 20:53:53

Xsofito
Member
Registered: 2024-01-29
Posts: 50

Re: [SOLVED] Setting Prime GPU offload

That's not the -Qikk output

My bad, here is pacman -Qikk nvidia-utils:

Xsofito% pacman -Qikk nvidia-utils
Name            : nvidia-utils
Version         : 545.29.06-1
Description     : NVIDIA drivers utilities
Architecture    : x86_64
URL             : http://www.nvidia.com/
Licenses        : custom
Groups          : None
Provides        : vulkan-driver  opengl-driver  nvidia-libgl
Depends On      : libglvnd  egl-wayland
Optional Deps   : nvidia-settings: configuration tool [installed]
                  xorg-server: Xorg support [installed]
                  xorg-server-devel: nvidia-xconfig
                  opencl-nvidia: OpenCL support [installed]
Required By     : cuda  hyprland-git  leagueoflegends-git  lib32-nvidia-utils  libglvnd
                  libva-nvidia-driver-git  nvidia  nvidia-prime  nvidia-settings  python-py3nvml
                  steam
Optional For    : ffmpeg  leagueoflegends-git  libvdpau  vulkan-icd-loader
Conflicts With  : nvidia-libgl
Replaces        : nvidia-libgl
Installed Size  : 639.75 MiB
Packager        : Sven-Hendrik Haase <svenstaro@archlinux.org>
Build Date      : Wed 22 Nov 2023 04:27:38 PM UTC
Install Date    : Sun 28 Jan 2024 11:41:32 PM UTC
Install Reason  : Installed as a dependency for another package
Install Script  : Yes
Validated By    : Signature

warning: nvidia-utils: /usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf (No such file or directory)
nvidia-utils: 229 total files, 1 altered file

the xorg log from the boot where you removed the parameter that supposingly breaks X11 is useless.

The log I show you is from the session with nvidia modeset=1, do you need it to specifically be logged using "cat /var/log/Xorg.0.log | curl -F 'file=@-' 0x0.st"?
If coping the log file contents isn´t enought I'll try to get it that way...

Offline

#14 2024-01-31 21:34:13

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,356

Re: [SOLVED] Setting Prime GPU offload

/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf

Restore that roll

The log I show you is from the session with nvidia modeset=1

a) That's entirely not the syntactically correct parameter
b) No, isn't:

[    14.545] Kernel command line: initrd=\intel-ucode.img initrd=\initramfs-linux.img root=/dev/md/raid0 rw

Offline

#15 2024-01-31 21:47:28

Xsofito
Member
Registered: 2024-01-29
Posts: 50

Re: [SOLVED] Setting Prime GPU offload

I just created /usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf following a template from https://gist.github.com/danielpinto8zz6 … decd06c774

Section "OutputClass"
    Identifier "intel"
    MatchDriver "i915"
    Driver "modesetting"
EndSection

Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "PrimaryGPU" "yes"
    ModulePath "/usr/lib/nvidia/xorg"
    ModulePath "/usr/lib/xorg/modules"
EndSection

In some hours I'll post the log of the failed Xorg

Offline

#16 2024-01-31 21:54:42

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,356

Re: [SOLVED] Setting Prime GPU offload

Remove that, the file is https://gitlab.archlinux.org/archlinux/ … type=heads
You could also just re-install the package.

Offline

#17 2024-02-01 00:23:40

Xsofito
Member
Registered: 2024-01-29
Posts: 50

Re: [SOLVED] Setting Prime GPU offload

seth wrote:

Remove that, the file is https://gitlab.archlinux.org/archlinux/ … type=heads

Changing that file solved the issue, Xorg starts with nvidia.modeset=1, and the dGPU is recognized with no problem.
I think it's being used for any process, not only the ones started using pirme-run, but I can live with it.
I'll mark the issue as solved, thank you very much all of you for helping me with this.

Offline

#18 2024-02-01 07:44:57

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,356

Re: [SOLVED] Setting Prime GPU offload

I think it's being used for any process, not only the ones started using pirme-run, but I can live with it.

glxinfo -B
prime-run glxinfo -B

Please post your Xorg log, https://wiki.archlinux.org/title/Xorg#General

Offline

#19 2024-02-01 11:43:54

Xsofito
Member
Registered: 2024-01-29
Posts: 50

Re: [SOLVED] Setting Prime GPU offload

glxinfo -B

Xsofito% glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel (0x8086)
    Device: Mesa Intel(R) UHD Graphics (CML GT2) (0x9bc4)
    Version: 23.3.4
    Accelerated: yes
    Video memory: 15767MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) UHD Graphics (CML GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.3.4-arch1.2
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.3.4-arch1.2
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.3.4-arch1.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

prime-run glxinfo -B

Xsofito% prime-run !!
prime-run glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 4096 MB
    Total available memory: 4096 MB
    Currently available dedicated video memory: 3894 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce GTX 1650/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 545.29.06
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6.0 NVIDIA 545.29.06
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 545.29.06
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Everything looks right...
Well, nvidia prime is correctly set up now, thanks for all the help you gave me. ;D

Offline

Board footer

Powered by FluxBB