Hello everyone,
We are using the iMX8QXP MEK board with Yocto Zeus, L5.4.24-2.1.0.
We are trying to run an OpenGL application to display images on the HDMI display using an LVDS-HDMI adapter card. We are using the LVDS0 interface for this.
We are using imx-image-multimedia for building image and DISTRO=fsl-imx-xwayland.
In our application we are using OpenGL library, glut, freeglut, and DevIL(Developer’s Image Library).
As per the user manual iMX8QXP supports OpenGL application
When we tried to execute the application it gave this error:
freeglut (./xyz): failed to open display '
Our LVDS node in dts:
&ldb1 {
status = "okay";
lvds-channel@0 {
fsl,data-mapping = "jeida";
fsl,data-width = <24>;
status = "okay";
port@1 {
reg = <1>;
lvds0_out: endpoint {
remote-endpoint = <&it6263_0_in>;
};
};
};
};
fbset command output:
root@imx8qxpmek:/unit_tests/Display# fbset
mode "1366x768"
geometry 1366 768 1366 768 16
timings 0 0 0 0 0 0 0
accel true
rgba 5/11,6/5,5/0,0/0
endmode
gpuinfo.sh output:
root@imx8qxpmek:/unit_tests/GPU# ./gpuinfo.sh
---- Running < gpuinfo.sh > test ----
GPU Info
gpu : 0
model : 7000
revision : 6214
product : 70002
eco : 0
VIDEO MEMORY:
POOL SYSTEM:
Free : 249002624 B
Used : 19432832 B
MinFree : 239597104 B
MaxUsed : 28838352 B
Total : 268435456 B
POOL VIRTUAL:
Used : 0 B
MaxUsed : 0 B
CMA memory info
cat: /sys/kernel/debug/gc/allocators/cma/cmausage: No such file or directory
VidMem Usage (Process 757: weston):
Current Maximum Total
All-Types 19383320 19558168 26817656
Index 0 0 0
Vertex 1048576 1048576 1048576
Texture 376832 376832 376832
RenderTarget 17301504 17301504 17301504
Depth 0 0 0
Bitmap 0 0 0
TileStatus 0 0 0
Image 0 0 0
Mask 0 0 0
Scissor 0 0 0
HZ 0 0 0
ICache 272 272 272
TxDesc 768 5120 91392
Fence 8 8 8
TFBHeader 0 0 0
Command 655360 655360 655360
All-Types 19383320 19558168 26817656
Index 0 0 0
Vertex 1048576 1048576 1048576
Texture 376832 376832 376832
RenderTarget 17301504 17301504 17301504
Depth 0 0 0
Bitmap 0 0 0
TileStatus 0 0 0
Image 0 0 0
Mask 0 0 0
Scissor 0 0 0
HZ 0 0 0
ICache 272 272 272
TxDesc 768 5120 91392
Fence 8 8 8
TFBHeader 0 0 0
Command 655360 655360 655360
All-Pools 19383320 19558168 26817656
Default 0 0 0
Local 0 0 0
Internal 0 0 0
External 0 0 0
Unified 0 0 0
System 19383320 19558168 26817656
Sram 0 0 0
Virtual 0 0 0
User 0 0 0
Insram 0 0 0
Exsram 0 0 0
AllocNonPaged 0 0 0
AllocContiguous 19383320 19558168 26817656
MapUserMemory 0 0 0
MapMemory 268435456 268435456 268435456
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Idle percentage:0.000.000.000.00%
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
---- Test < gpuinfo.sh > ended ----
What we have tried:
1. export DISPLAY=:0.0
2. FB_FRAMEBUFFER_0 = /dev/fb0
3. We have tried running the application using imx8qxp-mek.dtb as well as imx8qxp-mek-it6263-lvds0-dual-channel.dtb but the issue is not resolved.
4. Tried adding “fsl, no_edid” into &lbd1 node in imx8qxp-mek.dts file
After export DISPLAY=:0.0 if we run the application we have this error:
freeglut (./xyz): OpenGL GLX extension not supported by display ':0.0'
Any suggestion for running our OpenGL application on the iMX8QXP MEK board would be greatly appreciated.
Thank you
Priyank
Hello Priyant_bhatt,
Freeglut is not supported by default in yocto, I Think you need mesa to run it.
FreeGLUT – FreeGLUT is an open source alternative to the OpenGL Utility Toolkit (GLUT), a window system independent toolkit for writing OpenGL programs. It implements a simple windowing application programming interface (API) for OpenGL. This is not necessary for drawing the model on the window but foes allow for functions such as rotating it.
Regards
Hello @Bio_TICFSL
Thank you for a quick reply.
In my build folder, I can see freeglut and mesa. Also when building using imx-image-multimedia I can observe mesa being compiled.
I have added DEPENDS = "devil freeglut mesa" to my .bb file still, I am unable to execute the application.
I also tried by adding
DISTRO_FEATURES_append = " opengl"
CORE_IMAGE_BASE_INSTALL += "libgles1-mesa"
CORE_IMAGE_BASE_INSTALL += "libgles2-mesa"
CORE_IMAGE_BASE_INSTALL += "libegl-mesa"
to my local.conf file.
I am new to the OpenGL application. Please provide any reference we can use to resolve this issue.
Thank you
Priyank