Kubuntu 24.04 + KDE 5.27 + Wayland + Nvidia,真的準備好了嗎?
這幾個月以來遊戲都無法好好的玩。
KDE 5.27 + Nvidia 550版驅動,遊戲進入全螢幕瘋狂出現畫面撕裂(tearing)、閃爍(flickering)、黑影(glitching)等現象。
主因應該是Nvidia驅動,嘗試了好多方案,最終升級驅動才解決。
測試環境:
- Kubuntu 24.04 LTS
- KDE 5.27.11
- Linux核心6.8.0
- Nvidia GeForce® GTX 1050 Ti
- Nvidia專有驅動560.35.03
- Steam Flatpak 1.0.0.79
- Steam Proton 9.0
玩遊戲還要先debug…
去年還在Arch Linux用KDE 5.27的時候就有Nvidia驅動導致系統動畫lag的問題了,加上種種不穩定因素,今年將主力電腦從Arch Linux換成Kubuntu,尋求較為穩定的桌面使用體驗,更新應該不會常常出事。因為Kubuntu開發組來不及跟上KDE 6更新,所以我可能得在KDE 5多待二年(加上過去用Gentoo的經驗就四年了!),用著半吊子的Wayland支援度。想到得繼續用這最後的5.27版兩年就覺得悲悽,沒有關係…我有非主力的電腦能體驗KDE 6。
即使是穩定發行版,KDE與Nvidia的相性還是很糟糕,尤其是X11工作階段,該卡頓的依然卡。或許開發組會盡力修復bug,把X11調整到能用的狀態,而Wayland應該也會穩定下來吧?
如果Kubuntu開發組有這個願景的話,就不會把24.04預設工作階段設定為X11了,KDE Wayland現在還是實驗性狀態,not production ready。那些說KDE Wayland works for me的用戶,嘩!一抓一大把是AMD仔。我們這些可憐的Average Joe,為了CUDA,繼續忍痛用Nvidia。
看看最新版的Ubuntu 24.10才終於要預設採用GNOME Wayland了,也許跟RHEL 10準備移除X11有關。這樣給Nvidia很大的壓力呢,皮衣刀客不要整天只想著炒AI啦,不然未來還有比不完的中指。
話說回來,Wayland似乎能徹底解決X11畫面撕裂的問題。
Kubuntu 24.04的KDE預設沒有Wayland,需要手動安裝,SDDM的登入選項才會出現。
sudo apt install plasma-workspace-wayland
Intel CPU內顯,不論X11還是Wayland一切流暢,開源Mesa驅動是真的穩。問題就是CPU內顯實在玩不了遊戲。
切換到Nvidia專有驅動後,X11,KDE系統動畫lag,這問題Arch Linux和KDE Neon也有。遊戲畫面撕裂,全螢幕War Thunder遊戲出現破圖黑影。我試過其他Steam Proton遊戲,例如GTA 3最終版,也一樣出現全螢幕畫面撕裂。
老招,執行nvidia-settings,開啟"Force Composition Pipeline",再儲存Xorg設定檔,試過了無效。
順便分享我遇到全螢幕遊戲當掉無回應的處理方式:按CTRL+ESC叫出KDE的工作管理員,中止殭屍行程。
換到Wayland,系統動畫lag和撕裂沒有了,似乎還變順暢了些,但是全螢幕玩遊戲畫面會「抖動」。
聽聞Reddit Linux社群對新版的Nvidia驅動評價不賴,據說他們釋出560版驅動後Wayland改善了很多,支援Explicit sync,是起飛了的等級。
但也有Ubuntu用戶說560在較新的Nvidia顯示卡,啟用GSP firmware的話問題很多。
不管了。
所以我從Ubuntu官方的 “Graphics Drivers” PPA取得最新版驅動(Nvidia官方CUDA的套件庫也有收最新版驅動),把Kubuntu預設的Nvidia 550版升級到560版:
sudo apt purge *nvidia*
sudo reboot
sudo apt install pkg-config libglvnd-dev dkms build-essential libegl-dev libegl1 libgl-dev libgl1 libgles-dev libgles1 libglvnd-core-dev libglx-dev libopengl-dev gcc make
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-560
sudo reboot
560版本的Nvidia驅動已經預設啟用nvidia-drm.modeset=1
,所以不用調整GRUB核心參數。
結果X11玩遊戲還是繼續撕裂。順帶一提GNOME 46 X11也瘋狂畫面撕裂(原版,非Ubuntu版的GNOME)。Nvidia對X11早就放棄治療了是吧。
換到Wayland玩遊戲,一切流暢,畫面終於不抖動了。雖然遊戲FPS被強制鎖在60就是了。
問題暫時解決。Now it works for me. YMMV.
寫完的當下,幹,我又遇到KDE工作列凍結的bug了,應用程式和時鐘完全靜止。根據 bugs.kde.org的回答,這個問題到KDE 6依然存在,看來是屬於Nvidia方面的問題。暫時的解決方法是對工作列點右鍵 → 設定只有圖示的工作管理員,停用應用程式視窗預覽。
再看看KDE開發者整理的 Plasma Wayland Known Significant Issues列表…嗯,我看等KDE 7,再加上Nvidia迷途知返,才會是The Year of Wayland Desktop了吧。
你要嘛用滾動發行版取得最新的Wayland修正,不然就只能在穩定發行版用著根本不穩定的Wayland半成品!
我在想,或許Intel + Nvidia PRIME是折衷解方。Intel負責穩定地顯示桌面環境,玩遊戲的時候再offload那部份給Nvidia顯示卡運算。