快轉到主要內容

嘗試解決Kubuntu 24.04 (KDE 5.27) Nvidia顯卡玩遊戲畫面撕裂的問題

分類   Linux系統 Linux玩遊戲
標籤   Ubuntu Wayland KDE Plasma Steam Nvidia
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字

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顯示卡運算。

相關文章

Feral Gamemode教學,增強Linux遊戲性能
分類   Linux系統 Linux玩遊戲
標籤   Overclocking Nvidia Steam
輕量螢幕錄影軟體GPU Screen Recorder,Linux版Nvidia ShadowPlay
分類   Linux系統 Linux玩遊戲
標籤   Nvidia Steam Linux
樹莓派玩Windows遊戲,Box86+Steam安裝教學
分類   Linux系統 Linux玩遊戲
標籤   Steam Box86 Box64 Raspberry Pi

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。