Skip to main content
Marchyo supports Intel, AMD, and NVIDIA GPUs, including hybrid graphics configurations with NVIDIA PRIME.

GPU vendors

Specify which GPU vendors are present in your system:
marchyo.graphics.vendors = [ "intel" ];
For hybrid graphics laptops with two GPUs:
marchyo.graphics.vendors = [ "intel" "nvidia" ];
Find your GPU with: lspci | grep -E 'VGA|3D'
VendorDescription
"intel"Intel integrated graphics (iGPU)
"amd"AMD GPUs (integrated or discrete)
"nvidia"NVIDIA discrete GPUs
When vendors is empty (default), Intel packages are applied on x86_64 for backward compatibility.

NVIDIA options

OptionTypeDefaultDescription
marchyo.graphics.nvidia.openbooltrueUse open-source kernel modules (recommended for RTX 20xx+, required for RTX 50xx)
marchyo.graphics.nvidia.powerManagementboolfalseExperimental power management (may improve laptop battery life)
marchyo.graphics.nvidia = {
  open = true;
  powerManagement = false;
};
Set nvidia.open = false for older GPUs (Maxwell, Pascal, Volta). The open-source modules only support Turing (RTX 20xx) and newer.

NVIDIA PRIME (hybrid graphics)

For laptops with both an integrated GPU and a discrete NVIDIA GPU:
marchyo.graphics = {
  vendors = [ "intel" "nvidia" ];

  prime = {
    enable = true;
    intelBusId = "PCI:0:2:0";
    nvidiaBusId = "PCI:1:0:0";
    mode = "offload";
  };
};

Finding bus IDs

Run lspci | grep -E 'VGA|3D' and convert hex bus IDs to the PCI:bus:device:function format (convert hex values to decimal).

PRIME options

OptionTypeDefaultDescription
marchyo.graphics.prime.enableboolfalseEnable NVIDIA PRIME
marchyo.graphics.prime.intelBusIdstring""PCI bus ID of Intel iGPU
marchyo.graphics.prime.amdgpuBusIdstring""PCI bus ID of AMD iGPU
marchyo.graphics.prime.nvidiaBusIdstring""PCI bus ID of NVIDIA dGPU
marchyo.graphics.prime.modestring"offload"PRIME render mode

PRIME modes

ModeDescription
"offload"On-demand rendering (default). Power efficient — use nvidia-offload <command> to run apps on the discrete GPU.
"sync"Always use discrete GPU. Best performance but more power consumption.
"reverse-sync"iGPU for display, dGPU for compute.

Examples

Intel-only desktop

marchyo.graphics.vendors = [ "intel" ];

AMD-only desktop

marchyo.graphics.vendors = [ "amd" ];

NVIDIA desktop

marchyo.graphics = {
  vendors = [ "nvidia" ];
  nvidia.open = true;
};

Intel + NVIDIA laptop (offload)

marchyo.graphics = {
  vendors = [ "intel" "nvidia" ];
  nvidia.open = true;
  prime = {
    enable = true;
    intelBusId = "PCI:0:2:0";
    nvidiaBusId = "PCI:1:0:0";
    mode = "offload";
  };
};

AMD + NVIDIA laptop (sync)

marchyo.graphics = {
  vendors = [ "amd" "nvidia" ];
  nvidia.open = true;
  prime = {
    enable = true;
    amdgpuBusId = "PCI:6:0:0";
    nvidiaBusId = "PCI:1:0:0";
    mode = "sync";
  };
};
Last modified on April 8, 2026