Linux 上的 NVIDIA 帧缓冲区单一分辨率无法更改

Linux 上的 NVIDIA 帧缓冲区单一分辨率无法更改

免责声明:我使用的任何(可能)所有术语都是错误的或不适合预期功能的。

在 /sys/class/graphics/fb0/modes 下唯一可用的分辨率是 U:640x480p-73

我的显示器分辨率为 1366x768,运行基于 Arch 的 Artix Linux,配有 NVIDIA GT710 显卡和 nvidia-470xx-dkms 驱动程序。我会像以前一样使用 Nouveau,但由于稳定性和兼容性问题,我将切换回专有驱动程序。

据我了解,当前的问题(可能是错误的)是专有驱动程序不提供fbdev,可以通过安装uvesafb提供的驱动程序来修复fbdev,但我无法让 makepkg 克隆存储库,使用 dev 分支无法编译,并且在克隆存储库后手动编译会失败

这就是我理解它的工作原理; syslinux 启用efifb,然后加载将帧缓冲区传递给它的 linux 内核,内核为 Xorg 启用 NVIDIA 驱动程序,并且nvidia-470xx-dkms不支持fbdev“直接”管理帧缓冲区?,只有一种可用的分辨率并列为Unknown

我更改了我的 syslinux.cfg,添加RESOLUTION 1366 768、重新启动并成功将帧缓冲区更改为所述分辨率

虽然我现在有了一个合理的分辨率,但仍然存在“如何在启动后更改帧缓冲区分辨率”的问题,因为 fbset 没有,而且只有一种分辨率可用

我已经阅读了 arch wiki 上的所有相关信息,但要么是我智力不足,要么就是没有适用的解决方案

从技术上讲这不是什么问题,因为我的tty控制台分辨率合理。我仍然希望能够更改帧缓冲区分辨率,即使只是为了更好地了解它的工作原理。

相关内容