FreeBSD vidcontrolモードが正しく機能しない

FreeBSD vidcontrolモードが正しく機能しない

私は古いCompaq Presario 3550でFreeBSD 11.4を実行しています。フル1024x768ディスプレイを活用したいのですが、vidcontrolが機能していないようです。これまで私がしたことは次のとおりです。

  1. scの代わりにvtを使用すると、空のリストが提供されるため、含めるように変更され/boot/loader.confました。kern.vty=scvidcontrol -i mode
  2. ランタイムはvidcontrol -i modeさまざまなサポートモード(約40個程度)を提供します。
  3. 実行中vidcontrol MODE_261(サイズ1024x768x8 P)は、フル解像度を使用するようにモニターのサイズを変更し、画面の左上隅にプロンプ​​トを置くように見えます。しかし、4~5ラインほど経過すると、ディスプレイ下部全体がRGBラインのグリッドになります。数分でシステムがクラッシュしました。
  4. vesaモジュールをカーネルにロードすることが提案されているいくつかの場所がありますが、ランタイムはkldload vesaメッセージを提供しますkldload: can't load vesa: module already loaded or in kernal。説明したように、ソースからカーネルを再構築することもできますが、ここ、vesaモジュールがすでにインストールされているので、どのような効果があるのか​​わかりません。

どんなアドバイスでも本当に感謝します。ありがとうございます!

編集1:いいえ、これはX11ではありません。これはすべてコンソール専用モードで行われます。

編集 2: vidcontrol VGA_80x50vidcontrol 80x50vidcontrol MODE_30両方 "vidcontrol: ビデオ モード設定: 無効なパラメータ" エラーが発生します。モード30は80x50で、フォントは8x8です。実行するとvidcontrol VESA_132x50同じエラーが発生しますが、vidcontrol VESA_132x25幅は調整されますが、すべてがめちゃくちゃになりますvidcontrol 80x25

編集3:vidcontrol VESA_800x600動作しています。これは許可されていますが、依然としてフルディスプレイ解像度が必要です。

答え1

残念ながら、VESAはあなたのコンピュータで正しく動作しません。モードを設定するためにフレームバッファドライバをオーバーライドするvesaカーネルモジュールは、フレームバッファドライバ自体のモード設定コードvgaから送信されたモード設定要求をvgaファームウェアのVESAモード設定コードに渡します。明らかに、これはディスプレイアダプタのハードウェアを正しく設定していないようです。

VESAファームウェアに完全に欠陥があるか、vesaオーバーレイがそれを正しく使用していません。とにかく唯一の解決策は難しいカーネルのデバッグであり、あまり複雑になりたくない場合はシリアルコンソールを使用してください。

関連情報