Skip to content
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

linuxPackages.nvidiaPackages.beta: 550.40.07 -> 555.42.02 #313440

Merged
merged 3 commits into from
May 22, 2024

Conversation

Kiskae
Copy link
Contributor

@Kiskae Kiskae commented May 21, 2024

Description of changes

  • The GSP firmware is now used by default on all GPUs which support it. It can be disabled by setting the kernel module parameter NVreg_EnableGpuFirmware=0.
  • Added support for the linux-drm-syncobj-v1 protocol for Wayland explicit sync in EGL.
  • Removed support for Base Mosaic on GeForce, which was previously available only on select GPU boards with some motherboards, and limited to five display devices.
  • Fixed a bug that caused "Failed to apply atomic modeset" and "Flip event timeout" messages to be printed to the system log when a DRM client such as ddcutil drops "master" permissions while a framebuffer console is being initialized.
  • Fixed a bug, when nvidia-drm is loaded with the fbdev=1 module parameter on some kernels, that caused incorrect colors to be displayed.
  • Changed the minimum required Linux kernel version from 3.10 to 4.15.
  • Added immediate presentation mode support to Vulkan Wayland WSI. This presentation mode instructs the compositors not to wait for a vertical blanking period to update the application's surface content, which may result in tearing.
  • Enabled HDMI 10 bits per component support by default; disable by loading nvidia-modeset with hdmi_deepcolor=0.
  • Fixed a regression that led to Xid errors when loading the NVIDIA driver on some notebook systems with RTX 4xxx series GPUs.
  • Fixed a bug that caused driver build failure when using separate kernel source and output directories on Linux v6.6 and later.
  • Added an interactive prompt to nvidia-installer to allow selecting between the proprietary and open kernel modules, on systems where both kernel module types are supported.
  • Fixed a bug that incorrectly allowed nvidia-smi -r to reset the primary GPU when using the open kernel modules.
  • Fixed a bug that caused vkGetPhysicalDeviceSurfaceSupportKHR to incorrectly report support for Wayland surfaces when nvidia-drm is not loaded with modeset=1.
  • Fixed a bug that could cause the display to lock up when suspending on a kernel with CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER enabled with nvidia-drm loaded with modeset=1 and fbdev=1.
  • Added support for using EGL instead of GLX as the OpenGL ICD for NvFBC.
  • Fixed a bug that could lead to a system hang and "Idling display engine timed out" messages when VT switching on an HDMI Fixed Rate Link (FRL) display.

Closes #313423

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 11-100 labels May 21, 2024
@Kiskae
Copy link
Contributor Author

Kiskae commented May 21, 2024

Result of nixpkgs-review pr 313440 run on x86_64-linux 1

126 packages built:
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta_open
  • linuxKernel.packages.linux_4_19.nvidia_x11_production_open
  • linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta
  • linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta_open
  • linuxKernel.packages.linux_4_19_hardened.nvidia_x11_production_open
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta_open
  • linuxKernel.packages.linux_5_10.nvidia_x11_production_open
  • linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta
  • linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta_open
  • linuxKernel.packages.linux_5_10_hardened.nvidia_x11_production_open
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta_open
  • linuxKernel.packages.linux_5_15.nvidia_x11_production_open
  • linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta
  • linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta_open
  • linuxKernel.packages.linux_5_15_hardened.nvidia_x11_production_open
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta_open
  • linuxKernel.packages.linux_5_4.nvidia_x11_production_open
  • linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta
  • linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta_open
  • linuxKernel.packages.linux_5_4_hardened.nvidia_x11_production_open
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta_open
  • linuxKernel.packages.linux_6_1.nvidia_x11_production_open
  • linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta
  • linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta_open
  • linuxKernel.packages.linux_6_1_hardened.nvidia_x11_production_open
  • linuxKernel.packages.linux_6_6.nvidia_x11_beta
  • linuxKernel.packages.linux_6_6.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_6_6.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_6_6.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_6_6.nvidia_x11_beta_open
  • linuxKernel.packages.linux_6_6.nvidia_x11_production_open
  • linuxKernel.packages.linux_hardened.nvidia_x11_beta (linuxKernel.packages.linux_6_6_hardened.nvidia_x11_beta)
  • linuxKernel.packages.linux_hardened.nvidia_x11_beta.bin (linuxKernel.packages.linux_6_6_hardened.nvidia_x11_beta.bin)
  • linuxKernel.packages.linux_hardened.nvidia_x11_beta.firmware (linuxKernel.packages.linux_6_6_hardened.nvidia_x11_beta.firmware)
  • linuxKernel.packages.linux_hardened.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_6_6_hardened.nvidia_x11_beta.lib32)
  • linuxKernel.packages.linux_hardened.nvidia_x11_beta_open (linuxKernel.packages.linux_6_6_hardened.nvidia_x11_beta_open)
  • linuxKernel.packages.linux_hardened.nvidia_x11_production_open (linuxKernel.packages.linux_6_6_hardened.nvidia_x11_production_open)
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta_open
  • linuxKernel.packages.linux_6_8.nvidia_x11_production_open
  • linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta
  • linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta_open
  • linuxKernel.packages.linux_6_8_hardened.nvidia_x11_production_open
  • linuxKernel.packages.linux_6_9.nvidia_x11_beta
  • linuxKernel.packages.linux_6_9.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_6_9.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_6_9.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_6_9.nvidia_x11_beta_open
  • linuxKernel.packages.linux_6_9.nvidia_x11_production_open
  • linuxKernel.packages.linux_latest_libre.nvidia_x11_beta
  • linuxKernel.packages.linux_latest_libre.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_latest_libre.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_latest_libre.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_latest_libre.nvidia_x11_beta_open
  • linuxKernel.packages.linux_latest_libre.nvidia_x11_production_open
  • linuxKernel.packages.linux_libre.nvidia_x11_beta
  • linuxKernel.packages.linux_libre.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_libre.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_libre.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_libre.nvidia_x11_beta_open
  • linuxKernel.packages.linux_libre.nvidia_x11_production_open
  • linuxKernel.packages.linux_lqx.nvidia_x11_beta
  • linuxKernel.packages.linux_lqx.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_lqx.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_lqx.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_lqx.nvidia_x11_beta_open
  • linuxKernel.packages.linux_lqx.nvidia_x11_production_open
  • linuxKernel.packages.linux_xanmod.nvidia_x11_beta
  • linuxKernel.packages.linux_xanmod.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_xanmod.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_xanmod.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_xanmod.nvidia_x11_beta_open
  • linuxKernel.packages.linux_xanmod.nvidia_x11_production_open
  • linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta (linuxKernel.packages.linux_xanmod_stable.nvidia_x11_beta)
  • linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta.bin (linuxKernel.packages.linux_xanmod_stable.nvidia_x11_beta.bin)
  • linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta.firmware (linuxKernel.packages.linux_xanmod_stable.nvidia_x11_beta.firmware)
  • linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_xanmod_stable.nvidia_x11_beta.lib32)
  • linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta_open (linuxKernel.packages.linux_xanmod_stable.nvidia_x11_beta_open)
  • linuxKernel.packages.linux_xanmod_latest.nvidia_x11_production_open (linuxKernel.packages.linux_xanmod_stable.nvidia_x11_production_open)
  • linuxKernel.packages.linux_zen.nvidia_x11_beta
  • linuxKernel.packages.linux_zen.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_zen.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_zen.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_zen.nvidia_x11_beta_open
  • linuxKernel.packages.linux_zen.nvidia_x11_production_open

@Kiskae Kiskae requested a review from NickCao May 21, 2024 17:48
@chermnyx
Copy link
Contributor

Now that "The GSP firmware is now used by default on all GPUs which support it" the nvidia nixos module should always load the firmware (not for the open drivers only) https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/hardware/video/nvidia.nix#L537

@Kiskae
Copy link
Contributor Author

Kiskae commented May 21, 2024

Now that "The GSP firmware is now used by default on all GPUs which support it" the nvidia nixos module should always load the firmware (not for the open drivers only) https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/hardware/video/nvidia.nix#L537

Good catch, will make a change to the module.

@github-actions github-actions bot added 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: module (update) This PR changes an existing module in `nixos/` labels May 21, 2024
@SimonBrandner
Copy link
Contributor

(Before this gets merged, I would be interested in trying it out. Is there any chance you could tell me what to set as the value for hardware.nvidia.package once I've added the branch to my flake inputs? 😅 )

@athre0z
Copy link
Member

athre0z commented May 21, 2024

Result of nixpkgs-review pr 313440 run on x86_64-linux 1

2 packages blacklisted:
  • nixos-install-tools
  • tests.nixos-functions.nixos-test
105 packages built:
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta_open
  • linuxPackages_4_19_hardened.nvidia_x11_beta (linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta)
  • linuxPackages_4_19_hardened.nvidia_x11_beta.bin (linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta.bin)
  • linuxPackages_4_19_hardened.nvidia_x11_beta.firmware (linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta.firmware)
  • linuxPackages_4_19_hardened.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta.lib32)
  • linuxPackages_4_19_hardened.nvidia_x11_beta_open (linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta_open)
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta_open
  • linuxPackages_5_10_hardened.nvidia_x11_beta (linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta)
  • linuxPackages_5_10_hardened.nvidia_x11_beta.bin (linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta.bin)
  • linuxPackages_5_10_hardened.nvidia_x11_beta.firmware (linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta.firmware)
  • linuxPackages_5_10_hardened.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta.lib32)
  • linuxPackages_5_10_hardened.nvidia_x11_beta_open (linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta_open)
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta_open
  • linuxPackages_5_15_hardened.nvidia_x11_beta (linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta)
  • linuxPackages_5_15_hardened.nvidia_x11_beta.bin (linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta.bin)
  • linuxPackages_5_15_hardened.nvidia_x11_beta.firmware (linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta.firmware)
  • linuxPackages_5_15_hardened.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta.lib32)
  • linuxPackages_5_15_hardened.nvidia_x11_beta_open (linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta_open)
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta_open
  • linuxPackages_5_4_hardened.nvidia_x11_beta (linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta)
  • linuxPackages_5_4_hardened.nvidia_x11_beta.bin (linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta.bin)
  • linuxPackages_5_4_hardened.nvidia_x11_beta.firmware (linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta.firmware)
  • linuxPackages_5_4_hardened.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta.lib32)
  • linuxPackages_5_4_hardened.nvidia_x11_beta_open (linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta_open)
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta_open
  • linuxPackages_6_1_hardened.nvidia_x11_beta (linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta)
  • linuxPackages_6_1_hardened.nvidia_x11_beta.bin (linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta.bin)
  • linuxPackages_6_1_hardened.nvidia_x11_beta.firmware (linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta.firmware)
  • linuxPackages_6_1_hardened.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta.lib32)
  • linuxPackages_6_1_hardened.nvidia_x11_beta_open (linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta_open)
  • linuxPackages.nvidia_x11_beta (linuxKernel.packages.linux_6_6.nvidia_x11_beta)
  • linuxPackages.nvidia_x11_beta.bin (linuxKernel.packages.linux_6_6.nvidia_x11_beta.bin)
  • linuxPackages.nvidia_x11_beta.firmware (linuxKernel.packages.linux_6_6.nvidia_x11_beta.firmware)
  • linuxPackages.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_6_6.nvidia_x11_beta.lib32)
  • linuxPackages.nvidia_x11_beta_open (linuxKernel.packages.linux_6_6.nvidia_x11_beta_open)
  • linuxPackages_hardened.nvidia_x11_beta (linuxPackages_6_6_hardened.nvidia_x11_beta)
  • linuxPackages_hardened.nvidia_x11_beta.bin (linuxPackages_6_6_hardened.nvidia_x11_beta.bin)
  • linuxPackages_hardened.nvidia_x11_beta.firmware (linuxPackages_6_6_hardened.nvidia_x11_beta.firmware)
  • linuxPackages_hardened.nvidia_x11_beta.lib32 (linuxPackages_6_6_hardened.nvidia_x11_beta.lib32)
  • linuxPackages_hardened.nvidia_x11_beta_open (linuxPackages_6_6_hardened.nvidia_x11_beta_open)
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta_open
  • linuxPackages_6_8_hardened.nvidia_x11_beta (linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta)
  • linuxPackages_6_8_hardened.nvidia_x11_beta.bin (linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta.bin)
  • linuxPackages_6_8_hardened.nvidia_x11_beta.firmware (linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta.firmware)
  • linuxPackages_6_8_hardened.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta.lib32)
  • linuxPackages_6_8_hardened.nvidia_x11_beta_open (linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta_open)
  • linuxPackages_latest.nvidia_x11_beta (linuxKernel.packages.linux_6_9.nvidia_x11_beta)
  • linuxPackages_latest.nvidia_x11_beta.bin (linuxKernel.packages.linux_6_9.nvidia_x11_beta.bin)
  • linuxPackages_latest.nvidia_x11_beta.firmware (linuxKernel.packages.linux_6_9.nvidia_x11_beta.firmware)
  • linuxPackages_latest.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_6_9.nvidia_x11_beta.lib32)
  • linuxPackages_latest.nvidia_x11_beta_open (linuxKernel.packages.linux_6_9.nvidia_x11_beta_open)
  • linuxPackages_latest-libre.nvidia_x11_beta (linuxKernel.packages.linux_latest_libre.nvidia_x11_beta)
  • linuxPackages_latest-libre.nvidia_x11_beta.bin (linuxKernel.packages.linux_latest_libre.nvidia_x11_beta.bin)
  • linuxPackages_latest-libre.nvidia_x11_beta.firmware (linuxKernel.packages.linux_latest_libre.nvidia_x11_beta.firmware)
  • linuxPackages_latest-libre.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_latest_libre.nvidia_x11_beta.lib32)
  • linuxPackages_latest-libre.nvidia_x11_beta_open (linuxKernel.packages.linux_latest_libre.nvidia_x11_beta_open)
  • linuxPackages-libre.nvidia_x11_beta (linuxKernel.packages.linux_libre.nvidia_x11_beta)
  • linuxPackages-libre.nvidia_x11_beta.bin (linuxKernel.packages.linux_libre.nvidia_x11_beta.bin)
  • linuxPackages-libre.nvidia_x11_beta.firmware (linuxKernel.packages.linux_libre.nvidia_x11_beta.firmware)
  • linuxPackages-libre.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_libre.nvidia_x11_beta.lib32)
  • linuxPackages-libre.nvidia_x11_beta_open (linuxKernel.packages.linux_libre.nvidia_x11_beta_open)
  • linuxPackages_lqx.nvidia_x11_beta (linuxKernel.packages.linux_lqx.nvidia_x11_beta)
  • linuxPackages_lqx.nvidia_x11_beta.bin (linuxKernel.packages.linux_lqx.nvidia_x11_beta.bin)
  • linuxPackages_lqx.nvidia_x11_beta.firmware (linuxKernel.packages.linux_lqx.nvidia_x11_beta.firmware)
  • linuxPackages_lqx.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_lqx.nvidia_x11_beta.lib32)
  • linuxPackages_lqx.nvidia_x11_beta_open (linuxKernel.packages.linux_lqx.nvidia_x11_beta_open)
  • linuxPackages_xanmod.nvidia_x11_beta (linuxKernel.packages.linux_xanmod.nvidia_x11_beta)
  • linuxPackages_xanmod.nvidia_x11_beta.bin (linuxKernel.packages.linux_xanmod.nvidia_x11_beta.bin)
  • linuxPackages_xanmod.nvidia_x11_beta.firmware (linuxKernel.packages.linux_xanmod.nvidia_x11_beta.firmware)
  • linuxPackages_xanmod.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_xanmod.nvidia_x11_beta.lib32)
  • linuxPackages_xanmod.nvidia_x11_beta_open (linuxKernel.packages.linux_xanmod.nvidia_x11_beta_open)
  • linuxPackages_xanmod_latest.nvidia_x11_beta (linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta ,linuxPackages_xanmod_stable.nvidia_x11_beta)
  • linuxPackages_xanmod_latest.nvidia_x11_beta.bin (linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta.bin ,linuxPackages_xanmod_stable.nvidia_x11_beta.bin)
  • linuxPackages_xanmod_latest.nvidia_x11_beta.firmware (linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta.firmware ,linuxPackages_xanmod_stable.nvidia_x11_beta.firmware)
  • linuxPackages_xanmod_latest.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta.lib32 ,linuxPackages_xanmod_stable.nvidia_x11_beta.lib32)
  • linuxPackages_xanmod_latest.nvidia_x11_beta_open (linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta_open ,linuxPackages_xanmod_stable.nvidia_x11_beta_open)
  • linuxPackages_zen.nvidia_x11_beta (linuxKernel.packages.linux_zen.nvidia_x11_beta)
  • linuxPackages_zen.nvidia_x11_beta.bin (linuxKernel.packages.linux_zen.nvidia_x11_beta.bin)
  • linuxPackages_zen.nvidia_x11_beta.firmware (linuxKernel.packages.linux_zen.nvidia_x11_beta.firmware)
  • linuxPackages_zen.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_zen.nvidia_x11_beta.lib32)
  • linuxPackages_zen.nvidia_x11_beta_open (linuxKernel.packages.linux_zen.nvidia_x11_beta_open)

