در این پست چگونگی تغییر خروجی تصویر کوبی تراک(کوبی بورد ۳) در گنو-لینوکس Armbian Ubuntu 16.04 با کرنل قدیمی(Legacy) آموزش داده خواهد شد. این آموزش ممکنه روی سایر ورژن های Armbian با کرنل قدیمی یا Cubian GNU-Linux و سایر فرمور های کوبی تراک هم جواب بده، چون فایل کانفیگ سخت افزارشون مشترک هست یا لااقل به همدیگه شباهت دارند،
اما من تست نکردم.
۱- نصب ابزار sunxi-tools۱.۱- ابتدا پکیج های مورد نیاز را نصب کنید:sudo apt-get install libusb-1.0-0-dev pkg-config
۱.۲- دانلود سورس sunxi-tools و کامپایل کردن آن:git clone https://github.com/linux-sunxi/sunxi-tools
cd sunxi-tools
make
۲- کانفیگ خروجی تصویر۲.۱- پشتیبان گرفتن از فایل کانفیگ:sudo cp /boot/script.bin /boot/script.bin.bck
۲.۲- تبدیل فایل script.bin به فایل کانفیگ متنی با پسوند fex. جهت اصلاح تنظیمات:sudo bin2fex /boot/script.bin /boot/script.fex
۲.۳.۱- فایل script.fex را توسط یک ویرایشگر متن باز کنید:sudo vim /boot/script.fex
۲.۳.۲- در محتویات فایل، بلاک „[disp_init]“ را یافته و مقادیر زیر را در آن تغییر دهید:disp_init_enable: 0 to disable;1 to enable *
disp_mode: Display mode to use *
+-------+-----------------------------------------------------------+
| Value | Mode |
+-------+-----------------------------------------------------------+
| 0 | screen0(screen0, fb0) |
+-------+-----------------------------------------------------------+
| 1 | screen1(screen1, fb0) |
+-------+-----------------------------------------------------------+
| 2 | two_diff_screen_diff_contents(screen0, screen1, fb0, fb1) |
+-------+-----------------------------------------------------------+
| 3 | two_same_screen_diff_contents(screen0, screen1, fb0) |
+-------+-----------------------------------------------------------+
| 4 | two_diff_screen_same_contents(screen0, screen1, fb0) |
+-------+-----------------------------------------------------------+
screen0_output_type: Output type for screen0 *
+-------+------+
| Value | Type |
+-------+------+
| 0 | none |
+-------+------+
| 1 | LCD |
+-------+------+
| 2 | TV |
+-------+------+
| 3 | HDMI |
+-------+------+
| 4 | VGA |
+-------+------+
screen1_output_type: Output type for screen1: same as previous *
screen0_output_mode: Output mode for screen0 *
+------+-------------------------+---------------------+
| Mode | Used for TV/HDMI output | Used for VGA output |
+------+-------------------------+---------------------+
| 0 | 480i | 1680 x 1050 |
+------+-------------------------+---------------------+
| 1 | 576i | 1440 x 900 |
+------+-------------------------+---------------------+
| 2 | 480p | 1360 x 768 |
+------+-------------------------+---------------------+
| 3 | 576p | 1280 x 1024 |
+------+-------------------------+---------------------+
| 4 | 720p50 | 1024 x 768 |
+------+-------------------------+---------------------+
| 5 | 720p60 | 800 x 600 |
+------+-------------------------+---------------------+
| 6 | 1080i50 | 640 x 480 |
+------+-------------------------+---------------------+
| 7 | 1080i60 | |
+------+-------------------------+---------------------+
| 8 | 1080p24 | |
+------+-------------------------+---------------------+
| 9 | 1080p50 | |
+------+-------------------------+---------------------+
| 10 | 1080p60 | 1920 x 1080 |
+------+-------------------------+---------------------+
| 11 | pal | 1280 x 720 |
+------+-------------------------+---------------------+
| 14 | ntsc | |
+------+-------------------------+---------------------+
screen1_output_mode: Output mode for screen1: same as previous *
fb0_framebuffer_num: fb0 buffer number, use 2 for double buffering *
fb1_framebuffer_num: fb1 buffer number, use 2 for double buffering *
fb0_format: pixel format for fb0 *
+-------+----------+
| Value | Format |
+-------+----------+
| 4 | RGB655 |
+-------+----------+
| 5 | RGB565 |
+-------+----------+
| 6 | RGB556 |
+-------+----------+
| 7 | ARGB1555 |
+-------+----------+
| 8 | RGBA5551 |
+-------+----------+
| 9 | RGB888 |
+-------+----------+
| 10 | ARGB8888 |
+-------+----------+
| 12 | ARGB4444 |
+-------+----------+
fb1_format: pixel format for fb1: same as previous *
fb0_pixel_sequence: fb0 pixel sequence (0 generally for linux, 2 for android) *
+-------+----------+
| Value | Sequence |
+-------+----------+
| 0 | ARGB |
+-------+----------+
| 1 | BGRA |
+-------+----------+
| 2 | ABGR |
+-------+----------+
| 3 | RGBA |
+-------+----------+
fb1_pixel_sequence: fb1 pixel sequence (0 generally for linux, 2 for android): same as previous *
fb0_scaler_mode_enable: 0 to disable; 1 to enable *
fb1_scaler_mode_enable: 0 to disable; 1 to enable *
به این ترتیب بخشی از فایل شما به این صورت خواهد بود:
[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 4
screen0_output_mode = 2
screen1_output_type = 2
screen1_output_mode = 14
fb0_width = 1360
fb0_height = 768
fb0_framebuffer_num = 2
fb0_format = 10
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 1
fb1_framebuffer_num = 2
fb1_format = 10
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 1
این کانفیگ برای خروجی از طریق پورت VGA با رزولوشن ۱۳۶۰×۷۶۸ بر روی screen0 با فریم بافر دوبرابر می باشد. screen1 هم غیرفعال شده و به همین دلیل تنظیماتش نادیده گرفته میشه.
۲.۴- بازتبدیل فایل script.fex به فایل باینری script.bin:sudo fex2bin /boot/script.fex /boot/script.bin
۲.۵: پیشنهاد میکنم که فایل تنظیمات رزولوشن اولیه رو هم تغییر بدید:فایل armbianEnv.txt را توسط یک ویرایشگر متن باز کنید:
sudo vim /boot/armbianEnv.txt
حال مقدار disp_mode را به ۱۲۸۰x720p60 تغییر بدید. به این ترتیب محتویات فایل شبیه به این خواهد بود.
verbosity=1
console=both
disp_mode=1280x720p60
disp_mem_reserves=on
rootdev=UUID=00000000-0000-0000-0000-000000000000
rootfstype=ext4
۲.۶: دستگاه کوبی تراک رو خاموش کنید و کابل پاور رو برای چند ثانیه از دستگاه جدا کنید.پس از اتصال مجدد پاور و روشن کردن، دستگاه باید در حالت VGA بوت شود.
منابع: