Commit graph

187 commits

Author SHA1 Message Date
Artem Leshchev b01be47c87 nixos/nvidia: fix /dev/nvidia* devices minors
We can't assume that DRI card minor is the same as NVidia GPU device minor,
because some DRI minors could be taken by GPUs of other vendors.

Fixes #87788, #98942.
2022-04-28 01:18:58 +03:00
Janne Heß 4f3a868e59
Merge pull request #169049 from helsinki-systems/feat/systemd-stage-1-amdgpu-pro
nixos/amdgpu-pro: Add support for systemd stage 1
2022-04-20 11:36:53 +02:00
Janne Heß 0a60a12fae
nixos/amdgpu-pro: Add support for systemd stage 1 2022-04-17 14:00:02 +01:00
Guillaume Girol 5f95bff481 nixos/nvidia: fix type of bus ID option to accept empty string 2022-04-17 12:00:00 +00:00
polykernel 614b54d9b0 hardware/nvidia: stricter constraints on PCI bus-id.
The current type for the busId options are too relaxed, a stricter
constraint should be imposed to guard against typos which result
in Xorg unable to start.

This commit restricts the type to adhere to the B/D/F notation[1] for
addressing devices as expected by the module option.

[1] - https://wiki.osdev.org/PCI#Configuration_Space_Access_Mechanism_.231
2022-04-16 15:25:37 -04:00
Alyssa Ross ae8e8aaee7 treewide: remove obsolete kernel version checks
We no longer support any Linux kernel older than 4.9.
2022-04-08 09:56:09 +00:00
Googlebot 4007aa201b Merge remote-tracking branch 'upstream/master' 2022-03-21 11:32:36 -04:00
Jonathan Ringer 0326d67a58 nixos/nvidia: add vaapi support 2022-03-14 22:35:11 -07:00
Alexander Shpilkin 0d233ebed0
nixos/facetimehd: add option hardware.facetimehd.withCalibration
The new option (disabled by default) pulls in the experimental sensor
calibration files for the Facetime HD camera. These will also be pulled
in by hardware.enableAllFirmware.
2022-03-15 03:42:49 +03:00
Googlebot b2068c1248
Merge branch 'NixOS:master' into master 2022-03-09 09:58:39 -05:00
Alyssa Ross 1176525f87 treewide: remove obsolete kernel version checks
We don't support Linux kernels older than 4.4 in Nixpkgs.
2022-02-19 21:09:19 +00:00
googlebot 125a347ae1 nvidia: Fix AMD APU for Prime Sync 2022-02-04 17:35:41 -05:00
Kirill Elagin ad735b87e4 hidpi: Use gray-scale antialiasing for fonts
For displays with high pixel density, there is no need to do subpixel
anti-aliasing (which is the default) – grayscale antialiasing is enough.

In terms of fontconfig, we keep antialiasing on, but tell it not to play
any RGB tricks.
2022-02-03 10:20:50 -05:00
Jan Tojnar e00317be13 nixos/nvidia: remove obsolete GDM on Wayland assertion
GDM enables Wayland on supported platforms automatically (see ${gnome.gdm}/lib/udev/rules.d/61-gdm.rules), so we removed the `gdm.nvidiaWayland` option.

You will still need `hardware.nvidia.modesetting.enable = true;` with `nvidia` driver, though.
2022-02-01 19:22:04 +01:00
Allen Short 9e47e60971 amdgpu-pro: 17.40 -> 21.30 2021-12-21 11:17:34 -04:00
Jan Tojnar dad4fddd52 nixos/nvidia: check modesetting for gdm-wayland only when gdm is enabled
Reported in https://github.com/NixOS/nixpkgs/pull/147153#issuecomment-982695772
2021-11-30 16:06:21 +01:00
Artturi 04a499cdde
Revert "nixos/hidpi: add xserver dpi" 2021-11-29 23:26:46 +02:00
Bernardo Meurer cf0e83f5c4
Merge pull request #137157 from rebeccaskinner/fix/nvidia-settings
nixos/modules/hardware/video/nvidia: Fix incorrect reference to 'nvid…
2021-11-16 10:18:16 -08:00
Cole Mickens 216dd5b740
nvidia: fix egl-wayland loading 2021-10-20 15:19:06 -07:00
Timothy DeHerrera 305ea3e9ed
nixos/nvidia: fix typo in PM assert 2021-10-13 09:39:35 -06:00
Naïm Favier 2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
rebecca skinner e7996ab6ce nixos/modules/hardware/video/nvidia: Fix incorrect reference to 'nvidiaSettings'
This patch fixes a bug caused by an incorrect reference to
'nvidiaSettings' rather than 'cfg.nvidiaSettings'. The bug caused
the system to not build when using the nvidia drivers.

