i.MX6Q linux-fslc X11 OpenGL Vivante setup problem (LVDS/LDB)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6Q linux-fslc X11 OpenGL Vivante setup problem (LVDS/LDB)

1,936 Views
aitmhof
Contributor II

Hi everyone,

 

this has been bugging me a while. I hope you guys can help me out here and point me to what I'm doing wrong.

 

We use the i.MX6 PFLA02 and PBAB01 boards from Phytec. Display is connected to LVDS/LDB.

Our current SW chain is yocto/poky 1.7 (dizzy)/1.8 (fido) (currently I switched to 1.8)

 

In ported the phytec board file to 1.8 and the phytec patches for the device tree to 1.8 (in the hope I did not do anything wrong there).

We deactivated the fsl-alsa and gst plugins as they require imx-lib (mxc driver set). Which is not available in linux-fslc.

 

So the board boots. USB etc. looks to work fine. But when using OpenGL and the imx-vivante-fb driver for X11 with imx-drm and not the standard X11 fb and mesa drivers we can not get X11 to run.

Do we need the FSL--ML mxc driver set for OpenGL or is it supported with imx-drm?

 

Other Symptoms:

fb0/mode, ... empty

Xorg Vivante virtual width 0

 

If the drivers are fine then I suspect we either have some wrong display (timing) in the ldb node in the DT or a wrong configuration of Xorg. (Please note we also have some parallel display defs and hdmi defs still in the DT, which are currently unused by us if those should be conflicting somehow).

 

Thanks and kr,

 

Markus

Original Attachment has been moved to: local.conf.zip

Original Attachment has been moved to: dmesg.zip

Original Attachment has been moved to: imx6qdl-phytec-pfla02.dtsi.zip

Original Attachment has been moved to: imx6q-pbab01.conf.zip

Original Attachment has been moved to: Xorg.0.log.zip

5 Replies

799 Views
mtx512
Contributor V

You need to ensure your using the x11 vivante libraries not fb.

I suggest you first ensure the framebuffer is correctly setup for ldvs and works with console/terminal shell. Then test vivante fb libraries against the frambuffer to ensure they are working. After that you should try the x11 vivante libraries (I have a old blog entry that may help you).  It was difficult to review the dmesg output as you have a lot of debug output.

0 Kudos

799 Views
aitmhof
Contributor II

The fb must be working, if it works in SW-mode, right? Since either way you need a working drm fb. The console output is showing up on the display. Using X11 with just mesa-OpenGL and standard X11-fbdev driver works. Just when we switch to the GPU drivers, the xserver fails. With the above error. My assumption was that the OpenGL handle all rendering to the fb and no special driver is needed anymore, but maybe they still depend somehow on mxcfb?

So currently we use linux-fslc 3.19 (poky fido), which only has imx-drm (no mxcfb or imx-lib, etc.), imx-gpu-viv_5.0.11.p4.4-hfp aind x86-imxfb-vivante. But as of poky the X11 drivers have no dependency on imx-lib, only the fsl-alsa and gst plug-ins, so I thought it should work.

I tried out the vivante_samples already, which do not work by immediately terminating without error (because the kernel console is spawned there?).

Compared to your config I don't have a IMX_DRM_VIVANTE (probably part of the imx-lib and mxc kernel drivers  like mxcfb).

Kr,

Markus

Libraries/Xorg Drivers containing vivante in their name:

./usr/lib/libVivanteOpenCL.so                                             
./usr/lib/dri/vivante_dri.so                                              

./usr/lib/xorg/modules/drivers/vivante_drv.so

0 Kudos

799 Views
mtx512
Contributor V

Having console output just indicates the framebuffer driver is working for your display. However first you have to prove first the vivante libraries can interact (h/w accleration) against the frambuffer using the vivante-fb libraries by launching a sample EGL application.  You should do that first because it validates the vivante kernel drivers (drivers/mxc/gpu-viv) are functioning correctly because in your dmesg there is no indication of the Galcore/Vivante version being reported. 

0 Kudos

799 Views
aitmhof
Contributor II

OK, that was one part of my question: So, the vivante (OGL/EGL) libraries do need the mxc driver set (which I don't have using the linux-fslc kernel) after all? Poky declares no dependency to mxc-driver, that's why I thought that maybe to GL/X11 libraries already handle the hardware and render to the fb.

So to sum up, can you confirm that if we just use the linux-fslc kernel (without migrating mxc) we will not be able to use HW acceleration or HW rendering?

Thanks,

Markus

0 Kudos

799 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Markus,

Most Hal events are handle by the mxc drivers that the main reason gpu-viv need it, if your plan is not to use any other modules besides GPU, as example GL used for data processing without display or EGL, then I guess you will be able to manage without mxc drivers.

hope this helps

0 Kudos