哇靠,不看不知道,開源Nvidia驅動NVK現在最舊支援到Kepler架構 (GeForce 600) 的顯卡了。也就是說十年前的Nvidia顯卡碰到現代的Wayland桌面仍能顯示畫面。
這起碼不會讓老電腦變成廢鐵吧,被迫停留在X11桌面。
在Ubuntu測試啓用NVK成功。

1. NVK簡介 #
NVK和Nova是RedHat員工在2022年發起的開源Nvidia驅動實作。可以部分替代Nvidia閉源驅動。Nova是kernel space驅動,NVK則是user space驅動。主要支援Vulkan。最早只支援Turing架構(GTX 1650世代)以後的新卡,現在則擴展到舊卡了。
Nvidia在Linux的驅動是閉源產品,包含kernel space和user space,跟Intel和AMD不一樣。因此對新技術的支援度全看Nvidia心情。譬如2022年以前Nvidia驅動560版本以前,Wayland桌面就常常破圖,只有X11比較穩定。在那之後才有顯著改善。
不過有些舊卡的Nvidia官方驅動是再也不能更新了,例如Pascal和Maxwell(GTX 1080世代)在2025年停止支援了。這會導致他們對Wayland新特性的支援度不佳。
透過NVK驅動可以拯救這些舊卡。
Linux的Nvidia驅動其實很久以前就有逆向工程的開源版本,叫做Nouveau。但是功能不完善,不能控制顯卡風扇轉速,沒有CUDA和NVENC。效能也不好,僅能支援OpenGL讓電腦勉強有畫面。
在2024年Nvidia雖然開源了nvidia-open kernel modules,但user space驅動仍是閉源。在NVK出來後有望補強Nouveau在Vulkan的位置。然後再搭配新的Nova取代nouveau的kernel space驅動。
NVK不是nvidia-open kernel modules,而是Vulkan部分的開源userspace驅動。Nova負責kernel space driver,NVK負責Vulkan部分,然後原本Nouveau的OpenGL的部分用Zink(Vulkan模擬OpenGL)去跑。
根據Phronix在2026年的測試,NVK的遊戲效能只有官方Nvidia驅動的3/4。
尚在改進中,比過去剛開始出來只有1/2效能有進步了啦。
但NVK依然沒有NVENC影片編碼加速與CUDA支援,也不能控制風扇轉速。NVK只負責補強nouveau在Vulkan這部分的驅動。
真希望RedHat能跟AMD合作貢獻ZLUDA,把CUDA逆向工程出來變成開源技術。
2. 在Ubuntu安裝NVK #
測試硬體:Nvidia GTX1050 Ti、Nvidia MX350
-
根據官方文件,NVK是含在Mesa驅動裡面的,最舊支援Kepler架構 (GeForce 600),需要Mesa 25.1以上版本,在Ubuntu 26.04應該開箱即用。Use space的NVK驅動目前是可用狀態,但kernel space的Nova目前還不建議啓用。
-
如果有安裝Nvidia閉源驅動,解除安裝重開機
sudo apt purge *nvidia*- 安裝Mesa
sudo apt install mesa-vulkan-drivers libvulkan1 libvulkan-dev vulkan-tools-
需要注意nouveau有無在
/etc/modprobe.d/nvidia.conf被blacklist。 -
需要安裝linux-frmware和firmware-nvidia-graphics才包含Nvidia顯卡的韌體:
sudo apt install linux-firmware firmware-nvidia-graphics- 查看目前Nvidia顯卡使用的核心模組,應該是
nouveau,並會列出候選的nova_core。
lspci -nnk | grep -A4 -Ei 'vga|3d|display'- 測試Vulkan,看Nvidia顯卡的驅動是否爲Mesa。
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nouveau_icd.json
vulkaninfo --summary- 確認OpenGL是不是跑在Zink上。若無顯示
OpenGL renderer string: zink Vulkan,加入MESA_LOADER_DRIVER_OVERRIDE=zink環境變數強制啓用zink。
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nouveau_icd.json
glxinfo -B-
在雙顯卡的系統上,啓用Nvidia PRIME的步驟變成了設定環境變數
DRI_PRIME=1 VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nouveau_icd.json "執行程式"。不過我的系統似乎會優先選取Nvidia。 -
nvtop抓不到NVK使用率。NVK沒有NVENC和CUDA支援。