nvidia 470.57.02 changed the path of `nvidia-sleep.sh` and systemd
scripts, making `builder.sh` miss them and suspend-to-ram on systems
where `hardware.nvidia.powerManagement.enable = true` is set fail.
Fix a race condition that occurs in parallel builds of
nvidia-settings, frequently ending in the following error:
/bin/bash: _out/Linux_x86_64/antialias.png.h: No such file or directory
make[1]: *** [Makefile:320: _out/Linux_x86_64/antialias.png.h] Error 1
Upstream issue and fix from:
https://github.com/NVIDIA/nvidia-settings/issues/59
Ignore the sanity check that prevents the Nvidia drivers from
being built for kernels with real-time patches.
Even though the driver might not be officially supported by
Nvidia for linux-rt, it seems to work without issues.
Attempting to install the driver for linux-rt fails with the
following error message:
The kernel you are installing for is a PREEMPT_RT kernel!
The NVIDIA driver does not support real-time kernels. If you
are using a stock distribution kernel, please install
a variant of this kernel that does not have the PREEMPT_RT
patch set applied; if this is a custom kernel, please
install a standard Linux kernel. Then try installing the
NVIDIA kernel module again.
*** Failed PREEMPT_RT sanity check. Bailing out! ***
continuation of #109595
pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.
python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
- This is fetched from a different URL, so allow passing that explicitly.
- There also isn't an nvidia-persistenced or nvidia-settings release for
this version, so use 450.57 instead. Also implement passing
persistenced and settings version explicitly.
Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
In some contexts, we don’t want to have to build the whole i686 stdenv
just to use the x86_64 nvidia driver. It’s hard to know ahead of time
what we want, so it’s best to leave this as an overridable option.