@Kiskae
Copy link
Contributor Author

Kiskae commented May 21, 2024

(Before this gets merged, I would be interested in trying it out. Is there any chance you could tell me what to set as the value for hardware.nvidia.package once I've added the branch to my flake inputs? 😅 )

config.boot.kernelPackages.nvidiaPackages.beta I believe

@athre0z
Copy link
Member

athre0z commented May 21, 2024

Been testing this for a bit now and I haven't seen any of the cursed XWayland flicking anymore with Plasma 6. It has always been showing up a bit sporadic, so it could also be coincidental -- not sure if the corresponding XWayland patch is even merged yet (in nixpkgs), but I remain hopeful.

(Before this gets merged, I would be interested in trying it out. Is there any chance you could tell me what to set as the value for hardware.nvidia.package once I've added the branch to my flake inputs? 😅 )

hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.beta;

Note that you'll probably end up compiling a looot of stuff locally if you directly use this branch, since it is based on a rather recent commit. I'd recommend cloning nixpkgs locally and then rebasing the 3 commits here onto i.e. nixos-unstable so that the majority of packages come from cache.

@kiike
Copy link
Member

kiike commented May 21, 2024

I've also been trying it on a GM204 (NVIDIA GTX 980), kernel 6.8.10. No issues so far:

$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  555.42.02  Mon May 13 17:24:29 UTC 2024
GCC version:  gcc version 13.2.0 (GCC)
$ uname
╭──────────────────┬───────────────────────────────────────────────────────────╮
│ kernel-name      │ Linux                                                     │
│ nodename         │ dhalsim                                                   │
│ kernel-release   │ 6.8.10                                                    │
│ kernel-version   │ #1-NixOS SMP PREEMPT_DYNAMIC Fri May 17 10:15:12 UTC 2024 │
│ machine          │ x86_64                                                    │
│ operating-system │ GNU/Linux                                                 │
╰──────────────────┴───────────────────────────────────────────────────────────╯

Copy link
Member

@NickCao NickCao left a comment

Choose a reason for hiding this comment

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

We should use nixfmt-rfc-style instead of nixpkgs-fmt now, otherwise LGTM.

@SimonBrandner
Copy link
Contributor

@wyndon
Copy link
Contributor

wyndon commented May 22, 2024

Worth mentioning explicit sync makes Firefox (and derivatives like Librewolf) crash on startup, in the meantime one would either not use this beta driver, or temporarily run Firefox through Xwayland by setting MOZ_ENABLE_WAYLAND=0.

@Daholli
Copy link
Contributor

Daholli commented May 22, 2024

Result of nixpkgs-review pr 313440 run on x86_64-linux 1

2 packages blacklisted:
  • nixos-install-tools
  • tests.nixos-functions.nixos-test
105 packages built:
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_4_19.nvidia_x11_beta_open
  • linuxPackages_4_19_hardened.nvidia_x11_beta (linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta)
  • linuxPackages_4_19_hardened.nvidia_x11_beta.bin (linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta.bin)
  • linuxPackages_4_19_hardened.nvidia_x11_beta.firmware (linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta.firmware)
  • linuxPackages_4_19_hardened.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta.lib32)
  • linuxPackages_4_19_hardened.nvidia_x11_beta_open (linuxKernel.packages.linux_4_19_hardened.nvidia_x11_beta_open)
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_5_10.nvidia_x11_beta_open
  • linuxPackages_5_10_hardened.nvidia_x11_beta (linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta)
  • linuxPackages_5_10_hardened.nvidia_x11_beta.bin (linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta.bin)
  • linuxPackages_5_10_hardened.nvidia_x11_beta.firmware (linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta.firmware)
  • linuxPackages_5_10_hardened.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta.lib32)
  • linuxPackages_5_10_hardened.nvidia_x11_beta_open (linuxKernel.packages.linux_5_10_hardened.nvidia_x11_beta_open)
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_5_15.nvidia_x11_beta_open
  • linuxPackages_5_15_hardened.nvidia_x11_beta (linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta)
  • linuxPackages_5_15_hardened.nvidia_x11_beta.bin (linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta.bin)
  • linuxPackages_5_15_hardened.nvidia_x11_beta.firmware (linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta.firmware)
  • linuxPackages_5_15_hardened.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta.lib32)
  • linuxPackages_5_15_hardened.nvidia_x11_beta_open (linuxKernel.packages.linux_5_15_hardened.nvidia_x11_beta_open)
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_5_4.nvidia_x11_beta_open
  • linuxPackages_5_4_hardened.nvidia_x11_beta (linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta)
  • linuxPackages_5_4_hardened.nvidia_x11_beta.bin (linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta.bin)
  • linuxPackages_5_4_hardened.nvidia_x11_beta.firmware (linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta.firmware)
  • linuxPackages_5_4_hardened.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta.lib32)
  • linuxPackages_5_4_hardened.nvidia_x11_beta_open (linuxKernel.packages.linux_5_4_hardened.nvidia_x11_beta_open)
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_6_1.nvidia_x11_beta_open
  • linuxPackages_6_1_hardened.nvidia_x11_beta (linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta)
  • linuxPackages_6_1_hardened.nvidia_x11_beta.bin (linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta.bin)
  • linuxPackages_6_1_hardened.nvidia_x11_beta.firmware (linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta.firmware)
  • linuxPackages_6_1_hardened.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta.lib32)
  • linuxPackages_6_1_hardened.nvidia_x11_beta_open (linuxKernel.packages.linux_6_1_hardened.nvidia_x11_beta_open)
  • linuxPackages.nvidia_x11_beta (linuxKernel.packages.linux_6_6.nvidia_x11_beta)
  • linuxPackages.nvidia_x11_beta.bin (linuxKernel.packages.linux_6_6.nvidia_x11_beta.bin)
  • linuxPackages.nvidia_x11_beta.firmware (linuxKernel.packages.linux_6_6.nvidia_x11_beta.firmware)
  • linuxPackages.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_6_6.nvidia_x11_beta.lib32)
  • linuxPackages.nvidia_x11_beta_open (linuxKernel.packages.linux_6_6.nvidia_x11_beta_open)
  • linuxPackages_hardened.nvidia_x11_beta (linuxPackages_6_6_hardened.nvidia_x11_beta)
  • linuxPackages_hardened.nvidia_x11_beta.bin (linuxPackages_6_6_hardened.nvidia_x11_beta.bin)
  • linuxPackages_hardened.nvidia_x11_beta.firmware (linuxPackages_6_6_hardened.nvidia_x11_beta.firmware)
  • linuxPackages_hardened.nvidia_x11_beta.lib32 (linuxPackages_6_6_hardened.nvidia_x11_beta.lib32)
  • linuxPackages_hardened.nvidia_x11_beta_open (linuxPackages_6_6_hardened.nvidia_x11_beta_open)
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta.bin
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta.firmware
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta.lib32
  • linuxKernel.packages.linux_6_8.nvidia_x11_beta_open
  • linuxPackages_6_8_hardened.nvidia_x11_beta (linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta)
  • linuxPackages_6_8_hardened.nvidia_x11_beta.bin (linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta.bin)
  • linuxPackages_6_8_hardened.nvidia_x11_beta.firmware (linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta.firmware)
  • linuxPackages_6_8_hardened.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta.lib32)
  • linuxPackages_6_8_hardened.nvidia_x11_beta_open (linuxKernel.packages.linux_6_8_hardened.nvidia_x11_beta_open)
  • linuxPackages_latest.nvidia_x11_beta (linuxKernel.packages.linux_6_9.nvidia_x11_beta)
  • linuxPackages_latest.nvidia_x11_beta.bin (linuxKernel.packages.linux_6_9.nvidia_x11_beta.bin)
  • linuxPackages_latest.nvidia_x11_beta.firmware (linuxKernel.packages.linux_6_9.nvidia_x11_beta.firmware)
  • linuxPackages_latest.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_6_9.nvidia_x11_beta.lib32)
  • linuxPackages_latest.nvidia_x11_beta_open (linuxKernel.packages.linux_6_9.nvidia_x11_beta_open)
  • linuxPackages_latest-libre.nvidia_x11_beta (linuxKernel.packages.linux_latest_libre.nvidia_x11_beta)
  • linuxPackages_latest-libre.nvidia_x11_beta.bin (linuxKernel.packages.linux_latest_libre.nvidia_x11_beta.bin)
  • linuxPackages_latest-libre.nvidia_x11_beta.firmware (linuxKernel.packages.linux_latest_libre.nvidia_x11_beta.firmware)
  • linuxPackages_latest-libre.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_latest_libre.nvidia_x11_beta.lib32)
  • linuxPackages_latest-libre.nvidia_x11_beta_open (linuxKernel.packages.linux_latest_libre.nvidia_x11_beta_open)
  • linuxPackages-libre.nvidia_x11_beta (linuxKernel.packages.linux_libre.nvidia_x11_beta)
  • linuxPackages-libre.nvidia_x11_beta.bin (linuxKernel.packages.linux_libre.nvidia_x11_beta.bin)
  • linuxPackages-libre.nvidia_x11_beta.firmware (linuxKernel.packages.linux_libre.nvidia_x11_beta.firmware)
  • linuxPackages-libre.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_libre.nvidia_x11_beta.lib32)
  • linuxPackages-libre.nvidia_x11_beta_open (linuxKernel.packages.linux_libre.nvidia_x11_beta_open)
  • linuxPackages_lqx.nvidia_x11_beta (linuxKernel.packages.linux_lqx.nvidia_x11_beta)
  • linuxPackages_lqx.nvidia_x11_beta.bin (linuxKernel.packages.linux_lqx.nvidia_x11_beta.bin)
  • linuxPackages_lqx.nvidia_x11_beta.firmware (linuxKernel.packages.linux_lqx.nvidia_x11_beta.firmware)
  • linuxPackages_lqx.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_lqx.nvidia_x11_beta.lib32)
  • linuxPackages_lqx.nvidia_x11_beta_open (linuxKernel.packages.linux_lqx.nvidia_x11_beta_open)
  • linuxPackages_xanmod.nvidia_x11_beta (linuxKernel.packages.linux_xanmod.nvidia_x11_beta)
  • linuxPackages_xanmod.nvidia_x11_beta.bin (linuxKernel.packages.linux_xanmod.nvidia_x11_beta.bin)
  • linuxPackages_xanmod.nvidia_x11_beta.firmware (linuxKernel.packages.linux_xanmod.nvidia_x11_beta.firmware)
  • linuxPackages_xanmod.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_xanmod.nvidia_x11_beta.lib32)
  • linuxPackages_xanmod.nvidia_x11_beta_open (linuxKernel.packages.linux_xanmod.nvidia_x11_beta_open)
  • linuxPackages_xanmod_latest.nvidia_x11_beta (linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta ,linuxPackages_xanmod_stable.nvidia_x11_beta)
  • linuxPackages_xanmod_latest.nvidia_x11_beta.bin (linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta.bin ,linuxPackages_xanmod_stable.nvidia_x11_beta.bin)
  • linuxPackages_xanmod_latest.nvidia_x11_beta.firmware (linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta.firmware ,linuxPackages_xanmod_stable.nvidia_x11_beta.firmware)
  • linuxPackages_xanmod_latest.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta.lib32 ,linuxPackages_xanmod_stable.nvidia_x11_beta.lib32)
  • linuxPackages_xanmod_latest.nvidia_x11_beta_open (linuxKernel.packages.linux_xanmod_latest.nvidia_x11_beta_open ,linuxPackages_xanmod_stable.nvidia_x11_beta_open)
  • linuxPackages_zen.nvidia_x11_beta (linuxKernel.packages.linux_zen.nvidia_x11_beta)
  • linuxPackages_zen.nvidia_x11_beta.bin (linuxKernel.packages.linux_zen.nvidia_x11_beta.bin)
  • linuxPackages_zen.nvidia_x11_beta.firmware (linuxKernel.packages.linux_zen.nvidia_x11_beta.firmware)
  • linuxPackages_zen.nvidia_x11_beta.lib32 (linuxKernel.packages.linux_zen.nvidia_x11_beta.lib32)
  • linuxPackages_zen.nvidia_x11_beta_open (linuxKernel.packages.linux_zen.nvidia_x11_beta_open)

