显示模式设定

显示模式设定(英語:)指的是为显卡设置屏幕分辨率色深。现今的显示模式设定软件已经可以支持多屏输出热插拔

定位

显示模式设定可以在内核空间用户空间实现。在内核空间实现显示模式设定(英語:,即KMS)会更加灵活,而且这也可以让内核在出现致命错误时,即使正使用用户空间的显示服务器,也能在屏幕上输出错误信息。

在用户空间实现的显示模式切换(英語:,即UMS)则需要超级用户权限才能直接访问硬件,而在使用基于内核的显示模式切换的情况下,用户空间的显示服务器并不需要超级用户权限,因而基于内核的显示模式切换安全性更佳。

KMS的应用

FreeBSD

FreeBSD基金会已宣布赞助一个FreeBSD开发者开发实现对图形执行管理器英語:,即GEM)和KMS的支持[1]

Linux

Linux内核在2008年11月的2.6.28版加入GEM,为实现KMS打下了基础[2],而这将为支持GEM应用程序接口的转换表映射(英語:,即TTM)[註 1]内存管理器所替代[4]

Intel

2009年3月23日发布的2.6.29版内核中加入了对Intel GMA显卡的支持[5]

AMD/ATI

R600系列之前的ATI显卡的支持已在2009年9月9号发布的2.6.31版内核中实现[6],利用直接渲染管理器实现的对R600和R700系列的支持则整合进2.6.32版内核,R800的支持也已整合进2.6.34版内核中。

NVIDIA

因为NVIDIA并未放出所有实现KMS所需的相关文档,针对NVIDIA显卡开发开源驱动的Nouveau项目只能利用反向工程来获取必要信息开发实现KMS,这大大增加了开发难度。带有KMS支持的Nouveau驱动已加入2009年12月10日发布的2.6.33版内核,其2D加速性能已相当不错,但3D加速实现仍处于测试阶段。

Windows

基于Windows NTWindows版本都使用了基于内核的图形模式切换。由内核图形模式切换实现的内核错误输出即是著名的蓝屏死机

OpenBSD

注重安全性的OpenBSD也对内核图形模式切换很感兴趣,因为这样可以在不需要超级用户权限的情况下运行X Window系统[7]

OpenSolaris

OpenSolaris将把基于内核的图形模式设定作为新特性加入系统[8],对GEM的支持则已在snv_130版本中加入。

参见

注释

  1. 主要针对ATI Radeon驱动和VIA S3 Graphics芯片组所设计[3]

参考资料

  1. . FreeBSD基金会. 17 February 2011 [2011-09-12]. (原始内容存档于2016-03-05).
  2. . [2011-09-18]. (原始内容存档于2018-06-12).
  3. . [2011-09-18]. (原始内容存档于2011-11-21).
  4. . [2011-09-18]. (原始内容存档于2011-11-06).
  5. . [2011-09-18]. (原始内容存档于2021-02-24).
  6. . [2011-09-18]. (原始内容存档于2015-11-05).
  7. . [2011-09-12]. (原始内容存档于2021-03-08).
  8. . [2011-09-12]. (原始内容存档于2020-10-22).

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.