NixOS:缺少 OpenGL 驱动程序

NixOS:缺少 OpenGL 驱动程序

我全新安装了 NixOS不带X11

然后我跑了

nix-env -i wayland
nix-env -i sway
nix-env -i glu
nix-env -i mesa-noglu
reboot
sway

但我收到以下错误

gbm: failed to open any drive (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/i965_dri.so: open shared object file: No such file or directory
failed to load driver: i965
gbm: failed to open any drive (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/kms_swrast_dri.so: open shared object file: No such file or directory
failed to load driver: kms_swrast
gbm: failed to open any drive (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/swrast_dri.so: open shared object file: No such file or directory
failed to load driver: wrast

[wlc] Failed to init compositor

换句话说,我缺少一些 opengl 驱动程序,但我该如何获取它们呢?

答案1

我正在运行带有 Sway 的 NixOS,但没有 X11。我设法通过在我的configuration.nix中注释掉这一行来重新创建您的错误:

hardware.opengl.enable = true;

当我恢复线路时,Sway 按预期工作。

答案2

当您在 NixOS 上处理服务时,例如 Xorg、wayland 等,从nix-env.相反,您需要在/etc/nixos/configuration.nix.

当您不确定如何配置服务时,最好的起点就是 NixOS手动的

之后,使用选项页面以获取有关配置选项的更多详细信息。例如,如果您搜索开放语言您将看到可以配置的各种选项。

不幸的是,据我所知 Wayland 不能作为 NixOS 上的服务使用。所以你可能很难让它发挥作用。

通常,依赖于包的服务会有一个选项,您可以在其中指定该包应该是什么。例如,NixOS 的 fontconfig 模块具有fonts.fonts可以设置字体包列表的选项。这允许 fontconfig 模块正确设置字体。无论何时编写,都可以对 Wayland 模块使用类似的策略。

答案3

如前所述,安装东西(如台面)不会改变某些系统属性。在这种特殊情况下,/run/opengl-driver*启动服务时会在 NixOS 上设置必要的符号链接display-manager

相关内容