Linux 遊戲生態系統正處於一個關鍵時刻:Valve、NVIDIA、Proton 和 NVK 驅動程式正朝著同一個方向發展,專注於效能、相容性和未來。 NVIDIA 的 AI 驅動的縮放技術 DLSS 不再是 Windows 獨有;由於驅動程式更新和與 Proton 的合作,它正以越來越有趣的方式滲透到 Linux 系統中。
本文將詳盡回顧DLSS 如何登陸 Proton/Steam Play,NVIDIA 470 Linux 驅動程式的新特性,NVK(NVIDIA 顯示卡的開源 Vulkan 驅動程式)的現狀,以及支援 DLSS 3 的 Proton 實驗分支帶來的新變化。我們也將探討Steam Deck的局限性,以及推動這些改進的社區所扮演的角色。
什麼是 DLSS?為什麼它在 Linux 上很重要?
DLSS(深度學習超級取樣)是一種人工智慧驅動的影像重建技術,它先以較低解析度渲染,然後再放大到更高解析度,從而在視覺效果影響最小的情況下提升效能。在對效能要求極高的環境下,它簡直是提升幀率而不犧牲畫質的利器,而這正是 Linux 遊戲玩家長期以來夢寐以求的功能,尤其是在 Proton 的支持下,他們的遊戲庫不斷壯大。
除了擴展性之外,DLSS 的最新版本還增加了幀生成和其他品質改進。雖然其中一些高級功能已宣布面向 Windows 和下一代 GPU,但它們的演進方向決定了未來哪些功能可以透過 Proton 和相容的 API 引入 Linux。
NVIDIA 和 Valve 攜手將 DLSS 引入 Proton/Steam Play
NVIDIA Linux 驅動程式版本 470.42.01 的一項重大更新是:透過 Proton 支援 DLSS,最初僅支援原生 Vulkan 遊戲,之後也支援透過 DXVK(DirectX 9/10/11 移植到 Vulkan)和 VKD3D(DirectX 9/10/11 移植到 Vulkan)和 VKD3D(DirectX 12 移植到 Vulkan)的遊戲。其關鍵技術特性在於加入了 Wine/Proton 專用的 NVIDIA NGX 版本,其中包含一個名為nvngx.dll的新程式庫,用於實現驅動程式端的支援。
對於 DX11/DX12 遊戲,Proton 中的 DLSS 支援透過眾所周知的環境變數啟用: PROTON_ENABLE_NVAPI 和設置 nvapi駭客具體來說,建議建立 PROTON_ENABLE_NVAPI=1 y dxgi.nvapiHack=False 在正確的設定下。這種組合允許遊戲充分利用 NVIDIA 專有 API 相容層下的 DLSS 所需。
原生 Vulkan 的支持最初只支持了《毀滅戰士:永恆》、《無人深空》和《德軍總部:新血脈》這三款遊戲。路線圖設想,透過 DXVK 和 VKD3D 轉換器實現相容性,預計將於秋季推出,從而使 DLSS 的應用範圍擴展到 Proton/Steam Play 遊戲庫中的很大一部分遊戲。
同時,Proton 的一次重大更新正式擴展了可在 Linux 上運行的遊戲清單。 24款先前不支援的遊戲現在可以運行,並且官方還宣布部分遊戲將獲得BattlEye相容性以及針對性的 bug 修復。具體列表如下:
- 年齡帝國4的
- 刺客信條
- 死亡之息VI
- 使命召喚:黑色行動 II [單人遊戲]
- 死亡循環
- 國際汽聯歐洲卡車賽車錦標賽
- Fly'N
- 遊戲開發大亨
- 捉鬼敢死隊:電子遊戲重製
- GreedFall
- 黑手黨 II(經典)
- magicka
- 漫威的《星際異攻隊》(僅限 AMD GPU)
- 質量效應 傳奇版(ME1 無音訊;參見#4823)
- 怪物男孩和被詛咒的王國
- Monster Energy Supercross – 官方電子遊戲
- Monster Energy Supercross – 官方電子遊戲 2
- Nickelodeon 全明星爭吵
- Penny Arcade's On the Rains slicked Precipe of Darkness 3
- RiMS賽車
- 裂穀者
- 溶膠倖存者
- TT 馬恩島邊緣騎行
- TT 馬恩島騎在邊緣 2
Steam Deck 和 AMD 硬體的限制和細節
儘管 Proton 對 DLSS 的支援正在不斷擴展,但需要澄清的是:Steam Deck 無法使用 DLSS,因為 Valve 的這款掌機基於 AMD 硬體。換句話說,即使 Proton 已經鋪平了道路,NVIDIA 的 PC 驅動程式也已支援 DLSS,但 Deck 缺少啟用 DLSS 所需的 NGX 核心和庫,因此該設備無法使用這項技術。
在配備相容 NVIDIA GPU 的 Linux 桌面系統上,情況有所不同。如果遊戲支援 DLSS 且配置正確,則可以透過 Proton 啟用 DLSS。不過,在 Steam Deck 上,您需要盡可能使用AMD 生態系統中的其他顯示卡,並優化設定以在效能和畫質之間取得最佳平衡。
硬體加速 XWayland 和其他 470 個驅動程式改進
驅動程式 470 帶來了另一個里程碑:XWayland 的硬體加速。經過多年的爭論和 EGLStreams 的失敗,NVIDIA 最終轉向 Linux 圖形堆疊標準,以在 XWayland 下加速 OpenGL 和 Vulkan。然而,這項支援最初僅在初期階段推出,並附帶一些特定要求:啟用 KMS、特定版本的 XWayland、libxcb 1.13和egl-wayland 1.1.7。
與任何早期實作一樣,它也存在諸多限制:NVIDIA 的配置工具在 XWayland 下無法運行,不支援透過 VDPAU 進行硬體解碼,不支援多 GPU 配置,沒有 Genlock/幀鎖定功能,並且缺少 GLX 應用程式的前緩衝區渲染。然而,其目標是在短期內解決這些缺陷。
在虛擬實境領域,Vulkan 擴展VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT和VK_EXT_global_priority的加入,使得 SteamVR 1.18.2 及更高版本能夠實現非同步重投影。需要注意的是,第一個擴充功能僅支援Pascal GPU ,此外,除 MEDIUM 之外的全域優先權需要root權限或CAP_SYS_NICE 權限。
另一項實用改進:從 470.42.01 版本開始,在NvFBC 的直接擷取模式下,無需再為擷取應用程式停用翻轉功能,從而可以更輕鬆地同時使用G-SYNC和直接擷取。此外,當來源為 AMDGPU 時,還新增了對PRIME 顯示卸載的支持,並增加了更多 Vulkan 擴展,以及一如既往的大量錯誤修復。
最後,470 系列被宣佈為最後一款支援Kepler GPU 的顯示卡。對於這些顯示卡而言,能否充分利用 Wayland 可能取決於Nouveau的效能,Nouveau 是 NVIDIA 圖形的開源 Linux 核心驅動程式。
NVK,NVIDIA 的免費 Vulkan 驅動程式:當前狀態和計劃
NVK 一直處於今年最顯著進步之一的前沿。正如開發者Faith Ekstrand所解釋的那樣,在 2022 年底,Vulkan 1.0 僅有一個最基本的實現,可以運行一些演示程式。一年後,NVK 現在支援大約80 個 Vulkan 擴展,幾乎涵蓋了 DXVK 和 Zink 流暢運行所需的一切。
那麼性能如何呢?透過電源管理和各種優化,NVK 在各種遊戲中都能達到官方驅動 40% 到 60% 的效能。事實上,Valve 的開發者 Pierre-Loup Griffais 分享了一項在《時空之帽》(1080p,極高畫質,關閉垂直同步)中的測試結果:在 CPU 密集型環境下,NVK 達到了 210 FPS,而官方驅動在同一場景下僅為 165 FPS。這雖然只是一個里程碑式的成就,但也反映了這款開源驅動的快速成熟。
短期目標是將 NVK 升級到Vulkan 1.3並實現相容,預計將在今年上半年完成。這需要重寫部分管線程式碼並實作VK_EXT_shader_object,這些步驟將使驅動程式脫離測試階段,並允許發行版預設包含它。預計所有必要的元件都將包含在Linux 核心 6.7中,例如Fedora 40將會預設包含它。
一旦達成上述目標,工作重點將轉向使用VKD3D-Proton將所有組件連接起來,並專注於提升效能。正如團隊所說,如果說 2023 年是讓遊戲流暢運行的一年,那麼2024 年就是讓遊戲運行快速的一年。此外,團隊也持續推動 GPU 相容性的擴展,其中 Maxwell 系列的改進是重中之重。
本指南的關鍵問題在於:NVK 上的 DLSS 功能如何?目前,Proton 上的 DLSS 依賴NGX和 NVIDIA 的專有組件,而這些組件目前又依賴官方的驅動程式。現有資訊無法保證 NVK 會支援 DLSS,因此,謹慎的做法是將DLSS 在 Linux 上的可用性視為與專有驅動程式綁定,同時 NVK 的標準、相容性和效能也不斷改進。
Proton Experimental:DLSS 3 支援與遊戲修復
Valve方面發布了實驗性的Proton更新,引入了對NVIDIA DLSS 3的支援。這意味著使用相容NVIDIA硬體並在Linux上運行高要求遊戲的用戶將獲得效能提升,進一步拓展了該相容層所能達到的效能極限。
此次更新也帶來了一些顯著的修復:修復了《Cyberpunk2077》中的一些小問題並提升了穩定性;移除了《最後生還者第一部》中關於驅動程式過時的警告並添加了nvapi支援;修復了《星空》中與Creation Kit相關的崩潰問題。這些調整共同提升了這些備受矚目的遊戲整體體驗。
Windows 生態系:DLSS 4 和最新的 NVIDIA 功能
儘管我們主要專注於 Linux 系統,但為了更好地理解這項技術的發展方向,也值得一提 Windows 系統的情況。隨著RTX 5080 和 5090的發布,NVIDIA 發布了 GeForce 572.16 WHQL 驅動程序,其中包含DLSS Override(將支援的遊戲更新到更新版本的 DLSS)等新功能,以及RTX 50 系列 GPU 上引入的帶有多幀生成的DLSS 4。在某些情況下,結合使用不同的 DLSS 技術可望大幅提升幀率 (FPS)。
該軟體包還包括對NVIDIA 應用程式的更新,改進了 RTX 視訊超解析度、多顯示器選項、高級 Optimus 支援以及各種調整;NVIDIA Broadcast的新功能(兩個 AI 驅動的特效)、對 Alan Wake 2、Cyberspunk 2077、Hogwarts 和 Great Circle、India 和 Legas 的遊戲採用 RTXer ; Motion ,這是一種驅動程式等級的 AI 模型,可產生中間影格以實現更流暢的遊戲體驗( RTX 50系列獨有),以及對新的 G-SYNC 相容顯示器的認證。
為什麼這對 Linux 很重要?因為 Windows 的改進速度可以作為風向標:DLSS 組件和 RTX 生態系統越成熟,就越有可能透過 Proton 和必要的庫(在技術上可行且法律上允許的情況下)將部分進展反映到 Linux 中。
關注該主題的社區和資源
社區支持和討論通常在特定的地方進行。 Reddit 上有一個專門討論GNU/Linux 系統上游戲(包括 Steam Deck)的子版塊,用戶可以在這裡討論新聞、分享解決方案,並與訂閱者交流互動。這裡是了解最新補丁、問題修復和每日成就的絕佳場所。
此外,還有一個非官方的 Valve Steam Deck 子版塊,裡面有很多關於在 Deck 上運行的遊戲、硬體和軟體改裝以及技術討論的帖子。發文前最好先閱讀版規並查看置頂貼文:這個社群非常活躍,這種組織方式有助於所有人輕鬆找到所需資訊。
情況很明朗:在Linux系統上,使用NVIDIA GPU和兼容驅動程序,通過Proton實現DLSS已經成為現實;NVIDIA已經通過加速XWayland、改進SteamVR以及眾多實用調整來推進DLSS的普及;Valve也在加快步伐,推出了Proton的實驗性分支,加入了DLSS 3並修復了旗艦遊戲的問題; 1.3的兼容水平,儘管目前DLSS仍然依賴其專有協定棧。 Steam Deck的情況有所不同,因為它使用的是AMD硬件,但整個生態系統都在朝著正確的方向發展,並且擁有一個強大而支持性的社區。
對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。