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ác` không thành công)


29

Đó 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 uname -alà:

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 các sudo hwinfo --framebufferbá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ế độ hi-res 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, cài đặt bất kỳ chế độ nào trong chuỗi tùy chọn hạt nhân, dòng vga=0x305, kết quả trong 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ì?

Câu trả lời:


25

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 thêm 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, nó phụ 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/grubvà đảm bảo rằng nó GFXMODEđược đặt chính xác, sau đó thêm một GFXPAYLOADmục như vậy:

GRUB_GFXMODE=1680x1050x24

# Hack to force higher framebuffer resolution
GRUB_GFXPAYLOAD_LINUX=1680x1050

Nhớ chạy sudo update-grubsau.


Tôi đã tham Driver "nvidia"gia xorg.conf, vì vậy nó có thể là một trình điều khiển độc quyền. Tôi sẽ thử nghiệm bằng grubmọi cách. Nhân tiện, làm thế nào để làm việc xung quanh trình điều khiển độc quyền?
mbaitoff

Tôi sử dụng trình điều khiển độc quyền và phương pháp trên (trên hộp 10.10) và nó vẫn ổn. Bạn luôn có thể thử trình điều khiển nouveau nếu bạn muốn: nouveau.freedesktop.org/wiki/Ub UbuntuPackages
jasonwryan

1
Trông giống như cách tiếp cận GFXPAYLOAD làm việc, nhưng chỉ với set gfxpayload=keeptrong grub2file cấu hình.
mbaitoff

2
Nhưng tôi vẫn có một nghi ngờ rằng chế độ video của tôi không phải là bản địa. Tôi cung cấp GRUB_GFXPAYLOAD=1920x1080với GRUB_GFXMODE=1920x1080x24, nhưng tôi vẫn thấy chữ mờ trong giao diện điều khiển như thể tôi đang ở trong nghị quyết không có nguồn gốc.
mbaitoff

1
Tình cờ gặp phải điều này khi cố gắng có được một giao diện điều khiển lớn hơn cho máy ảo của tôi và muốn thêm vào nhận xét của @ mbaitoff. Để có được set gfxpayload=keepcấu hình grub2, bạn cần thêm dòng GRUB_GFXPAYLOAD_LINUX=keepvào /etc/default/grub. (Đây là trên Debian và tôi sẽ giả sử Ubuntu - YMMV cho người khác). Phải săn lùng điều này trong các tài liệu grub, vì vậy tôi muốn chia sẻ.
Sẽ

13

Đố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

2
+1 cho thiết lập bảng điều khiển dpkg-cấu hình lại
jinowolski

Điều này làm việc cho tôi trên Kubfox 16.04 với trình điều khiển NVidia 390.
Maxim Egorushkin

Đây không phải là TYPO, tiếng vang "echo FRAMEBUFFER = y" là chính xác. Tôi đã kiểm tra và xác minh điều này và nó sẽ không hoạt động nếu không có lệnh echo tiếp theo được ghi vào tệp. Cảm ơn!
mchid

8

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

Sử dụng sudo hwinfo --framebuffernhư đượ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=nnnvào tham số khởi động kernel.

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

Nếu bạn thử vga=0xwhatevernó 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=775trong 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!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.