コンソール出力用のグラフィックカードの選択

コンソール出力用のグラフィックカードの選択

カーネル2.6.32-573でRHEL 6を実行する2つの独立したnvidiaグラフィックスカードを搭載したHP DL380G9サーバーがあります。どちらのカードも同じチップセット(NV117)を持っていますが、モデルは異なります。 K620(スロット5アドレス88:00.0)、K2200(スロット4アドレス84:00.0)。 K2200は、Linuxでplymouthとブートメッセージを出力するために選択したカードです。

CMOS および BIOS 設定が消去された場合でも、カードを交換すると、HP サーバー BIOS でページエラーが発生することがあります。カードを交換すると問題が解決します。 BIOSには、デフォルトの個々のグラフィックカードを選択するオプションはありません。 Linuxでは、PCIバスアドレスが最も低いカードを選択しているようです。

X11より前のデフォルトディスプレイ用に別のグラフィックカードを選択するためのカーネルコマンドラインオプションやその他の設定ファイルはありますか?

答え1

私は結局これがvga arbiterと呼ばれるカーネル機能を通して行われていることを知りました。 BIOSがデフォルトアダプタとして使用するVGAアダプタに関係なく、最終的には「bootvga」デバイスとして表示されます。不要なVGAアダプタにスタブドライバを使用すると、VGAモデレータが次のVGAアダプタを選択して使用するように強制できます。lspci -nn | grep VGA
pciデバイスIDを取得するには、カーネルコマンドラインにこのパラメータを追加を使用します。pci-stub.ids=0000:0000

RHEL 7に移行するときは、pciパススルーで無効になっているこのアダプタを使用します。 Nvidiaグラフィックスカードにはオーディオデバイスも含まれており、最終的にはVGAデバイスと同じIOMMUグループに属していることに注意してください。両方の pci デバイス ID にスタブが必要です。

答え2

フレームバッファコンソールに関するご意見がない場合は、次をご覧ください。ドキュメント/fb/fbcon.txt

Linuxカーネルのコマンドラインに以下を追加する必要があるかもしれません。

fbcon=map:1

答え3

顧客が誤って書かれたefiドライバを含むサーバーを購入しましたが、オンボードvgaポートが非常に誤ったコンソールを出力する奇妙な状況に直面しました。さまざまな解決策を試した後、最終的にビデオ出力にGPUを使用することにしました。残念ながら、Pci-stubはフレームバッファがオンボードチップを使用しないように強制しません。単にEFI VGAと交換するだけです。

cat /proc/fb
0 EFI VGA
1 nouveaufb

ビデオをにストリーミングするには、オンボードデバイスを無効にするnouveaufb必要があります。次に追加(私のデバイスIDの代わりにあなたのデバイスIDを使用):efifbstubgrub

pci-stub.ids=8086:0412 video=efifb:off

grubファイルをMkconfigしてください

grub2-mkconfig -o /etc/grub2-efi.cfg

まもなく!これで、ビデオコンソールがnouveauに出力されています。

cat /proc/fb
0 nouveaufb

関連情報