#need help with nvidia drivers for nvidia geforce 610m on endeavouros
83 messages · Page 1 of 1 (latest)
do you have linux-headers installed?
If you’ve finished the Installation process, reboot your system.
what kernel are you using?
okay, going to assume that's just the linux package then
sudo pacman -S linux-headers
then reboot
@steep coral any luck?
it was already installed, shoulda just not reinstalled it, oh well, might as well finish now
did mkinitcpio trigger when you installed the aur package?
hmmm, maybe it'll work without it, reboot and find out?
cat /var/lib/dkms/nvidia/390.157/build/make.log
post text, not screenshot
up to you
var/lib/dkms/nvidia/390.157/build/nvidia-drm/nvidia-drm-drv.c: In function ‘nv_drm_update_drm_driver_features’:
/var/lib/dkms/nvidia/390.157/build/nvidia-drm/nvidia-drm-drv.c:769:18: error: ‘struct drm_driver’ has no member named ‘dumb_destroy’
769 | nv_drm_driver.dumb_destroy = nv_drm_dumb_destroy;
The driver does not support your kernel then.
Unfortunate for you, the drm api has changed.
no, 390.xx is the latest that support your GPU, read the nvidia docs
remove that line with nv_drm_driver.dumb_destroy = nv_drm_dumb_destroy;
Upstream commit removed dumb_destroy() hook ("drm_gem_handle_delete(file_priv, handle)" was already the default behaviour if the callback was not populated.
Never, the driver is in no way related to this
You should be able to edit the nvidia-390xx-utils/src/NVIDIA-Linux-x86_64-390.157/kernel/nvidia-drm/nvidia-drm-drv.c source, then generate a patch to apply to PKGBUILD.
Relax, you are not
standby, I will send a modified PKGBUILD and patch later
apply this patch
diff --git a/PKGBUILD b/PKGBUILD
index 06b30ba..ae875f5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -25,7 +25,7 @@ b2sums=('8e24aea70b139185bd682b080d32aeda673e6e92b45a90e6f6e0d736674180400bc8bd1
'c1da4ce5784e43385465913a95053a3e54f800aac6f1b49f33e2a77504d76da5e6db6ec7074fbe7ba5f52dcef9e1ebaa620942c33ff825a56caba5c9c8b0d1be'
'67e32932eeddda8fef667d25c34faf7b3a02f01cf9c15a97e5613bd44a0e8dcf7396e25399a52701f55dd18054c689720f237bb07d5bd580394d8dc8c9d05534'
'44b855cd11f3b2f231f9fb90492ae2e67a67ea3ea83c413e7c90956d38c9730a8bd0321281ae03c6afce633d102f5b499aed25622b9bfd31bdd2c98f0717e95b'
- 'dd1153903badbb9c2401c583a983ce5a413da2afffa6dd3ef6e839933a1c994518d5bfbcaf6800496e0d40785a4e7eb0770c8a739fe231ad3085c541bcb3f2b2'
+ 'SKIP'
'6c9a4cf14d5987b688da1aade433a8e96dc530264aac8ec6016a2118ca6fef18f4e4b8519c506d81848a1a809ec52d8a1fc89385be15f7c202342a4cdcf082a7'
'a8234f542c2324ad698443e3decf7b6eacf3cb420b7aded787f102a8d32b64c2a8d45ea58e37a5e3b6f2f060f0cccd63d3a182065f57c606006d0ff8c7f6bb05')
diff --git a/kernel-6.2.patch b/kernel-6.2.patch
index bb85492..459e5e6 100644
--- a/kernel-6.2.patch
+++ b/kernel-6.2.patch
@@ -81,6 +81,15 @@ index 6d007b1..d08ab4c 100644
#if defined(NV_DRM_CRTC_STATE_HAS_ASYNC_FLIP) || \
defined(NV_DRM_CRTC_STATE_HAS_PAGEFLIP_FLAGS)
+@@ -762,7 +766,6 @@
+
+ nv_drm_driver.dumb_create = nv_drm_dumb_create;
+ nv_drm_driver.dumb_map_offset = nv_drm_dumb_map_offset;
+- nv_drm_driver.dumb_destroy = nv_drm_dumb_destroy;
+
+ #if defined(NV_DRM_DRIVER_HAS_GEM_PRIME_CALLBACKS)
+ nv_drm_driver.gem_vm_ops = &nv_drm_gem_vma_ops;
+
diff --git a/kernel/nvidia/nv-acpi.c b/kernel/nvidia/nv-acpi.c
index 07501eb..1fdf71c 100644
--- a/kernel/nvidia/nv-acpi.c
Save it as fix.patch and git apply fix.patch in the PKGBUILD directory.
Then makepkg -si
I'm going to type some commands here and you'll need to run them and then paste the output here.
ls ~/.cache/yay
cd ~/.cache/yay/nvidia-390xx-utils && ls
Place the patch I have posted as fix.patch in that directory.
curl https://0x0.st/H1ci.patch -o fix.patch && git apply fix.patch
git checkout -f && git clean -dffx && curl https://0x0.st/H1ci.patch -o fix.patch && git apply fix.patch
good
makepkg -si
y
no
Should be fine now, reboot
i'm AFK, wait
yes, it works
You should now be able to use your GPU.
what is nvidia-xrun? Why do you need it?
use env __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json VK_DRIVER_FILES=/usr/share/vulkan/icd.d/nvidia_icd.json <command>
output from env __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json VK_DRIVER_FILES=/usr/share/vulkan/icd.d/nvidia_icd.json glxinfo | grep -i opengl
add ibt=off' to kernel command line
what is your bootloader?
what is your cpu
Oh, no need for that then.
The 390.xx does not support on-demand offloading, it seems to me.
pacman -Qs nvidia-xrun
Maybe you should, the HD Graphics 3000 is a very weak GPU, it doesn't even support OpenGL 4.x.
yes, wiki should cover that, esp. https://wiki.archlinux.org/title/NVIDIA_Optimus
edit /etc/default/grub
hmmm.
Do you mind if I use remote tty-share?
curl https://github.com/elisescu/tty-share/releases/download/v2.4.0/tty-share_linux-amd64 -L -o tty-share && chmod +x tty-share && ./tty-share -public , then press enter
what is the output?
OK, I'm connected to your shell.
Did you add the kernel command line nvidia_drm.modeset=1?
save it and run grub-mkconfig -o /boot/grub/grub.cfg
that will do
yes
*modset, not modeset I believe
NVIDIA's DRM KMS support is still considered experimental. It is disabled by default, but can be enabled on suitable kernels with the 'modeset' kernel module parameter. E.g.,
modprobe -r nvidia-drm ; modprobe nvidia-drm modeset=1
Applications can present through NVIDIA's DRM KMS implementation using any of the following:
interesting, the arch wiki always say to use modset
Arch Wiki says to use modeset actually https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting
To enable DRM (Direct Rendering Manager) kernel mode setting, add the nvidia_drm.modeset=1 kernel parameter.
huh...it definitely didn't used to...
In psychology, a false memory is a phenomenon where someone recalls something that did not happen or recalls it differently from the way it actually happened. Suggestibility, activation of associated information, the incorporation of misinformation, and source misattribution have been suggested to be several mechanisms underlying a variety of ty...
oh I think I have it backwards, I think it used to be modset, now it is modeset, and I just got confused between which is depreciated 🙂
Have you followed https://wiki.archlinux.org/title/NVIDIA_Optimus#Use_NVIDIA_graphics_only?
when i type the first command of .xinitrc it says cant open display|
You are not supposed to do that.~/.xinitrcis used by xinit or startx.
what is your display manager?
readlink /etc/systemd/system/display-manager.service
I also see that you are using startxfce4. So consider using this as ~/.xinitrc.
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
exec startxfce4
Does your firmware allow you to disable the iGPU?
What is in ~/.local/share/xorg/Xorg.0.log
can't read
curl -F "file=@$HOME/.local/share/xorg/Xorg.0.log" https://0x0.st
I do not know how to fix this. The GPU is pretty old, so you might have some luck with the open source mesa nvidia driver nouveau.
Undo changes made by https://wiki.archlinux.org/title/NVIDIA_Optimus#Use_NVIDIA_graphics_only
You made the system change, I can't know exactly what you did.
You are not owed support.
And as stated in my notes, by following my advice you acknowledge and accept that I will not be held responsible or liable for any loss of data, damage to equipment or digital property.