Moklev Posted June 26, 2018 Posted June 26, 2018 Bootlin has released the new blobs (32&64 bit, X11/fbdev/Wayland, r6p2/r8p1). https://bootlin.com/blog/more-opengl-binaries-for-the-mali-support-on-allwinner-platforms-with-mainline-linux/ https://github.com/free-electrons/mali-blobs
@lex Posted June 27, 2018 Posted June 27, 2018 That's interesting. And then the fun begins, i gave it a try using r8p1 with kernel 4.4 on A64 and it works... a bit slow but works, though i don't know for how long. Framebuffer only. The weird thing (it's kind of frankenstein): ======================================================= glmark2 2012.12 ======================================================= OpenGL Information GL_VENDOR: ARM GL_RENDERER: Mali-400 MP GL_VERSION: OpenGL ES 2.0 "mali450-r5p1-01rel0-lollipop-233-g52c929d" ======================================================= [build] use-vbo=false: FPS: 60 FrameTime: 16.667 ms [build] use-vbo=true: FPS: 60 FrameTime: 16.667 ms [texture] texture-filter=nearest: FPS: 60 FrameTime: 16.667 ms [texture] texture-filter=linear: FPS: 60 FrameTime: 16.667 ms [texture] texture-filter=mipmap: FPS: 60 FrameTime: 16.667 ms [shading] shading=gouraud: FPS: 60 FrameTime: 16.667 ms Does Anyone one know a complete recipe for building KODI or similar (framebuffer) to check if this is really working? 1
@lex Posted June 27, 2018 Posted June 27, 2018 My try with mainline kernel 4.17.3 , mali DT bind seems wrong: [ 7.715811] mali: loading out-of-tree module taints kernel. [ 7.736417] Allwinner sunXi mali glue initialized [ 7.888305] Mali: ERR: /arm/ubuntu/h5/mainline/sunxi-mali/r8p1/src/devicedrv/mali/common/mali_pp.c [ 7.888314] mali_pp_reset_wait() 269 [ 7.888317] Mali PP: Failed to reset core Mali_PP0, rawstat: 0x00000000 [ 7.888330] Mali: ERR: /arm/ubuntu/h5/mainline/sunxi-mali/r8p1/src/devicedrv/mali/common/mali_kernel_core.c [ 7.888332] mali_parse_product_info() 178 [ 7.888399] Mali: ERR: /arm/ubuntu/h5/mainline/sunxi-mali/r8p1/src/devicedrv/mali/linux/mali_kernel_linux.c [ 7.888401] mali_probe() 606 [ 7.888403] mali_probe(): Failed to initialize Mali device driver. [ 7.888413] Mali: ERR: /arm/ubuntu/h5/mainline/sunxi-mali/r8p1/src/devicedrv/mali/linux/mali_devfreq.c [ 7.888415] mali_devfreq_term() 309 [ 7.888447] mali-utgard: probe of mali-utgard.0 failed with error -14 [ 7.888502] Mali: [ 7.888504] Mali device driver loaded I used the same node as H3: soc { mali: gpu@1c40000 { compatible = "allwinner,sun8i-h3-mali", "arm,mali-400"; reg = <0x01c40000 0x10000>; interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "gp", "gpmmu", "pp0", "ppmmu0", "pp1", "ppmmu1", "pmu"; clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; clock-names = "bus", "core"; resets = <&ccu RST_BUS_GPU>; assigned-clocks = <&ccu CLK_GPU>; assigned-clock-rates = <384000000>; }; }; Any thoughts / ideas?
jernej Posted June 27, 2018 Posted June 27, 2018 3 hours ago, @lex said: Any thoughts / ideas? H5 has mali 450, which needs different binding and different userspace library.
Moklev Posted June 28, 2018 Author Posted June 28, 2018 12 hours ago, jernej said: H5 has mali 450, which needs different binding and different userspace library. Yes... https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/gpu/arm,mali-utgard.txt
@lex Posted June 28, 2018 Posted June 28, 2018 15 hours ago, jernej said: H5 has mali 450, which needs different binding and different userspace library. Ok, Laurent pointed to your malii node for H5 but still same error: soc { mali: gpu@1e80000 { compatible = "allwinner,sun50i-h5-mali", "arm,mali-400"; reg = <0x01e80000 0x30000>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "gp", "gpmmu", "pmu", "pp", "pp0", "ppmmu0", "pp1", "ppmmu1", "pp2", "ppmmu2", "pp3", "ppmmu3"; clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; clock-names = "bus", "core"; resets = <&ccu RST_BUS_GPU>; assigned-clocks = <&ccu CLK_GPU>; assigned-clock-rates = <384000000>; }; }; Maxime code does not have compatible "arm,mali-450" , then i changed it to be able to load mali.ko. Do you have mali working for H5? Or you have our own device driver instead of Maxime driver?
jernej Posted June 28, 2018 Posted June 28, 2018 1 hour ago, @lex said: Do you have mali working for H5? Or you have our own device driver instead of Maxime driver? No, there is very strange issue. When you are walking through Kodi menus, half of the screen has new menu and half old menu. Useless at this point. This is with Rockchip Mali450 GBM 32 and 64 bit blob... Tried many changes to correct this, but nothing helped. I never tried X11 or FBDEV blobs, because they are useless for my purpose. My base is Maxime driver with Icenowy changes for mali450, with some other changes which are not important. BTW, all blobs on free-electrons github are for mali400. Although there are mali450 strings in r8p1 blobs, actually important is VARIANT= string, which is still mali400.
@lex Posted June 28, 2018 Posted June 28, 2018 Maxime has fixed the driver, but that is a near miss, we need a proper mali450 blob version. I have mali450 r5p1 (600), i think maybe the amlogic blob r7p0 (800 or 900?) could work and i don't have any to test, otherwise, you get: ERROR in Mali driver: * Device driver API mismatch * Device driver API version: 900 * User space API version: 600 Error: eglInitialise failed!
Recommended Posts