web-dev-qa-db-ja.com

休止状態後の画面の破損— X11ディスプレイを更新する別の方法はありますか?

休止状態から復元すると、画面が破損することがよくあります。グラフィックメモリが保存されていないようです。それ以外の場合は、Sumpend-to-ramは正常に機能します。

また、すべての文字が一貫して破損しているため、フォントキャッシュが破損しているようにも見えます。この効果は、特定のサイズのフォントを対象にしているようです。例えば。端末ウィンドウが表示された場合、フォントやフォントサイズを変更すると、そのサイズのフォントが既に破損している場合を除いて、修正されます。

フォントが他の場所(他のアプリ、ウィンドウマネージャーなど)で使用されている場合、問題もそこにあります。ウィンドウタイトルに使用されているフォントがヒットすることがあり、すべてのウィンドウタイトルに同じ文字が表示されます。

ログアウトして再度ログインすると修正されます、しかし、私はそれをする必要はありません。私はログアウトしてから休止状態にしていましたが、これはより多くの労力を要し、休止状態の利点のほとんどを排除します。

X11ディスプレイを更新する別の方法はありますか? Ctrl+Alt+F1…修正もしません。端末を切り替えますが、何も再描画しません。古い破損した画面が表示されるだけです。

私はDebian 6を使用しています。

この場合、ウィンドウのタイトルは不適切です。 window title font deranged

ターミナルのコンテンツは悪いですが、タイトルは(まだ)大丈夫です: text is distorted systematically, but only some fonts affected

23
ctrl-alt-delor

私のラップトップでも同様の状況がありました。サスペンドから復帰したとき、画面はしばしば黒いままでした。私の解決策は、xrandrを使用してディスプレイをリセットすることでした。レイアウトをセットアップして実行するxrandrコマンドを見つける必要があります。たとえば、私のシステムでは2つの画面があり、これで思い通りに設定できました。

xrandr --output DP-3 --auto --output VGA-0 --auto --right-of DP-3 --primary

画面が1つしかない場合は、オフにしてからもう一度オンにしてみてください。

xrandr --output VGA-1 --off; xrandr --output VGA-1 --auto;

引数なしでxrandrを実行すると、画面の名前を確認できます。私が現在使用しているシステム(1つのVGA画面)では、次のようになります。

$ xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
VGA-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+
   1680x1050      60.0  
   1280x1024      75.0     60.0  
   1152x864       75.0  
   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  
DVI-I-1 disconnected (normal left inverted right x axis y axis)

正しいコマンドが見つかったら、ショートカットを割り当てて、画面が空白の場合でも実行できるようにします。

12
terdon

xrefresh コマンドを試しましたか?

7
Keith Thompson

GNOMEでは、 AltF2renter GUIを更新します。 AltF2コマンドの実行プロンプトを起動し、 r コマンドは強制的にリフレッシュします。

6
Severyn Kozak

私もこの問題を抱えています(Debian SqueezeとWheezy)。

私の経験では、主にメモリのほとんどがいっぱいで、システムがスワップメモリ​​を使用しているときに発生します。

部分的な回避策として、デフォルトのフォントを変更すると、破損がなくなります。 (しかし、良くないので、汚職が再び現れたとき、私は再び交換しなければなりません。)

(Debian Wheezyでは、これはgnome-Tweak-toolによって行われます。)

5
Robert

カーネル3.19にアップグレードします。–私は buntuメインラインカーネルパッケージ を使用しました。

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19-vivid/ (Ubuntu 14.04トラストでも実行)

次のバグレポートのコメントはそれを言及しました

https://bugs.freedesktop.org/show_bug.cgi?id=45092#c37

...次のメッセージでコミットを追跡します:

https://github.com/torvalds/linux/commit/656bfa3afc14e45e2d9e1624bf60d79b3beb12f2

「...これまでgm45とi965gmでしか見たことがないので。」

グラフィックスが統合されたIntel GM45モバイルチップセットを持っています。 OPのAcerラップトップもそのチップセットで販売されていました(すべてではありません)。

(一時停止とは関係ありません。)

4
Robert Siemer

ドライバーがデバイスを適切に再開できない場合、デバッグと問題の場所の特定が唯一の解決策であり、そこから何をすべきかを判断できると思います。たとえば、ビデオカードが再初期化されない場合、どのように更新できるかわかりません。

