You are not logged in.
I've been trying to fix this for days, thoroughly reading tutuorials, guides, and wiki pages for Prime, Nvidia, Wayland, nouveau, etc. I added the "blacklist nouveau", and "nvidia_modeset=1", updates, I've followed just about every step I can find. I'm getting "N" when checking "sudo cat /sys/module/nvidia_drm/parameters/modeset", and "xrandr --listproviders" is giving me "0". I tried "xrandr --setprovideroffloadsink 5161 8882", and it says "Could not find provider" which is the GPU. I honestly don't know what I'm missing, and I'm on here out of desperation. x.x
Also, I looked hard, and didn't see "kms" in the file to remove the hook. Like, how do I remove something that isn't there?
"HOOKS=(base udev autodetect microcode keyboard keymap modconf block filesystems fsck)"
Asus Strix z790-H
Intel Core i9 12900K
MSI RTX 4060
HDMI plugged in to MB.
Bios configured to use iGPU as primary. (Steam on Windows will use the RTX when launching a game, so I know it can pass the rendering through the MB.)
Arch Linux installed on separate drive, booting from UEFI>Grub>Wayland-KDE-Plasma. Not a VM.
(update, as of sep., I reinstalled Linux using "systemd boot", everything else is the same)
I have nvidia drivers and utils installed, as well as konsole, prime, code, dolphin, firefox, steam.
Multilib is enabled.
I've tried launching Geometry Wars from steam to test, and the game just crashes immediately.
(update, this may be irrelevant. I can run "Distance" no problem, but I don't think it's using the Nvidia GPU.)
The system shows the info for my GPU, just won't actually use the GPU.
Directly from Konsole
00:02.0 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
DeviceName: Onboard IGD
Subsystem: ASUSTeK Computer Inc. Device 8882
Kernel driver in use: i915
--
01:00.0 VGA compatible controller: NVIDIA Corporation AD107 [GeForce RTX 4060] (rev a1)
Subsystem: Micro-Star International Co., Ltd. [MSI] Device 5161
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm, nvidia
Ps, I hope to get this thoroughly figured out, so it can be a resource for anyone else confused on this topic.
Last edited by ACE7F22 (2024-09-21 06:58:06)
Offline
This is my enviroment thing, if that helps.
[ace7f22@archlinux ~]$ printenv
SHELL=/usr/bin/bash
SESSION_MANAGER=local/archlinux:@/tmp/.ICE-unix/1147,unix/archlinux:/tmp/.ICE-unix/1147
WINDOWID=3
COLORTERM=truecolor
XDG_CONFIG_DIRS=/home/ace7f22/.config/kdedefaults:/etc/xdg
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1
XDG_MENU_PREFIX=plasma-
ICEAUTHORITY=/run/user/1000/iceauth_LuPxbE
LANGUAGE=
SHELL_SESSION_ID=0ca164f3e3f14ce19f617b5c647558b6
MEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=
DESKTOP_SESSION=plasma
GTK_RC_FILES=/etc/gtk/gtkrc:/home/ace7f22/.gtkrc:/home/ace7f22/.config/gtkrc
XDG_SEAT=seat0
PWD=/home/ace7f22
XDG_SESSION_DESKTOP=KDE
LOGNAME=ace7f22
XDG_SESSION_TYPE=wayland
SYSTEMD_EXEC_PID=1983
XAUTHORITY=/run/user/1000/xauth_YRRRYo
MOTD_SHOWN=pam
XKB_DEFAULT_MODEL=pc105+inet
GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/ace7f22/.gtkrc-2.0:/home/ace7f22/.config/gtkrc-2.0
HOME=/home/ace7f22
LANG=en_US.UTF-8
XDG_CURRENT_DESKTOP=KDE
KONSOLE_DBUS_SERVICE=:1.41
MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/background.slice/plasma-krunner.service/memory.pressure
WAYLAND_DISPLAY=wayland-0
KONSOLE_DBUS_SESSION=/Sessions/1
PROFILEHOME=
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
INVOCATION_ID=49ef660c82b74f93889e2a4acc139678
KONSOLE_VERSION=240501
MANAGERPID=954
KDE_SESSION_UID=1000
XKB_DEFAULT_LAYOUT=us
XDG_ACTIVATION_TOKEN=kwin-1
XDG_SESSION_CLASS=user
TERM=xterm-256color
USER=ace7f22
COLORFGBG=15;0
QT_WAYLAND_RECONNECT=1
KDE_SESSION_VERSION=6
DISPLAY=:1
SHLVL=1
XDG_VTNR=1
XDG_SESSION_ID=2
XDG_RUNTIME_DIR=/run/user/1000
DEBUGINFOD_URLS=https://debuginfod.archlinux.org
QT_AUTO_SCREEN_SCALE_FACTOR=0
JOURNAL_STREAM=9:33549
KDE_FULL_SESSION=true
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
KDE_APPLICATIONS_AS_SCOPE=1
MAIL=/var/spool/mail/ace7f22
XKB_DEFAULT_OPTIONS=terminate:ctrl_alt_bksp
KONSOLE_DBUS_WINDOW=/Windows/1
_=/usr/bin/printenv
[ace7f22@archlinux ~]$ Offline
Please don't bump, edit your previous post if nobody has yet responded.
First off all, forget about anything xrandr on wayland.
I'm getting "N" when checking "sudo cat /sys/module/nvidia_drm/parameters/modeset"
Well, make that a "Y", enable https://wiki.archlinux.org/title/NVIDIA … de_setting - use the "nvidia_drm.modeset=1" kernel parameter to also disable the simpledrm device.
I've tried launching Geometry Wars from steam to test, and the game just crashes immediately.
Why do you think that has anything to do with nvida or prime, notably if you didn't prime-run it?
https://wiki.archlinux.org/title/PRIME# … _using_GPU
DRI_PRIME=1 glxinfo -B
prime-run glxinfo32 -Band post the actual steam crash output.
nb. that blahblah-steam means you're NOT running on wayland but on xwayland ie steam will run in a nested X11 server.
Have you tried the behavior on plasma/X11?
Offline
"xrandr" being ignored moving forward. However, I just checked the "Prime" page, and most of the scripts and instructions use "xrandr". How do I set up offloading without it? How do I list providers?
Got the modeset working now. I missed adding a file in "modprobe.d", my bad.
I've read several comments stating that prime/nvidia just works automatically from steam, so I tested with a simple game just to see if it works. I hit play, it gives a splash screen, acts like it's loading for a few seconds, then goes back to the steam screen. I don't know how to launch it from konsole, or access the crash report.
[ace7f22@archlinux ~]$ DRI_PRIME=1 glxinfo -B
name of display: :1
glx: failed to create dri3 screen
failed to load driver: nouveau
display: :1 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Mesa (0x10de)
Device: zink Vulkan 1.3(NVIDIA GeForce RTX 4060 (NVIDIA_PROPRIETARY)) (0x2882)
Version: 24.1.2
Accelerated: yes
Video memory: 8188MB
Unified memory: no
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
Memory info (GL_ATI_meminfo):
VBO free memory - total: 8183 MB, largest block: 8183 MB
VBO free aux. memory - total: 23536 MB, largest block: 23536 MB
Texture free memory - total: 8183 MB, largest block: 8183 MB
Texture free aux. memory - total: 23536 MB, largest block: 23536 MB
Renderbuffer free memory - total: 8183 MB, largest block: 8183 MB
Renderbuffer free aux. memory - total: 23536 MB, largest block: 23536 MB
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 8188 MB
Total available memory: 31732 MB
Currently available dedicated video memory: 8183 MB
OpenGL vendor string: Mesa
OpenGL renderer string: zink Vulkan 1.3(NVIDIA GeForce RTX 4060 (NVIDIA_PROPRIETARY))
OpenGL core profile version string: 4.6 (Core Profile) Mesa 24.1.2-arch1.1
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 24.1.2-arch1.1
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 24.1.2-arch1.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20[ace7f22@archlinux ~]$ prime-run glxinfo32 -B
/usr/bin/prime-run: line 2: glxinfo32: command not foundI'm asking directly because I keep running into walls where people are giving fixes for laptops, GPU only set-ups(ignore iGPU), xorg, nouveau, AMD, and it seems the answers aren't relevant to my set up. I thought Wayland was simply better than xorg, but the documentation seems to suggest that the same steps apply with "xrandr".
To be clear, I want my desktop to use the iGPU for everything that's not demanding, and anything that is demanding, the GPU renders, and offloads to the iGPU to display with everything else. I'm assuming this would be perfect for virtual machines as well, having the iGPU for the main machine, and pass the GPU through to the VM. I read that without a secondary gpu, you can't render both a desktop and VM.
I'll try x11, but I though Wayland was better, and preferable.?
Last edited by ACE7F22 (2024-06-29 19:37:27)
Offline
You end up using some software emulation via zink on the nvidia GPU. As mentioned, enable https://wiki.archlinux.org/title/NVIDIA … de_setting - use the "nvidia_drm.modeset=1" kernel parameter as it's a hard requirement to use nvidia w/ wayland, prime or not.
glxinfo32 is in https://archlinux.org/packages/multilib … esa-utils/
You'll most likely require the multilib repo - and for the nvidia drivers also lib32-nvidia-utils to run some steam games.
You can use the nvidia GPU / prime w/ steam following the second link in my previous post.
I'll try x11, but I though Wayland was better, and preferable.?
I'd ask "better at what and how", but as pointed out: steam runs on X11 anyway.
Offline
I have "nvidia-drm.modeset=1" in a "nvidia.conf" file in "/etc/modprobe.d" with the line "options nvidia_drm modeset=1", and nvidia_drm added to modules in mkinitcpio.conf. Am I missing anything?
added lib32-mesa-utils, already have lib32-nvidia-utils.
[ace7f22@archlinux ~]$ prime-run glxinfo32 -B
name of display: :1
display: :1 screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 8188 MB
Total available memory: 8188 MB
Currently available dedicated video memory: 7825 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 4060/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 555.58
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 555.58
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 555.58
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20Reading into xorg vs Wayland, I got the understanding that Wayland is newer, and has compatibility layers for xorg, "xwayland" I think? I assumed that Wayland was just an improvement, or step up from xorg.
I'm currently trying to figure out how to launch the game with "prime-run" or something. I'll update if I make progress, but for now, just wanted to respond and say thanks for the help so far.?
Offline
Am I missing anything?
This approach is leaving the simpledrm device in place and you've to regenerate the initramfs for your actions to apply, but the glxinfo32 output properly uses the initramfs.
wayland is a different display server protocol, the thing you can compare to the Xorg X11 server is your wayland compositor (sway, hyprland, mutter, kwin, …) and whatever benefits it might offer you are lost when you're running an X11 client in a wayland session (for that client) while all it's deficits will be in full force.
Offline
try previous version of nvidia driver this one is not a "stable one" few people have pb with it..
https://bbs.archlinux.org/viewtopic.php … 8#p2181018
Offline
I apologize for the late reply. I've been trouble shooting, and been in and out of the hospital. I intend to give a more thorough update later, just wanted to say I haven't abandoned this, and not ignoring you all.
I appreciate the info and advice.?
Offline
I appreciate the info and advice.?
Take care of yourself first. We will be here.
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
The shortest way to ruin a country is to give power to demagogues.— Dionysius of Halicarnassus
---
How to Ask Questions the Smart Way
Offline
Hi, I'm back, sorta. Sorry for not being able to stay on this.
So, I have Nvidia modeset = "Y"
I tried running a steam game with the "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia %command%" launch option, and it didn't seem to make a difference.
Ok, steam game launch options "prime-run %command%" works. I think this issue is solved, and thank you everyone for the support.
Offline
Ok, steam game launch options "prime-run %command%" works. I think this issue is solved, and thank you everyone for the support.
Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.
Offline