休憩なしで作業中に1時間に数回ランダムに発生する画面のちらつきの問題があります。マウスドラッグ後は消えるが、なぜこのような動作が起こるのか悩みになります。
しばらく前に、この問題に加えて、ディスプレイの端の近くに透明な点が現れました。
Nvidia G960Mグラフィックカードがあり、次は出力です。NVIDIA-SMI注文する:
現在設定されているウィンドウシステムはX11です。
ディスプレイマネージャはGNOMEです。
私のものモニター解像度1920x1080 です。これ再生率60.02Hzです(120.02Hz、59.xHzをかなり長い間試しましたが)。さらに、私は夜間照明表示機能、温度は1800に設定されています。
最近、私は一つを見つけました。透明な斑点私のモニターに。最初は点だったが二点に細分化され、今は昔のように汚れになりました。
同様の質問に答えていくつかのアプローチを試しましたが、何の効果もありませんでした。
私の質問は、Debian 11で画面のちらつきを修正する方法です。最近透明スポットに関連していますか?
修正する
/var/log/Xorg.0.log の内容には、以下からアクセスできます。協会
出力は以下から来ます。xrandr --listproviders注文する:
❯ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x44 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 2 associated providers: 0 name:modesetting
答え1
Nvidia G960中サイズノートブックが推奨されるため、デュアルGPU(別々のNvidia GPUとメインCPUに統合された電力効率の高いiGPU)があるかもしれません。これをNvidiaの「Optimus」構成といいます。歴史的に、これらの問題はLinux、特にDebianで扱うのがやや厄介でしたが、幸いなことに、Debian 11にはOptimusサポートが今やかなりスムーズになるほど、新しいコンポーネントが十分にあります。
Xorg.0.logは実際にデュアルGPUがあることを確認します。
[ 10944.179] (II) modeset(0): glamor X acceleration enabled on Mesa Intel(R) HD Graphics 530 (SKL GT2)
...
[ 10944.204] (II) NVIDIA(G0): NVIDIA GPU NVIDIA GeForce GTX 960M (GM107-A) at PCI:1:0:0
しかし、現在はIntel iGPUmodeset
ドライバだけが接続されているモニタを検出しています。
[ 10944.189] (II) modeset(0): EDID for output eDP-1
...
[ 10944.190] (II) modeset(0): LG Display
[ 10944.190] (II) modeset(0): LP156WF6-SPK1
...
[ 10944.195] (II) modeset(0): Output eDP-1 connected
...
[ 10944.195] (II) modeset(0): Output eDP-1 using initial mode 1920x1080 +0+0
NvidiaドライバはNvidia GPUに接続されているモニタを見つけることができず、デフォルトの仮想画面サイズは640x480です。
[ 10944.204] (II) NVIDIA(G0): Validated MetaModes:
[ 10944.204] (II) NVIDIA(G0): "NULL"
[ 10944.204] (II) NVIDIA(G0): Virtual screen size determined to be 640 x 480
[ 10944.204] (WW) NVIDIA(G0): Unable to get display device for DPI computation.
intel
私の経験によれば、設定が最新のカーネルベースのiGPUドライバではなく古いiGPUドライバを使用している場合、modesetting
画面を暗くすることを使用するいくつかのウィンドウマネージャ効果によって、一部のIntel iGPUモデルでちらつきが発生する可能性があります。ただし、ログにすでにmodesetting
X11ドライバを使用していることが示されているため、これが点滅の問題の原因ではありません。
あなたのアクティブなGPUは、現在ロード可能な独自のファームウェアファイルといくつかのマイクロコントローラコンポーネントを含むIntel HD Graphics 530です。これらのマイクロコントローラは次のように呼び出されます。
- ディスプレイマイクロコントローラ(DMC)は、低電力状態と定常状態を切り替えるときにディスプレイエンジンの状態を保存および復元するのに役立ちます。
- GuC(グラフィックマイクロコントローラ)は、電源管理と高速GPUコンテキスト切り替えにも関連しています。
- HEVC/H.265ビデオコーデック操作専用のHEVC/H.265マイクロコントローラ(HuC)。
ちらつきのため、GPUの電源管理やコンテキスト切り替えに関する問題は、DMCまたはGuCファームウェアの欠落のために予想どおりに速く発生しないようです。 Debian 11リポジトリセクションfirmware-misc-nonfree
でパッケージをインストールしたことを確認してくださいnon-free
。これには、Intel iGPUに必要なすべてのファームウェアファイルが含まれています。
i915
ファームウェアが実際にダウンロードされたことを確認するには、Intel iGPUを駆動するモジュールにいくつかのモジュールパラメータを追加する必要があります。/etc/modprobe.d/i915.conf
次の内容でファイルを作成します。
options i915 modeset=1 enable_guc=2
LinuxでGuCマイクロコントローラを使用することはまだ実験的であるため、これらのオプションはドライバが既知の最小安全作業セットのみを使用するように指示します。
この構成フラグメントを追加した後、ドライバーは通常起動プロセスの初期にロードされますupdate-initramfs -u
。i915
ノートブックハードウェアにGPU間の出力を切り替えるためのマルチプレクサ(マルチプレクサと呼ばれる)が含まれていない場合マルチプレクサなし Optimus)、各ディスプレイ接続は特定のGPUに固定配線されています。この構成ではまだ2つのGPUを使用できますが、ディスプレイデータをあるGPUから別のGPUに転送する必要があります(転送方向に応じて「PRIMEレンダーオフロード」または「逆PRIME」と呼ばれる)。
Debian Wikiの詳細:https://wiki.debian.org/NVIDIA%20Optimus#PRIMEOffload
ノートブックのハードウェアにマルチプレクサが含まれている場合は、Linuxを使用して制御できる必要があります。VGAスイッチサブシステムデュアルシステムでは必要ない場合、またはバッテリーの消費を最小限に抑える必要がある場合は、それを使用してNvidia GPUを完全にシャットダウンすることもできます。
一般に、再利用されないOptimusハードウェア設定を備えたノートブックでは、外部ディスプレイが接続されておらず、高性能3Dグラフィックスが不要な場合にバッテリの電力使用量を最小限に抑えるために、ノートブックの統合ディスプレイがiGPUにハードワイヤードされます。
私の仕事用ノートブックはあなたのものと非常によく似た構成を持っているので、Debian 11でOptimusを使うためのいくつかのヒントは次のとおりです。
これはフラッシュの問題とは関係ありませんが、PRIMEまたはリバースPRIME構成で2つのGPUを使用するようにX11サーバーを準備するには、次の構成フラグメントを追加できます/etc/X11/xorg.conf.d/20-optimus.conf
。
Section "Screen"
Identifier "DefaultScreen"
GPUDevice "Nvidia dGPU"
Device "Intel iGPU"
EndSection
Section "Device"
Identifier "Intel iGPU"
Driver "modesetting"
BusID "PCI:0:2:0"
EndSection
Section "Device"
Identifier "Nvidia dGPU"
Driver "nvidia"
BusID "PCI:1:0:0"
EndSection
このタスクを追加した後(X11サーバーを再起動または再起動した後)、両方のプロバイダを一覧表示する必要がありますxrandr --listproviders
(つまり、2つのGPUドライバ)、設定はPRIMEまたはリバースPRIME操作の準備ができている必要があります。
PRIME(たとえば、ノートブックの内部画面のNvidia Enhanced Graphics)の場合は、高性能グラフィックスを必要とするすべてのプログラムに次の2つの環境変数を設定するだけです。
__NV_PRIME_RENDER_OFFLOAD=1
__GLX_VENDOR_LIBRARY_NAME=nvidia
リバースPRIME(Nvidia GPUを介して接続されたモニターを使用して現在のデスクトップ構成を拡張)の場合は、2つのコマンドを実行する必要があります。
xrandr --setprovideroutputsource 1 0 # tell Nvidia to accept display data from Intel
xrandr --auto # autodetect displays on now-available Nvidia display outputs
(問題がテキスト表示のレンダリングに関連していない限り、テキスト画像を公開しないでください。これらの画像は視力の問題がある人にとって問題になる可能性があり、コードブロックを使用して実際のテキストをコピーして貼り付けるための追加情報提供しません。
「透明な点」は、プライバシー保護フィルム、防眩フィルム、または同様のものの下にある泡のように聞こえます。もしそうなら、これは物理的な問題であり、GPUやそのドライバとは何の関係もありません。デスクトップ環境のスクリーンショットツールを使用している場合は、BLOBをキャプチャしますか?
スクリーンショットに汚れが見られない場合は、ディスプレイ表面のフィルムの下にある気泡、または実際のディスプレイパネルの他の物理的な問題がある可能性があります。表示されている場合は、GPUドライバのエラーまたはBlobの位置を担当するディスプレイメモリの欠陥を示すことができます。