AnsweredAssumed Answered

i.MX6ULL + X11

Question asked by Brian Lee on Dec 19, 2018
Latest reply on Dec 19, 2018 by Brian Lee

Hi All,

 

I have the following hardware:

  • MCIMX6ULL-EVK Evaluation kit
  • NXP LCD8000-43T LCD Display

 

I have followed the linux Yocto build instructions from: L4.9.88_2.0.0_LINUX_DOCS

 

I would like to be able to display an example X11 application on the screen.

 

I am building with the following commands:

 

$ MACHINE=imx6ull14x14evk DISTRO=fsl-imx-x11 source fsl-setup-release.sh -b build-x11
bitbake fsl-image-qt5-validation-imx

 

On initial boot I see the following in

 

# cat /var/log/Xorg.0.log
[    12.158]
X.Org X Server 1.19.3
Release Date: 2017-03-15
[    12.158] X Protocol Version 11, Revision 0
[    12.158] Build Operating System: Linux 4.15.0-29-generic x86_64
[    12.158] Current Operating System: Linux imx6ull-theopolis 4.9.88-imx_4.9.88_2.0.0_ga+g5e23f9d61147 #1 SMP PREEMPT Mon Dec 3 11:14:00 GMT 2018 armv7l
[    12.158] Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw
[    12.158] Build Date: 23 October 2018  04:01:16PM
[    12.159]  
[    12.159] Current version of pixman: 0.34.0
[    12.159]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[    12.159] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    12.159] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Oct 23 13:46:04 2018
[    12.199] (==) Using config file: "/etc/X11/xorg.conf"
[    12.199] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    12.233] (==) No Layout section.  Using the first Screen section.
[    12.233] (==) No screen section available. Using defaults.
[    12.233] (**) |-->Screen "Default Screen Section" (0)
[    12.233] (**) |   |-->Monitor "<default monitor>"
[    12.234] (==) No device specified for screen "Default Screen Section".
        Using the first device section listed.
[    12.234] (**) |   |-->Device "i.MX Accelerated Framebuffer Device"
[    12.234] (==) No monitor specified for screen "Default Screen Section".
        Using a default monitor configuration.
[    12.234] (**) Option "BlankTime" "0"
[    12.234] (**) Option "StandbyTime" "0"
[    12.234] (**) Option "SuspendTime" "0"
[    12.234] (**) Option "OffTime" "0"
[    12.234] (==) Automatically adding devices
[    12.234] (==) Automatically enabling devices
[    12.234] (==) Automatically adding GPU devices
[    12.235] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    12.266] (WW) The directory "/usr/share/fonts/X11/misc/" does not exist.
[    12.266]    Entry deleted from font path.
[    12.266] (WW) The directory "/usr/share/fonts/X11/TTF/" does not exist.
[    12.266]    Entry deleted from font path.
[    12.266] (WW) The directory "/usr/share/fonts/X11/OTF/" does not exist.
[    12.266]    Entry deleted from font path.
[    12.266] (WW) The directory "/usr/share/fonts/X11/Type1/" does not exist.
[    12.266]    Entry deleted from font path.
[    12.272] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[    12.272]    Entry deleted from font path.
[    12.272] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[    12.272]    Entry deleted from font path.
[    12.272] (==) FontPath set to:

 