Tested on my local machine.
2021-09-08 23:33:07 -05:00
Phillip Cloud 6aaccdcbc8
nixos/nvidia: remove extra space 2021-09-01 08:57:33 -04:00
Phillip Cloud db0560c0f2
nixos/nvidia: fix missing variable reference 2021-09-01 08:54:32 -04:00
Bernardo Meurer 7b2709f6a4
nixos/nvidia: let user choose whether to install nvidia-settings 2021-08-30 17:06:07 -07:00
Artturi bb03a951c9
Merge pull request #116290 from aaronjanse/mar2021-hidpi
nixos/hidpi: add xserver dpi
2021-08-13 01:50:36 +03:00
Edmund Wu 573aae39e2
nixos/modules: assertion for required PM files 2021-08-07 01:41:58 -04:00
Natan Lao 4d8569b173 nixos/nvidia: fix hardware.nvidia.package example 2021-06-08 19:40:27 -07:00
Jonathan Ringer ced04640c7 nixos/video: remove obsolete ati modules 2021-05-21 16:16:48 -07:00
TredwellGit 08b21db9c9 nixos/amdgpu: remove
https://github.com/NixOS/nixpkgs/pull/111551#issuecomment-802082766
2021-03-24 21:03:44 +00:00
Aaron Janse 28828c4e8f nixos/hidpi: add xserver dpi 2021-03-14 00:06:28 -08:00
Pasquale f5f9a069d9
nixos/switcheroo-control: added nixos option
node/switcheroo-control: better formatting
2021-02-05 17:39:44 +01:00
Dmitry Kalinkin 161b9b2436
Merge pull request #99323 from eadwu/nvidia/hardware.nvidia.package
nixos: hardware.nvidia.package option for selecting nvidia package
2021-01-30 22:08:37 -05:00
Svein Ove Aas c9f8884592 nVidia: Support dynamic (fine-grained) power management 2021-01-29 12:55:51 -05:00
Svein Ove Aas 6021ab7820 nvidia: Add AMD APU option for Prime 2021-01-29 12:55:51 -05:00
volth bc0d605cf1 treewide: fix double quoted strings in meta.description
Signed-off-by: Ben Siraphob <bensiraphob@gmail.com>
2021-01-24 19:56:59 +07:00
Frederik Rietdijk 450cb04f16
nixos: hardware.nvidia.package option for selecting nvidia package
Make it possible to select a derivation to use. This also moves some
logic that belongs to the derivation back into it.
2021-01-11 13:01:48 -05:00
Jonathan Ringer 5e67d80a8b nixos/nvidia: fix optionals usage 2020-10-18 11:47:34 -07:00
Edmund Wu 2e67196d79 nixos/nvidia: decouple nvidia_x11.persistenced 2020-10-18 11:24:20 -07:00
Joe Hermaszewski 99d2db8dce
nvidia-x11.vulkan_beta: init at 450.56.11 (#97882)
- 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>
2020-09-24 10:53:05 -04:00
Gürkan Gür eb627de968 treewide: fix typo on word environment 2020-07-28 08:00:38 +02:00
Jörg Thalheim 2fb5a9999f
nixos/hidpi: init 2020-05-25 09:17:25 +01:00
Edmund Wu 9a269f555a
nixos/nvidia: include systemd power management 2020-05-10 11:25:50 -04:00
Rakesh Gupta 89a8a31bf3
nixos/nvidia : added nvidia-persistenced 2020-03-09 19:47:57 +11:00
José Romildo Malaquias 74f5358f13
Merge pull request #66601 from eadwu/nvidia/prime-render-offload
nvidia: prime render offload
2020-03-01 14:28:57 -03:00
Matthew Bauer 81daa1e5dc
Merge pull request #76546 from matthewbauer/nvidia-fix-udev-rules
nvidia: fix $ substitution in udev rules
2020-01-02 15:04:33 -05:00
Matthew Bauer b43479d49f nixos/nvidia: add nvidia-uvm-tools device
Related to https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-390/+bug/1767777
2019-12-30 13:15:10 -05:00
Matthew Bauer 6689a385d1 nvidia: fix $ substitution in udev rules
This fixes a harmless error from systemd-udevd that looks like:

  Dec 23 15:35:23 dellbook systemd-udevd[696]:
  /nix/store/iixya3ni5whybpq9zz1h7f4pyw7nhd19-udev-rules/99-local.rules:25
  Invalid value "..." for RUN (char 101: invalid substitution type),
  ignoring, but please fix it.

Using $$ fixes it using the escaping documented at https://www.freedesktop.org/software/systemd/man/udev.html.
2019-12-26 12:54:43 -05:00
Edmund Wu 026b6010ef
nixos/nvidia: implement prime render offload 2019-12-10 11:35:30 -05:00
Edmund Wu 632a8a7bb2
nixos/xserver: introduce attr display to xserver.drivers
Specifically for NVIDIA so that only the device section would be created
2019-12-10 11:35:29 -05:00
Edmund Wu e8daa1e35c
nixos/nvidia: prime.sync.{intel,nvidia}BusId -> prime.{intel,nvidia}BusId 2019-12-10 11:35:28 -05:00
Edmund Wu aca9ffe893
nixos/nvidia: optimus_prime -> prime.sync 2019-12-10 11:34:32 -05:00
Edmund Wu 5d21e8c92b
nixos/nvidia: remove lib references 2019-12-10 11:29:30 -05:00
worldofpeace 9c8181db9b nixos/nvidia: assert that gdm.nvidiaWayland needs modesetting 2019-11-19 15:34:39 -05:00
worldofpeace 7b71fb57d4 nixos/nvidia: drop gdm wayland assertion 2019-11-19 15:34:39 -05:00
worldofpeace ce26b3eaf0 nixos/slim: remove
The SLIM project is abandoned and their last release was in 2013.
Because of this it poses a security risk to systems, no one is working
on it or picked up maintenance. It also lacks compatibility with systemd
and logind sessions. For users, there liikely isn't anything like slim
that's as lightweight in terms of dependencies.
2019-11-11 17:10:41 -05:00
Peter Hoeg d936b17d14 nixos/displaylink: write out required xorg.conf fragment
Invoke xrandr to actually connect the device.

Additionally, we let systemd create the logs directory and use our module loader
instead of handling it manually.
2019-11-01 13:06:28 +08:00
Vladimír Čunát f21211ebfe
Merge branch 'master' into staging 2019-09-02 23:25:24 +02:00
Silvan Mosberger 478e7184f8
nixos/modules: Remove all usages of types.string
And replace them with a more appropriate type

Also fix up some minor module problems along the way
2019-08-31 18:19:00 +02:00
volth 35d68ef143 treewide: remove redundant quotes 2019-08-26 21:40:19 +00:00
worldofpeace a6ce6c1052
Merge pull request #61981 from ambrop72/no-opengl-ld-library-path
nixos: Don't set LD_LIBRARY_PATH for graphics drivers that don't need it.
2019-07-11 13:15:51 -04:00
volth f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
Ambroz Bizjak 370d3af0c4 nixos: Don't set LD_LIBRARY_PATH for graphics drivers that don't need it.
A new internal option `hardware.opengl.setLdLibraryPath` is added which controls if `LD_LIBRARY_PATH` should be set to `/run/opengl-driver(-32)/lib`. It is false by default and is meant to be set to true by any driver which requires it. If this option is false, then `opengl.nix` and `xserver.nix` will not set `LD_LIBRARY_PATH`.

Currently Mesa and NVidia drivers don't set `setLdLibraryPath` because they work with libglvnd and do not override libraries, while `amdgpu-pro`, `ati` and `parallels-guest` set it to true (the former two really need it, the last one doesn't build so is presumed to).

