顯示模式設定

維基百科,自由的百科全書

顯示模式設定(英語: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版本中加入。

參見

注釋

  1. ^ 主要針對ATI Radeon驅動和VIA S3 Graphics晶片組所設計[3]

參考資料

  1. ^ GEM, KMS, and DRI Support for Intel Drivers. 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). 

外部連結