我在 qemu-kvm 上运行 gentoo 来宾操作系统。我只能得到 800x600 的分辨率。我希望能够获得更高的屏幕分辨率。
xrandr
给出以下输出:
xrandr:获取输出默认值的伽马大小也失败
屏幕 0:最小 640x480,当前 800x600,最大 800x600
Xorg -configure
因分段错误而失败:
打开/dev/fb0:没有这样的文件或目录
地址处的分段错误(无)
我正在使用 qemu 和 lspci 显示的默认 vga 设置:
VGA 兼容控制器:Cirrus Logic GD 5446
所以我的问题是:
这个帧缓冲区是什么?是否需要执行 Xorg -configure?
还有其他方法可以提高屏幕分辨率吗?
答案1
帧缓冲区只不过是用于图形的内存区域。
现代显卡具有用于 KMS(内核模式设置)的内核本机驱动程序,即使在双头上也可以使用非常高分辨率和高速帧缓冲区。
然而,QEMU 模拟的卡没有这样的驱动程序。您必须模拟主要受支持的芯片组之一才能获得这样的功能;否则,您得到的只是旧式 VESA 帧缓冲区,尽管分辨率仍然比 80x25 VGA 文本模式更高,但速度非常慢。
看维基百科的“帧缓冲区”文章获取比您真正想要或需要的更多信息。另请参阅这篇来自 Phoronix 的关于带有 QEMU 的 KMS 的文章,但我不知道它的当前状态是什么,它似乎依赖于 QEMU-KVM 而不是 QEMU 本身。
预计到达时间:这是 Phoronix 于 2012 年 5 月 2 日发表的另一篇文章,关于 KMS 和 QEMU。看起来它将被合并到 Linux 3.5 中,但如果你现在想使用它,你将必须下载、修补并构建你自己的内核。