Compare commits
8 commits
Author | SHA1 | Date | |
---|---|---|---|
|
430d2fdb1f | ||
|
50e1cab175 | ||
|
5d831405a0 | ||
|
16b1667373 | ||
|
73146c6a5d | ||
|
6dfade4734 | ||
|
881db84a26 | ||
|
fa636e3eaf |
5 changed files with 44 additions and 143 deletions
12
flake.lock
generated
12
flake.lock
generated
|
@ -7,11 +7,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1755810213,
|
"lastModified": 1750973805,
|
||||||
"narHash": "sha256-QdenO8f0PTg+tC6HuSvngKcbRZA5oZKmjUT+MXKOLQg=",
|
"narHash": "sha256-BZXgag7I0rnL/HMHAsBz3tQrfKAibpY2vovexl2lS+Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "6911d3e7f475f7b3558b4f5a6aba90fa86099baa",
|
"rev": "080e8b48b0318b38143d5865de9334f46d51fce3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -22,11 +22,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1755615617,
|
"lastModified": 1750776420,
|
||||||
"narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=",
|
"narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "20075955deac2583bb12f07151c2df830ef346b4",
|
"rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
{ pkgs
|
|
||||||
, lib
|
|
||||||
, kernel ? pkgs.linuxPackages_latest.kernel
|
|
||||||
}:
|
|
||||||
|
|
||||||
pkgs.stdenv.mkDerivation {
|
|
||||||
pname = "amdgpu-kernel-module";
|
|
||||||
inherit (kernel) src version postPatch nativeBuildInputs;
|
|
||||||
|
|
||||||
kernel_dev = kernel.dev;
|
|
||||||
kernelVersion = kernel.modDirVersion;
|
|
||||||
|
|
||||||
modulePath = "drivers/gpu/drm/amd/amdgpu";
|
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
BUILT_KERNEL=$kernel_dev/lib/modules/$kernelVersion/build
|
|
||||||
|
|
||||||
cp $BUILT_KERNEL/Module.symvers .
|
|
||||||
cp $BUILT_KERNEL/.config .
|
|
||||||
cp $kernel_dev/vmlinux .
|
|
||||||
|
|
||||||
make "-j$NIX_BUILD_CORES" modules_prepare
|
|
||||||
make "-j$NIX_BUILD_CORES" M=$modulePath modules
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
make \
|
|
||||||
INSTALL_MOD_PATH="$out" \
|
|
||||||
XZ="xz -T$NIX_BUILD_CORES" \
|
|
||||||
M="$modulePath" \
|
|
||||||
modules_install
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "AMD GPU kernel module";
|
|
||||||
license = lib.licenses.gpl3;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -10,13 +10,6 @@
|
||||||
|
|
||||||
{ config, pkgs, inputs, ... }:
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
# Direct patching to enable async reprojection (for SteamVR) on AMD
|
|
||||||
let
|
|
||||||
amdgpu-kernel-module = pkgs.callPackage ./amdgpu.nix {
|
|
||||||
# Make sure the module targets the same kernel as your system is using.
|
|
||||||
kernel = config.boot.kernelPackages.kernel;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
|
@ -29,12 +22,12 @@ in
|
||||||
boot.initrd.luks.devices."altssd".device = "/dev/disk/by-partuuid/c0500656-1527-a84d-82f0-8ad764dddc92";
|
boot.initrd.luks.devices."altssd".device = "/dev/disk/by-partuuid/c0500656-1527-a84d-82f0-8ad764dddc92";
|
||||||
|
|
||||||
fileSystems."/mnt/arch" =
|
fileSystems."/mnt/arch" =
|
||||||
{ device = "/dev/disk/by-uuid/4eda05c2-d434-495d-97a0-8a81e8a533ec";
|
{ device = "/dev/disk/by-uuid/72db20ba-4dbd-4fb7-891c-b457e2cf9648";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
#options = [ "subvolid=5" ];
|
#options = [ "subvolid=5" ];
|
||||||
};
|
};
|
||||||
fileSystems."/mnt/arch/home" =
|
fileSystems."/mnt/arch/home" =
|
||||||
{ device = "/dev/disk/by-uuid/72db20ba-4dbd-4fb7-891c-b457e2cf9648";
|
{ device = "/dev/disk/by-uuid/4eda05c2-d434-495d-97a0-8a81e8a533ec";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
#options = [ "subvolid=5" ];
|
#options = [ "subvolid=5" ];
|
||||||
};
|
};
|
||||||
|
@ -67,15 +60,9 @@ in
|
||||||
# kvm-amd - AMD virtualization support
|
# kvm-amd - AMD virtualization support
|
||||||
boot.kernelModules = [ "kvm-amd" "nct6775" ];
|
boot.kernelModules = [ "kvm-amd" "nct6775" ];
|
||||||
|
|
||||||
# Fix problems with hanging on RX6700 (disables PSR - Panel Self Refresh)
|
# Problems with hangs on RX6700
|
||||||
boot.kernelParams = [ "amdgpu.dcdebugmask=0x10" ];
|
boot.kernelParams = [ "amdgpu.dcdebugmask=0x10" ];
|
||||||
|
|
||||||
boot.extraModulePackages = [
|
|
||||||
(amdgpu-kernel-module.overrideAttrs (_: {
|
|
||||||
patches = [ ./patches/cap_sys_nice_begone.patch ];
|
|
||||||
}))
|
|
||||||
];
|
|
||||||
|
|
||||||
# Direct patching for enabling for async reprojection (for SteamVR) on AMD
|
# Direct patching for enabling for async reprojection (for SteamVR) on AMD
|
||||||
# boot.kernelPatches = [
|
# boot.kernelPatches = [
|
||||||
# {
|
# {
|
||||||
|
@ -190,8 +177,7 @@ in
|
||||||
"wolcen" = import ./home.nix;
|
"wolcen" = import ./home.nix;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# Install kdeconnect (also opens firewall ports)
|
|
||||||
programs.kdeconnect.enable = true;
|
|
||||||
# Install firefox.
|
# Install firefox.
|
||||||
programs.firefox.enable = true;
|
programs.firefox.enable = true;
|
||||||
|
|
||||||
|
@ -235,10 +221,6 @@ in
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
binutils # gnu bin utils
|
binutils # gnu bin utils
|
||||||
# conda # python environment management
|
|
||||||
uv # alternative for python env management...
|
|
||||||
sqlite-interactive # sqlite cli
|
|
||||||
duckdb # wanted mostly as cli for SQL on csv files
|
|
||||||
neovim # next gen vim w/lua
|
neovim # next gen vim w/lua
|
||||||
wget # url fetcher/spider
|
wget # url fetcher/spider
|
||||||
curl # url fetcher
|
curl # url fetcher
|
||||||
|
@ -292,8 +274,8 @@ in
|
||||||
lutris # game launcher (EA/Humble/Ubi++)
|
lutris # game launcher (EA/Humble/Ubi++)
|
||||||
cruft # python-based template processor
|
cruft # python-based template processor
|
||||||
nmap # network mapping/scanning tool
|
nmap # network mapping/scanning tool
|
||||||
basalt-monado # tracking for VR
|
# basalt-monado # tracking for VR
|
||||||
opencomposite # compatibility layer for VR
|
# opencomposite # compatibility layer for VR
|
||||||
# why did these two disappear???
|
# why did these two disappear???
|
||||||
usbutils # provide lsusb, etc.
|
usbutils # provide lsusb, etc.
|
||||||
pciutils # provide lspci, etc.
|
pciutils # provide lspci, etc.
|
||||||
|
@ -461,34 +443,17 @@ in
|
||||||
};
|
};
|
||||||
# VR
|
# VR
|
||||||
#Commmand: `renice -20 -p $(pgrep monado)` may help w/issues
|
#Commmand: `renice -20 -p $(pgrep monado)` may help w/issues
|
||||||
services.monado = {
|
# services.monado = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
defaultRuntime = true; # Register as default OpenXR runtime
|
# defaultRuntime = true; # Register as default OpenXR runtime
|
||||||
forceDefaultRuntime = true; # Register as default OpenXR runtime for each user (remove home-manager file)
|
# forceDefaultRuntime = true; # Register as default OpenXR runtime for each user (remove home-manager file)
|
||||||
highPriority = true;
|
# };
|
||||||
package = (pkgs.monado.overrideAttrs {
|
#systemd.user.services.monado.environment = {
|
||||||
pname = "monado-wmr-controllers"; # optional but helps distinguishing between packages
|
# WMR_HANDTRACKING = "0"; # Enable for hand tracking
|
||||||
|
# XRT_PRINT_OPTIONS = "1"; # Enable printing env vars set/available
|
||||||
src = pkgs.fetchFromGitLab {
|
# VIT_SYSTEM_LIBRARY_PATH = "${pkgs.basalt-monado}/lib/libbasalt.so";
|
||||||
domain = "gitlab.freedesktop.org";
|
# #U_PACING_COMP_MIN_TIME_MS = "5"; # This is a tweak for something...I forgot
|
||||||
owner = "thaytan";
|
#};
|
||||||
repo = "monado";
|
|
||||||
rev = "467166935eea0183a8c8f5884c4ecd20c0eeacfb";
|
|
||||||
hash = "sha256-IKO/bhUsISmRb3k+wAEscuTUXDyrzyVYQG1eJkLCIUI=";
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [];
|
|
||||||
});
|
|
||||||
};
|
|
||||||
systemd.user.services.monado.environment = {
|
|
||||||
WMR_HANDTRACKING = "0"; # Enable for hand tracking
|
|
||||||
XRT_PRINT_OPTIONS = "1"; # Enable printing env vars set/available
|
|
||||||
VIT_SYSTEM_LIBRARY_PATH = "${pkgs.basalt-monado}/lib/libbasalt.so";
|
|
||||||
XRT_COMPOSITOR_COMPUTE = "1";
|
|
||||||
STEAMVR_LH_ENABLE = "0";
|
|
||||||
U_PACING_COMP_MIN_TIME_MS = "5";
|
|
||||||
XRT_COMPOSITOR_DESIRED_MODE = "1";
|
|
||||||
};
|
|
||||||
# allow clock adjustments/priority change, etc (gamemoderun ./game)
|
# allow clock adjustments/priority change, etc (gamemoderun ./game)
|
||||||
# https://wiki.nixos.org/wiki/GameMode
|
# https://wiki.nixos.org/wiki/GameMode
|
||||||
programs.gamemode.enable = true; # for performance mode
|
programs.gamemode.enable = true; # for performance mode
|
||||||
|
|
|
@ -73,30 +73,30 @@
|
||||||
# EDITOR = "emacs";
|
# EDITOR = "emacs";
|
||||||
};
|
};
|
||||||
# For Monado:
|
# For Monado:
|
||||||
xdg.configFile."openxr/1/active_runtime.json".source = "${pkgs.monado}/share/openxr/1/openxr_monado.json";
|
# xdg.configFile."openxr/1/active_runtime.json".source = "${pkgs.monado}/share/openxr/1/openxr_monado.json";
|
||||||
|
|
||||||
# For WiVRn:
|
# For WiVRn:
|
||||||
# xdg.configFile."openxr/1/active_runtime.json".source = "${pkgs.wivrn}/share/openxr/1/openxr_wivrn.json";
|
# xdg.configFile."openxr/1/active_runtime.json".source = "${pkgs.wivrn}/share/openxr/1/openxr_wivrn.json";
|
||||||
|
|
||||||
xdg.configFile."openvr/openvrpaths.vrpath".text = ''
|
# xdg.configFile."openvr/openvrpaths.vrpath".text = ''
|
||||||
{
|
# {
|
||||||
"config" :
|
# "config" :
|
||||||
[
|
# [
|
||||||
"${config.xdg.dataHome}/Steam/config"
|
# "${config.xdg.dataHome}/Steam/config"
|
||||||
],
|
# ],
|
||||||
"external_drivers" : null,
|
# "external_drivers" : null,
|
||||||
"jsonid" : "vrpathreg",
|
# "jsonid" : "vrpathreg",
|
||||||
"log" :
|
# "log" :
|
||||||
[
|
# [
|
||||||
"${config.xdg.dataHome}/Steam/logs"
|
# "${config.xdg.dataHome}/Steam/logs"
|
||||||
],
|
# ],
|
||||||
"runtime" :
|
# "runtime" :
|
||||||
[
|
# [
|
||||||
"${pkgs.opencomposite}/lib/opencomposite"
|
# "${pkgs.opencomposite}/lib/opencomposite"
|
||||||
],
|
# ],
|
||||||
"version" : 1
|
# "version" : 1
|
||||||
}
|
# }
|
||||||
'';
|
# '';
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
From fe059b4c373639fc5d69067e62de3f2a0e44a037 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sefa Eyeoglu <contact@scrumplex.net>
|
|
||||||
Date: Fri, 17 Mar 2023 16:50:57 +0100
|
|
||||||
Subject: [PATCH] amdgpu: allow any ctx priority
|
|
||||||
|
|
||||||
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
|
|
||||||
index d2139ac12159..c7f1d36329c8 100644
|
|
||||||
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
|
|
||||||
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
|
|
||||||
@@ -107,7 +107,7 @@ static int amdgpu_ctx_priority_permit(struct drm_file *filp,
|
|
||||||
if (drm_is_current_master(filp))
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
- return -EACCES;
|
|
||||||
+ return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static enum amdgpu_gfx_pipe_priority amdgpu_ctx_prio_to_gfx_pipe_prio(int32_t prio)
|
|
||||||
--
|
|
||||||
2.39.2
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue