3
0
Fork 0
forked from mirrors/nixpkgs
Commit graph

25 commits

Author SHA1 Message Date
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
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
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
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
Shea Levy fec543436d
nixos: Move uses of stdenv.shell to runtimeShell. 2018-03-01 14:38:53 -05: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 22750b36fd nvidia: support application profiles
Closes #22666.
2017-02-19 19:46:01 +03: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
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
Vladimír Čunát 8291ea61b0 nvidia: allow using the beta driver, mainly in future 2016-03-07 23:33:17 +01:00
William A. Kennington III 6ffd44c4c3 nvidia: 346.47 -> 346.59 2015-04-07 13:24:55 -07:00
William A. Kennington III c0cb4e1ef7 nixos/nvidia: Add a temporary hack to support kernel 4.0 2015-04-03 21:53:34 -07:00
Eelco Dolstra a4e0278fcd Create /dev/nvidia-uvm for CUDA support 2015-03-03 20:24:14 +01:00
Vladimír Čunát a3a467ce77 nixos/nvidia: use correct 32-bit legacy libs; refactor
Fixes #6127.
Now we avoid multiple switches among the version possibilities.
2015-02-21 16:34:24 +01:00
Vladimír Čunát d39c6ceffc nvidia_x11: current long-lived becomes a new legacy
CC: #5070.
2014-11-24 22:39:00 +01:00
Athan Clark 5fc3df831c Simple typo 2014-05-13 10:35:57 -06:00
Eelco Dolstra 02cef04c81 Move the NVIDIA support into its own module
Previously all card-specific stuff was scattered across xserver.nix
and opengl.nix, which is ugly. Now it can be kept together in a single
card-specific module. This required the addition of a few internal
options:

- services.xserver.drivers: A list of { name, driverName, modules,
  libPath } sets.

- hardware.opengl.package: The OpenGL implementation. Note that there
  can be only one OpenGL implementation at a time in a system
  configuration (i.e. no dynamic detection).

- hardware.opengl.package32: The 32-bit OpenGL implementation.
2014-04-29 14:42:36 +02:00