it-swarm-vi.com

Cách đặt độ phân giải trong bảng điều khiển văn bản (khắc phục sự cố khi bất kỳ `vga = ...` không thành công)

Đó là một cách phổ biến để đặt độ phân giải của bảng điều khiển văn bản (thường có sẵn bởi Ctrl-Alt-F1 thông qua Ctrl-Alt-F6) bằng cách sử dụng vga=... tham số kernel. Tôi đang sử dụng Ubuntu 10.04 Lucid, đầu ra của uname -a Là:

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

Để xác định các chế độ khả dụng, tôi sử dụng Sudo hwinfo --framebuffer mà báo cáo:

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  

Có vẻ như nhiều chế độ độ phân giải cao có sẵn, như 0x305, 0x307, 0x317, 0x318, 0x31a, 0x31b (nhân tiện, số cộng có nghĩa gì trong danh sách các chế độ?). Tuy nhiên, đặt bất kỳ chế độ nào trong các tùy chọn này trong chuỗi tùy chọn kernel, dòng vga=0x305, dẫn đến bảng điều khiển văn bản màu đen hoặc màn hình được lấp đầy bằng cách nhấp nháy màu/bw chấm.

Cách 'hiện đại', 'mạnh mẽ' để thiết lập độ phân giải cao trong bảng điều khiển văn bản là gì?

29
mbaitoff

Các hạt nhân mới hơn sử dụng KMS theo mặc định, vì vậy bạn nên tránh xa việc gắn vga= Vào dòng grub của mình vì nó sẽ xung đột với độ phân giải gốc của KMS. Tuy nhiên, tùy thuộc vào trình điều khiển video bạn đang sử dụng: trình điều khiển Nvidia độc quyền không hỗ trợ KMS , nhưng bạn có thể làm việc xung quanh nó.

Bạn sẽ có thể có được độ phân giải đầy đủ trong bộ đệm khung bằng cách chỉnh sửa /etc/default/grub Và đảm bảo rằng GFXMODE được đặt chính xác, sau đó thêm mục nhập GFXPAYLOAD như vậy:

GRUB_GFXMODE=1680x1050x24

# Hack to force higher framebuffer resolution
GRUB_GFXPAYLOAD_LINUX=1680x1050

Nhớ chạy Sudo update-grub Sau đó.

27
jasonwryan

Đối với các bản phân phối Debian & Ubuntu mới hơn bằng nvidia, tôi đã phải làm như sau:

Đầu tiên, chỉnh sửa/etc/default/grub. Thay đổi dòng sau:

#GRUB_GFXMODE=640x480 

đến đây:

GRUB_GFXMODE=1280x800 
GRUB_GFXPAYLOAD_LINUX=keep

thay thế 1280x800 với độ phân giải mong muốn.

Sau đó:

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

Để chỉ cần thay đổi kích thước phông chữ, bạn có thể thực hiện bằng lệnh sau:

Sudo dpkg-reconfigure console-setup
14
mchid

Đây là lựa chọn tốt nhất của bạn:

Sử dụng Sudo hwinfo --framebuffer như được mô tả, chọn chế độ video bạn muốn xem trong khi khởi động trong bảng điều khiển, sau đó thêm tùy chọn vga=nnn đến các tham số khởi động kernel.

Bí quyết duy nhất là nnn là chế độ video bạn đã chọn từ danh sách được tạo bởi hwinfo - CHUYỂN ĐỔI ĐỂ QUYẾT ĐỊNH !!!

Nếu bạn thử vga=0xwhatever nó sẽ không hoạt động.

Chẳng hạn, tôi chọn chế độ video 0x307 (1280x1024 (+1280), 8 bit), tôi đã chuyển đổi 0x307 thành số thập phân là 775 và sau đó tôi đã sử dụng vga=775 trong các tham số khởi động của isolinux/extlinux.

Bạn có thể sử dụng printf để chuyển đổi thập lục phân thành thập phân: $ printf "%d\n" 0x307 775

Và tôi đã nhận được một văn bản tốt đẹp trong tất cả các bảng điều khiển từ đầu.

Sự thành công!

9
chris_startx