[    12.272] (==) ModulePath set to "/usr/lib/xorg/modules"
[    12.272] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[    12.273] (II) Loader magic: 0x1c3d18
[    12.273] (II) Module ABI versions:
[    12.273]    X.Org ANSI C Emulation: 0.4
[    12.273]    X.Org Video Driver: 23.0
[    12.273]    X.Org XInput driver : 24.1
[    12.273]    X.Org Server Extension : 10.0
[    12.286] (II) xfree86: Adding drm device (/dev/dri/card0)
[    12.286] (II) no primary bus or device found
[    12.286]    falling back to /sys/devices/platform/Vivante GCCore/drm/card0
[    12.286] (II) LoadModule: "glx"
[    12.346] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    12.553] (II) Module glx: vendor="X.Org Foundation"
[    12.553]    compiled for 1.19.3, module version = 1.0.0
[    12.553]    ABI class: X.Org Server Extension, version 10.0
[    12.553] (II) LoadModule: "vivante"
[    12.554] (WW) Warning, couldn't open module vivante
[    12.554] (II) UnloadModule: "vivante"
[    12.554] (II) Unloading vivante
[    12.554] (EE) Failed to load module "vivante" (module does not exist, 0)
[    12.554] (EE) No drivers available.
[    12.554] (EE)
Fatal server error:
[    12.554] (EE) no screens found(EE)
[    12.555] (EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
[    12.555] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[    12.555] (EE)
[    12.555] (EE) Server terminated with error (1). Closing log file.


If I look at the /etc/X11/xorg.conf file I get:

 

# cat xorg.conf

 

Section "Device"
    Identifier  "i.MX Accelerated Framebuffer Device"
    Driver      "vivante"
    Option      "fbdev"     "/dev/fb0"
    Option      "vivante_fbdev" "/dev/fb0"
    Option      "HWcursor"  "false"
EndSection

 

Section "ServerFlags"
    Option "BlankTime"  "0"
    Option "StandbyTime"  "0"
    Option "SuspendTime"  "0"
    Option "OffTime"  "0"
EndSection

 

If I look at the i.MX_Reference_Manual.pdf, Rev. L4.9.88_2.0.0-ga, 05/2018, Page 172
[5.3.2.5 xorg.conf for i.MX]

 

I see it recommends the following setup:

 

Section "ServerLayout"
    Identifier "Default Layout"
    Screen "Default Screen"
EndSection

 

Section "Module"
    Load "dbe"
    Load "extmod"
    Load "freetype"
    Load "glx"
    Load "dri"
EndSection

 

Section "InputDevice"
    Identifier "Generic Keyboard"
    Driver "kbd"
    Option "XkbLayout" "us"
    Option "XkbModel" "pc105"
    Option "XkbRules" "xorg"
EndSection

 

Section "InputDevice"
    Identifier "Configured Mouse"
    Driver "mouse"
    Option "CorePointer"
EndSection

 

Section "Device"
    Identifier "Your Accelerated Framebuffer Device"
    Driver "vivante"
    Option "fbdev" "/dev/fb0"
    Option "vivante_fbdev" "/dev/fb0"
    Option "HWcursor" "false"
EndSection

 

Section "Monitor"
    Identifier "Configured Monitor"
EndSection

 


Section "Screen"
    Identifier "Default Screen"
    Monitor "Configured Monitor"
    Device "Your Accelerated Framebuffer Device"
    DefaultDepth 24
EndSection

 

Section "DRI"
    Mode 0666
EndSection

 

Now I get the following:

 

# cat /var/log/Xorg.0.log
[    12.450]
X.Org X Server 1.19.3
Release Date: 2017-03-15
[    12.472] X Protocol Version 11, Revision 0
[    12.472] Build Operating System: Linux 4.15.0-29-generic x86_64
[    12.472] Current Operating System: Linux imx6ull-theopolis 4.9.88-imx_4.9.88_2.0.0_ga+g5e23f9d61147 #1 SMP PREEMPT Mon Dec 3 11:14:00 GMT 2018 armv7l
[    12.472] Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw
[    12.472] Build Date: 23 October 2018  04:01:16PM
[    12.472]  
[    12.472] Current version of pixman: 0.34.0
[    12.473]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[    12.473] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    12.498] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Oct 23 13:46:05 2018
[    12.532] (==) Using config file: "/etc/X11/xorg.conf"
[    12.533] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    12.569] (==) ServerLayout "Default Layout"
[    12.569] (**) |-->Screen "Default Screen" (0)
[    12.569] (**) |   |-->Monitor "Configured Monitor"
[    12.591] (**) |   |-->Device "Your Accelerated Framebuffer Device"
[    12.592] (==) Automatically adding devices
[    12.592] (==) Automatically enabling devices
[    12.592] (==) Automatically adding GPU devices
[    12.592] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    12.621] (WW) The directory "/usr/share/fonts/X11/misc/" does not exist.
[    12.621]    Entry deleted from font path.
[    12.621] (WW) The directory "/usr/share/fonts/X11/TTF/" does not exist.
[    12.621]    Entry deleted from font path.
[    12.621] (WW) The directory "/usr/share/fonts/X11/OTF/" does not exist.
[    12.621]    Entry deleted from font path.
[    12.621] (WW) The directory "/usr/share/fonts/X11/Type1/" does not exist.
[    12.621]    Entry deleted from font path.
[    12.621] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[    12.621]    Entry deleted from font path.
[    12.621] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[    12.621]    Entry deleted from font path.
[    12.621] (==) FontPath set to:

 

