スクリーンティアリングとは何か、Linuxでの解消方法

残念ながら、Linuxファンにとって、スクリーンティアリングは、どこにも行く気配がない持続的な悩みです。スクリーンティアリングの問題が長引く要因はいくつかあります。
まず、最も明らかなのは、古くて壊れた、膨れ上がったXサーバーです。Waylandの進展にもかかわらず、Xは今後も残るでしょう。次に、奇妙で一貫性のないグラフィックドライバーの状況があります。スクリーンティアリングを引き起こす最大の要因の1つは、Linuxで最も人気のあるGPUメーカーであるNVIDIAです。異なるデスクトップ環境がそれぞれの表示設定やコンポジタを持っていることを考えると、本当に混乱しています。
これらの方法は、ほとんどの状況でスクリーンティアリングを排除することを期待していますが、関与する変数の量のために、すべての人に合う解決策を提供することは不可能です。あなたのシステムに適用されるものを試してみてください。また、新しい要因が関与している可能性があることを念頭に置いてください。
さらに読む: 360 Hzモニターは必要ですか? 超高リフレッシュレートの説明
NVIDIA
これはNVIDIAの唯一の解決策ではなく、適用されない状況も確かにありますが、より良いオプションの1つであり、デスクトップ環境の設定と常にうまく連携しないNVIDIAのグラフィカルユーティリティに依存していません。
まず、NVIDIA DRMモジュール(modsetting)の設定を有効にする必要があります。modprobeディレクトリに構成ファイルを作成します。
sudo touch /etc/modprobe.d/nvidia-nomodset.confお気に入りのテキストエディタでそのファイルを開き、次の行を挿入します:
options nvidia-drm modset=1
変更を適用するために、カーネルのinitramfsを更新します。
sudo update-initramfs -uそれが完了したら、再起動します。コンピュータが再起動し、すべてがスムーズになるはずですが、まだ終わっていません。
スワップは緊急時に役立ちますが、グラフィックスのようなものにはかなりひどいです。ここでパフォーマンスを向上させるためにできる最善のことは、コンピュータがスワップスペースを使用する傾向を減らすことです。現在の「swappiness」を確認します。
cat /proc/sys/vm/swappiness
おそらく「60」と返されるでしょう。それがデフォルト値ですが、はるかに低く設定できます。「/etc/sysctl.conf」を開き、ファイルの下部に次の行を追加します:
vm.swappiness=15RAMの量に基づいて値を設定できます。5から15が通常安全に作業できる範囲です。コンピュータをリセットし、すべてがスムーズになるはずです。
Intel
LinuxのIntelグラフィックスは通常あまり問題になりません。それはおそらく、統合グラフィックスが通常機能が少なく、Intelドライバースタックが主にオープンソースであるためです。Intelのスクリーンティアリングの解決策は通常、追加の設定の形で提供されます。
Intelはオープンソースドライバーを使用しているため、Xorgの設定が最も直接的なルートになります。「/etc/X11/xorg.conf.d/20-intel.conf」にファイルを作成し、次のコードブロックをその中に配置します:
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "TearFree" "true"
EndSection完了したら、保存して再起動します。
VSYNC
Vsyncは、ソフトウェアのリフレッシュレートをモニターのハードウェアのデフォルトリフレッシュレートに同期させようとする試みです。理論的には、すべてをできるだけスムーズにするための素晴らしいアイデアです。実際には、時にはその可能性を発揮し、他の時にはグラフィックスを不安定な混乱にします。Vsyncを使用していてスクリーンティアリングが発生している場合は、無効にしてみてください。Vsyncを使用していない場合は、それが物事を整えるためのものである可能性があります。
KDE

KDEには素晴らしいコントロールがあるため、すべてはKDE Plasma設定を通じて行うことができます。設定アプリケーションを開き、サイドの「ハードウェア」を見つけます。その見出しの下に表示設定があります。それをクリックします。ウィンドウのメインボディが表示設定で埋まります。サイドのタブが切り替わります。「コンポジタ」を選択します。「ティアリング防止」オプションを見つけ、「フルスクリーンの再描画」に設定します。完了したら、変更を適用します。
Kwin、KDEのコンポジタも時には問題の一部です。独自のルールに従います。Kwinをスムーズにするために追加できる簡単な設定があります。
「/etc/profile.d/kwin.sh」に新しいファイルを作成します。そのファイルを開き、以下の行を配置します:
export KWIN_TRIPLE_BUFFER=1KDEからログアウトし、変更を適用するために再度ログインします。
GNOME
これはかなりひどい答えですが、GNOMEにはvsyncを管理するための設定が直接ありませんが、それでも本当に役立ちます。IntelまたはNVIDIAグラフィックスでGNOMEを実行している場合は、上記の指示に従ってください。AMDの場合は、Xorg設定に次の行を追加します:
Option "TearFree" "true"XFCE
XFCEはスクリーンティアリングで悪名高いです。常に問題であり、深刻に邪魔になります。しかし、比較的簡単な解決策があります。必要なのは、XFCEのコンポジタを取り除き、別のもの、今回はComptonに置き換えることだけです。

XFCEの設定を開き、ウィンドウマネージャーの設定を見つけます。「コンポジタ」タブをクリックし、「ディスプレイコンポジティングを有効にする」のチェックボックスを外します。設定を適用します。
次に、Comptonをインストールします。これは軽量デスクトップで非常によく機能する独立したコンポジタです。ここでのコマンドはDebianベースのディストリビューション用ですが、Comptonはほぼすべての人気のあるディストリビューションで利用可能です。
sudo apt install compton
再びXFCEの設定に戻ります。今度は「セッションとスタートアップ」をクリックします。スタートアップ時に実行する新しいアプリケーションを追加します。おそらく推測できたでしょうが、そのアプリケーションはComptonです。以下をコマンドとして貼り付けます。これはComptonを最適に実行するためのいくつかの重要なオプションを含んでいます。
/usr/bin/compton --backend glx --paint-on-overlay --vsync opengl-swc保存して終了します。ログアウトして再度ログインするか、コマンドを実行してComptonを開始できます。
これらの方法は、Linuxでのスクリーンティアリングの問題を解決するための優れた方法です。すべての人に効果があるわけではありませんが、運が良ければあなたにも効果があるでしょう。Linuxのグラフィックスドライバー、デスクトップ環境、Waylandが進展するにつれて、スクリーンティアリングの問題が最終的に恒久的に解決されることを願っています。