we have RPi3 with touch screen display. We want to configure very smooth boot process with custom splash screen displayed and boot directly into our own GTK application.
So we have replaced Plymouth default splash.png with our logo. It displays correctly but only for about 2 seconds. When Xserver starts loading, the screen is cleared and it stays black for about 10 seconds. Then our application opens.
My question is whether it is possible to shorten the black screen time or display our logo during this period (e.g. by not clearing the screen on Xserver startup). If I kill Xserver and then run it manually by "startx", it loads almost instantly.
Here is the content of /var/log/Xorg.0.log file:
[ 7.410]
X.Org X Server 1.19.2
Release Date: 2017-03-02
[ 7.410] X Protocol Version 11, Revision 0
[ 7.410] Build Operating System: Linux 4.9.41-v7+ armv7l Raspbian
[ 7.411] Current Operating System: Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l
[ 7.411] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=800 bcm2708_fb.fbheight=480 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=69bfd53b-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait logo.nologo vt.global_cursor_default=0 splash plymouth.ignore-serial-consoles
[ 7.411] Build Date: 18 October 2017 04:55:30PM
[ 7.411] xorg-server 2:1.19.2-1+rpt1+deb9u2 (https://www.debian.org/support)
[ 7.411] Current version of pixman: 0.34.0
[ 7.411] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 7.411] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 7.412] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Jan 29 09:48:22 2019
[ 7.412] (==) Using config file: "/etc/X11/xorg.conf"
[ 7.412] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 7.418] (==) No Layout section. Using the first Screen section.
[ 7.418] (==) No screen section available. Using defaults.
[ 7.418] (**) |-->Screen "Default Screen Section" (0)
[ 7.418] (**) | |-->Monitor "<default monitor>"
[ 7.425] (==) No device specified for screen "Default Screen Section".
Using the first device section listed.
[ 7.425] (**) | |-->Device "Allwinner A10/A13 FBDEV"
[ 7.425] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[ 7.425] (==) Automatically adding devices
[ 7.425] (==) Automatically enabling devices
[ 7.425] (==) Automatically adding GPU devices
[ 7.426] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 7.426] (WW) The directory "/usr/share/fonts/X11/misc" does not exist.
[ 7.426] Entry deleted from font path.
[ 7.426] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 7.426] Entry deleted from font path.
[ 7.426] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[ 7.426] Entry deleted from font path.
[ 7.426] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[ 7.426] Entry deleted from font path.
[ 7.426] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
[ 7.426] Entry deleted from font path.
[ 7.426] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[ 7.426] Entry deleted from font path.
[ 7.426] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[ 7.426] Entry deleted from font path.
[ 7.427] (==) FontPath set to:
built-ins
[ 7.427] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 7.427] (**) Extension "Composite" is disabled
[ 7.427] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 7.431] (II) Loader magic: 0x1fbf40
[ 7.431] (II) Module ABI versions:
[ 7.432] X.Org ANSI C Emulation: 0.4
[ 7.432] X.Org Video Driver: 23.0
[ 7.432] X.Org XInput driver : 24.1
[ 7.432] X.Org Server Extension : 10.0
[ 7.435] (--) using VT number 2
[ 7.435] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[ 7.436] (II) no primary bus or device found
[ 7.437] (II) LoadModule: "glx"
[ 7.461] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 7.619] (II) Module glx: vendor="X.Org Foundation"
[ 7.619] compiled for 1.19.2, module version = 1.0.0
[ 7.620] ABI class: X.Org Server Extension, version 10.0
[ 7.620] (II) LoadModule: "fbturbo"
[ 7.620] (II) Loading /usr/lib/xorg/modules/drivers/fbturbo_drv.so
[ 7.631] (II) Module fbturbo: vendor="X.Org Foundation"
[ 7.631] compiled for 1.19.2, module version = 0.5.1
[ 7.631] Module class: X.Org Video Driver
[ 7.631] ABI class: X.Org Video Driver, version 23.0
[ 7.631] (II) FBTURBO: driver for framebuffer: fbturbo
[ 7.639] (WW) Falling back to old probe method for fbturbo
[ 7.639] (II) Loading sub module "fbdevhw"
[ 7.639] (II) LoadModule: "fbdevhw"
[ 7.640] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 7.649] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 7.649] compiled for 1.19.2, module version = 0.0.2
[ 7.650] ABI class: X.Org Video Driver, version 23.0
[ 7.650] (II) FBTURBO(0): using /dev/fb0
[ 7.650] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[ 7.650] (II) FBTURBO(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 24/32
[ 7.650] (==) FBTURBO(0): Depth 24, (==) framebuffer bpp 32
[ 7.651] (==) FBTURBO(0): RGB weight 888
[ 7.651] (==) FBTURBO(0): Default visual is TrueColor
[ 7.651] (==) FBTURBO(0): Using gamma correction (1.0, 1.0, 1.0)
[ 7.651] (II) FBTURBO(0): hardware: BCM2708 FB (video memory: 1500kB)
[ 7.651] (**) FBTURBO(0): Option "fbdev" "/dev/fb0"
[ 7.651] (**) FBTURBO(0): Option "SwapbuffersWait" "true"
[ 7.652] (II) FBTURBO(0): processor: Unknown
[ 7.652] (II) FBTURBO(0): checking modes against framebuffer device...
[ 7.652] (II) FBTURBO(0): checking modes against monitor...
[ 7.652] (--) FBTURBO(0): Virtual size is 800x480 (pitch 800)
[ 7.652] (**) FBTURBO(0): Built-in mode "current"
[ 7.652] (==) FBTURBO(0): DPI set to (96, 96)
[ 7.652] (II) Loading sub module "fb"
[ 7.652] (II) LoadModule: "fb"
[ 7.653] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 7.669] (II) Module fb: vendor="X.Org Foundation"
[ 7.669] compiled for 1.19.2, module version = 1.0.0
[ 7.669] ABI class: X.Org ANSI C Emulation, version 0.4
[ 7.669] (==) Depth 24 pixmap format is 32 bpp
[ 7.775] (II) FBTURBO(0): using backing store heuristics
[ 7.784] (II) FBTURBO(0): can't load 'g2d_23' kernel module
[ 7.785] (II) FBTURBO(0): failed to enable the use of sunxi display controller
[ 7.785] (II) FBTURBO(0): No sunxi-g2d hardware detected (check /dev/disp and /dev/g2d)
[ 7.785] (II) FBTURBO(0): G2D hardware acceleration can't be enabled
[ 7.785] (II) FBTURBO(0): enabled fbdev copyarea acceleration
[ 7.785] (==) FBTURBO(0): Backing store disabled
[ 7.797] (==) FBTURBO(0): DPMS enabled
[ 7.797] (II) FBTURBO(0): failed to enable hardware cursor
[ 7.797] (II) FBTURBO(0): no 3D acceleration because the driver has been compiled without libUMP
[ 7.797] (II) FBTURBO(0): if this is wrong and needs to be fixed, please check ./configure log
[ 7.799] (==) RandR enabled
[ 7.850] (II) SELinux: Disabled on system
[ 7.859] (II) AIGLX: Screen 0 is not DRI2 capable
[ 7.859] (EE) AIGLX: reverting to software rendering
[ 14.082] (II) IGLX: enabled GLX_MESA_copy_sub_buffer
[ 14.084] (II) IGLX: Loaded and initialized swrast
[ 14.084] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[ 14.259] (II) config/udev: Adding input device SINO WEALTH USB KEYBOARD (/dev/input/event0)
[ 14.260] (**) SINO WEALTH USB KEYBOARD: Applying InputClass "libinput keyboard catchall"
[ 14.260] (II) LoadModule: "libinput"
[ 14.260] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[ 14.286] (II) Module libinput: vendor="X.Org Foundation"
[ 14.286] compiled for 1.19.0, module version = 0.23.0
[ 14.286] Module class: X.Org XInput Driver
[ 14.286] ABI class: X.Org XInput driver, version 24.1
[ 14.286] (II) Using input driver 'libinput' for 'SINO WEALTH USB KEYBOARD'
[ 14.287] (**) SINO WEALTH USB KEYBOARD: always reports core events
[ 14.287] (**) Option "Device" "/dev/input/event0"
[ 14.287] (**) Option "_source" "server/udev"
[ 14.289] (II) input device 'SINO WEALTH USB KEYBOARD', /dev/input/event0 is tagged by udev as: Keyboard
[ 14.289] (II) input device 'SINO WEALTH USB KEYBOARD', /dev/input/event0 is a keyboard
[ 14.420] (**) Option "config_info" "udev:/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:258A:0001.0001/input/input0/event0"
[ 14.420] (II) XINPUT: Adding extended input device "SINO WEALTH USB KEYBOARD" (type: KEYBOARD, id 6)
[ 14.420] (**) Option "xkb_model" "pc105"
[ 14.420] (**) Option "xkb_layout" "cz"
[ 14.486] (II) input device 'SINO WEALTH USB KEYBOARD', /dev/input/event0 is tagged by udev as: Keyboard
[ 14.486] (II) input device 'SINO WEALTH USB KEYBOARD', /dev/input/event0 is a keyboard
[ 14.488] (II) config/udev: Adding input device SINO WEALTH USB KEYBOARD (/dev/input/event1)
[ 14.488] (**) SINO WEALTH USB KEYBOARD: Applying InputClass "libinput keyboard catchall"
[ 14.488] (II) Using input driver 'libinput' for 'SINO WEALTH USB KEYBOARD'
[ 14.488] (**) SINO WEALTH USB KEYBOARD: always reports core events
[ 14.488] (**) Option "Device" "/dev/input/event1"
[ 14.489] (**) Option "_source" "server/udev"
[ 14.490] (II) input device 'SINO WEALTH USB KEYBOARD', /dev/input/event1 is tagged by udev as: Keyboard
[ 14.490] (II) input device 'SINO WEALTH USB KEYBOARD', /dev/input/event1 is a keyboard
[ 14.580] (**) Option "config_info" "udev:/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.1/0003:258A:0001.0002/input/input1/event1"
[ 14.580] (II) XINPUT: Adding extended input device "SINO WEALTH USB KEYBOARD" (type: KEYBOARD, id 7)
[ 14.580] (**) Option "xkb_model" "pc105"
[ 14.580] (**) Option "xkb_layout" "cz"
[ 14.585] (II) input device 'SINO WEALTH USB KEYBOARD', /dev/input/event1 is tagged by udev as: Keyboard
[ 14.585] (II) input device 'SINO WEALTH USB KEYBOARD', /dev/input/event1 is a keyboard
[ 14.587] (II) config/udev: Adding input device FT5406 memory based driver (/dev/input/event2)
[ 14.587] (**) FT5406 memory based driver: Applying InputClass "libinput touchscreen catchall"
[ 14.587] (II) Using input driver 'libinput' for 'FT5406 memory based driver'
[ 14.587] (**) FT5406 memory based driver: always reports core events
[ 14.587] (**) Option "Device" "/dev/input/event2"
[ 14.587] (**) Option "_source" "server/udev"
[ 14.589] (II) input device 'FT5406 memory based driver', /dev/input/event2 is tagged by udev as: Touchscreen
[ 14.590] (II) input device 'FT5406 memory based driver', /dev/input/event2 is a touch device
[ 14.680] (**) Option "config_info" "udev:/sys/devices/virtual/input/input2/event2"
[ 14.680] (II) XINPUT: Adding extended input device "FT5406 memory based driver" (type: TOUCHSCREEN, id 8)
[ 14.680] (**) Option "AccelerationScheme" "none"
[ 14.681] (**) FT5406 memory based driver: (accel) selected scheme none/0
[ 14.681] (**) FT5406 memory based driver: (accel) acceleration factor: 2.000
[ 14.681] (**) FT5406 memory based driver: (accel) acceleration threshold: 4
[ 14.683] (II) input device 'FT5406 memory based driver', /dev/input/event2 is tagged by udev as: Touchscreen
[ 14.683] (II) input device 'FT5406 memory based driver', /dev/input/event2 is a touch device
[ 14.684] (II) config/udev: Adding input device FT5406 memory based driver (/dev/input/mouse0)
[ 14.685] (II) No input driver specified, ignoring this device.
[ 14.685] (II) This device may have been added with another device file.
[ 122.444] (II) input device 'SINO WEALTH USB KEYBOARD', /dev/input/event0 is tagged by udev as: Keyboard
[ 122.444] (II) input device 'SINO WEALTH USB KEYBOARD', /dev/input/event0 is a keyboard
[ 122.448] (II) input device 'SINO WEALTH USB KEYBOARD', /dev/input/event1 is tagged by udev as: Keyboard
[ 122.448] (II) input device 'SINO WEALTH USB KEYBOARD', /dev/input/event1 is a keyboard
[ 122.450] (II) input device 'FT5406 memory based driver', /dev/input/event2 is tagged by udev as: Touchscreen
[ 122.450] (II) input device 'FT5406 memory based driver', /dev/input/event2 is a touch device
I can notice there is a longer delay in the middle:
[ 7.799] (==) RandR enabled
[ 7.850] (II) SELinux: Disabled on system
[ 7.859] (II) AIGLX: Screen 0 is not DRI2 capable
[ 7.859] (EE) AIGLX: reverting to software rendering
[ 14.082] (II) IGLX: enabled GLX_MESA_copy_sub_buffer
[ 14.084] (II) IGLX: Loaded and initialized swrast
[ 14.084] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[ 14.259] (II) config/udev: Adding input device SINO WEALTH USB KEYBOARD (/dev/input/event0)
We tried disabling AIGLX in /etc/X11/xorg.conf but no change.
Is there some solution for my problem? Thank you very much!