@Kiskae Kiskae force-pushed the nvidia/555.42.02 branch from d5c3f1e to fbdcdde Compare May 22, 2024 11:47
@Kiskae
Copy link
Contributor Author

Kiskae commented May 22, 2024

Note that you'll probably end up compiling a looot of stuff locally if you directly use this branch, since it is based on a rather recent commit. I'd recommend cloning nixpkgs locally and then rebasing the 3 commits here onto i.e. nixos-unstable so that the majority of packages come from cache.

I usually base these commits on nixos-unstable anyway, since I don't want to compile a bajillion kernels to verify it compiles. :)
Use the --checkout commit flag on nixpkgs-review to skip the merge with the latest master.

We should use nixfmt-rfc-style instead of nixpkgs-fmt now, otherwise LGTM.

Applied

@Kiskae Kiskae requested a review from NickCao May 22, 2024 11:49
@diniamo
Copy link
Contributor

diniamo commented May 22, 2024

Not sure if this is the right place to report it, but my Hyprland seems to be crashing with this PR, whereas it works for Arch users with the new driver. Here are the logs (on v0.39.1, I also tried v0.40.0, and the xwayland-rewrite branch, but no luck): https://0x0.st/XZsN.log

@Kiskae
Copy link
Contributor Author

Kiskae commented May 22, 2024

