さあ、卑劣なことはしないでください。この記事のタイトルは、Intelグラフィックスでティアリングを修正することを意味するのではなく、Intelグラフィックスを搭載したコンピューターを使用していて、Linuxを使用している場合、ビデオのティアリング、通常は上3分の1を横切る水平線に遭遇した可能性があります。ビデオフレーム。これは通常、Gnome、Xfce、またはMATEデスクトップで発生しますが、Plasmaでは、基本的なディストリビューションの選択に関係なく発生します。一貫性ftw。
とにかく、私は以前にこの問題を何度も見ましたが、最近はやや頻繁に再発しているようです。それでは、うまくいけばすべての問題を解決するか、少なくともスムーズでクリアなビデオ再生を楽しむことができる小さなチュートリアルを用意しましょう。私の後。
インテルグラフィックス
問題を解決する前に、それを理解する必要があります。以下の「解決策」セクションでは、あらゆる種類のテクノバブルを作成します。やみくもにコピーして貼り付けると、問題は修正されますが、理由はわかりません。それでは、Intelグラフィックスタックの概要から始めましょう。これは、「intel」という名前の移行ドライバーを指します。これは、さまざまなチップセットをカバーします。
ここで、リンクされたマニュアルページはX.Org(Xorg)ディスプレイサーバーの実装を参照していることに注意してください。実際、このガイドでは2つの理由からXorgに焦点を当てています。 1つは、Waylandではなく、主にそれを使用することです。 2つ目は、前のポイントを参照してください。ほとんどの場合、Xorgでティアリングが発生しました。ただし、Waylandでビデオのティアリングが発生したことも覚えています。そのために、別のチュートリアルを作成することも検討します。それでは、ミニ教育を続けましょう。
ビデオのティアリングは通常、ディスプレイとドライバーの不一致が原因で発生するため、フレームの更新が表示されることになります。デフォルトの動作をオーバーライドするカスタムXorg構成を作成できるため、デフォルトで有効化(または無効化)されていないグラフィックスタック内の特定の機能を利用できます。
現在、リンクされた概要にリストされているすべてが何らかの形でビデオレンダリングに影響を与える可能性があり、ここでの調査作業は決して些細なことではありません。たくさん読んだ後(そしていくつかの当て推量)、私はリストを1つの潜在的な主な原因に絞り込みました。では、何が得られるか見てみましょう。
- オプション"TearFree""boolean"-TearFreeアップデートを無効または有効にします。このオプションは、実際の表示を更新する前に、Xにバックバッファーへのすべてのレンダリングを強制的に実行させます...このオプションはデフォルトで無効になっていますが、有効にすることもできます。これは、より多くのビデオメモリが使用されることを意味しますが、よりスムーズな再生も必要です。
OK、潜在的な微調整がわかったので、それを実装できます。実際、この問題を解決するために、デフォルトを上書きするXorg構成ファイルを作成します。
解決策
カスタム構成ファイルを作成する必要があります:
sudo mkdir -p /etc/X11/xorg.conf.d
sudo touch /etc/X11/xorg.conf.d/20-intel.conf
このファイルをテキストエディタ(sudoまたはrootとして)で開き、次のテキストを追加します。
セクション「デバイス」
識別子「インテルグラフィックス」
ドライバー「XXXX」
オプション「TearFree」「true」
EndSection
XXXXを特定のハードウェアの正しいドライバー名に置き換えます。一般的なIntel、または正確なドライバーバージョンを使用できます。たとえば、私のラップトップの1つでは、ドライバーはi915であるため、セクションは次のようになります。
セクション「デバイス」
識別子「インテルグラフィックス」
ドライバー「i915」
オプション「TearFree」「true」
EndSection
システムで使用されているドライバを確認する方法はたくさんあります。
sudo lspci -k | grep -EA3'VGA |3D|ディスプレイ'
grep "LoadModule" /var/log/Xorg.0.log
または、inxiコマンドを使用して確認することもできます:
inxi -G
グラフィックス:
デバイス-1:Intel Haswell-ULT統合グラフィックスドライバー:i915 v:カーネル
ディスプレイ:x11サーバー:X.Org 1.20.8ドライバー:i915解像度:1366x768 〜60Hz
OpenGL:レンダラー:Mesa DRI Intel HDグラフィックス4400(HSW GT2)
v:4.5 Mesa 20.0.4
Linuxディストリビューションの中にはログを/varの下に保持するものもあれば、/ runの下に保存するものもあるため、システム間で多少の違いがある可能性があります。さらに、inxiコマンドが使用できないかインストールされていない可能性があります。 lspciコマンドは最も安全で、すべてのシステムで機能するはずです。
ドライバーを特定したら、20-intel.confファイルにドライバー名を書き込み、ファイルを保存して、セッションを再開します。再起動するか、ログアウトしてから再度ログインすることができます。これで、スムーズで涙のないビデオ再生が可能になります。
代替修正
上で追加した1つのオプション行だけが機能しない可能性があります。したがって、もう少し厳密にする必要があるかもしれません。 20-intel.confファイルに含めることができる2つの追加オプションは次のとおりです。
- オプション"AccelMethod""string"-加速方法を選択します。いくつかあります...このオプションは、ハードウェアアクセラレーション方式を定義します。 UXA(Unified Acceleration Architecture)は、古いがより成熟したバックエンドです。 SNA(SandyBridgeの新しいアクセラレーション)は、UXAに取って代わる新しいメソッドであり、デフォルトです。ビデオが途切れている場合は、全体的な互換性が広くなる可能性があるため、古いバックエンドにフォールバックすることをお勧めします。
- オプション"DRI""string"-DRIサポートを無効または有効にします...通常、これは問題ではなく、システムはOpenGL ES 3を使用する必要があります。ただし、ビデオティアリングがある場合は、このオプションを「3」に設定したい。
構成ファイルは次のようになります。
セクション「デバイス」
識別子「インテルグラフィックス」
ドライバー「XXXX」
オプション「TearFree」「true」
オプション「AccelMod」「uxa」
オプション「DRI」 "" 3 "
EndSection
結論
追加...UbuntuMATE、Xubuntu、Fedoraの最初の20-intel.confを、これらのディストリビューションの複数のエディションでテストしました。ほとんどの場合、TearFreeオプションで十分です。ディストロバージョンの1つには、加速方法も必要でした。最後に、たった1つの例で、スタンドアロンのDRIオプション(他の2つなし)がティアリングの問題を解決しました。グラフィックカードの種類が非常に多いことを考えると、これら3つのオプションの順列を試してみることをお勧めします。魔術のように聞こえますが、おそらくそうです。
少なくともそれは良い結果をもたらす魔術です。理想的には、ビデオのティアリングに直面する必要はありません。しかし、Linuxデスクトップにはいくつかの重要な問題があり、ユーザー中心の製品中心のアプローチが最大の問題です。そのため、バグが出入りして戻ってきます。また、ディストリビューション全体でこれらの不規則でランダムな症状が現れます。バージョンとハードウェアプラットフォーム。とにかく、試してみて、何が得られるかを確認してください。うまくいけば、スムーズでクリーンな再生でビデオを見ることができます。会いましょう。