This changes the NVIDIA NixOS module to use ICD libraries built from
source rather than relying on the pre-compiled bundled versions.
Additionally, this adds a necessary workaround for driver versions
below 595 to ensure proper compatibility.
For more context on the workaround, see the discussion at:
https://github.com/NixOS/nixpkgs/pull/497342#issuecomment-4034876793
NVreg_OpenRmEnableUnsupportedGpus has had no effect since driver release
545.23.06 of the open kernel modules, where it is documented:
>Option: OpenRmEnableUnsupportedGpus
>This option to require opt in for use of Open RM on non-Data Center
>GPUs is deprecated and no longer required. The kernel module parameter
>is left here, though ignored, for backwards compatibility.
In the following NVIDIA/open-gpu-kernel-modules commit:
[b5bf85a8e3](b5bf85a8e3)
Potentially closes#438930
Backwards compatibility: there is a legacy 535 driver affected which
would use the flag. Version check added to keep that as it was until
now. Other legacy (before 515, no open module) or newer (after 545) unaffected.
Add "displaylink" to `services.xserver.externallyConfiguredDrivers` to
let the xserver module know that said driver has already been configured
out-of-band.
Fixes#491861
This adds a knob to disable VA-API support. For use-cases like AI servers, which do not need to perform video acceleration, this can be a useful tweak to reduce size of the system closure a lot, as the VA-API drivers are heavy.
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.
Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.
A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.
This commit was automatically created and can be verified using
nix-build a08b3a4d19.tar.gz \
--argstr baseRev b32a094368
result/bin/apply-formatting $NIXPKGS_PATH
This updates the ipu6 driver and firmware to a more recent version,
which seems to at least work in Chrom{e,ium}.
ipu6-drivers now relies on the in-kernel ipu6 kernel driver, so we
update our logic and metadata for it.
For the open driver, the `nvidia-uvm` module does not auto-load after
`nvidia`, which makes CUDA not work.
In this case, we need to add it to `boot.kernelModules` for it to work
again.
In my experience this is required to get Plasma 6 Wayland to work on
my GTX 1080 with the proprietary driver. Otherwise, I get errors in my
`journalctl --user` about "MESA-LOADER: failed to open simpledrm" (among
many other things) and Plasma just presents a black screen with a cursor
and nothing else.
I discovered this by searching the aforementioned error and found
[this Arch Linux forum post][0] and some further clicking around led
me to [this section on the ArchWiki][1], which is where I got the
`versionAtLeast` value from.
Tested with `nvidia-x11-555.58-6.9.7`.
[0]: https://bbs.archlinux.org/viewtopic.php?id=293741
[1]: https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting
- rename hardware.opengl to hardware.graphics
- remove hardware.opengl.driSupport, which does nothing
- remove hardware.opengl.setLdLibraryPath, which should never be done
- rename hardware.opengl.driSupport32Bit to hardware.graphics.enable32Bit
- lost of small docs / formatting cleanups