顯示模式設定(英語:Mode Setting)指的是為顯卡設置屏幕解像度色深。現今的顯示模式設定軟件已經可以支持多屏輸出英語Multi-monitor熱插拔

定位

顯示模式設定可以在內核空間用戶空間實現。在內核空間實現顯示模式設定(英語:Kernel Mode Setting,即KMS)會更加靈活,而且這也可以讓內核在出現致命錯誤時,即使正使用用戶空間的顯示伺服器,也能在屏幕上輸出錯誤信息。

在用戶空間實現的顯示模式切換(英語:User-space Mode Setting,即UMS)則需要超級用戶權限才能直接訪問硬件,而在使用基於內核的顯示模式切換的情況下,用戶空間的顯示伺服器並不需要超級用戶權限,因而基於內核的顯示模式切換安全性更佳。

KMS的應用

FreeBSD

FreeBSD基金會已宣佈贊助一個FreeBSD開發者開發實現對圖形執行管理器(英語:Graphics Execution Manager,即GEM)和KMS的支持[1]

Linux

Linux內核在2008年11月的2.6.28版加入GEM,為實現KMS打下了基礎[2],而這將為支持GEM應用程式接口的轉換表映射(英語:Translation Table Maps,即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版本中加入。

參見

註釋

參考資料

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.