mirror of
https://github.com/NixOS/nixos-hardware
synced 2024-12-23 10:09:44 +01:00
Extract AMD-GPU from Nvidia, to make it easier to choose either
This commit is contained in:
parent
5a8ed531f9
commit
6e5cc385fc
4 changed files with 115 additions and 80 deletions
23
lenovo/yoga/7/14ARH7/amdgpu/default.nix
Normal file
23
lenovo/yoga/7/14ARH7/amdgpu/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
# Including this file will enable the AMD-GPU driver
|
||||
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkDefault;
|
||||
|
||||
in {
|
||||
imports = [
|
||||
../shared.nix
|
||||
];
|
||||
|
||||
# AMD RX680
|
||||
services.xserver.videoDrivers = mkDefault [ "amdgpu" ];
|
||||
|
||||
hardware = {
|
||||
amdgpu.loadInInitrd = true;
|
||||
opengl.extraPackages = with pkgs; [
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,82 +1,15 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
# When using from a Flake, you can access these via imports of the attr key, e.g:
|
||||
#
|
||||
# imports = [
|
||||
# nixos-hardware.nixosModules.lenovo-yoga-7-14ARH7.amdgpu
|
||||
# ];
|
||||
#
|
||||
## or:
|
||||
# imports = [
|
||||
# nixos-hardware.nixosModules.lenovo-yoga-7-14ARH7.nvidia
|
||||
# ];
|
||||
|
||||
let
|
||||
inherit (lib) mkDefault mkMerge;
|
||||
|
||||
in {
|
||||
imports = [
|
||||
../../../../common/cpu/amd
|
||||
# Better power-savings from AMD PState:
|
||||
../../../../common/cpu/amd/pstate.nix
|
||||
../../../../common/gpu/amd
|
||||
## "prime.nix" loads this, aleady:
|
||||
# ../../../../common/gpu/nvidia
|
||||
../../../../common/gpu/nvidia/prime.nix
|
||||
../../../../common/pc/laptop
|
||||
../../../../common/pc/laptop/acpi_call.nix
|
||||
../../../../common/pc/ssd
|
||||
];
|
||||
|
||||
config = mkMerge [
|
||||
{
|
||||
# Configure basic system settings:
|
||||
boot = {
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
kernelParams = [
|
||||
"mem_sleep_default=deep"
|
||||
"pcie_aspm.policy=powersupersave"
|
||||
|
||||
## Supposed to help fix for suspend issues: SSD not correctly working, and Keyboard not responding:
|
||||
## Not needed for the 6.1+ kernels?
|
||||
# "iommu=pt"
|
||||
|
||||
## Fixes for s2idle:
|
||||
## https://www.phoronix.com/news/More-s2idle-Rembrandt-Linux
|
||||
# "acpi.prefer_microsoft_guid=1"
|
||||
## Appears to have been renamed?
|
||||
"acpi.prefer_microsoft_dsm_guid=1"
|
||||
];
|
||||
|
||||
blacklistedKernelModules = [ "nouveau" ];
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
## Graphics settings
|
||||
|
||||
## AMD RX680
|
||||
# services.xserver.videoDrivers = mkDefault [ "amdgpu" ];
|
||||
|
||||
# NVIDIA GeForce RTX 3050 Mobile (Ampere)
|
||||
services.xserver.videoDrivers = mkDefault [ "nvidia" ];
|
||||
|
||||
hardware = {
|
||||
## Enable the Nvidia card, as well as Prime and Offload:
|
||||
amdgpu.loadInInitrd = true;
|
||||
opengl.extraPackages = with pkgs; [
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
|
||||
nvidia = {
|
||||
modesetting.enable = true;
|
||||
nvidiaSettings = true;
|
||||
|
||||
prime = {
|
||||
offload = {
|
||||
enable = true;
|
||||
enableOffloadCmd = true;
|
||||
};
|
||||
amdgpuBusId = "PCI:4:0:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
};
|
||||
|
||||
powerManagement = {
|
||||
enable = true;
|
||||
# finegrained = true
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
{
|
||||
amdgpu = import ./amdgpu;
|
||||
nvidia = import ./nvidia;
|
||||
}
|
||||
|
|
47
lenovo/yoga/7/14ARH7/nvidia/default.nix
Normal file
47
lenovo/yoga/7/14ARH7/nvidia/default.nix
Normal file
|
@ -0,0 +1,47 @@
|
|||
# Including this file will enable the NVidia driver, and PRIME offload
|
||||
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkDefault;
|
||||
|
||||
in {
|
||||
imports = [
|
||||
../shared.nix
|
||||
## "prime.nix" loads this, aleady:
|
||||
# ../../../../common/gpu/nvidia
|
||||
../../../../../common/gpu/nvidia/prime.nix
|
||||
];
|
||||
|
||||
# NVIDIA GeForce RTX 3050 Mobile (Ampere)
|
||||
services.xserver.videoDrivers = mkDefault [ "nvidia" ];
|
||||
|
||||
hardware = {
|
||||
## Enable the Nvidia card, as well as Prime and Offload:
|
||||
amdgpu.loadInInitrd = true;
|
||||
opengl.extraPackages = with pkgs; [
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
|
||||
nvidia = {
|
||||
modesetting.enable = true;
|
||||
nvidiaSettings = true;
|
||||
|
||||
prime = {
|
||||
offload = {
|
||||
enable = true;
|
||||
enableOffloadCmd = true;
|
||||
};
|
||||
amdgpuBusId = "PCI:4:0:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
};
|
||||
|
||||
powerManagement = {
|
||||
enable = true;
|
||||
# Doesn't seem to be reliable, yet?
|
||||
# finegrained = true
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
32
lenovo/yoga/7/14ARH7/shared.nix
Normal file
32
lenovo/yoga/7/14ARH7/shared.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../../../../common/cpu/amd
|
||||
# Better power-savings from AMD PState:
|
||||
../../../../common/cpu/amd/pstate.nix
|
||||
../../../../common/gpu/amd
|
||||
../../../../common/pc/laptop
|
||||
../../../../common/pc/laptop/acpi_call.nix
|
||||
../../../../common/pc/ssd
|
||||
];
|
||||
|
||||
# Configure basic system settings:
|
||||
boot = {
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
kernelParams = [
|
||||
"mem_sleep_default=deep"
|
||||
"pcie_aspm.policy=powersupersave"
|
||||
|
||||
## Supposed to help fix for suspend issues: SSD not correctly working, and Keyboard not responding:
|
||||
## Not needed for the 6.1+ kernels?
|
||||
# "iommu=pt"
|
||||
|
||||
## Fixes for s2idle:
|
||||
## https://www.phoronix.com/news/More-s2idle-Rembrandt-Linux
|
||||
"acpi.prefer_microsoft_dsm_guid=1"
|
||||
];
|
||||
|
||||
blacklistedKernelModules = [ "nouveau" ];
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue