IMX6 Solo GPU Performance Issue With opengl ES 1.1

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

IMX6 Solo GPU Performance Issue With opengl ES 1.1

640件の閲覧回数
vishnu_motghare
Contributor III

We have an IMX6 solo custom device running with WinCE7 & Linux running

We have developed a custom benchmark application using OpenGL ES1.1

When I ran the benchmark application on WinCE7 the performance looked good

 

Environment information
-----------------------
EGL version : 1.4
GL vendor   : Vivante Corporation
GL renderer : Vivante GC880
GL version  : OpenGL ES1.1
 
run scene 'Floating Frame3D VBO'
initialize, DATA_SIZE:11264, No of Frames:512
Average FPS = 48.075005
---
 
run scene 'Floating Frame3D'
initialize, DATA_SIZE:11264, No of Frames:512
Average FPS = 31.975005
---
 
run scene 'Frame 3D Fixed'
initialize, DATA_SIZE:11264, No of Frames:512
Average FPS = 31.505484
---
 
run scene 'Floating graph'
Average FPS = 238.403093
---
 
run scene 'Fixed graph'
Average FPS = 238.187271

 

Running the same application on Linux shows a 50 % drop in performance

 

Environment information
-----------------------
EGL version : 1.4
GL vendor   : etnaviv
GL renderer : Vivante GC880 rev 5106
GL version  : OpenGL ES 1.1 Mesa 22.0.3
 
run scene 'Floating Frame3D VBO'
initialize, DATA_SIZE:11264, No of Frames:512
Average FPS = 26.872623
---
 
run scene 'Floating Frame3D'
initialize, DATA_SIZE:11264, No of Frames:512
Average FPS = 24.373300
---
 
run scene 'Frame 3D Fixed'
initialize, DATA_SIZE:11264, No of Frames:512
Average FPS = 23.783205
---
 
run scene 'Floating graph'
Average FPS = 136.624447
---
 
run scene 'Fixed graph'
Average FPS = 136.510016

 

On Linux, we are using Mainline 5.15 kernel,  xf86-video-armada, and below is the xorg.conf  configuration

 

Section "Device"
    Identifier  "Kernel Framebuffer Device"

    Screen      0

    Driver      "armada"

    Option      "fbdev"            "/dev/fb0"
    Option      "Hotplug"          "FALSE"
    Option      "HWCursor"         "TRUE"
    Option      "UseGPU"           "TRUE"
    Option      "XvAccel"          "TRUE"
    Option      "XvPreferOverlay"  "TRUE"
    Option      "AccelModule"      "etnadrm_gpu"
    Option      "AccelModule"      "etnaviv_gpu"
    Option      "DRI"              "TRUE"
EndSection

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

 

I'm investigating the cause of the performance drop in Linux but I'm unsure where to look. Any help is appreciated. Thanks in advance

ラベル(4)
0 件の賞賛
返信
3 返答(返信)

596件の閲覧回数
jimmychan
NXP TechSupport
NXP TechSupport

Please check the chapter 5.3.8 xorg.conf for i.MX.

https://www.nxp.com/docs/en/reference-manual/IMX_REFERENCE_MANUAL.pdf

0 件の賞賛
返信

588件の閲覧回数
vishnu_motghare
Contributor III

@jimmychan  Thanks for your reply. I'm using the following combination

Yocto:  Kirkstone

Kernel:  5.15 (Mainline)

GPU Driver:   Etnaviv

X Driver: xf86-video-armada (ethnaviv enabled)

OpenGL: OpenGL ES 1.1

We are having performance issues with the above combination, So I thought to try with linux-imx kernel  lf-5.15.y available in the Kirkstone version.

Kernel:  lf-5.15.y (IMX)

GPU Driver: Vinante

X Driver: xf86-video-armada (Vivante enabled) (etnaviv disabled)

OpenGL: OpenGL ES 1.1

Following is my xorg.conf file

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

With the above settings, I'm getting errors like being unable to load the "Vivante" module. The following files are present in "/usr/lib/xorg/modules/drivers"

armada_drv.so etnadrm_gpu.so fbdev_drv.so vivante_gpu.so

Does IMX kernel with GPU Vivante driver enabled & xf86-video-armada (Vivante enabled) work? 

As per chapter 5.3.8, It is mentioned that we have to use "xf86-video-imxfb-vivante" X11driver but I can not find this recipe in the Kirkstone version. I see it was part of meta-fsl-arm but this is a very old repo.

Could you please let me know how to build IMX kernel with Vivante driver & xf86-video-imxfb-vivante?

 

 

 

 

 

0 件の賞賛
返信

577件の閲覧回数
jimmychan
NXP TechSupport
NXP TechSupport

I think this document should useful for you. Chapter 17 is the different environment building and setup.

https://www.nxp.com/docs/en/user-guide/IMX_GRAPHICS_USERS_GUIDE.pdf

 

0 件の賞賛
返信