Hi all,
I'm using the newest meta-fsl-arm branch (master-next) and yocto in order to build an image for my imx6dl based on the 3.10.17 kernel.
Build went through and boots. Everything looks fine until I do start my X-server. The system crashes/freezes while loading the extension 'vivext'
I'm sure that the build includes the correct recipes to provide the GPU/VPU support:
- kernel-3.10.17-1.0.0-beta+gec1af9f;3.10.17
- imx-lib;3.10.17-1.0.0
- libegl-mx6;3.10.17-1.0.0-hfp
- libgal-mx6;3.10.17-1.0.0-hfp
- libgl-mx6;3.10.17-1.0.0-hfp
- libgles2-mx6;3.10.17-1.0.0-hfp
- libglslc-mx6;3.10.17-1.0.0-hfp
- libvpu4;3.10.17-1.0.0
- xf86-video-imxfb-vivante;3.10.17-1.0.0
Any ideas?
Log output:
root@imx6dlsabresd:/etc/X11# ./Xserver
tslib: /dev/input/touchscreen0
exec xinit /etc/X11/Xsession -- /usr/bin/Xorg -br -pn -dpi 100
X.Org X Server 1.14.4
Release Date: 2013-10-31
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.11.0-14-generic x86_64
Current Operating System: Linux imx6dlsabresd 3.10.17-1.0.0_beta+gec1af9f #1 SMP Mon Feb 3 16:10:03 CET 2014 armv7l
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw
Build Date: 03 February 2014 04:34:46PM
Current version of pixman: 0.32.4
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Thu Jan 1 00:01:02 1970
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension DPMS
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension XFree86-VidModeExtension
Initializing built-in extension XFree86-DGA
Initializing built-in extension XFree86-DRI
Initializing built-in extension DRI2
Loading extension GLX
Loading extension vivext
I found the problem:
I was building my image with wrong u-boot. I was using the 'u-boot-fslc' instead of 'u-boot-imx'. Adding the following preferred provider in the local.conf has solved my problem:
PREFERRED_PROVIDER_u-boot = "u-boot-imx"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx"
In fact the problem is that U-Boot mainline lacks support for the PMIC and we need to use the -ldo device tree. Please give it a try and confirm if it solves your issue as well.
Using the u-boot-imx is another solution as it provides the PMIC and LDO bypass support. But I always prefer to stay close to mainline :smileywink:
Otavio, thanks for your advice. I have tested my setup with the 'uboot-fslc' and the ldo dtb:
I have just modified my u-boot variable from
fdt_file=imx6dl-sabresd.dtb
to
fdt_file=imx6dl-sabresd-ldo.dtb (setenv fdt_file 'imx6dl-sabresd-ldo.dtb')
This has fixed the issue as well. So it makes sense to stick with the mainline u-boot. Thanks alot!
Tom,
Please send this changes as a patch to meta-fsl-arm if you have a chance.
Regards,
Fabio Estevam
Hi Tom, actually you only need one on those lines. I will keep the second and remove the first.
Thanks for the feedback, I will keep the second line :smileywink:
Please ignore my previous recommendation. Seems that both statements are needed :smileyhappy: Sorry for the noise. The interesting point I can get from this is that kernel just needs one (PREFERRED_PROVIDER_virtual/kernel="linux-imx") so I was indeed biased by this fact...