[〜#〜] acpi [〜#〜]は、一時停止/再開および表示を処理します。たとえば、一部のThinkPadsで発生する次のACPI問題は、あなたが説明している症状に対処する場合があります。

一時停止してRAMから再開すると、テキストコンソールの表示に実際のテキストではなくガベージが表示されることがあります。それ以外の場合、マシンはまだ応答性があり、Xは正常に表示されます。これがすべて当てはまる場合は、menu.lstまたは/にカーネルオプションacpi_sleep = s3_bios、s3_modeを追加しますlilo.confで問題が解決する場合があります。

ACPIサスペンドからRAMへの問題-ThinkWiki

上記の引用が扱っているthinkpad_acpiモジュールを使用している場合は、それで十分でしょう。このソリューションの詳細については、 Suspend2Ram-Powersave Documentation を参照してください

まず、試すことができるカーネルパラメータがいくつかあります。 /boot/grub/menu.lstの「カーネル」行に追加するだけです。これらの詳細については、/ usr/src/linux/Documentation/power/video.txtを参照してください。

Video.txtから:

S3の再開中に、ハードウェアを再初期化する必要があります。ほとんどのデバイスでは、これは簡単で、カーネルドライバーはその方法を知っています。残念ながら、ビデオカードという1つの例外があります。これらは通常BIOSによって初期化され、カーネルにはビデオカードを起動するための十分な情報がありません。 (通常、カーネルにはビデオカードドライバーさえ含まれていません-vesafbとvgaconが広く使用されています)。

詳細は video.txt こちらの表を参照して、ビデオカードモデルに既知のacpi_sleep=<hack>がリストされているかどうかを確認してください。

Debian SuspendおよびKMSDebianウィキでは、「再開時に破損したビデオ」の問題のためにKMSを無効にすることを推奨しています。 1

コンピュータの再開後に見られる非常に一般的な問題は、ビデオが破損している(または黒い画面が表示される、またはLCDバックライトが表示されない)です。最初のステップは、システムがまだ動作しているかどうかを確認することです。 Capslockボタンを押して、Capslock LEDがそれに応じて変化するかどうかを確認します。システムがまだ稼働している場合は、ほとんどの場合、ビデオカードにビデオの癖を追加する必要があります。

Debianでは現在、ほとんどのIntel、nVidia、ATIビデオカードでカーネルモード設定(KMS)がデフォルトで有効になっています。しかし、pm-utilsのビデオの癖はまだKMSをサポートしていません。したがって、ほとんどの場合、最初にKMSを無効にしてみてください。特定のビデオカードの詳細な手順は、KernelModesettingページにあります。

KMSを無効にした後、再開後のビデオが依然として破損している場合は、いくつかのビデオの癖を使用してシステムを一時停止することができます。利用可能なすべての癖の非常に詳細な説明については、pm-suspendプログラムのマンページを読み、コマンドラインからそれらの組み合わせを試してください。システムで機能する癖の組み合わせが1つ見つかった場合は、それらを/ usr/lib/pm-utils/video-quirksに追加して永続的にすることができます。同時に、変更についてパッチを付けてpm-utilsパッケージにバグを報告し、大衆に利益をもたらすようにしてください。

古いバージョンのDebianからアップグレードするシステムで見られる一般的な問題は、サスペンド中にquirk-s3-biosを有効にするとシステムがフリーズすることです。サスペンド中にシステムがフリーズする場合は、デバッグを有効にした後でpm-suspend.logを注意深くチェックし、quirk-s3-biosが使用されていないことを確認してください。

これが問題に関連していると思われる場合は、提案されているようにKMSを無効にしてみてください。カードの説明については KernelModesetting-Debian Wiki を参照してください

デバッグの中断

サスペンドおよびレジュームプロセスのログは、ファイル/var/log/pm-suspend.log.にあります。これには、デフォルトで中程度の詳細情報が含まれています。export PM_DEBUG = trueをファイルの先頭に挿入することにより、より多くの情報をデバッグ用に有効にすることができます/ usr/lib/pm-utils/pm-functions

詳細については、 Suspend-Debian Wiki で言及されているカーネルテスト機能に関する情報も確認してください。これは、問題をデバッグして特定するのに役立ちます。

「デバイスの一時停止または再開に失敗したドライバー」に役立ついくつかの例と詳細なデバッグ情報は https://www.kernel.org/doc/Documentation/power/basic-pm -debugging.txt

pm-utils-ArchWiki および https://unix.stackexchange.com/a/29090/87728 でのpm-utilsのデバッグのアイデア

Kernel Parameters の完全なリストは、acpiとsuspendに関連する多くのものです。

幸運を。

3
iyrin

これは報告されたバグのようです。次のリンクを確認してください。

Ubuntuの場合は、チェック このリンク

Debianの場合 this other link 特別にresume部分の破損したビデオを修正

問題がテキストコンソールにある場合:フォントキャッシュを更新してみましたか?

fc-cache -f -v

2
YoMismo

Ctrl + Alt + F1…が機能しない

さて…次にSudo chvt 1を発行してみてから、Ctrl_Alt_FnまたはSudo chvt N(Nは通常7または8)を使用してXorgのvtyに切り替えます。 chvtが機能する場合は、スクリプトで試すこともできます。

0
poige

これはほぼ間違いなく、グラフィックスドライバーに表示デバイスのバグがあるためです。どちらにしても修正できるものではないので、それが多すぎてもかまいません。ただし、デバイスのカーネルドライバーについてバグを報告する必要があります(それが何であるかがわかったら(lspciが役立つかもしれません))。

ただし、回避策として、次のことを試してみてください。休止状態から抜け出したときに、「ctrl-alt-F4」を押して別の仮想端末に切り替えてから、元に戻します(ctrl-alt-F1またはctrl- alt-F7またはF8)。これにより、画面が十分に更新され、表示が回復します。多分。

0
Wes Hardaker

xrandr を使用して画面を回転または反転させてみてください。逆さまにして、通常に戻します。これで、完全に再描画することができます。

0
9000