Skip to content

Nvidia: Partial rewrite to bring up to date with new developments #1026

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 14, 2025
Merged

Nvidia: Partial rewrite to bring up to date with new developments #1026

merged 1 commit into from
Apr 14, 2025

Conversation

fxzzi
Copy link
Contributor

@fxzzi fxzzi commented Apr 7, 2025

Hello again, this is the second time I've done this lol

I was getting a little tired of having people in the Discord keep complaining about electron flickering, when it has been pretty much solved for a while now, so it pushed me to just rewrite most of the Nvidia page on the Wiki to hopefully mitigate some of that.

There are a few opinionated changes I've made here. I felt they were what was best for the page, as they either contained information which were for Nvidia drivers so old they shouldn't even be using Wayland, or they were unneeded in my eyes (i.e. fixing flickering with those weird power management options)

I'm still unsure as to whether I should keep some of this "legacy" info here. i.e., containing info about how to enable modeset and fbdev, when they've also been enabled by default for a few months. Let me know what y'all think and whether or not we should keep this info.

Any criticism is welcome, I want this page to be as easy to read as possible since we have a lot of Nvidia users (including me) and most of the issues being reported are just the same thing over and over again at this point.

CC @fufexan since fuf reviewed my last PR about this (#601)

Copy link
Member

@fufexan fufexan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally looks good, but I have a few questions:

  1. Does suspend work now on nvidia-open-dkms?
  2. Does hardware.nvidia.powerManagement.enable handle the kernelParam as well now?
  3. Is the NVreg_RegistryDwords fix no longer needed?
  4. __GLX_VENDOR_LIBRARY_NAME?

Additionally, mentions of Hyprland/Wayland/Xwayland or some other project should be capitalized.

@fxzzi
Copy link
Contributor Author

fxzzi commented Apr 7, 2025

Generally looks good, but I have a few questions:

1. Does suspend work now on `nvidia-open-dkms`?

2. Does `hardware.nvidia.powerManagement.enable` handle the kernelParam as well now?

3. Is the `NVreg_RegistryDwords` fix no longer needed?

4. `__GLX_VENDOR_LIBRARY_NAME`?

Additionally, mentions of Hyprland/Wayland/Xwayland or some other project should be capitalized.

  1. Suspend is now working for me as of the latest 570xx releases with open kernel modules. I'm not sure if its still a hit or miss tbh, I can add that section back if you'd like.
  2. Yes, it does, and I think it did for a while actually: https://github.com/NixOS/nixpkgs/blob/0196e5372b8b7a282cb3bbe5cbf446617141ce38/nixos/modules/hardware/video/nvidia.nix#L659
  3. This is one of the opinionated changes that I was mentioning. This section was added a pretty long time ago and I don't think it holds true anymore considering the developments we've had in explicit sync and syncobj in electron, cef, and hyprland itself. (I also don't think its a very good workaround anyway xd, it messes with power management stuff and forces your gpu into a high power state for no good reason, I also haven't seen anybody in practice actually using this workaround on the discord)
  4. It was originally suggested to try removing it on the wiki because of some bugs years ago, but these have since been fixed. I haven't seen any reports in years of people having issues with it set.

For your last point, sure, I will have a look.

@fufexan
Copy link
Member

fufexan commented Apr 7, 2025

Okay then, lmk when this is ready.

@fxzzi
Copy link
Contributor Author

fxzzi commented Apr 7, 2025

okie dokie, I've made some changes. Let me know if anything is still missing.

Copy link
Member

@fufexan fufexan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's alright. @gulafaran you have Nvidia iirc, do you mind checking this as well?

Copy link

@matjam matjam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good refactor, I think its overall an improvement.

Left some suggestions.

@fxzzi
Copy link
Contributor Author

fxzzi commented Apr 9, 2025

I re-added the nuclear method, but upon conversation with @gulafaran i decided to remove it again as originally intended.

It's not a very good workaround tbh, stuff should be fixed in Hyprland, Electron, and Chromium now. (thanks tom, ikalco, plasmapower, and others)

@gulafaran
Copy link
Contributor

I re-added the nuclear method, but upon conversation with @gulafaran i decided to remove it again as originally intended.

It's not a very good workaround tbh, stuff should be fixed in Hyprland, Electron, and Chromium now. (thanks tom, ikalco, plasmapower, and others)

Most of those options are either removed or not really working either since a long time ago , https://forums.developer.nvidia.com/t/kernel-module-option-nvreg-registrydwords-for-powermizerenable-doesnt-work-on-530-41-03/247610

@fxzzi
Copy link
Contributor Author

fxzzi commented Apr 11, 2025

Still waiting on Vaxry's response, but should be ready to squash and merge once that's done :)

@vaxerski
Copy link
Member

oops didnt notice the ping

@fxzzi
Copy link
Contributor Author

fxzzi commented Apr 14, 2025

@fufexan should be ready for any final reviews now.

edit: also squashed

Copy link
Member

@fufexan fufexan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kinda long review but I felt like a lot of stuff was overly verbose. We want to keep the wiki as simple as possible.

@fxzzi
Copy link
Contributor Author

fxzzi commented Apr 14, 2025

Kinda long review but I felt like a lot of stuff was overly verbose. We want to keep the wiki as simple as possible.

Thanks lol, I incorporated the changes, let me know what you think.

EDIT: lol there was even more hiding, I had a look at those and they all seemed very reasonable and much better than the way it was already written / I had written it.

Not sure why you lost contributor attribution to this PR. Sorry ><

Nvidia: Capitalise mentions of Hyprland and Wayland

Nvidia: correct some misinformation on my end, add back enabling modeset as it wasn't actually enabled by default, reword slightly

Nvidia: modesetting is also enabled by default on NixOS 🐐

Nvidia: provide commonly used names for the 3 driver types

Co-authored-by: Nathan Ollerenshaw <chrome@stupendous.net>

Nvidia: re-add nuclear method to fix flickering, other minor changes

Nvidia: re-remove nuclear method to fix flickering

Nvidia: modify spotify-launcher part to suggest modifying file in ~ instead of /etc

Nvidia: reword section about DKMS vs non-DKMS

Still suggest to use dkms as it simplifies configuration for multi-kernel / non-lts/default kernel setups, but also explain that the non-DKMS packages are available

Nvidia: add small disclaimer about trying closed drivers if suspend is still not working

Nvidia: correct spotify-launcher config
Copy link
Member

@fufexan fufexan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@fufexan fufexan merged commit 1a1c235 into hyprwm:main Apr 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants