Присоединяйтесь к нам! » Регистрация Логин Пароль Забыли пароль?
0
0
Был на сайте: больше года назад
3000 грн

Настроить в Линуксе нормальный сплэшскрин

Статус Открытый
Публикация: 27.09.2017 / 22:13

Задание

Мне нужно при старте системы показывать нормальный сплэшскрин (логотип).
Система - Debian9, процессор - i.MX6Q (NXP).
Проблема заключается в следующем - мне нужно показать картинку с момента старта системы до момента запуска моего приложения, которое стартует как браузер (в данный момент Qt WebView + PyQt5). Я уже перепробовал кучу всего, в итоге остановился на варианте с логотипом, встроенным в ядро. Он показывается достаточно рано, спустя примерно 2 секунды, но выключается сразу же при старте инициализации консоли (keyboard-setup.service, по-моему). Затем стартуют Иксы. До старта Иксов логотип может отображать способ 3 (см.ниже). Система у меня достаточно медленная, поэтому Иксы стартуют 3-4 секунды, потом запускается приложение, в итоге почти 10 секунд экран черный, что выглядит реально непрофессионально.
Я знаю, что есть как минимум три возможности запуска логотипа на моей системе (iMX6+Debian или Angström):

1. Включить отображение в U-boot и пропатчить ядро для сохранения картинки, данный метод включается сразу (что некритично в целом), но выключается, думаю, в тот же момент и требует немалых усилий
2. Поддержка логотипа в ядре - то, что я использую в данный момент времени.
3. Скрипт в init.d с отрисовкой через fbi - запускается позднее, чем из ядра, проблема с Иксами не решается. При запуске Иксов около 5 секунд экран черный, Иксы блокируют всю систему до окончательной инициализации, только потом скрипт что-то в состоянии снова отрисовывать.

Как вариант борьбы с поведением Иксов попробовал перейти на фреймбуфер, Qt дает такую возможность. Но первое мигание (1 секунда) этим не побарывается, плюс есть проблема с тормозами в браузере, так как запустить под фреймбуфером аппаратное ускорение мне не удалось, я даже не в состоянии этот процесс отследить как-то. С Иксами система работает нормально, но имеют место два мигания - первое и второе (инициализация Иксов, около 5 секунд).

Есть ли какая-то дополнительная возможность обойти инициализацию Иксов и сохранить картинку до момента запуска моего приложения?

Город не важен, могу настроить удаленный доступ и выложить видео того, как это происходит у меня сейчас.
Задача - побороть конкретно эти оба мигания или же предложить какой-то другой работающий вариант. Не требуется прямо идеальной работы без переключений, но мигать должно не более 1 раза и коротко.

Файлы

Нет загруженных файлов
Нет предложений
Участники проекта (0)
Выберите работников из доступных предложений
Здесь Вы можете размещать дополнительную информацию и новости проекта