Not sure if this is the right place to report it, but my Hyprland seems to be crashing with this PR, whereas it works for Arch users with the new driver. Here are the logs (on v0.39.1, I also tried v0.40.0, and the xwayland-rewrite branch, but no luck): https://0x0.st/XZsN.log

Can you confirm it is working without this PR, because it looks similar to https://www.reddit.com/r/hyprland/comments/1cva5g8/latest_version_crashing_on_nvidia/ which isn't using the new driver.

@diniamo
Copy link
Contributor

diniamo commented May 22, 2024

Yes, I am currently writing this message from latest.

@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one reputable person label May 22, 2024
@NickCao NickCao merged commit b72dc8e into NixOS:master May 22, 2024
21 checks passed
@NickCao
Copy link
Member

NickCao commented May 22, 2024

Merging despite various issues since this is beta driver anyway.

@diniamo
Copy link
Contributor

diniamo commented May 22, 2024

For people running into this issue: it only happens on the mainline kernel, it doesn't with xanmod, and reportedly zen.

@Kiskae
Copy link
Contributor Author

Kiskae commented May 22, 2024

@wegank should we perhaps immediately backport this to 24.05?, given the official release is in 1 week it should still be fine

@wegank
Copy link
Member

wegank commented May 22, 2024

my Hyprland seems to be crashing with this PR
Can you confirm it is working without this PR
Yes, I am currently writing this message from latest.

