Commit Graph

180 Commits

Author SHA1 Message Date
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
Jörg Thalheim
b12c759f76
Merge pull request #47563 from jameysharp/unscripted
Replace several activation script snippets with declarative configuration
2018-10-02 19:21:34 +01:00
Jamey Sharp
188bdfb95d nixos/opengl: create /run/opengl-driver using tmpfiles.d
Anything that uses OpenGL starts after sysinit.target, so
systemd-tmpfiles runs before anything that needs these symlinks.
2018-09-30 11:08:12 -07:00
nyanloutre
da86afba0d
nixos/steam-hardware: module init 2018-09-30 11:22:32 +02:00
volth
2e979e8ceb [bot] nixos/*: remove unused arguments in lambdas 2018-07-20 20:56:59 +00:00
Ben Wolsieffer
7c763118b4 raspberrypiWirelessFirmware: init 2018-07-12 17:02:32 +03: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
Florian Klink
fff5923686 nixos/modules: users.(extraUsers|extraGroup->users|group) 2018-06-30 03:02:58 +02:00
dje4321
1b7ce4c6d5 brightnessctl: init at 0.3.2 (#42102)
* brightnessctl: init at 0.3.2

* Revised PR
2018-06-16 18:15:42 -04:00
Raymond Gauthier
3dfc9cd826 nixos/uvcvideo.dynctrl: Init 2018-06-11 11:33:49 -04:00
Robert Schütz
80fc5f2a24 Merge branch 'master' into staging 2018-04-10 09:13:36 +02:00
Matthew Justin Bauer
07886aaf5a
Merge pull request #33794 from yrashk/onlykey
config.hardware.onlykey configuration option
2018-04-09 14:29:31 -05: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
cdf1079665 opengl service: don't override mesa non-drivers in runtime 2018-03-26 14:02:06 +03:00
Nikolay Amiantov
d61e6c5ed7 opengl service: move options under common hardware.opengl tree
Purely cosmetic.
2018-03-26 14:01:49 +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
Yurii Rashkovskii
738bcfdef8
config.hardware.onlykey configuration option
By default, OnlyKey device (https://crp.to/p/) won't work on Linux (and,
therefore, NixOS). This is unintuitive and requires one to search for a
solution in the documentation.

This change allows one to enable OnlyKey device support directly from
their NixOS configuration.
2018-03-18 12:49:13 +07:00
Jan Malakhovski
7079e744d4 Merge branch 'master' into staging
Resolved the following conflicts (by carefully applying patches from the both
branches since the fork point):

   pkgs/development/libraries/epoxy/default.nix
   pkgs/development/libraries/gtk+/3.x.nix
   pkgs/development/python-modules/asgiref/default.nix
   pkgs/development/python-modules/daphne/default.nix
   pkgs/os-specific/linux/systemd/default.nix
2018-03-10 20:38:13 +00:00
Vladimír Čunát
498374a8bd
Merge #35554: nixos/opengl: unhide and document 2018-03-04 17:33:01 +01:00
Shea Levy
fec543436d
nixos: Move uses of stdenv.shell to runtimeShell. 2018-03-01 14:38:53 -05:00
David Asabina
e41ca3b347 digitalbitbox: init at 2.2.2 (#33787)
* digitalbitbox: init at 2.2.2

The commits that lead to this have been squashed from independent
commits see branch @vidbina/add/digitalbitbox-wip that did the
following:
 - 0a3030fa0ec digitalbitbox: init at 2.2.2
 - c18ffa3ffd4 digitalbitbox: moved meta to EOF
 - 0c5f3d6972a digitalbitbox: using preConfigure + configureFlags
 - a85b1dfc3fd digitalbitbox: nativeBuildInputs
 - 90bdd35ef0f digitalbitbox: autoreconfHook
 - 91810eea055 digitalbitbox: default installPhase & makeWrapper
 - 90e43fb7e2a digitalbitbox: doc rm $PWD hack & printf-tee deal
 - fd033b2fe5a digitalbitbox: cleanup, alphabetically sort attrs
 - c5907982db3 digitalbitbox: added hardware module
 - 88e46bc9ae0 digitalbitbox: added program module
 - amend to change name: dbb-app -> digitalbitbox
 - amend to add install instructions based on feedback
 (https://github.com/NixOS/nixpkgs/pull/33787#issuecomment-362813149)
 - amend to add longDescription
 - moved program to its own dir
 - overridable udev rules handling
 - added docs to manual
 - added package attr to program module
 - added package attr to hardware module

* digitalbitbox: use libsForQt5.callPackage
2018-02-27 22:40:22 +00:00
Linus Heckemann
c255b10818 nixos/opengl: unhide and document enable option 2018-02-25 16:34:34 +00:00
Tim Steinbach
9f71de75af
rtl8723bs: Only include in enableAllFirmware if valid 2018-02-22 08:52:50 -05:00
David McFarland
68dda232d2 amdgpu-pro: 17.10 -> 17.40 2018-01-12 00:09:15 -04:00
zimbatm
309373ea68 intel-ocl: r4.0-59481 -> 5.0-63503 2017-11-01 17:59:49 +00:00
Peter Hoeg
2c67873b7d Revert "include firmware with enableAllFirmware"
This reverts commit bd5fd61967.
2017-10-14 14:42:48 +08:00
Peter Hoeg
bd5fd61967 include firmware with enableAllFirmware 2017-10-14 14:38:04 +08:00
Franz Pletz
3df126dbf7
nixos/modules: clean up wireless firmware options
All available options were just enabling
hardware.enableRedistributableFirmware. There were nix files without
modules which weren't referenced anywhere.
2017-10-07 01:48:02 +02: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
Vladimír Čunát
97ac29cafc
hpsa service: fallout from #28557 merge and revert 2017-09-13 07:55:48 +02:00
John Ericson
241ced7dab nixos/hardware/raid/hpsa: Use NIX_BINUTILS
NIX_CC no longer includes nix-support/dynamic-linker
2017-09-03 11:39:16 -04:00
Volth
b998d8e8b7 nixos/hardware/raid/hpsa: init at 2.40 2017-08-01 12:52:04 +00:00
Peter Hoeg
f5c0607f8d mcelog: use .service file from upstream 2017-07-27 13:06:20 +08: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
Franz Pletz
839647e630
nitrokey module: init 2017-05-26 00:47:46 +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
Jörg Thalheim
192f8e7699
broadcom-bt-firmware: revert to unfree
license was misinterpreted, it is now only conditionally in the all
firmware list included, if `allowUnfree` is set.

fixes #25567
2017-05-08 09:18:11 +01:00
zraexy
d900478e3c broadcom-bt-firmware: init at 12.0.1.1011
broadcom-bt-firmware: init at 12.0.1.1011
2017-05-03 12:51:32 -08:00
Jörg Thalheim
50f7a7ca2e
rtl8192su-firmware: init at unstable-2016-10-05 2017-03-31 10:49:38 +02:00
Peter Hoeg
80750f459c Merge pull request #17303 from peterhoeg/iio
iio-sensor-proxy: init at 2.2 and nixos module
2017-03-14 11:16:09 +08:00
Franz Pletz
bccac381b2
microcode updates: prepend first in initrd
Prevents crashing the kernel on boot if other blobs are prepended
before the microkernel update image.

Fixes #22674.
2017-02-27 17:12:33 +01:00
Graham Christensen
1430506666
mcelog: init Machine Check Exception Logging Daemon service 2017-02-26 11:42:00 -05:00
Peter Hoeg
e4d8cb8dab iio-sensor-proxy: init at 2.2 and nixos module
This PR adds support for ```iio-sensor-proxy``` used by GNOME v3 and
others for reading data from the accelerometer, gps, compass and similar sensors
built into some relatively recent laptops.

Additionally, there is a NixOS module exposed via hardware.sensor.iio
for enabling services, udev rules and dbus services.
2017-02-25 08:46:46 +08:00
Peter Hoeg
8e5b630b49 Merge pull request #22264 from peterhoeg/m/modeswitch
usb-modeswitch: 2.2.1 -> 2.5.0 and nixos module
2017-02-21 16:49:04 +08:00
Peter Hoeg
0789a2a4d6 usb-wwan: nixos module 2017-02-21 16:35:27 +08: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
8d379ddfef opengl service: use option for XDG_DATA_DIRS 2017-01-31 04:38:09 +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
Nikolay Amiantov
d75a3cfb29 Merge pull request #21995 from abbradar/opencl
Fix OpenCL support
2017-01-20 12:09:17 +03:00
Nikolay Amiantov
221685aee9 opengl service: mention that you can add OpenCL drivers 2017-01-20 03:37:51 +03:00
Kier Davis
ea7a8bf2d9
ckb: init at 0.2.6
ckb is a driver for Corsair keyboards/mice. It also contains a graphical tool for configuring their LED backlight settings.

The driver is implemented as a userland daemon. A NixOS module is included that runs this as a systemd service.
2017-01-12 18:25:14 +00: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
Nikolay Amiantov
f10ec922e0 bumblebee service: make bbswitch optional 2016-11-21 17:29:31 +03:00
Nikolay Amiantov
44808cac65 bumblebee service: fix service dependencies 2016-11-21 17:29:26 +03:00
Nikolay Amiantov
4111710b8e bumblebee service: blacklist additional nvidia modules 2016-11-20 19:08:52 +03:00
David McFarland
6bf27c2cae vulkan-loader: allow validation layers to be enabled
The loader now uses XDK_DATA_DIRS to find drivers and layers.
2016-11-13 12:44:27 -04:00
David McFarland
e783cc90a0 opengl: add driver paths to XDG_DATA_DIRS 2016-11-13 12:44:27 -04:00
Vladimír Čunát
9d1dfc9ed0 Merge #18861: add AMDGPU-PRO driver 2016-10-11 19:57:30 +02:00
David McFarland
3b4ce62451 amdgpu-pro: Init at 16.30.3-315407 2016-10-11 14:19:38 -03:00
Vladimír Čunát
c68850c6be nixos opengl: use mesa_drivers.out
...instead of mesa_noglu.out. Closures of systems remain unchanged,
as both are in (and the .out output is very small anyway).
This is to make sure that we use lib*GL* that aren't slowed down by grsecurity.
2016-09-24 19:21:39 +02:00
Nikolay Amiantov
bc493ccfcc displaylink service: init 2016-09-13 00:30:35 +03:00
obadz
68936edfb3 Merge branch 'master' into staging 2016-08-21 12:03:41 +01:00
Vladimír Čunát
b4821ece01 nixos: blacklist radeon module if using amdgpu 2016-08-21 11:58:14 +02:00
Nikolay Amiantov
6b41f1132c nixos treewide: don't set MODULE_DIR 2016-08-19 17:56:54 +03:00
Shea Levy
9adad8612b Revert "Merge branch 'modprobe-fix' of git://github.com/abbradar/nixpkgs"
Was meant to go into staging, sorry

This reverts commit 57b2d1e9b0, reversing
changes made to 760b2b9048.
2016-08-15 19:05:52 -04:00
Nikolay Amiantov
1f63958772 nixos treewide: don't set MODULE_DIR 2016-08-16 00:19:25 +03:00
Vladimír Čunát
05a36304ea nixos ati_unfree: auto-switch xorg to fglrxComat 2016-05-23 10:12:44 +02:00
Eric Litak
4c415e59a4 rtl8723bs-firmware: init, split off from rtl8723bs 2016-04-25 00:41:25 -07:00
Graham Christensen
788122c3c5 facetimehd: Only unload module if it is loaded
The pre-sleep service exits if any command fails. Unloading facetimehd
without it being loaded blocks subsequent commands from running.

Note: `modprobe -r` works a bit better when unloading unused modules,
and is preferrable to `rmmod`. However, the facetimehd module does not
support suspending. In this case, it seems preferable to forcefully
unload the module. `modprobe` does not support a `--force` flag when
removing, so we are left with `rmmod`.

See:
 - https://github.com/NixOS/nixpkgs/pull/14883
 - https://github.com/patjak/bcwc_pcie/wiki#known-issues
2016-04-23 09:37:01 -05:00
Tuomas Tynkkynen
01854a850a treewide: Replace module_init_tools -> kmod
The former is deprecated and doesn't handle compressed kernel modules,
so all current usages of it are broken.
2016-04-22 10:40:57 +03:00
Brian McKenna
e50bee65f0 opengl.extraPackages32: pkgsi686Linux in example
Issue #12616 uses this example but the commit doesn't.
2016-03-26 00:50:56 +11:00
Vladimír Čunát
8291ea61b0 nvidia: allow using the beta driver, mainly in future 2016-03-07 23:33:17 +01:00
Vladimír Čunát
e9520e81b3 Merge branch 'master' into staging 2016-02-17 10:06:31 +01:00
lukasepple
0b72e7e247 intel2200BGFirmware: init at 3.1
This commit adds the firmware for the Intel 2200BG wireless cards for
the ipw2200 kernel module. Also it changes the
networking.enableIntel2200BGFirmware option to set it as
hardware.firmware since firmware-linux-nonfree does not contain the
appropiate firmware anymore. Also hardware.enableAllFirmware does enable
the intel2200BGFirmware now.
2016-02-15 19:53:07 +01:00
Kranium Gikos Mendoza
46ecb25d68 facetimehd: blacklist bdc_pci when enabled 2016-02-04 11:31:28 +08:00
Kranium Gikos Mendoza
9213916ca7 facetimehd: init at git-20160127 2016-01-28 02:59:36 +08:00
Nikolay Amiantov
b52acfdf01 nixos xserver: remove vaapiDrivers
Use hardware.opengl.extraPackages instead.
2016-01-26 13:42:40 +03:00
Nikolay Amiantov
1ae1791e8e nixos opengl: add extraPackages and extraPackages32 2016-01-26 13:42:39 +03:00
Tobias Geerinckx-Rice
228774aaf5 wis_go7007: remove dead package & module
Broken since 2014, but basically a package from 2008 with no
upstream.
2016-01-11 00:16:01 +01:00
Nikolay Amiantov
cf3202acac nixos/bumblebee: update for new packages 2015-12-05 00:54:09 +03:00
Eelco Dolstra
9c61317002 Put all firmware in $out/lib/firmware
This way, hardware.firmware can be a list of packages.
2015-08-25 00:40:34 +02:00
Nikolay Amiantov
a8788c4d6a bumblebee: remove redundant bash process 2015-08-03 23:26:23 +03:00
Eelco Dolstra
c63bc92d4c types.uniq types.str -> types.str 2015-06-15 18:12:32 +02: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
aszlig
224ed7e798
nixos/hardware: Add option to enable KSM.
This is essentially what's been done for the official NixOS build slaves
and I'm using it as well for a few of my machines and my own Hydra
slaves.

Here's the same implementation from the Delft server configurations:

f47c2fc7f8/delft/common.nix (L91-L101)

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-04-01 20:00:27 +02:00
William A. Kennington III
86666893f0 nixos/microcode-amd: Update to early initrd loader 2015-03-25 14:44:36 -07:00