web-dev-qa-db-ja.com

Linuxブート中のビデオモード切り替えの削減

Linuxのみが搭載されているデスクトップコンピューターを起動すると、ビデオモードやコンソールフォントが4回切り替わります。

  • GRUBが開始すると、80x25のテキストからグラフィカルモードに切り替わり、メニューの背後にきれいな背景を描くことができます。
  • メニューから何かを選択すると、GRUBは80x25のテキストに戻ります。
  • ビデオカードのKMSドライバが読み込まれると、はるかに高解像度のテキストモードに切り替わります(これがハードウェアテキストモードかどうかはわかりません)。
  • 最後にXが起動し、グラフィックスに移行してそのままの状態を保ちます。この最後のスイッチは、ビデオモードの解像度を変更せず、グラフィック性のみを変更すると思います。

これらのモードスイッチをできるだけ多く削除したいと思います。理想的には、GRUBがBIOSから引き継ぐと、KMSドライバーが選択するのと同じ高解像度テキストモードに直接移行し、Xが起動して起動するまでディスプレイはそのモードのままになりますグラフィックス。これは、カーネルコマンドラインやGRUBコンソールモジュールのロードパラメータをいじることで可能になると思いますが、詳細はわかりません。

GRUB 1.98 + 20100706、Nouveauビデオドライバーを使用したカーネル2.6.32.15。 DistroはDebianが不安定です。何かを再コンパイルしたり、bleed-Edgeカーネル/ドライバーの組み合わせを組み合わせたりすることを含む答えはありません。私はこれについてあまり気にしないので、それほど多くの問題に直面することはありません。

EDIT: Tobuは、GRUB_GFXMODEをモニターのフルピクセル解像度に設定し、GRUB_GFXPAYLOAD_LINUX=keepを設定して、メニューが消えた後のモード切り替えを回避することをお勧めします。これは私が望んでいることの一部ですが、全体的に悪化することになります。メニューの後にモードスイッチはありませんが、それでも痛々しいほど遅い画面の再描画があります(おそらく、GRUBのgfxmodeをあきらめる必要があります。1920x1200では遅すぎます)。さらに深刻なことに、nouveaufbのロード時にdoubleモードスイッチがあり、dmesgに面白そうなエラーメッセージが表示されます。

[    5.923798] [drm] nouveau 0000:02:00.0: allocated 1920x1200 fb: 0x40250000, bo ffff8801ba5f4600
[    5.923802] fb: conflicting fb hw usage nouveaufb vs EFI VGA - removing generic driver
[    5.923821] [drm] nouveau 0000:02:00.0: PFIFO_INTR 0x00000010 - Ch 1
("PFIFO_INTR" message repeats 400+ times)
[    5.925609] Console: switching to colour dummy device 80x25
[    5.925802] Console: switching to colour frame buffer device 240x75
12
zwol

プリマス はこの点で役立つように設計されています:

起動プロセスの早い段階でコンピューターのネイティブモードが設定され、plymouthがそのモードを使用し、そのモードはXが起動するまでの起動プロセス全体を通して維持されるという考え方です。理想的には、起動時のちらつきをすべて取り除くことが目標です。

インストールされているOSは1つだけなので、grubの解像度の変更(背景グラフィックなし)を無効にし、メニュー自体も無効にして、80x25のままにすると、Plymouthが引き継ぐまで変更されません。

2
chris

解像度と色深度を調べます。

xrandr -q
xdpyinfo | grep 'depth of root window' | awk '{ print $5 }'

Grubメニューの解像度がKMSの解像度と一致するように、GRUB_GFXMODE=<width>x<height>x<depth>/etc/default/grubを設定します。

たぶん、デフォルトにGRUB_GFXPAYLOAD_LINUX=keepも追加して、grubメニューの後、KMSをセットアップする前の中間ステップがないようにします。 X11は、KMSが使用するものを維持する必要があります。つまり、心配するX11スイッチはありません。

で編集を適用します

Sudo update-grub
1
Tobu

GRUBの直後からKMSをアクティブにすることができます。これには通常、それをオンにするカーネルコマンドラインへのパラメーターが含まれます。インテルの場合、それはi910.modeset=1、しかしそれを超えて、これに関するディストリビューションのドキュメントをチェックする必要があります。

0
Daenyth