A100 运行OpenGL测试程序失败
-
root@TinaLinux:/# glmark2-es2-fbdev Error: eglInitialize() failed with error: 0x3001 Error: eglInitialize() failed with error: 0x3001 Error: main: Could not initialize canvas root@TinaLinux:/#
-
编译ge8300 gpu驱动:
make -C lichee/linux-4.9/modules/gpu/img-rgx/linux/rogue_km/build/linux/sunxi_linux KERNELDIR=/opt/a133/tina/out/mr813-a3/compile_dir/target/linux-mr813-a3/linux-4.9.191 HOSTCFLAGS="-O2 -I/opt/a133/tina/out/host/include -I/opt/a133/tina/out/host/usr/include \-Wall -Wmissing-prototypes -Wstrict-prototypes" CROSS_COMPILE="/opt/a133/tina/prebuilt/gcc/linux-x86/aarch64/toolchain-sunxi-glibc/toolchain/bin/aarch64-openwrt-linux-gnu-" ARCH="arm64" KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="" KBUILD_BUILD_HOST="" CONFIG_SHELL="bash" V='' CC="aarch64-openwrt-linux-gnu-gcc"
装上 pvrsvrkm.ko / dc_sunxi.ko 驱动:
root@TinaLinux:/# insmod /tmp/pvrsrvkm.ko -f [36837.459392] pvrsrvkm: loading out-of-tree module taints kernel. [36837.474740] pvrsrvkm: unknown parameter '-f' ignored [36837.494098] PVR_K: 2246: Read BVNC 22.102.54.38 from HW device registers [36837.501763] PVR_K: 2246: RGX Device initialised with BVNC 22.102.54.38 [36837.513679] [drm] Initialized pvr 1.10.5260539 20170530 on minor 0 root@TinaLinux:/# insmod /tmp/dc_sunxi.ko [36841.494514] Found usable fbdev device (): [36841.494514] range (physical) = 0xff800000-0xfffd0000 [36841.494514] size (bytes) = 0x7d0000 [36841.494514] xres x yres = 1280x800 [36841.494514] xres x yres (v) = 1280x1600 [36841.494514] img pix fmt = 89 [36841.494514] flipping? = 1 root@TinaLinux:/#
发现又需要固件了:
root@TinaLinux:/# glmark2-es2-fbdev [36844.958471] PVR_K: 2255: (FAIL) PVRSRVRGXInitFirmwareKM: Incompatible compatibility struct version of driver (2) and firmware (16777216). [36844.972509] PVR_K:(Error): 2255: InitFirmware: PVRSRVRGXInitFirmware failed (29) [36844.981113] PVR_K:(Error): 2255: RGXInit: InitFirmware failed (29) [36844.988193] PVR_K:(Error): 2255: PVRSRVDeviceInitialise: Initialisation of Rogue device failed (PVRSRV_ERROR_BVNC_MISMATCH) [36845.000839] PVR_K:(Error): 2255: PVRSRVDeviceInitialise: Services failed to finalise the device (PVRSRV_ERROR_NOT_INITIALISED) Error: [36845.000858] PVR_K:(Error): 2255: PVRSRVCommonDeviceOpen: Failed to initialise device (PVRSRV_ERROR_NOT_INITIALISED) eglInitialize() failed with erro[36845.004122] PVR_K:(Error): 2255: PVRSRVCommonDeviceOpen: Driver already in bad state. Device open failed. r: 0x3001 [36845.027384] PVR_K:(Error): 2255: PVRSRVCommonDeviceOpen: Driver already in bad state. Device open failed. Error: eglInitialize([36845.030678] PVR_K:(Error): 2255: PVRSRVCommonDeviceOpen: Driver already in bad state. Device open failed. ) failed with error: 0x3001 Error: main: Could not initialize canvas root@TinaLinux:/#
-
跟踪了半天代码,在 request_firmware( ) 函数加调试语句,发现需要 rgx.fw.22.102.54.38,然而我把这个文件复制到 /lib/firmware/ ,还是没啥用。
root@TinaLinux:/# glmark2-es2-fbdev [ 28.918618] ---> rgx.fw.22.102.54.38 [ 28.931238] res = 0 [ 28.938041] PVR_K: 2110: (FAIL) PVRSRVRGXInitFirmwareKM: Incompatible compatibility struct version of driver (2) and firmware (16777216). [ 28.952186] PVR_K:(Error): 2110: InitFirmware: PVRSRVRGXInitFirmware failed (29) [ 28.960736] PVR_K:(Error): 2110: RGXInit: InitFirmware failed (29) [ 28.967822] PVR_K:(Error): 2110: PVRSRVDeviceInitialise: Initialisation of Rogue device failed (PVRSRV_ERROR_BVNC_MISMATCH) [ 28.980518] PVR_K:(Error): 2110: PVRSRVDeviceInitialise: Services failed to finalise the device (PVRSRV_ERROR_NOT_INITIALISED) [ 28.993527] PVR_K:(Error): 2110: PVRSRVCommonDeviceOpen: Failed to initialise device (PVRSRV_ERROR_NOT_INITIALISED) [ 29.008808] PVR_K:(Error): 2110: PVRSRVCommonDeviceOpen: Driver already in bad state. Device open failed. Error: [ 29.023563] PVR_K:(Error): 2110: PVRSRVCommonDeviceOpen: Driver already in bad state. Device open failed. eglInitialize() failed with error: 0x3001 [ 29.040319] PVR_K:(Error): 2110: PVRSRVCommonDeviceOpen: Driver already in bad state. Device open failed. Error: eglInitialize() failed with error: 0x3001 Error: main: Could not initialize canvas root@TinaLinux:/#
-
root@TinaLinux:/# opengles_demo initializing EGL... [ 51.600508] PVR_K: 2182: (FAIL) PVRSRVRGXInitFirmwareKM: Incompatible compatibility struct version of driver (2) and firmware (16777216). [ 51.614542] PVR_K:(Error): 2182: InitFirmware: PVRSRVRGXInitFirmware failed (29) [ 51.623066] PVR_K:(Error): 2182: RGXInit: InitFirmware failed (29) [ 51.630146] PVR_K:(Error): 2182: PVRSRVDeviceInitialise: Initialisation of Rogue device failed (PVRSRV_ERROR_BVNC_MISMATCH) [ 51.642810] PVR_K:(Error): 2182: PVRSRVDeviceInitialise: Services failed to finalise the device (PVRSRV_ERROR_NOT_INITIALISED) line 555: eglGetError() = 0x3001[ 51.642828] PVR_K:(Error): 2182: PVRSRVCommonDeviceOpen: Failed to initialise device (PVRSRV_ERROR_NOT_INITIALISED) : not initialized [ 51.646127] PVR_K:(Error): 2182: PVRSRVCommonDeviceOpen: Driver already in bad state. Device open failed. root@TinaLinux:/#
又折腾N次,运行opengles_demo还是不行,算了,洗洗睡吧。
-
@tigger 兄弟弄出来了吗?
Copyright © 2023 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号