#need help with nvidia drivers for nvidia geforce 610m on endeavouros

83 messages · Page 1 of 1 (latest)

shy venture
#

The latest driver with support for 600 serious is 390.xx.xx, the nvidia or nvidia-dkms driver from the official repo is at 535.54 as we speak. You definitely won't be able to use your GPU if you have a package installed.

#

Use `nvidia-390xx-dkms' from AUR instead.

rare crest
#

do you have linux-headers installed?

steep coral
#

If you’ve finished the Installation process, reboot your system.

rare crest
#

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?

rare crest
#

hmmm, maybe it'll work without it, reboot and find out?

shy venture
#

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

shy venture
#

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

shy venture
#

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

shy venture
#

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.

#

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

rare crest
shy venture
#

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:

rare crest
#

interesting, the arch wiki always say to use modset

shy venture
rare crest
#

huh...it definitely didn't used to...

shy venture
#

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...

rare crest
shy venture
#

when i type the first command of .xinitrc it says cant open display|
You are not supposed to do that. ~/.xinitrc is 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

shy venture
#

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.

#

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.