Has anyone looked into the latest Vivante Drivers for use with the 3.10.31 Kernel? I have been developing with Debian 8 on an i.MX6. I have built the Kernel 3.10.31-Beta2 from the sources provided by Freescale. I used a prior version of the DTS files for the 3.10.17 Kernel and updated them for respective changes to enable the feature sets that I ultimately want. I have spent most of this week working with X-Server. I have basically gone through and compiled from the sources the entire X-server on target including libDRM and MESA on target. I am still having an issue where the X desktop environment comes up and if I try to run anything to do with openGL then I receive the following message:
Error: couldn't find RGB GLX visual or fbconfig
I receive this message when trying to operate the Mesa Utils: glxinfo and glxgears. I have previously worked with 3.10.17_ga and was able to have the vivante drivers install. However, the installation where it worked I could get glxinfo to report the GC2000 but glxgears would not work at all. In fact, the system would hang. Because of this issue, I decided to attempt a from scratch build up to determine what the best course could be.
I have attached the Xorg.1.log file that has been saved based on this build environment. A couple items that bother me: Should I be seeing so many "drmOpenDevice" flags that seem to be attempting to be loading /dev/dri/card*? And: Should I be seeing a line which is:
GLX: no usable GL providers found for screen 0
If either of these is a non-issue, I would appreciate a head's up. I was pretty certain I should be able to get the hardware accelerated X + Open GL capability up and running. I will add that I have been able to run all of the non-X related Examples provided in the viv_samples from the gpu-viv-bin-mx6q-3.10.31-1.1.0-beta-hfp demonstrations. This requires the symlinks in /usr/lib to be pointed to the correct -fb libraries. Is there anything else that I should be doing? Is this a function of attempting to use Xorg 1.14.? I only chose this because it seems like it should be possible?
Thanks in advance for any help or input,
John
Original Attachment has been moved to: xorg-data.txt.zip
I got the reply from the expert.
================
I already compiled the 3.10.31 beta image.
All gpu examples using X11 work perfeclty. (examples can be found under /opt/fsl-gpu-sdk/GLES20_X11/)
Perhaps your customer is trying another non recommended approach, as they had to reference some FB symlinks, which should not be the case.
If I check the Xorg version it provides the following:
root@imx6qsabresd:~# Xorg -version
X.Org X Server 1.15.0
Release Date: 2013-12-27
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.13.0-43-generic x86_64
Current Operating System: Linux imx6qsabresd 3.10.31-1.1.0_beta2+g30ad12b #1 SMP PREEMPT Thu Jan 8 17:15:45 MST 2015 armv7l
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk2p2 rootwait rw
Build Date: 08 January 2015 06:20:59PM
Which is a newer Xorg version than your customer is attempting to use, so it should have all the capabilities they need.
Appreciate the feedback that you were able to get it all to work. It provides a good data point.
Are there any good references for getting video acceleration working with X11 in a non-Yocto environment? Running into similar issues as John.
I see a lot of great stuff related to getting started using yocto and support there in, but I seem to have some trouble finding great support/references if you want to build using a common flavor of Linux. I am taking a very similar path as John. Got the 3.10.31 beta kernel up with a debootstrap'd OS that installed the FSL support. Yocto has been pretty straight forward to get built and working.
I have moved to building Xorg from scratch/tarball and then reinstalling the xserver-xorg-video-imx-3.10.31 and gpu-viv-bin-mx6q-3.10.31 after I complete the Xorg build. I have gotten R7.7 w/ xserver 1.12 up and running with the vivante drivers, but glxgears/info keep reverting to SW rendering when they try to load the vivante drivers. I see people kind of getting xorg OR acceleration going. At this point I am stepping back and starting to look at what yocto does to get it all working with the FSL provided support. The non-yocto process certainly isn't straight forward as I have found/submitted bugs for things like Mesa's build process on the ARM if you do not cut out building the gallium drivers. I have been able to get around most of things, but it certainly is not a pain free or straight forward process. The thing I have not really seen is a great place to track the state of the provided FSL support. It kind of just seems to get dropped. That kind of makes since in the Yocto realm as they kind of organically absorb it, but it makes it difficult if you want to try something outside of Yocto and know what you are dealing with.
I am currently building Xorg with xserver 1.14, based on what appears to be delay in Yocto to adapting 1.16.
jimmychan,
Thank you for the reply. I definitely have not tried the fsl-gpu-sdk. I have been pulling from several sources about getting Hardware Acceleration on the i.MX6 for X11/GL applications. I have been referencing some of the Yocto supported packages. We typically have used Debian on our x86 platforms and thus the desire to stick with that specific flavor.
In the last day and a half, I have roughly moved past this issue. I posted this thread: Vivante Behavior in 3.10.31-1.1.0-beta and would appreciate it if you have time to take a look or ask your expert. A listing of Xorg -version on my current setup yields:
jessie@deb7reep:~/usr/var/log$ Xorg -version
X.Org X Server 1.14.4
Release Date: 2013-10-31
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.10.31-82561-g30ad12b-dirty armv7l
Current Operating System: Linux deb7reep 3.10.31-82561-g30ad12b-dirty #4 SMP Mon Dec 8 13:43:46 EST 2014 armv7l
Kernel command line: console=ttymxc0,115200n8 vmalloc=400M fbmem=28M console=tty0 root=/dev/mmcblk3p2 rw rootfstype=ext3 rootwait rw video=mxcfb0:dev=ldb,ldb=sin1,bpp=32,1280x800M@60,if=RGB666 video=mxcfb1:off video=mxcfb2:off mxcfb3:off
Build Date: 07 January 2015 01:34:11PM
Current version of pixman: 0.33.1
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
I attempted to use a 1.12 version of Xorg and a 1.16 and have settled back to 1.14.4 (all experienced this similar issue of the new post).
I have built some of the Yocto releases for my custom board a while back but have not done so recently. It seemed that the acceleration and capabilities were working there and so I know they should work.
I believe that my major issue with the OpenGL items is in the fact that I built up a more bare bones version of Xserver when I posted this thread a few weeks back. I have since begun to use the more common build script method for Xserver as I listed in the post mentioned above. I now am able to run the Xserver in the same manner as mentioned in this thread and have eliminated the OpenGL and RGB errors. However, I am now experiencing GL applications such as glxinfo and glxgears as either running correctly OR segmentation faulting. And it appears that I can just rerun the commands even if they return segmentation fault several times and they will eventually run. Is this a bug? Or Is this a bad configuration on my behalf? I would lean towards a configuration/build/code/linking issue on my behalf.
Any other information would be greatly appreciated and thank you for the confirmation of X/GPU,
John