テキストコンソールで解像度を設定する方法(「vga = ...」が失敗したときのトラブルシューティング)

テキストコンソールで解像度を設定する方法(「vga = ...」が失敗したときのトラブルシューティング)

これは、カーネルパラメータ(通常はCtrl-Alt-F1からCtrl-Alt-F6を介して利用可能)を使用してテキストコンソールの解像度を設定する一般的な方法ですvga=...。 Ubuntu 10.04 Lucidを使用しており、出力は次uname -aのようになります。

Linux  2.6.32-33-generic #70-Ubuntu SMP Thu Jul 7 21:13:52 UTC 2011 x86_64 GNU/Linux

sudo hwinfo --framebuffer使用可能なパターンを識別するには、次のレポートを使用します。

02: None 00.0: 11001 VESA Framebuffer                            
  [Created at bios.464]  
  Unique ID: rdCR.R1b4duaxSqA  
  Hardware Class: framebuffer  
  Model: "NVIDIA G73 Board - p456h1  "  
  Vendor: "NVIDIA Corporation"  
  Device: "G73 Board - p456h1  "  
  SubVendor: "NVIDIA"  
  SubDevice:   
  Revision: "Chip Rev"  
  Memory Size: 256 MB  
  Memory Range: 0xc0000000-0xcfffffff (rw)  
  Mode 0x0300: 640x400 (+640), 8 bits  
  Mode 0x0301: 640x480 (+640), 8 bits  
  Mode 0x0303: 800x600 (+800), 8 bits  
  Mode 0x0305: 1024x768 (+1024), 8 bits  
  Mode 0x0307: 1280x1024 (+1280), 8 bits  
  Mode 0x030e: 320x200 (+640), 16 bits  
  Mode 0x030f: 320x200 (+1280), 24 bits  
  Mode 0x0311: 640x480 (+1280), 16 bits  
  Mode 0x0312: 640x480 (+2560), 24 bits  
  Mode 0x0314: 800x600 (+1600), 16 bits  
  Mode 0x0315: 800x600 (+3200), 24 bits  
  Mode 0x0317: 1024x768 (+2048), 16 bits  
  Mode 0x0318: 1024x768 (+4096), 24 bits  
  Mode 0x031a: 1280x1024 (+2560), 16 bits  
  Mode 0x031b: 1280x1024 (+5120), 24 bits  
  Mode 0x0330: 320x200 (+320), 8 bits  
  Mode 0x0331: 320x400 (+320), 8 bits  
  Mode 0x0332: 320x400 (+640), 16 bits  
  Mode 0x0333: 320x400 (+1280), 24 bits  
  Mode 0x0334: 320x240 (+320), 8 bits  
  Mode 0x0335: 320x240 (+640), 16 bits  
  Mode 0x0336: 320x240 (+1280), 24 bits  
  Mode 0x033d: 640x400 (+1280), 16 bits  
  Mode 0x033e: 640x400 (+2560), 24 bits  
  Config Status: cfg=new, avail=yes, need=no, active=unknown  

0x305、0x307、0x317、0x318、0x31a、0x31bなど、利用可能な高解像度モードがたくさんあるようです(しかし、モードリストのプラス記号は何を意味しますか?)。ただし、カーネルオプションの文字列行でこれらのモードを設定すると、白黒の黒いvga=0x305テキストコンソールが表示されるか、画面が点滅する色/黒と白の点で塗りつぶされます。

テキストコンソールで高解像度を設定する「現代的」、「強力な」方法は何ですか?

答え1

最新のカーネルの使用知識管理システムvga=デフォルトではKMSのデフォルトの回避策と競合するため、grub行に追加しないでください。ただし、これは使用するビデオドライバによって異なります。独自のNvidiaドライバはサポートしていません。知識管理システム、しかし修正することができます。

フレームバッファを編集して設定が正しいこと/etc/default/grubを確認したら、次の項目を追加するとフレームバッファの全体的な解像度が得られます。GFXMODEGFXPAYLOAD

GRUB_GFXMODE=1680x1050x24

# Hack to force higher framebuffer resolution
GRUB_GFXPAYLOAD_LINUX=1680x1050

sudo update-grub後で実行することを忘れないでください。

答え2

nvidiaを使用する最新のDebianおよびUbuntuディストリビューションの場合は、次のことを行う必要があります。

まず、/etc/default/grub.conf を編集し、次の行を変更します。

#GRUB_GFXMODE=640x480 

これに関して:

GRUB_GFXMODE=1280x800 
GRUB_GFXPAYLOAD_LINUX=keep

1280x800を希望の解像度に置き換えます。

それから:

echo "echo FRAMEBUFFER=y" | sudo tee /etc/initramfs-tools/conf.d/splash
sudo update-initramfs -u
sudo update-grub

単純にフォントサイズを変更するには、次のコマンドを使用します。

sudo dpkg-reconfigure console-setup

答え3

これが最善の選択です:

説明に従って使用し、sudo hwinfo --framebufferコンソールの起動中に表示するビデオモードを選択してから、そのオプションをvga=nnnカーネルブートパラメータに追加します。

唯一の秘密は、生成されたnnnリストから選択するビデオモードですhwinfo10進数に変換!!!

試してもvga=0xwhatever機能しません。

たとえば、ビデオモード0x307(1280x1024(+ 1280)、8ビット)を選択し、0x307を10進数(775)に変換してvga=775isolinux / extlinuxの起動パラメータに使用します。

printfを使用して16進数を10進数に変換できます。 $ printf "%d\n" 0x307 775

最初からすべてのコンソールで素晴らしいテキストを手に入れました。

成功!

答え4

更新:(設定ファイルを変更したが作成できない一部のユーザーにとって、考えられる解決策は次のとおりです):

私はこれを約6ヶ月間実装しようとしましたが、何の役にも立ちませんでした。それ以来、私のシステムで動作するものを見つけようとしたことは何もありません。さらに、上記の回答に示されている方法が実際に機能するには、システムBIOSの起動セクションで互換性サポートモジュール(CSM)を無効にする必要があることがわかりました。

BIOSの起動セクションでCSMを有効にすると、「EFI GOPドライバ」は最大1280 x 1024まで(videoinfo / vbeinfoまたはGRUBコマンドラインで指定されているもの)までのみ表示され、CSMを無効にするとモニタが表示されます。サポートされるフルディスプレイ解像度。次に、上記の回答に示すように、すべての構成を作成する必要があります。

繰り返しますが、BIOSでCSMを無効にしないと、フル解像度のサポートは受けられません。


原文(憂鬱な心):許してください。これは枠組みにとらわれない答えです。私は上記の答えのどれもDebian 10.6(Bullseye)とカーネル5.10.13には適用されません。 EFIブートを搭載したUEFI BIOS、専用ドライバを搭載したNvdia GTX 1060経由のHDMI-0、Z97マザーボードのi7-5775C。

関連情報