Makrennel / hyprland-void

void linux hyprland templates for building with xbps-src
Other
132 stars 15 forks source link

Nvidia proprietary driver support #1

Closed soanvig closed 1 year ago

soanvig commented 1 year ago

Hey! Congrats on making this actually compile!

I would like to open Nvidia proprietary driver thread here, for me and others.


I applied these suggestions: https://wiki.hyprland.org/Nvidia/ But Hyprland fails to launch of wrl_backend_is_drm.

Enabling these modules, and drm modeset actually helped to launch Sway however, which didn't start previously, so that works (https://getcryst.al/site/docs/crystal-linux/nvidiawayland).

However the Hyprland still doesn't launch. As far as we know it can be connected either to this template or the Hyprland itself as described by it's author.

Makrennel commented 1 year ago

However the Hyprland still doesn't launch. As far as we know it can be connected either to this template or the Hyprland itself as described by it's author.

As far as I understand, Nvidia is unofficially supported using a separate AUR package which patches Hyprland's included wlroots to make it work: https://aur.archlinux.org/cgit/aur.git/tree/nvidia.patch?h=hyprland-nvidia

Makrennel commented 1 year ago

I can't test it, but I went ahead and added a version with the patch as "hyprland-nvidia"

https://github.com/Makrennel/hyprland-void/commit/e4905c6810693435934c65d9812cfae72c51b6a2

soanvig commented 1 year ago

Oh, right, there is patched version as well. Didn't notice. Awesome! I will check this when I have time.

soanvig commented 1 year ago

Hm, it builds, the patch is applied (at least according to xbps-src), but there is no visible change in the outcome. The error is the same. Libwlroots is recompiled telling from the logs.

The actual error message is Hyprland: undefined symbol: wlr_backend_is_drm. However I have set nvidia_drm.modeset=1 in my cat /proc/cmdline. This is rather strange, because this symbol should have been defined in the wlroots code. I also have installed libdrm-devel if that would make a difference. There is also almost none mentions of that problem in Google.

Hm, I guess that I'll have to play with it for a while. Let's keep that open. Anyway, thanks a lot for doing the heavy lifting for the nvidia package. At least now I have something I can experiment with.

Makrennel commented 1 year ago

The actual error message is Hyprland: undefined symbol: wlr_backend_is_drm. However I have set nvidia_drm.modeset=1 in my cat /proc/cmdline. This is rather strange, because this symbol should have been defined in the wlroots code. I also have installed libdrm-devel if that would make a difference. There is also almost none mentions of that problem in Google.

Following on from the issue over at Hyprland's tracker, just to check have you setup and rebuilt a dracut conf like so?

soanvig commented 1 year ago

Used kernel parameters in GRUB config, then xbps-reconfigure -f linux<VERSION>. I now added force_drivers like you said, reconfigured, and still the same issue.

$ lsmod | grep nvidia
nvidia_drm             86016  6
drm_kms_helper        196608  1 nvidia_drm
nvidia_uvm           1658880  0
nvidia_modeset       1298432  9 nvidia_drm
video                  69632  1 nvidia_modeset
nvidia              56459264  405 nvidia_uvm,nvidia_modeset
drm                   659456  10 drm_kms_helper,nvidia,nvidia_drm
$ sudo cat /sys/module/nvidia_drm/parameters/modeset
Y
soanvig commented 1 year ago

@Makrennel you were using nvidia proprietary driver for that RTX2080 right?

Makrennel commented 1 year ago

@Makrennel you were using nvidia proprietary driver for that RTX2080 right?

It was a 2060, and yes the proprietary driver from void nonfree repo.

Makrennel commented 1 year ago

Closing this as it doesn't seem to be directly related to Nvidia - I have heard this issue has cropped up with an AMD user as well. I still don't know what causes it.