Hi everyone! I’m setting up NixOS on my laptop, which has two GPUs, and I’m running into a couple of issues. I’m hoping someone can help me out.
After I install NVIDIA proprietary driver (560):
- The Brave browser doesn’t work.
- When launching Sway with
--unsupported-gpu
, I get a message indicating that it’s using the NVIDIA proprietary driver, but I want Sway to use my AMD iGPU.
My nvidia.nix
file here:
{ config, pkgs-unstable, ... }:
{
environment.systemPackages = with pkgs-unstable; [
glxinfo
egl-wayland
vulkan-loader
];
services.udev.extraRules = ''
# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"
# Enable runtime PM for NVIDIA VGA/3D controller devices on adding device
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
'';
boot.extraModprobeConfig = ''
options nvidia "NVreg_DynamicPowerManagement=0x02"
blacklist nouveau
'';
boot.kernelParams = [
"rd.driver.blacklist=nouveau"
"nvidia-drm.modeset=1"
];
services.xserver.enable = true;
services.xserver.videoDrivers = [
"amdgpu"
"nvidia"
];
boot.initrd.kernelModules = [
"amdgpu"
"nvidia"
"nvidia_modeset"
"nvidia_uvm"
"nvidia_drm"
];
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
extraPackages = with pkgs-unstable; [ vaapiVdpau ];
};
hardware.nvidia = {
package = config.boot.kernelPackages.nvidiaPackages.latest;
modesetting.enable = true;
open = false;
powerManagement.enable = true;
powerManagement.finegrained = true;
nvidiaSettings = true;
prime = {
offload = {
enable = true;
enableOffloadCmd = true;
};
amdgpuBusId = "PCI:5:0:0";
nvidiaBusId = "PCI:1:0:0";
};
};
}