nvidia drivers for foureighty

This commit is contained in:
Cyryl Płotnicki 2021-06-27 12:49:36 +01:00
parent 8332e27e1d
commit 22fea4c4c9
4 changed files with 18 additions and 13 deletions

View file

@ -8,7 +8,6 @@
./nvidia.nix
../../boot.nix
../../common.nix
../../gfx-intel.nix
../../tailscale.nix
./tailscale-foureighty.nix
../../distributed-builds.nix

View file

@ -8,17 +8,25 @@ let
export __VK_LAYER_NV_optimus=NVIDIA_only
exec -a "$0" "$@"
'';
whichgpu = pkgs.writeShellScriptBin "whichgpu" ''glxinfo | grep vendor'';
nvidiaon = pkgs.writeShellScriptBin "nvidiaon" ''
export __NV_PRIME_RENDER_OFFLOAD=1;
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0;
export __GLX_VENDOR_LIBRARY_NAME=nvidia;
export __VK_LAYER_NV_optimus=NVIDIA_only;
glxinfo | grep vendor; echo OK!;
'';
in
{
environment.systemPackages = [ nvidia-offload ];
environment.systemPackages = [ nvidia-offload whichgpu nvidiaon ];
hardware.opengl.enable = true;
hardware.opengl.driSupport32Bit = true;
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia.prime = {
offload.enable = true;
# Bus ID of the Intel GPU. You can find it using lspci, either under 3D or VGA
intelBusId = "PCI:0:2:0";
# Bus ID of the NVIDIA GPU. You can find it using lspci, either under 3D or VGA
nvidiaBusId = "PCI:1:0:0";
};

View file

@ -1,7 +1,6 @@
{ config, pkgs, ... }:
{
imports = [
./grobi.nix
./i3.nix
./i3-status.nix
./dunst.nix

View file

@ -14,7 +14,6 @@ in
startup = [
{ command = "exec hsetroot -solid '#002b36'"; always = true; notification = false; }
{ command = "exec setxkbmap -layout pl"; always = true; notification = false; }
{ command = "exec ${pkgs.grobi}/bin/grobi update"; always = false; notification = false; }
{ command = "exec $HOME/dev/dotfiles/nixos/i3/lock.sh"; always = false; notification = false; }
{ command = "exec $HOME/dev/dotfiles/nixos/i3/battery-popup.sh"; always = false; notification = false; }
{ command = "exec xdg-mime default org.gnome.Evince.desktop application/pdf"; always = false; notification = false; }