[    12.622] (==) ModulePath set to "/usr/lib/xorg/modules"
[    12.622] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[    12.622] (II) Loader magic: 0x1c3d18
[    12.622] (II) Module ABI versions:
[    12.622]    X.Org ANSI C Emulation: 0.4
[    12.622]    X.Org Video Driver: 23.0
[    12.622]    X.Org XInput driver : 24.1
[    12.622]    X.Org Server Extension : 10.0
[    12.624] (II) xfree86: Adding drm device (/dev/dri/card0)
[    12.625] (II) no primary bus or device found
[    12.625]    falling back to /sys/devices/platform/Vivante GCCore/drm/card0
[    12.625] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
[    12.625] (II) LoadModule: "dbe"
[    12.625] (II) Module "dbe" already built-in
[    12.626] (II) LoadModule: "extmod"
[    12.626] (II) Module "extmod" already built-in
[    12.626] (II) LoadModule: "glx"
[    12.776] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    12.973] (II) Module glx: vendor="X.Org Foundation"
[    12.973]    compiled for 1.19.3, module version = 1.0.0
[    12.973]    ABI class: X.Org Server Extension, version 10.0
[    12.973] (II) LoadModule: "dri"
[    12.973] (II) Module "dri" already built-in
[    12.973] (II) LoadModule: "vivante"
[    12.974] (WW) Warning, couldn't open module vivante
[    12.974] (II) UnloadModule: "vivante"
[    12.974] (II) Unloading vivante
[    12.974] (EE) Failed to load module "vivante" (module does not exist, 0)
[    12.974] (EE) No drivers available.
[    13.009] (EE)
Fatal server error:
[    13.013] (EE) no screens found(EE)
[    13.013] (EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
[    13.013] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[    13.013] (EE)
[    13.013] (EE) Server terminated with error (1). Closing log file.

 

 

 

If I look at the i.MX_Reference_Manual.pdf, Rev. L4.9.88_2.0.0-ga, 05/2018, Page 174
[5.3.2.6 Setup X-Windows System Acceleration on Yocto]

 

It recommends building:

bitbake xf86-video-imxfb-vivante

However, this gives the following error:

 

$ bitbake xf86-video-imxfb-vivante
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |###########################################################################################################################| Time: 0:00:00
Loaded 3285 entries from dependency cache.
Parsing recipes: 100% |#########################################################################################################################| Time: 0:00:02
Parsing of 2446 .bb files complete (2444 cached, 2 parsed). 3287 targets, 219 skipped, 8 masked, 0 errors.
ERROR: Nothing PROVIDES 'xf86-video-imxfb-vivante'. Close matches:
  xf86-video-imx-vivante
  xf86-video-intel
  xf86-video-fbdev

 

Summary: There was 1 WARNING message shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.

 

 

So it seems like the documentation is maybe outdated or incorrect.

 

Can someone advise on this? Is this the correct path?

 

I will try xf86-video-imx-vivante but it seems strange that this isn't already set up to work in the demo images.

 

Thanks,

 

Brian.

Outcomes