![有没有办法在 Linux 中撤消 VGA 适配器模式设置](https://linux22.com/image/29381/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%9C%A8%20Linux%20%E4%B8%AD%E6%92%A4%E6%B6%88%20VGA%20%E9%80%82%E9%85%8D%E5%99%A8%E6%A8%A1%E5%BC%8F%E8%AE%BE%E7%BD%AE.png)
我正在寻找一种在启动时由内核将图形适配器设置为某种图形模式并可能由 X 服务器使用后将其重置为文本模式的方法。
内核或 X 服务器中是否有任何代码可以执行此操作?
我想一定有这样的代码,因为在引入KMS之前,X服务器用于在切换到Linux控制台时将VGA适配器设置回文本模式(例如Ctrl+Alt+F1)
我还认为这是高度特定于适配器的。我的显卡是i915控制的。
我一直在查看 X 源代码中我认为代码所在的位置,但一直找不到任何东西。
所以我要问你的具体问题是,在这个优先事项中,
- 允许返回文本模式的内核接口
- 现有的实用程序
- 一个丑陋的黑客行为,可能涉及直接写入内核内存或调用 VGA BIOS 进行初始化
- 提示我可能会在 KMS X 之前的 X 或内核源代码中的何处(版本方面、存储库方面和源文件方面)找到此类代码
我找到了一个名为 的实用程序restoretextmode
,但它所做的只是使我的 VGA 适配器崩溃。它似乎来自古代,根本不是为了处理此类情况而设计的(但我可能是错误的)。
对于那些好奇的人为什么我需要此功能,它与memtest86
直接通过kexec
.这些实用程序要求图形适配器处于文本模式。