I'm going to assume that this is a breaking change, which cannot be backported.

Copy link
Member

Choose a reason for hiding this comment

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

Formatting individually files shouldn't be done. Please wait in the future for the coordinated effort, otherwise we create lots of chores for everyone and don't properly ignore the commits in the revs file.

Comment on lines 537 to 542
hardware.firmware =
let
isOpen = cfg.open;
isNewUnfree = lib.versionAtLeast nvidia_x11.version "555";
in
lib.optional (isOpen || isNewUnfree) nvidia_x11.firmware;
Copy link
Member

Choose a reason for hiding this comment

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

Using let in here, makes the code a little more complex than it needs to be. Also isOpen is not really any improvement over cfg.open

@DerRockWolf
Copy link
Contributor

Worth mentioning explicit sync makes Firefox (and derivatives like Librewolf) crash on startup, in the meantime one would either not use this beta driver, or temporarily run Firefox through Xwayland by setting MOZ_ENABLE_WAYLAND=0.

Wow, this is still an issue with the current Firefox version 🥲

@mrdev023
Copy link
Contributor

Worth mentioning explicit sync makes Firefox (and derivatives like Librewolf) crash on startup, in the meantime one would either not use this beta driver, or temporarily run Firefox through Xwayland by setting MOZ_ENABLE_WAYLAND=0.

Wow, this is still an issue with the current Firefox version 🥲

This will be fixed for the 130 version of firefox

https://bugzilla.mozilla.org/show_bug.cgi?id=1898476

@DerRockWolf
Copy link
Contributor

