Warning: touch() [function.touch]: Unable to create file /home/starterkit/starterkit.ru/html/error.log because Permission denied in /home/starterkit/starterkit.ru/html/errorhandler.php on line 51
Как ввести в действие вторую LVDS панель другого размера? - Embedded Linux - Форум - starterkit.ru
Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
Как ввести в действие вторую LVDS панель другого размера?
arsterm_boris
Добавлено 16.07.2018 14:33 Редактировалось 17.07.2018 13:25
0
Сообщение: 1
arsterm_boris
0

Пункты: 316
Регистрация: 16.07.2018
Пол: Мужчина
Из: Новосибирск
Здравствуйте, уважаемые знатоки!
Есть процессорный модуль SK-iMX6S(D)-OEM, отладочная плата
SK-iMX6/53/50-MB, граф. панель SK-TFT1024X768(TP).
Установлен линукс, ядро 4.1.15, buildroot-2016.11-sk
Всё работает, нужно на второй видеовыход подключить вторую панель
типа MI1040GT-1 с размерностью 800х600. Физически она подсоединилась, программный интерфейс /dev/fb2 появился, изображение есть, но оно не всё влезает в экран, + цветная картинка страдает от грубой потери двух битов (матрица с 6-битным входом).
Вопросы:
1- Куда следует вводить "заклинания", чтобы линукс понял, что во втором канале видеовыхода размер матрицы 800х600 и глубина цвета не 24 бита, а 18?
2- Как сказать системе Qt, что одни картинки нужно выводить на первый дисплей размерности 1024х768, а другие на второй дисплей размерности 800х600? (выводит всё только на первый экран)
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 16.07.2018 20:27 Редактировалось 16.07.2018 20:46 Сообщение: 2
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
1) Для вашей конфигурации fb0 - lvds 1024x768, fb2 - 800x600 вам проще всего подменить параметры штатного конфига fb0 - lvds 1024x768, fb2 - 800x480, в менюконфиге выбирать

fb0 mode (ldb,LDB-XGA) --->
fb1 mode (ldb,SK-ATM0704) --->

buildroot-2017.08-sk/output/build/linux-custom/arch/arm/boot/dts/imx6qdl-lvds-1024x768-800x480.dtsi

тайминги для вашей панели я не нашел но думаю подойдут от svga

Цитата

lvds-channel@1 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
status = "okay";

display-timings {
native-mode = <&timing1>;
timing1: hsd100pxn1 {
clock-frequency = <40000000>;
hactive = <800>;
vactive = <600>;
hback-porch = <75>;
hfront-porch = <75>;
vback-porch = <7>;
vfront-porch = <75>;
hsync-len = <7>;
vsync-len = <7>;

};
};
};
};


кроме этого поменять

buildroot-2017.08-sk/boot/uboot/Config.in

Цитата

config BR2_TARGET_UBOOT_FB1
string
default "video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24" if BR2_PACKAGE_FB1_HDMI_FHD
default "video=mxcfb1:dev=hdmi,1280x720M@60,if=RGB24" if BR2_PACKAGE_FB1_HDMI_HD
default "video=mxcfb1:dev=ldb,if=RGB24" if BR2_PACKAGE_FB1_LBD_LDB_XGA
default "video=mxcfb1:dev=ldb,if=RGB666" if BR2_PACKAGE_FB1_LDB_SK_ATM0704
default "video=mxcfb1:dev=lcd,LDB-XGA,if=RGB24" if BR2_PACKAGE_FB1_LCD_LDB_XGA
default "video=mxcfb1:dev=lcd,SK-ATM0704,if=RGB24" if BR2_PACKAGE_FB1_LCD_SK_ATM0704
default "video=mxcfb1:dev=lcd,SK-MI0430,if=RGB24" if BR2_PACKAGE_FB1_LCD_SK_MI0430


2) В одном приложении с eglfs на закрытом драйвере не получится - можно в разных приложениях на разные экраны выводить

https://wiki.qt.io/I.MX-6#Multiple_screens

Цитата

In 5.3.0 a new environment variable is introduced: QT_QPA_EGLFS_FB. Setting this to /dev/fb2 before launching the app will make the EGL/GLES content show up on the second display.
...
There is currently no way to display content on multiple displays from the same application. The workaround is to launch two separate applications and use some sort of IPC mechanism to communicate between them.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux