Arch-Linux

如何使用 nvidia 專有技術獲得無撕裂渲染?

  • September 4, 2020

自從我一直使用 Ubuntu 以來,我從來沒有經歷過撕裂,但最近我已經切換到Arch Linux,並使用了很棒的視窗管理器。由於 awesome 不使用任何復合管理器,因此我在滾動網頁時會看到這些煩人的故障。我已經安裝了compton並且它可以工作,但是我在啟用它時遇到了一些問題。

顯卡:GeForce GTX 670專有驅動程序 (387.34-19)

compton –version: v0.1_beta2.5

compton --daemon --config /dev/null --backend glx
  1. 有時我使用的終端仿真器(xfce4-terminal)在額外擊鍵之前不會呈現輸出。該問題在此處此處此處進行了描述。
  2. Google瀏覽器上下文菜單有時會閃爍。

儘管如此,它修復了撕裂。

compton --daemon --config /dev/null --backend xrender

這解決了上述問題,但會自行撕裂。

compton --daemon --config /dev/null --backend xr_glx_hybrid

這修復了問題 #1 和撕裂,但問題 #2。此外,螢幕刷新開始隨機出現。我發現我可以通過傳遞--fading選項來解決問題 #2,但後一個選項仍然存在。

所以,xrender工作得很好,因為它不會產生新的錯誤,但我認為當我擁有帶有專有驅動程序的 gpu 時進行調查不是一個好的決定。這似乎compton是一堆黑客和技巧,我厭倦了讓它正常工作。我試過xcompmgr並沒有看到想要的效果 - 滾動過程中出現撕裂。

幸運的是,還有另一種解決方案可以使用ForceCompositionPipeline=On. 我已經/etc/X11/xorg.conf.d/20-nvidia.conf正確配置了我的一切,除了輸入延遲外,一切都很完美。滑鼠指針變得更不靈敏,更平滑。也許,鍵盤也是,但我不確定(我的意思是,列印我按下的鍵需要更多時間)。

我正在尋找擺脫撕裂的任何可能性。新的合成管理器以及適當的compton選項是可以接受的,但後一個問題的解決方案更可取,因為我實際上並不需要合成器提供的所有這些功能,如陰影或褪色。

我能夠解決這些問題。正如我所說,要解決問題 #2,請通過--fading選項。要提高動畫速度或將其關閉(設置 1),您可以傳遞--fade-in-step--fade-out-step選項。當有xr_glx_hybrid後端時,我有螢幕刷新,所以glx更可取。而且我不知道為什麼,但我找到了選項--xrender-sync--xrender-sync-fence修復了問題 #1。也許在失敗時compton使用…xrender``glx

我還不能發表評論,但非常感謝您的回答。

您還可以在配置文件中添加這些選項以獲得更可重複的設置。

backend = "xr_glx_hybrid";
fading = true;
fade-in-step = 0.03; # Choose your own value here
fade-out-step = 0.03; # Same as above
xrender-sync-fence = true;

引用自:https://unix.stackexchange.com/questions/418922