Additionally, the `libPath` attribute within entries of `services.xserver.drivers` is removed. This made `xserver.nix` add the driver path directly to the `LD_LIBRARY_PATH` for the display manager (including X server). Not only is it redundant when the driver is added to `hardware.opengl.package` (assuming that `hardware.opengl.enable` is true), in fact all current drivers except `ati` set it incorrectly to the package path instead of package/lib.

This removal of `LD_LIBRARY_PATH` could break certain packages using CUDA, but only those that themselves load `libcuda` or other NVidia driver libraries using `dlopen` (not if they just use `cudatoolkit`). A few have already been fixed but it is practically impossible to test all because most packages using CUDA are libraries/frameworks without a simple way to test.

Fixes #11434 if only Mesa or NVidia graphics drivers are used.
2019-05-26 10:23:46 +02:00
Colin L Rice d67494972d nixos/nvidia: Add NVIDIA optimus option to allow external GPUs
Without this option - NVIDIA refuses to use an external GPU.
2019-05-02 23:57:28 -04:00
Averell Dalton 7f7209ef9a nixos/docker: add enableNvidia option 2019-02-27 09:56:03 +01:00
Symphorien Gibol a915b33315 nixos: add preferLocalBuild=true; on derivations for config files 2019-02-22 20:11:27 +01:00
Dmitry Kalinkin 3edd5cb227
Merge pull request #51294 from eadwu/nvidia_x11/legacy_390
nvidia: expose nvidia_x11_legacy390
2018-12-27 09:08:53 -05:00
Svein Ove Aas 4e5b365644
nvidia: Improve assertion documentation 2018-12-12 15:25:39 +00:00
Vladimír Čunát ad3e9191d1
nixos/nvidia: improve the assertion again
/cc ac19d5e34 #51836.
2018-12-12 00:26:09 +01:00
Andrew Childs f2332809fd nixos/nvidia: fix inverted assertion 2018-12-11 02:04:10 +09:00
Edmund Wu ea1be31262
nvidia: expose nvidia_x11_legacy390 2018-11-30 13:58:22 -05:00
Matthew Bauer 4a8fc5b9aa treewide: remove pkgs_i686
This was getting evaluated eagerly causing assertion failures in
aarch64 systems. We can replace usages of pkgs_i686 with
pkgs.pkgsi686Linux.
2018-11-03 00:56:39 -05:00
Edmund Wu 21bb1fa004
nvidia_x11_beta: reinit at 410.57 2018-10-17 19:30:44 -04:00
Matthew Bauer 1ffe83caa7
Merge pull request #42846 from ambrop72/optimus-prime-config-master
nixos/xserver: Implement configuration of NVIDIA Optimus via PRIME
2018-10-03 22:56:53 -05:00
volth 2e979e8ceb [bot] nixos/*: remove unused arguments in lambdas 2018-07-20 20:56:59 +00:00
Ambroz Bizjak f26153754a nixos/xserver: Implement configuration of NVIDIA Optimus via PRIME
This adds configuration options which automate the configuration of NVIDIA Optimus using PRIME. This allows using the NVIDIA proprietary driver on Optimus laptops, in order to render using the NVIDIA GPU while outputting to displays connected only to the integrated Intel GPU. It also adds an option for enabling kernel modesetting for the NVIDIA driver (via a kernel command line flag); this is particularly useful together with Optimus/PRIME because it fixes tearing on PRIME-connected screens.

The user still needs to enable the Optimus/PRIME feature and specify the bus IDs of the Intel and NVIDIA GPUs, but this is still much easier for users and more reliable. The implementation handles both the X configuration file as well as getting display managers to run certain necessary `xrandr` commands just after X has started.

Configuration of commands run after X startup is done using a new configuration option `services.xserver.displayManager.setupCommands`. Support for this option is implemented for LightDM, GDM and SDDM; all of these have been tested with this feature including logging into a Plasma session.

Note: support of `setupCommands` for GDM is implemented by making GDM run the session executable via a wrapper; the wrapper will run the `setupCommands` before execing. This seemed like the simplest and most reliable approach, and solves running these commands both for GDM's X server and user X servers (GDM starts separate X servers for itself and user sessions). An alternative approach would be with autostart files but that seems harder to set up and less reliable.

Note that some simple features for X configuration file generation (in `xserver.nix`) are added which are used in the implementation:
- `services.xserver.extraConfig`: Allows adding arbitrary new sections. This is used to add the Device section for the Intel GPU.
- `deviceSection` and `screenSection` within `services.xserver.drivers`. This allows the nvidia configuration module to add additional contents into the `Device` and `Screen` sections of the "nvidia" driver, and not into such sections for other drivers that may be enabled.
2018-07-09 18:46:13 +02:00
Raymond Gauthier 3dfc9cd826 nixos/uvcvideo.dynctrl: Init 2018-06-11 11:33:49 -04:00
Shea Levy 05e375d710
Merge remote-tracking branch 'origin/master' into staging 2018-03-28 09:36:47 -04:00
Nikolay Amiantov 25ac79647c linuxPackages.nvidia_x11_legacy173: drop
There's no kernel in nixpkgs suitable for this old driver -- tested with 4.4.
2018-03-27 16:43:53 +03:00
Nikolay Amiantov 0934c8f49b nvidia service: rely on libglvnd 2018-03-26 14:01:49 +03:00
Matthew Justin Bauer ce01740dae
Merge pull request #33685 from corngood/amdgpu-pro-upgrade
amdgpu-pro: 17.10 -> 17.40
2018-03-19 12:40:03 -05:00
Shea Levy fec543436d
nixos: Move uses of stdenv.shell to runtimeShell. 2018-03-01 14:38:53 -05:00
David McFarland 68dda232d2 amdgpu-pro: 17.10 -> 17.40 2018-01-12 00:09:15 -04:00
Cray Elliott d4bdf302a3 nvidia-x11: fix eval error from 4ef82339c9 2017-09-28 13:11:16 -07:00
Rostislav Beneš 4ef82339c9
nixos/gdm,nvidia: new options to enable GDM on Wayland and disabling it for nvidia drivers. 2017-09-28 00:18:57 +02:00
Rostislav Beneš 4f91397c98
nixos/nvidia: populating /dev with nvidia devices at boot 2017-09-28 00:18:57 +02:00
Nikolay Amiantov d09e3535f5 nvidia module: link proper output as OpenGL drivers 2017-05-31 16:30:21 +03:00
Vladimír Čunát bc7b895aa5
nvidia module: allow .persistenced == null
Fixes #26250.  This is fallout from PR #22304.
It's null for 304 and 173 legacy drivers.
2017-05-30 20:58:16 +02:00
Nikolay Amiantov e17744067a displaylink: 1.1.62 -> 1.3.52 2017-05-19 02:51:45 +03:00
Jörg Thalheim e697585675
hardware.enableRedistributableFirmware: fix spelling error 2017-05-09 20:13:15 +01:00
Jörg Thalheim 05aa80c06a
hardware: add enableRedistributalFirmware
Due the recent inclusion of broadcom-bt-firmware in enableAllFirmware,
it was required to set `nixpkgs.config.allowUnfree` to obtain the full
list. To make this dependency more explicit an assertion is added and an
alternative option `enableRedistributalFirmware` is provided to only
obtain firmware with an license allowing redistribution.
2017-05-09 15:29:08 +01:00
zraexy 5abca15f21 bumblebee service: Fix pmMethod bbswitch check
Made useBbswitch work when pmMethod is "auto" and removed invalid pmMethod option "nouveau".
2017-02-19 22:46:47 -09:00
Nikolay Amiantov 22750b36fd nvidia: support application profiles
Closes #22666.
2017-02-19 19:46:01 +03:00
Cray Elliott 5e0b978eff mwprocapture: init at 1.2.3269 (#22160) 2017-02-18 15:44:31 +01:00
Nikolay Amiantov 2fd2fcf54d linuxPackages.nvidia_x11: refactor, build more from source
* Use libglvnd;
* Compile nvidia-settings, nvidia-persistenced from source;
* Generalize builder.
2017-02-08 16:57:46 +03:00
Vladimír Čunát ce9d30e734
Merge #22241: amdgpu-pro: 16.50 -> 16.60 2017-02-07 20:49:58 +01:00
David McFarland 905627c7c5 xorg-server: fglrxCompat -> abiCompat
Allows it to be used for fglrx (1.17) and amdgpu-pro (1.18)
2017-02-06 23:16:21 -04:00
Sarah Brofeldt ac6606fbf4 bumblebee service: Fix type error when pmMethod = "bbswitch" 2017-02-04 10:44:44 +01:00
Nikolay Amiantov 98b0195dde video services: don't install OpenCL files to /etc
They shouldn't be needed now that we search them in /run/opengl-driver.
2017-01-31 03:36:25 +03:00
Nikolay Amiantov 42a180352f bumblebee service: replace bbswitch option with pmMethod
I added this option just today, so I don't think this needs a rename entry.
2016-11-22 02:35:12 +03:00