Display Image in splash screen at X startup

I have have introduced the “LogoPath” option in /etc/X11/xorg.conf to display an image in the splash during X startup. However, nothing appears. Why? How do I enable the display of the image?

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "LogoPath" "/usr/share/images/desktop-base/water.png"
    SubSection     "Display"
        Depth       24

The image is a PNG file, is owned by root and has only read permission. Screen depth is 24 bits.

$ ls -la /usr/share/images/desktop-base/water.png 
-r--r--r-- 1 root root 6193001 Mar 13 23:08 /usr/share/images/desktop-base/water.png

It’s possible that the image is being cleared faster than your monitor can sync to the new display mode.

Back when the logo code was added, it was common for the X server to stall for a long time between initializing the graphics driver and painting the root window. Also, the graphics driver could take quite a while to initialize. That startup time has come down a lot and it’s common these days for the logo to be drawn and then cleared while the monitor is still syncing.

You could look at /var/log/Xorg.0.log to see if there are other errors, but we’re actually going to be removing the logo entirely in a future driver release. I would recommend using something like xsetroot or similar in your X session startup scripts to display your logo image through the X server.

Thank you Aaron for the explanation. I will try xsetroot or Xsession startup scripts.