web-dev-qa-db-ja.com

DebianがGRUB2解像度設定を尊重しない–画面上のゴミ

Debian GNU/Linux 7 GUIなしで使用しています。

私のLCDモニターのネイティブ解像度は1280x1024です。OSがtty1tty2などでデフォルトでこの解像度を使用するようにしたいです。

これらは私の/etc/default/grubからの行です:

GRUB_GFXMODE=1280x1024
GRUB_GFXPAYLOAD_LINUX=1280x1024

Sudo update-grubを実行しましたが、問題なく動作しました。再起動しました。これで十分ですが、それだけでは不十分です。

動作は次のとおりです。

  • GRUB2メニューは常に設定された解像度を使用します。私は別のGRUB_GFXMODEで確認しましたが、低い解像度を使用することもできます。この場合、画像は引き伸ばされ、画面全体を利用します。すべてOKです。
  • システムの起動時に、期待どおりにいくつかの初期メッセージが表示され、モニターはそのネイティブ解像度で動作します。
  • ある時点で、メッセージWaiting for /dev to be fully populated...が表示されると、画面がちらつきます。 1秒後、画像は同じ解像度で戻りますが、画面の下部と右端にゴミ(静的なピクセルノイズなど)があります。
  • ログインして後で作業すると、使用できない2つのストライプ(下、右のエッジ)があります。

これはどのように見えるかです(写真の解像度が低いとは言い切れませんが、問題にはなりません)。青いmcウィンドウが画面全体に表示されます。右上隅にグラフィックのゴミが見られます。下部のストライプはすべて黒ですが、ゴミが多いこともあります。

mc window on just a part of the screen


GRUB2の設定にもかかわらず、私のOSは必要な解像度を使用していません。これはfbsetの出力です:

mode "1024x768"
    geometry 1024 768 1280 1024 32
    timings 0 0 0 0 0 0 0
    accel true
    rgba 8/16,8/8,8/0,0/0
endmode

それでも、モニターはネイティブ解像度を使用します。この写真の最後の行を見てください:

monitor reporting native resolution in use

GRUB2設定を機能させる方法は?


追加情報:

  • ハードウェアはJBC362F36W-2600-B Barebone Mini-ITX Systemです。
  • そのマザーボードはNF36-N2600です。
  • グラフィックスはIntel Atom N2600CPUに統合されています。
  • ケーブルはDVI-Dです。
  • モニターはPhilips 190Bです。 GRUB2メニューでうまく動作するので、問題はないと思います。

もっと:

# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller (rev 09)

# uname -a
Linux [censored] 3.2.0-4-AMD64 #1 SMP Debian 3.2.81-1 x86_64 GNU/Linux

# grep -A 6 1280x1024-60 /etc/fb.modes 
mode "1280x1024-60"
    # D: 108.00 MHz, H: 63.981 kHz, V: 60.02 Hz
    geometry 1280 1024 1280 1024 8
    timings 9260 248 48 38 1 112 3
    hsync high
    vsync high
endmode
5

これらのGRUB設定は、GRUBが使用する表示モードを制御します。カーネルが使用するデフォルトのフレームバッファモードを指定しません。後者を構成するには、videoカーネルを使用できますパラメータ; Debianでは、これをGRUB_CMDLINE_LINUX_DEFAULT/etc/default/grub行に追加します。

video=1280x1024

これにより、カーネルがフレームバッファを初期化するとすぐに、ディスプレイが正しく設定されます。

videoパラメータについては、カーネルのドキュメントの fb/modedb.rst で詳しく説明されています。

8
Stephen Kitt

編集:これは私の古い修正です(誰かが気付かなかった場合のOPです)。もう1つのより良い答えがあります。教育上の理由で答えを残しておきます。


古い修正:

GRUB2設定を機能させることができませんが、実行中のシステム内から解像度を希望の1280x1024に変更できます。コマンドは次のとおりです。

fbset -g 1280 1024 1280 1024 32

この行を/etc/rc.localに追加すると、問題が解決しました。システムの起動時に画面の一部にまだゴミが残っています。しかし、ログインして作業すると、モニターのフル解像度を利用できます。

2