Tùy Chỉnh Độ Phân Giải HDMI Orange Pi: Hướng Dẫn Sửa script.bin
Bạn đang tìm cách thay đổi độ phân giải đầu ra HDMI trên Orange Pi nhưng không có công cụ hỗ trợ tự động? Bài viết này sẽ hướng dẫn bạn quy trình chi tiết để điều chỉnh độ phân giải video bằng cách chỉnh sửa trực tiếp tệp script.bin – trái tim cấu hình phần cứng của thiết bị. Mặc dù một số bản phân phối như Armbian cung cấp các tiện ích tự động (ví dụ: h3disp), việc nắm vững cách sửa đổi script.bin thủ công là kiến thức nền tảng vô cùng giá trị, đặc biệt khi bạn làm việc với các hệ điều hành khác hoặc cần tùy chỉnh sâu hơn.
script.bin: Trái Tim Cấu Hình Phần Cứng Orange Pi
Tệp script.bin đóng vai trò trung tâm trong việc định hình cách các thành phần phần cứng của Orange Pi hoạt động, bao gồm cả thiết lập đầu ra video. Đây là một tệp nhị phân chứa các thông số cấu hình quan trọng. Khi bạn cần điều chỉnh các thiết lập cơ bản như độ phân giải HDMI, việc trực tiếp sửa đổi script.bin là phương pháp hiệu quả nhất.
Đối với người dùng Armbian, các công cụ như h3disp đã đơn giản hóa quá trình này bằng cách tự động sửa đổi script.bin dựa trên các lựa chọn của bạn. Tuy nhiên, nếu bạn đang sử dụng một bản phân phối Linux khác không có những công cụ này, việc chỉnh sửa script.bin thủ công là điều bắt buộc.
Hiểu Về Cấu Hình Màn Hình Trong script.bin
Để thay đổi độ phân giải video, chúng ta sẽ tập trung vào phần [disp_init] trong tệp script.bin. Đây là nơi chứa tất cả các tham số liên quan đến cài đặt màn hình và đầu ra video.
Dưới đây là một ví dụ về cấu trúc của phần [disp_init]:
[disp_init]
disp_init_enable = 1 ; Kích hoạt đầu ra video
disp_mode = 0 ; Chỉ sử dụng cấu hình màn hình "screen0"
screen0_output_type = 3 ; Loại màn hình screen0: HDMI
screen0_output_mode = 5 ; Màn hình screen0 HDMI ở: 720p60
screen1_output_type = 3 ; Loại màn hình screen1: HDMI (Không sử dụng)
screen1_output_mode = 10 ; Màn hình screen1 HDMI ở: 1080p60 (Không sử dụng)
fb0_format = 0 ; Định dạng bộ đệm video screen0
fb0_width = 0 ; Chiều rộng bộ đệm video screen0
fb0_height = 0 ; Chiều cao bộ đệm video screen0
fb1_format = 0 ; Định dạng bộ đệm video screen1
fb1_width = 0 ; Chiều rộng bộ đệm video screen1
fb1_height = 0 ; Chiều cao bộ đệm video screen1
Giải Mã Các Tham Số Quan Trọng:
disp_init_enable: Kích hoạt hoặc vô hiệu hóa đầu ra video. Giá trị1là bật,0là tắt.disp_mode: Đặt cấu hình màn hình sẽ sử dụng.0: Sử dụng cấu hìnhscreen0.1: Sử dụng cấu hìnhscreen1.2,3,4: Các chế độ phức tạp hơn cho nhiều màn hình với bộ đệm video riêng biệt hoặc chia sẻ.
screenN_output_type: Xác định loại thiết bị xuất video choscreenN(N có thể là 0 hoặc 1).0: Không có màn hình.1: LCD.2: TV.3: HDMI.4: VGA.
screenN_output_mode: Cấu hình chế độ xuất video.- Đối với HDMI/VGA: Thiết lập độ phân giải video. Các giá trị phổ biến bao gồm:
0: 480i1: 576i2: 480p3: 576p4: 720p505: 720p606: 1080i507: 1080i608: 1080p249: 1080p5010: 1080p60
- Đối với TV: Thiết lập tín hiệu video (ví dụ:
11cho PAL,14cho NTSC).
- Đối với HDMI/VGA: Thiết lập độ phân giải video. Các giá trị phổ biến bao gồm:
fbN_format/width/height: Cấu hình định dạng pixel, chiều rộng và chiều cao của bộ đệm video (frame buffer) choscreenN. Giá trị0thường có nghĩa là các thông số này sẽ tự động điều chỉnh theo độ phân giải màn hình đã chọn.
Hướng Dẫn Chi Tiết: Đặt Độ Phân Giải 1080p60
Hãy cùng thực hiện một ví dụ cụ thể: Chuyển đổi độ phân giải đầu ra từ 720p60 (cấu hình mặc định phổ biến) sang 1080p60.
Các Bước Thực Hiện:
- Sao lưu tệp cấu hình:
Trước khi thực hiện bất kỳ thay đổi nào, hãy tạo một bản sao lưu của tệpscript.bingốc. Điều này giúp bạn dễ dàng khôi phục hệ thống nếu có lỗi xảy ra.sudo cp /boot/script.bin /boot/script.bak - Chuyển đổi sang định dạng FEX:
Tệpscript.binlà tệp nhị phân không thể chỉnh sửa trực tiếp bằng trình soạn thảo văn bản. Chúng ta cần chuyển đổi nó sang định dạng FEX (một dạng văn bản) để có thể chỉnh sửa.sudo bin2fex /boot/script.bin /boot/script.fex - Chỉnh sửa tệp FEX:
Sử dụng trình soạn thảo văn bản nhưnanođể mở và chỉnh sửa tệpscript.fex.sudo nano /boot/script.fexTrong tệp, tìm đến phần
[disp_init]. Bạn sẽ thấy cấu hình mặc định (ví dụ 720p60):[disp_init] disp_init_enable = 1 disp_mode = 0 screen0_output_type = 3 ; Loại màn hình screen0: HDMI screen0_output_mode = 5 ; Màn hình screen0 HDMI ở: 720p60 screen1_output_type = 3 ; Loại màn hình screen1: HDMI (Không sử dụng) screen1_output_mode = 5 ; Màn hình screen1 HDMI ở: 720p60 (Không sử dụng)Để thay đổi độ phân giải sang 1080p60, bạn cần sửa giá trị của
screen0_output_mode. Dựa vào bảng giá trị đã nêu trên,1080p60tương ứng với giá trị10.
Hãy sửa dòngscreen0_output_mode = 5thành:screen0_output_mode = 10 ; Màn hình screen0 HDMI ở: 1080p60Phần
[disp_init]sau khi chỉnh sửa sẽ trông như sau:[disp_init] disp_init_enable = 1 disp_mode = 0 screen0_output_type = 3 ; Loại màn hình screen0: HDMI screen0_output_mode = 10 ; Màn hình screen0 HDMI ở: 1080p60 screen1_output_type = 3 ; Loại màn hình screen1: HDMI (Không sử dụng) screen1_output_mode = 5 ; Màn hình screen1 HDMI ở: 720p60 (Không sử dụng) - Lưu và đóng tệp:
Sau khi chỉnh sửa, nhấnCtrl + X, sau đóY(để xác nhận lưu) vàEnterđể thoát khỏinano. - Chuyển đổi ngược lại sang BIN:
Bây giờ, hãy chuyển đổi tệpscript.fexđã chỉnh sửa trở lại định dạng nhị phânscript.bin.sudo fex2bin /boot/script.fex /boot/script.bin - Khởi động lại hệ thống:
Để các thay đổi có hiệu lực, bạn cần khởi động lại Orange Pi của mình.sudo rebootSau khi khởi động lại, Orange Pi của bạn sẽ xuất video qua HDMI với độ phân giải 1080p60.