IMX6 XFCE image not working

I built my own custom made kernel image with Morty Yocto project. I fetched meta-freescale, meta-fsl-arm-extra, meta-toradex-nxp, meta-toradex-bsp-common and other necessary layers, to build the xfce image.

The HDMI is working and the monitor is showing the console message. mxcfb1, mxcfb2 are enabled in device tree (correspond with the /dev/fb0, /dev/fb1). I have no idea why the xfce doesn’t work. Any help is appreciated.

Here is the log:

[2021880.798] 
X.Org X Server 1.18.4
Release Date: 2016-07-19
[2021880.798] X Protocol Version 11, Revision 0
[2021880.798] Build Operating System: Linux 4.4.0-81-generic x86_64 
[2021880.798] Current Operating System: Linux colibri-imx6 4.1.44-2.7.3+gb1555bf #5 SMP Thu Nov 2 10:10:54 PDT 2017 armv7l
[2021880.798] Kernel command line: enable_wait_mode=off galcore.contiguousSize=50331648 ip=off root=/dev/mmcblk1p2 rw,noatime rootfstype=ext3 rootwait fec_mac=00:14:2d:4a:4c:0e consoleblank=0 no_console_suspend=1 console=tty1 console=ttymxc0,115200n8 video=mxcfb0:dev=lcd,640x480M@60,if=RGB666 video=mxcfb1:off fbmem=8M
[2021880.798] Build Date: 01 November 2017  10:30:47AM
[2021880.798]  
[2021880.798] Current version of pixman: 0.34.0
[2021880.798]   Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[2021880.798] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[2021880.798] (==) Log file: "/var/log/Xorg.0.log", Time: Wed Nov  1 16:56:41 2017
[2021880.799] (==) Using config file: "/etc/X11/xorg.conf"
[2021880.799] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[2021880.799] (==) No Layout section.  Using the first Screen section.
[2021880.799] (==) No screen section available. Using defaults.
[2021880.799] (**) |-->Screen "Default Screen Section" (0)
[2021880.799] (**) |   |-->Monitor "<default monitor>"
[2021880.800] (==) No device specified for screen "Default Screen Section".
        Using the first device section listed.
[2021880.800] (**) |   |-->Device "i.MX Accelerated Framebuffer Device"
[2021880.800] (==) No monitor specified for screen "Default Screen Section".
        Using a default monitor configuration.
[2021880.800] (**) Option "BlankTime" "0"
[2021880.800] (**) Option "StandbyTime" "0"
[2021880.800] (**) Option "SuspendTime" "0"
[2021880.800] (**) Option "OffTime" "0"
[2021880.800] (==) Automatically adding devices
[2021880.800] (==) Automatically enabling devices
[2021880.800] (==) Automatically adding GPU devices
[2021880.800] (==) Max clients allowed: 256, resource mask: 0x1fffff
[2021880.800] (WW) The directory "/usr/share/fonts/X11/misc/" does not exist.
[2021880.800]   Entry deleted from font path.
[2021880.800] (WW) The directory "/usr/share/fonts/X11/TTF/" does not exist.
[2021880.800]   Entry deleted from font path.
[2021880.800] (WW) The directory "/usr/share/fonts/X11/OTF/" does not exist.
[2021880.800]   Entry deleted from font path.
[2021880.800] (WW) The directory "/usr/share/fonts/X11/Type1/" does not exist.
[2021880.800]   Entry deleted from font path.
[2021880.800] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[2021880.800]   Entry deleted from font path.
[2021880.801] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[2021880.801]   Entry deleted from font path.
[2021880.801] (==) FontPath set to:
        
[   48.013198] random: nonblocking pool is initialized
[2021880.801] (==) ModulePath set to "/usr/lib/xorg/modules"
[2021880.801] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[2021880.801] (II) Loader magic: 0x1c5170
[2021880.801] (II) Module ABI versions:
[2021880.801]   X.Org ANSI C Emulation: 0.4
[2021880.801]   X.Org Video Driver: 20.0
[2021880.801]   X.Org XInput driver : 22.1
[2021880.801]   X.Org Server Extension : 9.0
[2021880.801] (II) no primary bus or device found
[2021880.801] (II) LoadModule: "glx"
[2021880.802] (WW) Warning, couldn't open module glx
[2021880.802] (II) UnloadModule: "glx"
[2021880.802] (II) Unloading glx
[2021880.802] (EE) Failed to load module "glx" (module does not exist, 0)
[2021880.802] (II) LoadModule: "vivante"
[2021880.802] (WW) Warning, couldn't open module vivante
[2021880.802] (II) UnloadModule: "vivante"
[2021880.802] (II) Unloading vivante
[2021880.802] (EE) Failed to load module "vivante" (module does not exist, 0)
[2021880.802] (EE) No drivers available.
[2021880.802] (EE) 
Fatal server error:
[2021880.802] (EE) no screens found(EE) 
[2021880.802] (EE) 
Please consult the The X.Org Foundation support 
         at http://wiki.x.org
 for help. 
[2021880.803] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[2021880.803] (EE) 
[2021880.803] (EE) Server terminated with error (1). Closing log file.
root@colibri-imx6:~#

Vivante module is there:

 root@colibri-imx6:~# dmesg | grep drm
 [    1.191646] [drm] Initialized drm 1.1.0 20060810
 [    1.198757] [drm] Initialized vivante 1.0.0 20120216 on minor 0
 root@colibri-imx6:~# 

But there is no such /usr/lib/xorg/modules/extensions/libglx.so file and /usr/lib/xorg/modules/drivers/vivante_drv.so. .

I have added

xf86-video-imxfb-vivante \
xserver-xorg-extension-viv-autohdmi \
xserver-xorg-extension-glx \

into my image.bb, did the trick.

Are you sure that X was not already started when you did startx?

What does the suggested log file /var/log/Xorg.0.log reveal?

I guess you have to check whether the Vivante X driver got properly included into your build?

Maybe it does not find any screens as your build does not include any X drivers?

Please also have a look at the following article on our developer website concerning display configuration.