安装和配置 Nvidia 视频驱动程序 NixOS

jtn*_*nix 6 linux graphics-card drivers nvidia-geforce

问题

本周我组装了一台新电脑并在其上安装了 NixOS。我遇到的唯一问题是我似乎无法为其安装 Nvidia 驱动程序。

计算机有一个 Geforce 970。我能够让 displayManager 运行的唯一方法是将 videoDrivers 配置保留为默认值。我的意思是我已经尝试将“nvidia”和“nouveau”添加到列表中,但是在重新启动后,我只能使用列表中的任何一个访问外壳。

更多细节

运行的结果

lspci | grep VGA
Run Code Online (Sandbox Code Playgroud)

01:00.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1)
Run Code Online (Sandbox Code Playgroud)

运行 xrandr 显示

Screen 0: minimum 640 x 480, current 1024 x 768, maximum 1024 x 768
default connected 1024x768+0+0 0mm x 0mm
    1024x768      61.00* 
    800x600       61.00  
    640x480       60.00  
Run Code Online (Sandbox Code Playgroud)

当然,除了“默认”输出和 1920x1080 分辨率之外,我还期待其他东西。

xrandr --listproviders

Providers: number : 0
Run Code Online (Sandbox Code Playgroud)

和我个人最喜欢的,跑步

glxinfo | grep -i vendor
Run Code Online (Sandbox Code Playgroud)

显示

server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
OpenGL vendor string: VMware, Inc.
Run Code Online (Sandbox Code Playgroud)

真正令我惊讶的是 glxinfo 中的 VMware 供应商字符串。老实说,我的大部分 linux 经验都是使用 ubuntu、mint 和 fedora,而且我从来没有遇到过任何“真正的”驱动程序问题,所以这对我来说都是全新的。有任何想法吗?

non*_*ont 3

尝试将以下内容添加到 /etc/nixos/configuration.nix

nixpkgs.config.allowUnfree = true;
services.xserver.desktopManager.kde4.enable = true;
services.xserver.videoDrivers = [ "nvidia" ];
hardware.opengl.driSupport32Bit = true;
Run Code Online (Sandbox Code Playgroud)

然后运行:

nixos-rebuild switch
Run Code Online (Sandbox Code Playgroud)

无论如何,我有一块 GeForce 9500,这对我来说很有效。