it-swarm-id.com

Cara mengatur resolusi dalam konsol teks (memecahkan masalah ketika ada `vga = ...` gagal)

Ini adalah cara umum untuk mengatur resolusi konsol teks (yang biasanya tersedia oleh Ctrl-Alt-F1 melalui Ctrl-Alt-F6) dengan menggunakan vga=... parameter kernel. Saya menggunakan Ubuntu 10,04 Lucid, output uname -a adalah:

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

Untuk mengidentifikasi mode yang tersedia, saya menggunakan Sudo hwinfo --framebuffer yang melaporkan:

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  

Sepertinya banyak mode hi-res tersedia, seperti 0x305, 0x307, 0x317, 0x318, 0x31a, 0x31b (omong-omong, apa arti angka-tambah dalam daftar mode?). Namun, mengatur salah satu mode ini dalam string opsi kernel, baris vga=0x305, menghasilkan konsol teks hitam pekat, atau layar diisi oleh titik-titik warna yang berkedip.

Apa cara 'modern', 'kuat' untuk mengatur resolusi tinggi di konsol teks?

29
mbaitoff

Kernel yang lebih baru menggunakan KMS secara default, jadi Anda harus menjauh dari menambahkan vga= ke baris grub Anda karena akan bertentangan dengan resolusi asli KMS. Namun, itu tergantung pada driver video yang Anda gunakan: driver Nvidia eksklusif tidak mendukung KMS , tetapi Anda dapat mengatasinya.

Anda harus bisa mendapatkan resolusi penuh dalam framebuffer dengan mengedit /etc/default/grub dan memastikan bahwa GFXMODE diatur dengan benar, dan kemudian menambahkan entri GFXPAYLOAD seperti:

GRUB_GFXMODE=1680x1050x24

# Hack to force higher framebuffer resolution
GRUB_GFXPAYLOAD_LINUX=1680x1050

Ingatlah untuk menjalankan Sudo update-grub sesudahnya.

27
jasonwryan

Untuk distro Debian & Ubuntu yang lebih baru menggunakan nvidia, saya harus melakukan hal berikut:

Pertama, edit/etc/default/grub. Ubah baris berikut:

#GRUB_GFXMODE=640x480 

untuk ini:

GRUB_GFXMODE=1280x800 
GRUB_GFXPAYLOAD_LINUX=keep

mengganti 1280x800 dengan resolusi yang diinginkan.

Kemudian:

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

Untuk mengubah ukuran font, Anda dapat melakukannya menggunakan perintah berikut:

Sudo dpkg-reconfigure console-setup
14
mchid

Inilah pilihan terbaik Anda:

Gunakan Sudo hwinfo --framebuffer seperti yang dijelaskan, pilih mode video yang ingin Anda lihat saat boot di konsol, lalu tambahkan opsi vga=nnn ke parameter boot kernel.

Trik satu-satunya adalah nnn adalah mode video yang Anda pilih dari daftar yang dihasilkan oleh hwinfo - CONVERTED TO DECIMAL !!!

Jika kamu mencoba vga=0xwhatever itu tidak akan berfungsi.

Misalnya saya memilih mode video 0x307 (1280x1024 (+1280), 8 bit), saya mengonversi 0x307 menjadi desimal yaitu 775 dan kemudian saya menggunakan vga=775 dalam parameter boot isolinux/extlinux.

Anda dapat menggunakan printf untuk mengonversi heksadesimal menjadi desimal: $ printf "%d\n" 0x307 775

Dan saya mendapatkan teks yang bagus di semua konsol sejak awal.

Keberhasilan!

9
chris_startx