Worth mentioning explicit sync makes Firefox (and derivatives like Librewolf) crash on startup, in the meantime one would either not use this beta driver, or temporarily run Firefox through Xwayland by setting MOZ_ENABLE_WAYLAND=0.

Wow, this is still an issue with the current Firefox version 🥲

This will be fixed for the 130 version of firefox

https://bugzilla.mozilla.org/show_bug.cgi?id=1898476

I'm aware of this, but considering 128 was only released 10 days ago and that there is always one release per month, we will have 130 in two months...

@mrdev023
Copy link
Contributor

Worth mentioning explicit sync makes Firefox (and derivatives like Librewolf) crash on startup, in the meantime one would either not use this beta driver, or temporarily run Firefox through Xwayland by setting MOZ_ENABLE_WAYLAND=0.

Wow, this is still an issue with the current Firefox version 🥲

This will be fixed for the 130 version of firefox
https://bugzilla.mozilla.org/show_bug.cgi?id=1898476

I'm aware of this, but considering 128 was only released 10 days ago and that there is always one release per month, we will have 130 in two months...

Yes i known 😢

@YaroKasear
Copy link

Forgive me for asking, but will this also be coming to 24.05 or will this only be in unstable until the next NixOS release?

I can't find a lot of useful information about the process by which package updates filter down to stable, and so far from observation it seems arbitrary what packages come down to stable NixOS releases once they're out.

@DerRockWolf
Copy link
Contributor

DerRockWolf commented Jul 25, 2024

Forgive me for asking, but will this also be coming to 24.05 or will this only be in unstable until the next NixOS release?

I can't find a lot of useful information about the process by which package updates filter down to stable, and so far from observation it seems arbitrary what packages come down to stable NixOS releases once they're out.

These are the "offical" criteria for backports:
https://github.com/NixOS/nixpkgs/blob/d88425e91ca77d6041fd0c1801012bcbe0fae56b/CONTRIBUTING.md#criteria-for-backporting-changes

So this won't be backported.

To use this version regardless you can just install it from the nixos-unstable flake input or channel.

@drakon64
Copy link

If you want this on NixOS 24.05, you can add the following to your configuration:

hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
  version = "555.58.02";
  sha256_64bit = "sha256-xctt4TPRlOJ6r5S54h5W6PT6/3Zy2R4ASNFPu8TSHKM=";
  sha256_aarch64 = lib.fakeSha256;
  openSha256 = lib.fakeSha256;
  settingsSha256 = "sha256-ZpuVZybW6CFN/gz9rx+UJvQ715FZnAOYfHn5jt5Z2C8=";
  persistencedSha256 = lib.fakeSha256;
};

@YaroKasear
Copy link

If you want this on NixOS 24.05, you can add the following to your configuration:

hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
  version = "555.58.02";
  sha256_64bit = "sha256-xctt4TPRlOJ6r5S54h5W6PT6/3Zy2R4ASNFPu8TSHKM=";
  sha256_aarch64 = lib.fakeSha256;
  openSha256 = lib.fakeSha256;
  settingsSha256 = "sha256-ZpuVZybW6CFN/gz9rx+UJvQ715FZnAOYfHn5jt5Z2C8=";
  persistencedSha256 = lib.fakeSha256;
};

Yeah, I'm doing this now, but I kinda wish I could just keep things to what's maintained in nixpkgs eventually.

These are the "offical" criteria for backports: https://github.com/NixOS/nixpkgs/blob/d88425e91ca77d6041fd0c1801012bcbe0fae56b/CONTRIBUTING.md#criteria-for-backporting-changes

So this won't be backported.

To use this version regardless you can just install it from the nixos-unstable flake input or channel.

I was about to argue this is a release with new functionality (Wouldn't explicit sync count as "new functionality?"), but I'm guessing there's breaking changes and that's why it's blocked from stable?

@DerRockWolf
Copy link
Contributor

I was about to argue this is a release with new functionality (Wouldn't explicit sync count as "new functionality?"), but I'm guessing there's breaking changes and that's why it's blocked from stable?

I don't know if there are breaking changes.
But IMHO it's relatively simple:

  • you want new versions? Use nixos-unstable
  • you want a stable system, without a lot of changes? Use the release branches

Because of generations and the ease of rollbacks it's also not very scary to be on unstable.

@Kiskae
Copy link
Contributor Author

Kiskae commented Jul 30, 2024

I was about to argue this is a release with new functionality (Wouldn't explicit sync count as "new functionality?"), but I'm guessing there's breaking changes and that's why it's blocked from stable?

Fundamentally the nvidia drivers are really hostile to runtime updates, since that involves updating the userspace parts while the kernel parts require a reboot (or module juggling) to update. Until we have a way to pin the nvidia userspace libraries it is unlikely updates will be backported to stable.

@Kiskae Kiskae mentioned this pull request Aug 25, 2024
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: module (update) This PR changes an existing module in `nixos/` 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 11-100 12.approvals: 1 This PR was reviewed and approved by one reputable person
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update request: linuxPackages.nvidiaPackages.beta: 550.78 -> 555.42.02