OTD requires WAYLAND_DISPLAY or DISPLAY to be set,
otherwise it assumes x11 which, on a WAYLAND display configuration,
leads to segfaults on OTD start up. Enforce an ordering
so that we wait until the session has initted before doing
anything.
Upstream has both a check for these environment variables,
as well as enforces a RestartSec=3 to prevent immediate
restarts.
Additionally, it's theoretically possible for DISPLAY to
be set before WAYLAND_DISPLAY, causing segmentation faults
on wayland set ups, so add an explicit polling condition for
that in the ExecStartPre script.
Currently, you need to override `stdenv.hostPlatform` to request a
compressed kernel on AArch64, and the kernel configuration is split
between the central structured configuration and string snippets in
platform definitions. This has consequently made the latter bitrot
terribly. Since the platform‐specific logic is now very limited after
cleaning up the detritus, we can move it into the kernel derivation
and expose the relevant configuration there for anyone who wants to
customize it further or needs to read it out.
Co-authored-by: zowoq <59103226+zowoq@users.noreply.github.com>
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
The nobody/nogroup pair of should only ever be used by NFS to map remote
uid/guids that are missing locally. Every other use is an abuse and
generally a security concern.
Specifically, they're NOT some special user/group that can be used to
run programs without giving them any privileges. In fact, the opposite
is true: the more programs you run as nobody/nogroup the more valuable
files and resources become accessible to "nobody" and consequently
exposed to a potentially compromised program.
This removes mentions of nobody/nogroup from documentation and examples.
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](https://github.com/NVIDIA/open-gpu-kernel-modules/commit/b5bf85a8e3eb2516b9abca4d1becaf1172d62822)
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.
The option defaults to `report != { }` instead of `reportPath != null`,
because since the report may be set externally using `report`, guarding
for `reportPath != null` breaks setups that set it externally, since
none of the modules take effect any longer.
Add "displaylink" to `services.xserver.externallyConfiguredDrivers` to
let the xserver module know that said driver has already been configured
out-of-band.
Fixes#491861
Add options to configure xpadneo kernel module parameters:
- settings: freeform attrset for any kernel module parameter
(disable_deadzones, trigger_rumble_mode, disable_shift_mode, etc.)
- rumbleAttenuation: convenience option with overall/triggers submodule
for force feedback attenuation
- quirks: convenience option mapping MAC addresses to quirk flags
The NixOS test is extended to provide basic sanity checks on the
generated modprobe configuration.