gpt4 book ai didi

nixos - 如何覆盖默认的稳定 Nvidia 驱动程序

转载 作者:行者123 更新时间:2023-12-03 02:39:59 24 4
gpt4 key购买 nike

我试图将我的 configuration.nix 中的稳定 nvidia 包从 nvidia 驱动程序 410 覆盖为 390,但是,它并没有使用下面的覆盖配置似乎不起作用。

我使用 services.xserver.videoDrivers = [ "nvidia"] 选项启用驱动程序,并订阅了unstable channel 。

配置.nix:

  nixpkgs.config = {
allowUnfree = true;

packageOverrides = super: let self = super.pkgs; in
{
linuxPackages = super.linuxPackages_latest.extend (self: super: {
nvidiaPackages = super.nvidiaPackages // {
stable = super.nvidiaPackages.stable_390;
};
});
};
};

我还尝试在以下行中从 super 更改为 self:

stable = super.nvidiaPackages.stable_390;

但这也没有任何影响。

最佳答案

根据我的了解,您需要覆盖核心软件包集中的 linux 软件包和 nvidia_x11 。如果我没有这样做,我就会遇到默认的 nvidia 驱动程序的静默回退。

以下是一个示例,其粒度不如您的尝试。我的想法是,用于构建和运行时加载的内核依赖项之间可能不匹配,因此我换出了整个 linuxPackage 集。

目前(01/10/2019),nvidia 410.7x 已损坏(请参阅 Issue 53708 )。所以我将我的配置固定到 nvidia 410.6x 的最后一次提交。有关固定 nixpkgs 的更多信息,请参阅 the wiki page 。您仍然可以固定 master 并将不稳定命名空间添加到您的软件包集中,而不会干扰内核。

{ config, pkgs, nixpkgs, ... }:

let
# get the last working revision with nvidia 410.x
nixos-unstable-pinned = import (builtins.fetchTarball {
name = "nixos-unstable_nvidia-410-66_2018-11-03";
url = https://github.com/nixos/nixpkgs/archive/bf084e0ed7a625b50b1b0f42b98358dfa23326ee.tar.gz;
sha256 = "0w05cw9s2pa07vqy21ack7g7983ig67lhwkdn24bzah3z49c2d8k";
}) { };

# We'll use this twice
pinnedKernelPackages = nixos-unstable-pinned.linuxPackages_latest;

in

{
# allow nvidia drivers to be loaded
nixpkgs.config.allowUnfree = true;

nixpkgs.config.packageOverrides = pkgs: {
# swap out all of the linux packages
linuxPackages_latest = pinnedKernelPackages;

# make sure x11 will use the correct package as well
nvidia_x11 = nixos-unstable-pinned.nvidia_x11;
};

# line up your kernel packages at boot
boot.kernelPackages = pinnedKernelPackages;
}

希望这有帮助!

关于nixos - 如何覆盖默认的稳定 Nvidia 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53864609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com