Commit graph

31 commits

Author SHA1 Message Date
worldofpeace
c924032b68
Merge pull request #63894 from ambrop72/no-opengl-xdg-data-dirs
nixos/opengl: Don't set XDG_DATA_DIRS.
2019-07-11 13:16:08 -04: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
Ambroz Bizjak
c07fb9cebd nixos/opengl: Don't set XDG_DATA_DIRS.
This was added in #19936 so that vulkan-loader finds the ICD config files. It is
not needed any more after #62869 where it was ensured that the loader looks in
/run/opengl-driver(-32)/share.
2019-06-28 14:36:29 +02:00
Matthew Bauer
263f5891b6 treewide: mesa_noglu, mesa_drivers, libGL_driver -> mesa
Just use mesa for these to be more clear. Move these to aliases.nix
2019-06-17 14:43:18 -04: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
Joachim Fasting
ab070d1b0b
nixos/opengl: assert 32bit emu support if 32bit support is enabled
See https://github.com/NixOS/nixpkgs/issues/51097
2019-01-06 19:52:08 +01: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
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
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
Linus Heckemann
c255b10818 nixos/opengl: unhide and document enable option 2018-02-25 16:34:34 +00:00
zimbatm
309373ea68 intel-ocl: r4.0-59481 -> 5.0-63503 2017-11-01 17:59:49 +00:00
Nikolay Amiantov
8d379ddfef opengl service: use option for XDG_DATA_DIRS 2017-01-31 04:38:09 +03:00
Nikolay Amiantov
221685aee9 opengl service: mention that you can add OpenCL drivers 2017-01-20 03:37:51 +03:00
David McFarland
e783cc90a0 opengl: add driver paths to XDG_DATA_DIRS 2016-11-13 12:44:27 -04: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
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
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
Eelco Dolstra
d34c600414 Remove udev from /run/opengl-drivers
/run/opengl-drivers should contain only libGL-related libraries, not
stuff like udev. Injecting anything into LD_LIBRARY_PATH is dangerous
because it can break applications that expect a different version of
the library.

Caused by eef9a8ac2a. Fixes #5371.
2014-12-17 17:00:10 +01:00
Nathaniel Baxter
fb9a6221b6 ati_unfree: Update nixos-manual for AMD driver support 2014-09-07 12:42:32 +10:00
Nathaniel Baxter
c16874c4c0 ati_unfree: Create a nixos module for the ati_unfree x11 driver and
blacklist the radeon driver when ati_unfree is installed.
2014-09-07 12:40:32 +10:00
Shea Levy
b3cfb9084b Get all lib functions from lib, not pkgs.lib, in modules 2014-07-02 12:28:18 -04:00
Vladimír Čunát
1200a1ecf3 fixup the previous: got renamed to sessionVariables
I'm sorry; I didn't notice Eelco renamed the option.
My dry-run didn't catch that one with nvidia driver, no idea why.
2014-06-15 20:28:30 +02:00
Vladimír Čunát
de783277da nixos/opengl: add LD_LIBRARY_PATH to systemVariables instead
so all users get this variable, thanks to work from #2692.
2014-06-15 19:18:16 +02:00
Michael Raskin
eef9a8ac2a On my system OpenGL with bumblebee seems to require libudev in LD_LIBRARY_PATH. Fix that, fix bumblebee module loading and make the socket group configurable 2014-05-02 14:32:47 +04: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
Eelco Dolstra
3fe96bcca1 Rename hardware.opengl.videoDrivers back to services.xserver.videoDrivers
Fixes #2379.
The new name was a misnomer because the values really are X11 video
drivers (e.g. ‘cirrus’ or ‘nvidia’), not OpenGL implementations. That
it's also used to set an OpenGL implementation for kmscon is just
confusing overloading.
2014-04-29 14:42:36 +02:00
Vladimír Čunát
8340454544 mesa: have all output on /run/opengl-driver{,-32}
Fixes #2242 in a different way (cleaner, I hope).
2014-04-14 21:38:23 +02:00
Vladimír Čunát
557dff54aa nixos opengl: add s2tc to mesa drivers by default
Close #2200. Thanks to @cpages for suggesting and testing this.
2014-04-14 21:38:23 +02:00
Shea Levy
dea562b6b9 services.mesa -> hardware.opengl
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-08 14:45:37 -05:00
Renamed from nixos/modules/services/x11/mesa.nix (Browse further)