Polaris 0 22 августа, 2017 Опубликовано 22 августа, 2017 · Жалоба Подскажите, а есть ли возможность показывать при старте системы нормальный сплэшскрин (логотип)? Проблема заключается в следующем - мне нужно показать картинку с момента старта системы до момента запуска моего приложения, которое стартует под Иксами. Я уже перепробовал кучу всего, в итоге остановился на варианте с логотипом, встроенным в ядро. Он показывается достаточно рано, спустя примерно 2 секунды, висит на экране весь процесс загрузки, но выключается сразу же при старте Иксов, возможно даже, что чуть раньше, при достижении graphical.target. Система у меня достаточно медленная, поэтому Иксы стартуют 3-4 секунды, потом запускается приложение, в итоге минимум 5-6 секунд экран черный, что выглядит реально непрофессионально. Я знаю, что есть как минимум три возможности запуска логотипа на моей системе (iMX6+Debian или Angström): 1. Включить отображение в U-boot и пропатчить ядро для сохранения картинки, данный метод включается сразу (что некритично в целом), но выключается, думаю, в тот же момент и требует немалых усилий 2. Поддержка логотипа в ядре - то, что я использую в данный момент времени. 3. Скрипт в init.d с отрисовкой через fbi - запускается позднее, чем из ядра, проблема с Иксами не решается, этот метод я уже использовал и отказался от него. Есть ли какая-то дополнительная возможность обойти инициализацию Иксов и сохранить картинку до момента запуска моего приложения? Заранее спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 23 августа, 2017 Опубликовано 23 августа, 2017 · Жалоба Конечно возможно. Отдельно в буте и при старте ядра. В ядре делал. Когда-то делал в ядре 2.6.35 на imx53, но уже не помню деталей. Вам на какой платформе? Вот вам где это делается. Я делал аналогично. *.ppm это картинки в таком формате должны быть. http://elixir.free-electrons.com/linux/lat...vers/video/logo фрагмент Makefile obj-$(CONFIG_LOGO) += logo.o obj-$(CONFIG_LOGO_LINUX_MONO) += logo_linux_mono.o obj-$(CONFIG_LOGO_LINUX_VGA16) += logo_linux_vga16.o obj-$(CONFIG_LOGO_LINUX_CLUT224) += logo_linux_clut224.o obj-$(CONFIG_LOGO_BLACKFIN_CLUT224) += logo_blackfin_clut224.o obj-$(CONFIG_LOGO_BLACKFIN_VGA16) += logo_blackfin_vga16.o obj-$(CONFIG_LOGO_DEC_CLUT224) += logo_dec_clut224.o obj-$(CONFIG_LOGO_MAC_CLUT224) += logo_mac_clut224.o obj-$(CONFIG_LOGO_PARISC_CLUT224) += logo_parisc_clut224.o obj-$(CONFIG_LOGO_SGI_CLUT224) += logo_sgi_clut224.o obj-$(CONFIG_LOGO_SUN_CLUT224) += logo_sun_clut224.o obj-$(CONFIG_LOGO_SUPERH_MONO) += logo_superh_mono.o obj-$(CONFIG_LOGO_SUPERH_VGA16) += logo_superh_vga16.o obj-$(CONFIG_LOGO_SUPERH_CLUT224) += logo_superh_clut224.o obj-$(CONFIG_LOGO_M32R_CLUT224) += logo_m32r_clut224.o obj-$(CONFIG_SPU_BASE) += logo_spe_clut224.o В make menuconfig вам надо разрешить CONFIG_LOGO и CONFIG_LOGO_.... соответствующий вашей картинке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Polaris 0 23 августа, 2017 Опубликовано 23 августа, 2017 · Жалоба Конечно возможно. Отдельно в буте и при старте ядра. В ядре делал. Когда-то делал в ядре 2.6.35 на imx53, но уже не помню деталей. Вам на какой платформе? Вот вам где это делается. Я делал аналогично. *.ppm это картинки в таком формате должны быть. http://elixir.free-electrons.com/linux/lat...vers/video/logo фрагмент Makefile obj-$(CONFIG_LOGO) += logo.o obj-$(CONFIG_LOGO_LINUX_MONO) += logo_linux_mono.o obj-$(CONFIG_LOGO_LINUX_VGA16) += logo_linux_vga16.o obj-$(CONFIG_LOGO_LINUX_CLUT224) += logo_linux_clut224.o obj-$(CONFIG_LOGO_BLACKFIN_CLUT224) += logo_blackfin_clut224.o obj-$(CONFIG_LOGO_BLACKFIN_VGA16) += logo_blackfin_vga16.o obj-$(CONFIG_LOGO_DEC_CLUT224) += logo_dec_clut224.o obj-$(CONFIG_LOGO_MAC_CLUT224) += logo_mac_clut224.o obj-$(CONFIG_LOGO_PARISC_CLUT224) += logo_parisc_clut224.o obj-$(CONFIG_LOGO_SGI_CLUT224) += logo_sgi_clut224.o obj-$(CONFIG_LOGO_SUN_CLUT224) += logo_sun_clut224.o obj-$(CONFIG_LOGO_SUPERH_MONO) += logo_superh_mono.o obj-$(CONFIG_LOGO_SUPERH_VGA16) += logo_superh_vga16.o obj-$(CONFIG_LOGO_SUPERH_CLUT224) += logo_superh_clut224.o obj-$(CONFIG_LOGO_M32R_CLUT224) += logo_m32r_clut224.o obj-$(CONFIG_SPU_BASE) += logo_spe_clut224.o В make menuconfig вам надо разрешить CONFIG_LOGO и CONFIG_LOGO_.... соответствующий вашей картинке. Я все это уже сделал давно, все работает, вопрос не в этом, а в дырке между этим лого и стартом самого приложения, после завершения загрузки ядра лого исчезает, а мне нужно еще закрыть старт икс-сервера и, если реально, приложения, этого лого из ядра не делает, в этом и вопрос, что реализация данной задачи не является тривиальной. Есть, конечно, plymouth, но на моей машине он почему-то не работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 23 августа, 2017 Опубликовано 23 августа, 2017 · Жалоба Понятно. Это уже не сплэш скрин. Полагаю вам надо в конфигурации xorg надо искать. Здесь я мало что могу сказать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 28 сентября, 2017 Опубликовано 28 сентября, 2017 · Жалоба Вот попалось по теме, но похоже у человека пока не все получилось. https://devtalk.nvidia.com/default/topic/99...n-at-x-startup/ Добавили фрагмент Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "LogoPath" "/usr/share/images/desktop-base/water.png" SubSection "Display" Depth 24 EndSubSection EndSection в файл: /etc/X11/xorg.conf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться