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


29

vga=...カーネルパラメーターを使用してテキストコンソール(通常はCtrl-Alt-F1からCtrl-Alt-F6で使用可能)の解像度を設定する一般的な方法です。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など、多くの高解像度モードが利用できるようです(ちなみに、モードのリストでプラス番号は何を意味しますか?)。ただし、カーネルオプション文字列lineでこれらのモードのいずれかを設定するとvga=0x305、真っ黒なテキストコンソール、または点滅する色/ bwドットで塗りつぶされた画面になります。

テキストコンソールで高解像度を設定するための「モダン」で「堅牢な」方法とは何ですか?

回答:


25

新しいカーネルはデフォルトでKMSを使用するためvga=、KMSのネイティブ解像度と競合するため、grub行への追加は避けてください。ただし、使用しているビデオドライバーによって異なります。独自のNvidiaドライバーはKMSをサポートしていませんが、回避することができます。

を編集/etc/default/grubし、GFXMODEが正しく設定されていることを確認してから、次のGFXPAYLOADようなエントリを追加することにより、フレームバッファーでフル解像度を取得できるはずです。

GRUB_GFXMODE=1680x1050x24

# Hack to force higher framebuffer resolution
GRUB_GFXPAYLOAD_LINUX=1680x1050

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


私が持っDriver "nvidia"ているxorg.confので、おそらく独自のドライバーです。grubとにかく実験します。ところで、独自のドライバーを回避する方法は?
mbaitoff

専用のドライバーと上記の方法(10.10ボックス)を使用しますが、問題ありません。必要に応じて、常にnouveauドライバーを試すことができます:nouveau.freedesktop.org/wiki/UbuntuPackages
jasonwryan

1
GFXPAYLOADアプローチが機能したように見えますがset gfxpayload=keepgrub2設定ファイル内でのみ使用できます。
mbaitoff

2
しかし、ビデオモードがネイティブではないという疑いがまだあります。を提供GRUB_GFXPAYLOAD=1920x1080しましたがGRUB_GFXMODE=1920x1080x24、まだネイティブではない解像度であるかのようにコンソールに文字がぼやけています。
mbaitoff

1
私のVM用のより大きなコンソールを取得しようとしてこれに遭遇し、@ mbaitoffのコメントに追加したかった。をset gfxpayload=keepgrub2構成にするには、に行GRUB_GFXPAYLOAD_LINUX=keepを追加する必要があります/etc/default/grub。(これはDebian上にあり、Ubuntu-YMMVを想定しています)。grub docsでこれを追い詰めなければならなかったので、共有したいと思いました。
ウィル

13

nvidiaを使用した新しいDebianおよびUbuntuディストリビューションの場合、以下を実行する必要がありました。

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

#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

2
dpkg-reconfigure console-setupの+1
jinowolski

これは、NVidia 390ドライバーを使用したKubuntu 16.04で機能しました。
マキシムエゴラスキン

これはタイポではありません。エコー「echo FRAMEBUFFER = y」は正しいです。私はこれをチェックして検証しましたが、これはファイルに書き込まれた後続のエコーコマンドなしでは機能しません。ありがとう!
mchid

8

最適なオプションは次のとおりです。

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

唯一のトリックはつまりnnn、あなたがによって生成されるリストから選択されたビデオモードであるhwinfo- CONVERTED TO DECIMAL

試しvga=0xwhateverてもうまくいきません。

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

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

そして、最初からすべてのコンソールで素晴らしいテキストを取得しました。

成功!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.