VGA 和 DVI,将默认内核控制台设置为 1

VGA 和 DVI,将默认内核控制台设置为 1

这似乎是一个非常基本的问题,但在网上搜索了两个小时后,我找不到任何关于这个主题的真正帮助,这让我发疯。

这非常简单:我有一个 radeon 4670 显卡 (rv770xt),使用 Arch Linux 的 repo 内核,并有 VGA 和 DVI 显示器。 KMS 已启用并且运行良好。

VGA 显示器的分辨率比 DVI 显示器的分辨率小,默认情况下,屏幕会以 VGA 显示器的分辨率镜像到两者。现在我根本不想将 VGA 显示器用于内核帧缓冲区/控制台,并希望内核使用(更大的)DVI 显示器。

注意:这与 X.org 双头无关,而是与内核帧缓冲区/控制台有关。

现在的问题是:是否有内核参数来指定我的帧缓冲区的默认输出,如果有,是哪个?

到目前为止,我发现的最好方法似乎是在启动时使用 con2fb 将所有 VT 移动到第二台显示器,但我什至不知道 radeon 驱动程序是否创建 2 个 fb,无论如何这只是一种解决方法。

编辑1:我查了一下,驱动程序只是创建了 fb0,所以这con2fb是不行的

答案1

你可以使用一个udev规则并且FB集强制两个显示器上的帧缓冲区分辨率,这可能会在某种程度上实现您所追求的目标。

udev规则将类似于/etc/udev/rules.d/81-framebuffer-hack.rules

KERNEL=="card0-DVI", SUBSYSTEM=="drm", ATTR{dpms}=="On", ATTR{enabled}=="enabled", ATTR{status}=="connected", RUN+="/usr/sbin/fbset -g 1920 1080 1920 1080 32"

您可以阅读udev有关规则的具体信息编写 udev 规则页。

相关内容