Linux

如何在文本控制台中設置解析度(任何 vga=... 失敗時的故障排除)

  • March 10, 2021

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都會導致黑色文本控制台或由閃爍的顏色/黑白點填充的螢幕。

在文本控制台中設置高解析度的“現代”、“穩健”方式是什麼?

較新的核心預設使用KMS,因此您應該遠離附加vga=到您的 grub 行,因為它會與 KMS 的本機解析度衝突。但是,這取決於您使用的影片驅動程序:專有的 Nvidia 驅動程序不支持KMS,但您可以解決它。

/etc/default/grub通過編輯並確保GFXMODE設置正確,然後添加GFXPAYLOAD如下條目,您應該能夠在幀緩衝區中獲得全解析度:

GRUB_GFXMODE=1680x1050x24

# Hack to force higher framebuffer resolution
GRUB_GFXPAYLOAD_LINUX=1680x1050

記得sudo update-grub以後跑。

引用自:https://unix.stackexchange.com/questions/17027