fbpx
维基百科

nouveau

nouveau (/nˈv/) 是一個自由及開放原始碼顯示卡驅動程式英语Free and open-source graphics device driver,是為Nvidia显示卡所編寫,也可用於屬於系统芯片NVIDIA Tegra系列,此驅動程式是由一群獨立的軟體工程師所編寫,Nvidia的員工也提供了少许幫助。

nouveau
首次发布1.0 / 2012年6月18日,​10年前​(2012-06-18[1]
目前版本
  • 1.0.15 (2017年4月21日)[2]
源代码库
  • anongit.freedesktop.org/git/nouveau/xf86-video-nouveau
操作系统LinuxBSD
系統平台x86x86-64ARM
类型驱动程序韌體
许可协议MIT許可證
网站nouveau.freedesktop.org
中間:自由與開放原始碼堆疊。右方:專有驅動程式。

該專案的目標為利用逆向工程Nvidia的專有Linux驅動程式來創造一個開放原始碼的驅動程式。由讓freedesktop.org託管的X.Org基金会所管理,並以Mesa 3D的一部份進行散布,該專案最初是基於只有2D繪圖能力的「nv」自由與開放原始碼驅動程式所開發的,但紅帽公司的開發者Matthew Garrett及其他人表示原先的程式碼被混淆處理過了[4]。nouveau以MIT許可證授權。

專案的名稱是從法文的「nouveau」而來,意思是「新的」[5]。這個名字是由原作者的的IRC客戶端的自動取代功能所建議的,當他鍵入「nv」時就被建議改為「nouveau」[6]

軟體架構

 
Nouveau已經以Gallium3D風格顯示卡驅動程式的方式重寫了。

Nouveau是一個Gallium3D風格的驅動程式,並以DRI的方式運作。它結合了兩個内核元件:直接呈現管理員及KMS驅動程式,以及使用者空間元件的libDRM及Mesa 3D

Nouveau計畫支援所有的Nvidia微架構: Tesla、Fermi、Kepler、Maxwell及即將釋出的Pascal和Volta。

調整頻率

由於技術原因,Nvidia的顯示卡都會以一個較低的頻率(稱為「時脈」)啟動,在啟動後,驅動程式就會設定一個較高的頻率。因為缺乏顯示卡的相關文件,nouveau最初並不具備這個功能,這導致了效能的顯著損失[7]。在2014年6月終於找到解決的方法,調整頻率功能的支援終於被加入到nouveau中[8][9][10]

工具

 
動作中的REnouveau的截圖(REnouveau是左上角的藍色視窗)

AMD形成強烈的對比,Nvidia並沒有提供任何關於顯示卡的文件。 nouveau的開發者被迫使用淨室逆向工程以獲得讓他們可以編寫nouveau的資料。該專案使用多種自訂的程式以協助其逆向工程,像是MmioTrace(記憶體映射I/O追蹤)[11],REnouveau及Valgrind MMT[12]。參見Valgrind

REnouveau

REnouveau (nouveau逆向工程)[13]是一個以GNU通用公共许可证授權(使用SDL)的收集大多數nouveau逆向工程資料的程式。NVIDIA專有驅動程式的使用者可以透過REnouveau提供他們的NVIDIA顯示卡的硬體資訊的方式來協助nouveau的開發。REnouveau以複製目前顯示卡MMIO標示空間的方式運作,然後繪製一些圖形並取得另一份MMIO的複製品,並輸出差異部份到一個文字檔中。它執行了大約六不同的測試,並壓縮成tar.bz2壓縮檔,然後以电子邮件寄送,並自動轉送到專案的FTP伺服器供開發者進行分析。

已支援的介面

只有内核可以直接存取硬體,包括顯示卡。終端使用者軟體透過多種為特定功能所編寫的应用程序接口存取。Nouveau被以Gallium3D風格驅動程式的方式編寫,這就意味著它與其他Gallium3D驅動程式共享大多數的程式碼。多數此種共享程式碼都在Mesa 3D中可看到,並由各Linux发行版進行散佈。

渲染API

Mesa 3D及驅動程式都包含了多渲染界面的支援,設計則交由使用者空間的程式,像是电子游戏计算机辅助设计軟體等,存取對應的SIP塊。

Direct3D

Direct3D第9版的自由及開放原始碼實做在Mesa 3D可看到。它可以被nouveau所使用。但任何使用Direct3D的軟體都是為Windows所編寫的,所以這個軟體只能在Linux上與Wine一起使用。

OpenGL

渲染介面OpenGL是由科纳斯组织開發的。這個API的實做是Nvidia或AMD專有驅動程式的一部份。另一種實做方式是由自由軟體愛好者所編寫的,像是Brian Paul或是Intel及其合作者在Mesa 3D中所實做。因為是Gallium3D風格的驅動程式,Nouveau只需要一點小修改就可以與這個實做一同運作。

視訊加速

Mesa 3D支援多重呈現界面,所有已設計好的使用者空間程式,像是GStreamer等程式都可以存取相對應的SIP塊。也可以使用為了這個目的設計的電子電路,雖然這樣做會相對於使用PureVideo來說消耗更多的電量。

Nouveau支援PureVideo技術,並提供VDPAU及XvMC的方式來存取它[14]

計算用API

OpenCL

OpenCL

CUDA

Nouveau不支援CUDA技術。

歷史

 
左方:傳統方式的顯示卡驅動程式;右方:Gallium3D風格的顯示卡驅動程式。兩種類型都共享了許多自由及開放原始碼的程式碼。

Nouveau原先是使用Mesa 3D的DRI來呈現三维计算机图形,從而允許使用圖形處理器直接加速3D應用程式的圖形繪製;但在2008年2月對DRI的支援停止,並轉移到新的Gallium3D[15][16]

在2013年9月23日[17],Nvidia公開宣佈他們將會釋出一些關於他們的圖形處理器的文件,來解決NVIDIA的圖形處理器在Nouveau上的可用性。

截至2014年1月31日,Nvidia的Alexandre Courbot致力於在一個廣泛的修補程式集中加入nouveau對GK20A(Tegra K1)的初步支援[18]

採用

 
Linux圖形堆疊的說明:直接呈現管理員、KMS驅動程式、libDRM、Mesa 3D、顯示伺服器皆為視窗型系統的元件,但玩遊戲時並不直接需要這些元件。

nouveau驅動程式已被以下Linux發行版作為Nvidia顯示卡的預設開放原始碼驅動程式: Fedora 11[19]openSUSE 11.3[20]。它也被包含在Ubuntu 9.04的套件庫中[21],並在Ubuntu 10.04中作為預設的驅動程式[22] 它也包括在Debian的套件庫中[23]。這個驅動程式包含在這些作業系統中,但是並不允許3D硬體加速。

2009年12月10日被Linux內核2.6.33版接受成為暫時驅動程式[24]

Fedora 13(2010年5月)允許安裝mesa-dri-drivers-experimental軟體包,可以此啟用實驗性的3D圖形硬體加速,若沒有安裝這個軟體包就無法啟用。

3D加速被Ubuntu 10.10包含在「libgl1-mesa-dri-experimental」軟體包中。

Compiz建議使用nouveau而非Nvidia專有驅動程式[25]

2012年3月26日,nouveau驅動程式被標示為穩定,並從Linux核心的暫時驅動程式提升為核心驅動程式[26]

2014年6月,Codethink回報可以在Linux內核 3.15上與Wayland一同執行,是使用EGL且是Tegra K1上的「100%開放原始碼的顯示卡驅動程式堆疊」[27]

參見

  • 自由及開放原始碼顯示卡驅動程式英语Free and open-source graphics device driver
  • NVIDIA顯示核心列表

參考資料

  1. ^ von Eitzen, Chris. Free NVIDIA graphics driver reaches version 1.0. The H - Open. Heinz Heise. 18 June 2012 [2014-07-25]. (原始内容于2014-07-28). 
  2. ^ nouveau/xf86-video-nouveau - Nouveau Xorg driver for NVIDIA chips. [2018年8月12日] (英語). 
  3. ^ Mirkin, Ilia. [Nouveau] [ANNOUNCE] xf86-video-nouveau 1.0.17. nouveau (邮件列表). 2021-01-23 [2021-01-23]. (原始内容于2021-01-30). 
  4. ^ Debian bug tracker. 17 August 2006 [7 April 2013]. (原始内容于2019-02-17). 
  5. ^ . 7 July 2009 [23 September 2009]. (原始内容存档于2014-07-23). 
  6. ^ The state of Nouveau, part I. LWN.net. 15 February 2008 [24 November 2009]. (原始内容存档于2012-03-01). 
  7. ^ Nouveau vs. NVIDIA proprietary Linux vs. NVIDIA Windows 8.1. Phoronix. 2013-10-31 [2014-07-25]. (原始内容于2014-07-31). 
  8. ^ Nouveau Re-Clocking Details Discussed Further. Phoronix. 2014-05-17 [2014-07-25]. (原始内容于2014-07-03). 
  9. ^ Nouveau Re-Clocking Is Way Faster. Phoronix. 2014-06-20 [2014-07-25]. (原始内容于2014-07-23). 
  10. ^ Nouveau PowerManagement documentation. freedesktop.org. [2014-07-25]. (原始内容于2014-08-09). 
  11. ^ MmioTrace (Memory Mapped I/O Trace). nouveau Wiki. [2014-07-25]. (原始内容存档于2012-03-01). 
  12. ^ Valgrind-mmt. nouveau Wiki. [2014-07-25]. (原始内容于2015-01-01). 
  13. ^ REnouveau (Reverse Engineering for nouveau). nouveau Wiki. [2014-07-25]. (原始内容存档于2012-03-01). 
  14. ^ Nouveau Video Acceleration. freedesktop.org. [2014-07-25]. (原始内容于2014-07-29). 
  15. ^ The state of Nouveau, part 2. LWN.net. 26 February 2008 [7 March 2008]. (原始内容存档于2012-03-01). 
  16. ^ . 7 March 2008 [7 March 2008]. (原始内容存档于2008年5月11日). 
  17. ^ Nvidia offers to release public documentation on certain aspects of their GPUs. 2013-09-23 [2013-09-24]. (原始内容于2013-09-25). 
  18. ^ drm/nouveau: initial support for GK20A (Tegra K1). 2014-01-31 [2014-07-25]. (原始内容于2014-09-06). 
  19. ^ Michael Larabel. Testing Out The Nouveau Driver On Fedora 11. Phoronix. 2009-03-29 [2014-07-25]. (原始内容于2014-08-13). 
  20. ^ Product highlights for openSUSE 11.3 version. openSUSE. [2010-12-29]. (原始内容于2011-03-04). 
  21. ^ Michael Larabel. Ubuntu 9.04 To Get Nouveau Driver. Phoronix. 2010-12-09 [2014-07-25]. (原始内容于2014-07-28). 
  22. ^ Bug #454821: Bugs: "xserver-xorg-video-nv" package: Ubuntu. [2010-02-24]. (原始内容于2019-10-18). 
  23. ^ Debian. Nouveau nVidia drivers now available in Debian experimental. 2011-02-11 [2014-07-25]. (原始内容于2013-07-21). 
  24. ^ Nouveau To Go Into Linux 2.6.33 Kernel!. Phoronix. 2009-12-11 [2014-07-25]. (原始内容于2014-08-08). 
  25. ^ Sam Spilsbury, head maintainer of Compiz. Beware the benchmarks.. 2010-05-21 [2014-07-25]. (原始内容于2014-08-12). Our recommendation: Use nouveau. 
  26. ^ Jonathan Corbet. The Nouveau driver graduates from staging. LWN.net. 2012-03-23 [2014-07-25]. (原始内容于2014-07-22). 
  27. ^ Codethink Gets The NVIDIA Jetson TK1 Running With Linux 3.15, Wayland. Phoronix. 2014-06-12 [2014-07-25]. (原始内容于2014-07-14). 

nouveau, 是一個自由及開放原始碼顯示卡驅動程式, 英语, free, open, source, graphics, device, driver, 是為nvidia的显示卡所編寫, 也可用於屬於系统芯片的nvidia, tegra系列, 此驅動程式是由一群獨立的軟體工程師所編寫, nvidia的員工也提供了少许幫助, 首次发布1, 2012年6月18日, 10年前, 2012, 目前版本1, 2017年4月21日, 源代码库anongit, freedesktop, xf86, video, 操作系统li. nouveau n uː ˈ v oʊ 是一個自由及開放原始碼顯示卡驅動程式 英语 Free and open source graphics device driver 是為Nvidia的显示卡所編寫 也可用於屬於系统芯片的NVIDIA Tegra系列 此驅動程式是由一群獨立的軟體工程師所編寫 Nvidia的員工也提供了少许幫助 nouveau首次发布1 0 2012年6月18日 10年前 2012 06 18 1 目前版本1 0 15 2017年4月21日 2 源代码库anongit wbr freedesktop wbr org wbr git wbr nouveau wbr xf86 video nouveau操作系统Linux BSD系統平台x86 x86 64 ARM类型驱动程序及韌體许可协议MIT許可證网站nouveau wbr freedesktop wbr org中間 自由與開放原始碼堆疊 右方 專有驅動程式 該專案的目標為利用逆向工程Nvidia的專有Linux驅動程式來創造一個開放原始碼的驅動程式 由讓freedesktop org託管的X Org基金会所管理 並以Mesa 3D的一部份進行散布 該專案最初是基於只有2D繪圖能力的 nv 自由與開放原始碼驅動程式所開發的 但紅帽公司的開發者Matthew Garrett及其他人表示原先的程式碼被混淆處理過了 4 nouveau以MIT許可證授權 專案的名稱是從法文的 nouveau 而來 意思是 新的 5 這個名字是由原作者的的IRC客戶端的自動取代功能所建議的 當他鍵入 nv 時就被建議改為 nouveau 6 目录 1 軟體架構 1 1 調整頻率 1 2 工具 1 2 1 REnouveau 2 已支援的介面 2 1 渲染API 2 1 1 Direct3D 2 1 2 OpenGL 2 2 視訊加速 2 3 計算用API 2 3 1 OpenCL 2 3 2 CUDA 3 歷史 4 採用 5 參見 6 參考資料軟體架構 编辑 Nouveau已經以Gallium3D風格顯示卡驅動程式的方式重寫了 Nouveau是一個Gallium3D風格的驅動程式 並以DRI的方式運作 它結合了兩個内核元件 直接呈現管理員及KMS驅動程式 以及使用者空間元件的libDRM及Mesa 3D Nouveau計畫支援所有的Nvidia微架構 Tesla Fermi Kepler Maxwell及即將釋出的Pascal和Volta 調整頻率 编辑 由於技術原因 Nvidia的顯示卡都會以一個較低的頻率 稱為 時脈 啟動 在啟動後 驅動程式就會設定一個較高的頻率 因為缺乏顯示卡的相關文件 nouveau最初並不具備這個功能 這導致了效能的顯著損失 7 在2014年6月終於找到解決的方法 調整頻率功能的支援終於被加入到nouveau中 8 9 10 工具 编辑 動作中的REnouveau的截圖 REnouveau是左上角的藍色視窗 與AMD形成強烈的對比 Nvidia並沒有提供任何關於顯示卡的文件 nouveau的開發者被迫使用淨室逆向工程以獲得讓他們可以編寫nouveau的資料 該專案使用多種自訂的程式以協助其逆向工程 像是MmioTrace 記憶體映射I O追蹤 11 REnouveau及Valgrind MMT 12 參見Valgrind REnouveau 编辑 REnouveau nouveau逆向工程 13 是一個以GNU通用公共许可证授權 使用SDL 的收集大多數nouveau逆向工程資料的程式 NVIDIA專有驅動程式的使用者可以透過REnouveau提供他們的NVIDIA顯示卡的硬體資訊的方式來協助nouveau的開發 REnouveau以複製目前顯示卡MMIO標示空間的方式運作 然後繪製一些圖形並取得另一份MMIO的複製品 並輸出差異部份到一個文字檔中 它執行了大約六打不同的測試 並壓縮成tar bz2壓縮檔 然後以电子邮件寄送 並自動轉送到專案的FTP伺服器供開發者進行分析 已支援的介面 编辑只有内核可以直接存取硬體 包括顯示卡 終端使用者軟體透過多種為特定功能所編寫的应用程序接口存取 Nouveau被以Gallium3D風格驅動程式的方式編寫 這就意味著它與其他Gallium3D驅動程式共享大多數的程式碼 多數此種共享程式碼都在Mesa 3D中可看到 並由各Linux发行版進行散佈 渲染API 编辑 Mesa 3D及驅動程式都包含了多渲染界面的支援 設計則交由使用者空間的程式 像是电子游戏或计算机辅助设计軟體等 存取對應的SIP塊 Direct3D 编辑 Direct3D第9版的自由及開放原始碼實做在Mesa 3D可看到 它可以被nouveau所使用 但任何使用Direct3D的軟體都是為Windows所編寫的 所以這個軟體只能在Linux上與Wine一起使用 OpenGL 编辑 渲染介面OpenGL是由科纳斯组织開發的 這個API的實做是Nvidia或AMD專有驅動程式的一部份 另一種實做方式是由自由軟體愛好者所編寫的 像是Brian Paul或是Intel及其合作者在Mesa 3D中所實做 因為是Gallium3D風格的驅動程式 Nouveau只需要一點小修改就可以與這個實做一同運作 視訊加速 编辑 Mesa 3D支援多重呈現界面 所有已設計好的使用者空間程式 像是GStreamer等程式都可以存取相對應的SIP塊 也可以使用為了這個目的設計的電子電路 雖然這樣做會相對於使用PureVideo來說消耗更多的電量 Nouveau支援PureVideo技術 並提供VDPAU及XvMC的方式來存取它 14 計算用API 编辑 OpenCL 编辑 OpenCL CUDA 编辑 Nouveau不支援CUDA技術 歷史 编辑 左方 傳統方式的顯示卡驅動程式 右方 Gallium3D風格的顯示卡驅動程式 兩種類型都共享了許多自由及開放原始碼的程式碼 Nouveau原先是使用Mesa 3D的DRI來呈現三维计算机图形 從而允許使用圖形處理器直接加速3D應用程式的圖形繪製 但在2008年2月對DRI的支援停止 並轉移到新的Gallium3D 15 16 在2013年9月23日 17 Nvidia公開宣佈他們將會釋出一些關於他們的圖形處理器的文件 來解決NVIDIA的圖形處理器在Nouveau上的可用性 截至2014年1月31日 Nvidia的Alexandre Courbot致力於在一個廣泛的修補程式集中加入nouveau對GK20A Tegra K1 的初步支援 18 採用 编辑 對Linux圖形堆疊的說明 直接呈現管理員 KMS驅動程式 libDRM Mesa 3D 顯示伺服器皆為視窗型系統的元件 但玩遊戲時並不直接需要這些元件 nouveau驅動程式已被以下Linux發行版作為Nvidia顯示卡的預設開放原始碼驅動程式 Fedora 11 19 及openSUSE 11 3 20 它也被包含在Ubuntu 9 04的套件庫中 21 並在Ubuntu 10 04中作為預設的驅動程式 22 它也包括在Debian的套件庫中 23 這個驅動程式包含在這些作業系統中 但是並不允許3D硬體加速 2009年12月10日被Linux內核2 6 33版接受成為暫時驅動程式 24 Fedora 13 2010年5月 允許安裝mesa dri drivers experimental軟體包 可以此啟用實驗性的3D圖形硬體加速 若沒有安裝這個軟體包就無法啟用 3D加速被Ubuntu 10 10包含在 libgl1 mesa dri experimental 軟體包中 Compiz建議使用nouveau而非Nvidia專有驅動程式 25 2012年3月26日 nouveau驅動程式被標示為穩定 並從Linux核心的暫時驅動程式提升為核心驅動程式 26 2014年6月 Codethink回報可以在Linux內核 3 15上與Wayland一同執行 是使用EGL且是Tegra K1上的 100 開放原始碼的顯示卡驅動程式堆疊 27 參見 编辑 自由软件主题 自由及開放原始碼顯示卡驅動程式 英语 Free and open source graphics device driver NVIDIA顯示核心列表參考資料 编辑 von Eitzen Chris Free NVIDIA graphics driver reaches version 1 0 The H Open Heinz Heise 18 June 2012 2014 07 25 原始内容存档于2014 07 28 nouveau xf86 video nouveau Nouveau Xorg driver for NVIDIA chips 2018年8月12日 英語 引文格式1维护 未识别语文类型 link Mirkin Ilia Nouveau ANNOUNCE xf86 video nouveau 1 0 17 nouveau 邮件列表 2021 01 23 2021 01 23 原始内容存档于2021 01 30 Debian bug tracker 17 August 2006 7 April 2013 原始内容存档于2019 02 17 nouveau Wiki 7 July 2009 23 September 2009 原始内容存档于2014 07 23 The state of Nouveau part I LWN net 15 February 2008 24 November 2009 原始内容存档于2012 03 01 Nouveau vs NVIDIA proprietary Linux vs NVIDIA Windows 8 1 Phoronix 2013 10 31 2014 07 25 原始内容存档于2014 07 31 Nouveau Re Clocking Details Discussed Further Phoronix 2014 05 17 2014 07 25 原始内容存档于2014 07 03 Nouveau Re Clocking Is Way Faster Phoronix 2014 06 20 2014 07 25 原始内容存档于2014 07 23 Nouveau PowerManagement documentation freedesktop org 2014 07 25 原始内容存档于2014 08 09 MmioTrace Memory Mapped I O Trace nouveau Wiki 2014 07 25 原始内容存档于2012 03 01 Valgrind mmt nouveau Wiki 2014 07 25 原始内容存档于2015 01 01 REnouveau Reverse Engineering for nouveau nouveau Wiki 2014 07 25 原始内容存档于2012 03 01 Nouveau Video Acceleration freedesktop org 2014 07 25 原始内容存档于2014 07 29 The state of Nouveau part 2 LWN net 26 February 2008 7 March 2008 原始内容存档于2012 03 01 Nouveau Companion 36 The irregular Nouveau Development companion 7 March 2008 7 March 2008 原始内容存档于2008年5月11日 Nvidia offers to release public documentation on certain aspects of their GPUs 2013 09 23 2013 09 24 原始内容存档于2013 09 25 drm nouveau initial support for GK20A Tegra K1 2014 01 31 2014 07 25 原始内容存档于2014 09 06 Michael Larabel Testing Out The Nouveau Driver On Fedora 11 Phoronix 2009 03 29 2014 07 25 原始内容存档于2014 08 13 Product highlights for openSUSE 11 3 version openSUSE 2010 12 29 原始内容存档于2011 03 04 Michael Larabel Ubuntu 9 04 To Get Nouveau Driver Phoronix 2010 12 09 2014 07 25 原始内容存档于2014 07 28 Bug 454821 Bugs xserver xorg video nv package Ubuntu 2010 02 24 原始内容存档于2019 10 18 Debian Nouveau nVidia drivers now available in Debian experimental 2011 02 11 2014 07 25 原始内容存档于2013 07 21 Nouveau To Go Into Linux 2 6 33 Kernel Phoronix 2009 12 11 2014 07 25 原始内容存档于2014 08 08 Sam Spilsbury head maintainer of Compiz Beware the benchmarks 2010 05 21 2014 07 25 原始内容存档于2014 08 12 Our recommendation Use nouveau Jonathan Corbet The Nouveau driver graduates from staging LWN net 2012 03 23 2014 07 25 原始内容存档于2014 07 22 Codethink Gets The NVIDIA Jetson TK1 Running With Linux 3 15 Wayland Phoronix 2014 06 12 2014 07 25 原始内容存档于2014 07 14 取自 https zh wikipedia org w index php title Nouveau amp oldid 72588227, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。