Tăng độ phân giải cho tty console trong Gutsy

Sau khi mình cài Gutsy xong và download driver nvidia mới về thì phải tắt Xorg để cấu hình. Khi nhảy ra đối diện với màn hình tty console đen ngòm, chữ to dùng, chỉ gõ một lệnh ls mà thấy chữ chạy tít tắp ở đâu mất, rồi phải dùng more/less để “phanh” lại — thấy cũng hơi ngán. Ước muốn nhỏ nhoi lúc đó là: làm sao cho chữ nhỏ nhỏ chút giống như lúc cửa sổ terminal trong Gnome ấy. Màn hình của mình tới 17″ hỗ trợ tối đa 1289×1024 mà chỉ có hiển thị vài dòng chữ to tướng thì vô lý quá. Hỏi anh bạn Googie một lúc, tìm được vài hướng dẫn, thế là mò mẫm và … thành công, nên ghi lại ở đây để các bạn nào cần thì có thể tham khảo.

Cách thực hiện là sử dụng framebuffer driver, có sẵn dạng module trong Gutsy/Feisty (và cả Hardy) để thiết lập độ phân giải cho tty console cao hơn. Thông tin tham khảo thêm về framebuffer có ở đây. Driver framebuffer sẽ sử dụng là vesafb, được hỗ trợ bởi hầu hết các loại card màn hình hiện tại. Các bước thực hiện trong Ubuntu:

1. Sửa file /etc/initramfs-tools/modules (file này để bạn chỉ định modules cần nạp vào initramfs — cần cho lúc khởi động)

$ sudo vi /etc/initramfs-tools/modules

thêm vào cuối file 2 dòng sau

fbcon
vesafb

2. Chỉnh sửa file “/etc/modprobe.d/blacklist-framebuffer” chứa danh sách các modules bị cấm load lên.

$ sudo vi /etc/modprobe.d/blacklist-framebuffer

Tìm đến dòng

blacklist vesafb

thêm dấu # vào đầu dòng (nghĩa là comment — vô hiệu hóa dòng đó trong danh sách đen -> cho phép load module vesafb):

#blacklist vesafb

3. Chỉnh độ phân giải cho splash trong file /etc/usplash.conf

$ sudo vi /etc/usplash.conf

Trong file đó có 2 dòng xres và yres. Giả sử bạn chọn độ phân giải 1024×768 (khá chuẩn cho các màn hình) thì sửa như sau:

# Usplash configuration file
xres=1024
yres=768

4. Lệnh cập nhật initramfs file

$ sudo update-initramfs -u

hoặc

$ sudo dpkg-reconfigure usplash

5. Thử độ phân giải của tty console: khởi động lại máy, vào menu của GRUB, chọn mục khởi động mà bạn hay dùng, sau đó chọn dòng bắt đầu bằng chữ “kernel …”, nhấn phím ‘e‘ để vào chế độ chỉnh sửa tùy chọn khởi động cho kernel, thêm vào cuối dòng chuỗi sau

vga=xxx

Trong đó, xxx là mã số độ phân giải (gọi là framebuffer mode). Tham khảo các mã số độ phân giải ở đây. Vì ở trên bạn chọn độ phân giải cho splash screen là 1024×768, thì ở đây nên chọn độ mode có phân giải tương hợp với 1024×768, ví dụ như mode 791 là 1024×768 ở chế độ 16K màu. Nếu chọn chế độ màu cao hơn thì có thể sẽ màn hình sẽ tối đen không hiển thị được do tần số quét quá cao. Tốt nhất nên chọn các chế độ màu thấp như 8 bit hoặc 16K màu. Ở tty console thì chủ yếu trắng và đen, dùng 256 màu cũng đủ, mà lại nhanh nữa. Giả sử chọn chế độ phân giải là 791, thì bạn thêm vào chuỗi

vga=791

Sau đó, nhấn Enter để xác nhận thay đổi trên và quay về màn hình menu GRUB, nhấn ‘b‘ hoặc Enter để khởi động. Muốn thấy độ phân giải mới của màn hình tty console, bạn ấn đồng thời Ctrl+Alt+Fn (trong đó n là một số từ 1..6). Khi nhấn tổ hợp ấy xong mà thấy màn hình đen kịt, không có chữ gì cả thì có nghĩa là bạn chọn sai chế độ phân giải, hãy restart máy, lặp lại bước ở trên và chọn lại chế độ khác thấp hơn, đến khi bạn chọn được chế độ ưng ý. Lúc này, bạn khởi động vào Ubuntu và qua bước 6 để cấu hình “vĩnh viễn” chế độ phân giải vào menu GRUB để các lần khởi động sau không cần làm bằng tay như trên nữa.

6. Chỉnh sửa file menu.lst

$ sudo gedit /boot/grub/menu.lst

Tìm đến dòng như sau

#defoptions ....

Vẫn giữ nguyên nội dung của dòng đó, chỉ thêm vào cuối chuỗi vga=<mã-số-bạn-chọn>. Ví dụ ở trên bạn chọn mã số là 791
#defoptions=quiet splash vga=791

Sau đó, ra lệnh cập nhật menu GRUB

$ sudo update-grub

Bây giờ mỗi lần khởi động máy, bạn đã có thể sử dụng tty console với độ phân giải tốt hơn.

About Huy Trần

Just a lazy member of the blogosphere.
This entry was posted in Linux and tagged , , . Bookmark the permalink.

Có 2 phản hồi tại Tăng độ phân giải cho tty console trong Gutsy

  1. fnf nói:

    Bạn nên dùng uvesafb nếu muốn một console với tốc độ output cao hơn nhiều so với vesa. Hoặc nếu chỉ dùng console thì nên dùng framebuffer driver của chính card đồ hoạ trên máy: sẽ được native resolution và 2D acceleration, lúc đó tốc độ là lý tưởng.

    Mặc dù với uvesafb, bạn cũng có thể đạt được các độ phân giải cao hơn 1024×768, vesa thì không.

  2. htr3n nói:

    1. Thanks bạn về thông tin uvesafb. Thấy có nhiều positive comment trên mạng về uvesafb, mình sẽ thử và comment sau. Dùng vesafb vì lí do thuận tiện như trong bài viết đã nêu: có sẵn trong Ubuntu, cấu hình đơn giản😉

    2. Mình không dùng fb của card được vì mình có dùng X và sử dụng driver của card màn hình.

    3. Mình dùng vesafb, đang làm việc ở độ phân giải native của màn hình là 1280×1024 !
    Trong bài viết, mình chọn 1024×768 vì lí do an toàn, vì nhiều lúc tần số quét ở console không giống như bên X làm cho màn hình tối đen khi chọn độ phân giải cao.

    Anyway, cảm ơn bạn nhiều về thông tin uvesafb!

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s