83 lines
2.1 KiB
Nix
83 lines
2.1 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
############################
|
|
## Display + Mesa Settings
|
|
############################
|
|
|
|
# hardware.enableRedistributableFirmware = true;
|
|
|
|
hardware.firmware = [
|
|
pkgs.linux-firmware
|
|
# pkgs.firmwareLinuxNonfree
|
|
# pkgs.firmwareLinuxStrict
|
|
# pkgs.firmwareLinuxLatest
|
|
];
|
|
|
|
# boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
boot.kernelParams = [
|
|
"console=tty0"
|
|
# "efifb=off"
|
|
# "xe.force_probe=*"
|
|
"module_blacklist=nouveau,nvidia,nvidia_drm,nvidia_modeset,nvidia_uvm"
|
|
];
|
|
|
|
environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/intel_icd.x86_64.json";
|
|
hardware.intel-gpu-tools.enable = true;
|
|
hardware.graphics = {
|
|
enable = true;
|
|
enable32Bit = true;
|
|
|
|
extraPackages = with pkgs; [
|
|
intel-media-driver # Intel VAAPI
|
|
vpl-gpu-rt # oneVPL runtime
|
|
intel-vaapi-driver # fallback
|
|
intel-compute-runtime # OpenCL/Level Zero
|
|
];
|
|
};
|
|
|
|
# Ensure Arc driver is available (usually auto-loaded)
|
|
boot.kernelModules = [ "xe" "i915" ];
|
|
# Blacklist everything for nvidia
|
|
boot.blacklistedKernelModules = [
|
|
"nouveau"
|
|
"nvidia"
|
|
"nvidia_drm"
|
|
"nvidia_modeset"
|
|
"nvidia_uvm"
|
|
];
|
|
|
|
environment.variables = {
|
|
KWIN_DRM_DEVICES = "/dev/dri/card0";
|
|
};
|
|
|
|
|
|
|
|
############################
|
|
## X / Wayland GPU Drivers
|
|
############################
|
|
|
|
# Enable modesetting driver for X11 (required for Intel Xe)
|
|
services.xserver.videoDrivers = [
|
|
"modesetting"
|
|
#"intel"
|
|
];
|
|
|
|
services.xserver.enable = true;
|
|
services.xserver.autorun = false;
|
|
services.xserver.displayManager.startx.enable = true;
|
|
|
|
# Xorg configuration for Intel Arc Battlemage (xe driver)
|
|
# Based on: https://www.reddit.com/r/crtgaming/comments/1knom2t/guide_intel_arc_b580_arch_linux_xorg/
|
|
# Intel Arc B-series at PCI 0000:03:00.0
|
|
#services.xserver.deviceSection = ''
|
|
# Option "AccelMethod" "glamor"
|
|
# BusID "PCI:3:0:0"
|
|
#'';
|
|
|
|
############################
|
|
## User Access
|
|
############################
|
|
users.users.andreas.extraGroups = [ "video" "render" ];
|
|
}
|