how to enable firefly rk3288 reload openGL/CL feature?

本帖最后由 dalton.lai 于 2016-9-28 17:19 编辑

hi,

  1. I have compiled the kernel 3.10 and copy compiled mali_kbase.ko into /system/lib/modules.

  2. And, copy below Midgard GPU User-Space Binary Drivers into /usr/lib.
    mali-t76x_r5p0-06rel0_linux_1+fbdev.tar.gz
    mali-t76x_r6p0-02rel0_linux_1+fbdev.tar.gz

  3. lsmod to check if the mali_kbase.ko have loaded as below
    Module Size Used by
    mali_kbase 240797 0

  4. make sure we have full permission to access:
    /dev/mali0
    /dev/fb*
    mali_kbase.ko
    Midgard GPU User-Space Binary Drivers

  5. check the kernel space driver in kernel source (seems modified from TX011-SW-99002-r6p0-02rel0.tgz)

  6. follow below thread to setup fb
    http://bbs.t-firefly.com/forum.php?mod=viewthread&tid=321&highlight=driver
    ╭────
    │ sudo -s
    │ cat << EOF >/etc/init/fbset.conf
    │ # fbset - run fbset to set truecolor fbmo
    │ description “run fbset before lightdm”
    │ start on startup and started udev or starting lightdm
    │ task
    │ script
    │ [ -x /bin/fbset ] && /bin/fbset -a -nonstd 1 -depth 32 -rgba “8/0,8/8,8/16,8/24”
    │ end script
    │ EOF
    │ cat << EOF >/etc/X11/xorg.conf
    │ Section “Screen”
    │ Identifier “Default Screen”
    │ DefaultDepth 24
    │ EndSection
    │ EOF
    ╰────

But, it seems still not work:
firefly@firefly:~$ sudo clinfo
I: ICD loader reports no usable platforms

firefly@firefly:~$ sudo glmark2
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.

glmark2 2012.08

=======================================================
OpenGL Information
GL_VENDOR: Mesa Project
GL_RENDERER: Software Rasterizer
GL_VERSION: 2.1 Mesa 10.1.3

firefly@firefly:~$ glmark2-es2
libEGL warning: GLX/DRI2 is not supported
libEGL warning: DRI2: failed to authenticate
Error: eglChooseConfig() didn’t return any configs
Error: Error: Could not get a valid XVisualInfo!
Error: Error: Couldn’t create X Window!
Error: main: Could not initialize canvas

So, any one can help to guide me to debug for this problem?
Thanks a lot.

同求,顶起

试试这个固件 http://developer.t-firefly.com/thread-9233-1-1.html
opengles是ok的

hi isle,

thanks a lot for your information.
I have test with Firefly-rk3288_Ubuntu_1604_2016_08291523_Beta.img on reload board, and openCL/openGL ES both works well, except VGA i2c4 keep prompting in console to lag the system. (appended logs as below)

[ 1722.064489] rk3x-i2c ff160000.i2c: timeout, ipd: 0x80, state: 2
[ 1722.164485] rk3x-i2c ff160000.i2c: timeout, ipd: 0x80, state: 2
[ 1732.284885] rk3x-i2c ff160000.i2c: timeout, ipd: 0x80, state: 2

anyway, it works, thank you.
{:4_178:}

dalton.lai 发表于 2016-10-9 17:33
hi isle,

thanks a lot for your information.

您好,dalton.lai ,请教一下,请问新的固件,
是已经把 mali驱动都已经编译整合好了,我们只需要 apt-get install glmark2-es2 就可以测试 opengl了。

还是说我们必须自己按照文档操作一下,编译内核,编译模块,把 mali_kbase.ko 自己加进去才行。

dalton.lai 发表于 2016-10-9 17:33
hi isle,

thanks a lot for your information.

您好,dalton.lai ,请教一下,请问新的固件,
是已经把 mali驱动都已经编译整合好了,我们只需要 apt-get install glmark2-es2 就可以测试 opengl了。
还是说我们必须自己按照文档操作一下,编译内核,编译模块,把 mali_kbase.ko 自己加进去才行。

isle 发表于 2016-10-9 09:32
试试这个固件 http://developer.t-firefly.com/thread-9233-1-1.html
opengles是ok的

您好 isle:

我在 rk3288_reload 板子上 想要按照文档
http://bbs.t-firefly.com/forum.php?mod=viewthread&tid=321&extra=page%253D2
测试opengl。但是碰到一些问题,能不能指导一下,我是哪一步做错了。

  1. 下载内核源码
    git clone http://bitbucket.org/T-Firefly/firefly-rk3288-kernel.git
    mv firefly-rk3288-kernel kernel 重命名一下
    cd kernel
    git fetch origin lollipop:lollipop
    git checkout lollipop

  2. 先编译一遍
    make firefly-rk3288-reload-linux_defconfig
    make -j8 firefly-rk3288-reload-linux.img

  3. 下载
    firefly-mali-driver-TX011-SW-99002-r5p1-00rel0.tar
    到跟kernel在同一级目录里
    tar zxvf firefly-mali-driver-TX011-SW-99002-r5p1-00re10.tar
    cd kernel
    然后编辑 arch/arm/configs/firefly-rk3288-reload-linux_defconfig (解压补丁包的时候,更新了 firefly-rk3288-linux_defconfig, 但是我用的是reload板子,所以看了一下 firefly-rk3288-linux_defconfig 的变化,然后修改 firefly-rk3288-reload-linux_defconfig, 不知道这样做是不是对的)
    在 firefly-rk3288-reload-linux_defconfig 文件里:
    尾部增加三行
    CONFIG_DMA_SHARED_BUFFER_USES_KDS=y
    CONFIG_KDS=y
    CONFIG_MALI_PLATFORM_FAKE=y
    中间也有一部分mali配置的,将
    CONFIG_MALI400=m
    # CONFIG_MALI400_PROFILING is not set
    CONFIG_MALI_SHARED_INTERRUPTS=y
    这三行全都屏蔽掉。 就修改了这两处

  4. 再次编译
    make firefly-rk3288-reload-linux_defconfig
    make -j8 firefly-rk3288-reload-linux.img

  5. 编译modules
    make modules
    然后报错
    报错1: 找不到 arm_cstd.h , 我搜了一下打补丁之前的内核,有这个文件,于是将 打补丁之前的 drivers/gpu/arm/midgard/malisw/arm_cstd 目录都拷贝过来 错误没有了
    报错2: 提示缺好几个 mali_kbase_pm*.h, 搜了一下打补丁之前的内核,有的都拷贝过来,错误没了
    报错3: 提示却 mali_kbase_device_internal.h 找不到了,就不知道该怎么办了。

因为文档里边提供的补丁包,是更新了 firefly-rk3288-linux_defconfig ,但是我用的是reload板子,所以不太清楚哪些步骤需要调整,谢谢了。

dalton.lai 发表于 2016-10-9 17:33
hi isle,

thanks a lot for your information.

你好,dalton.lai,请问能详细说下怎样在ubuntu系统上配置opencl环境的流程吗

dalton.lai 发表于 2016-10-9 17:33
hi isle,

thanks a lot for your information.

你好,dalton.lai,请问能详细说下怎样在ubuntu系统上配置opencl环境的流程吗