PINE64
Xorg & Mali - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: ROCK64 (https://forum.pine64.org/forumdisplay.php?fid=85)
+--- Forum: Linux on Rock64 (https://forum.pine64.org/forumdisplay.php?fid=88)
+--- Thread: Xorg & Mali (/showthread.php?tid=5214)



Xorg & Mali - stuartiannaylor - 10-04-2017

Code:
[    11.482] (EE) AIGLX error: dlopen of /usr/lib/arm-linux-gnueabihf/dri/rockchip_dri.so failed (/usr/lib/arm-linux-gnueabihf/dri/rockchip_dri.so: $
[    11.483] (EE) AIGLX: reverting to software rendering
[    11.485] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
[    11.488] (II) AIGLX: Loaded and initialized swrast
[    11.488] (II) GLX: Initialized DRISWRAST GL provider for screen 0

Has anyone managed to get xorg to use the mali yet, its supported just not in the main kernel but struggling with the community images.
Always end up reverting to software rendering and it sucks.

Been through practically all the community images and it seems the same but its really hard to tell if we are running distro xorg or the rockchip xorg.
http://opensource.rock-chips.com/wiki_Status_Matrix
Its supposedly supported but with what we have it doesn't seem to be.

rockchip_dri.so doesn't even exist


RE: Xorg & Mali - MarkHaysHarris777 - 10-05-2017

(10-04-2017, 10:58 PM)stuartiannaylor Wrote: Has anyone managed to get xorg to use the mali yet, its supported just not in the main kernel but struggling with the community images.
Always end up reverting to software rendering and it sucks.

You are confused;  mali is only and always software rendering.  The mali is ONLY an in-memory accelerator for openGLES.  It does not support openGL, and it is NOT hardware rendering.  

And don't feel bad, you're not the only one with this persistent confusion. 

Blush


RE: Xorg & Mali - stuartiannaylor - 10-05-2017

(10-05-2017, 03:32 PM)MarkHaysHarris777 Wrote:
(10-04-2017, 10:58 PM)stuartiannaylor Wrote: Has anyone managed to get xorg to use the mali yet, its supported just not in the main kernel but struggling with the community images.
Always end up reverting to software rendering and it sucks.

You are confused;  mali is only and always software rendering.  The mali is ONLY an in-memory accelerator for openGLES.  It does not support openGL, and it is NOT hardware rendering.  

And don't feel bad, you're not the only one with this persistent confusion. 

Blush

You sure marcus as it would seem strange that so much driver dev is going on with the Mali.
Prob should of said Rockchip DRM.

http://opensource.rock-chips.com/wiki_Graphics#MALI_GPU_driver

http://linux-sunxi.org/Mali_binary_driver

I am trying to get xorg to run & kodi-standalone  and should be able to get a different renderer.

Currently the VMware LLVPipe thingy renderer is totally useless as its so slow and looking like this Rock64 is destined for the bin.

Any device with Mali 400 should have a properly working OpenGL ES 2.0 acceleration if
it has Mali/UMP modules in the Linux kernel and libMali.so proprietary
binary blob installed in the system.

Soon as I install libMali I just seem to kill x but am unable to get a log why apart from brief segmentation fault errors.

libmali used to be closed source but not any more.

https://github.com/rockchip-linux/libdrm-rockchip but seems to of ground to a halt and confused as hell to be honest

http://rockchip.wikidot.com/xserver

Something somewhere isn't right and I am thinking it could be the kernel space gpu driver is not compatible with userspace(libmali).
I will install it again but thinking it will just kill things once more
libmali-rk-utgard-2th-r7p0 - The mali library for Rockchip RK3328 (32bit) is turning into a pain and only seems to be 32bit

Package: xserver-xorg
Versions:
1:7.7+19ubuntu2 (/var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_artful_main_binary-armhf_Packages) (/var/lib/dpkg/status)
Description Language:
File: /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_artful_main_binary-armhf_Packages
MD5: 3d8c1d268e8af6b69f54d86fbd5a3939
Description Language:
File: /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_artful_main_binary-arm64_Packages
MD5: 3d8c1d268e8af6b69f54d86fbd5a3939
Description Language: en
File: /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dists_artful_main_i18n_Translation-en
MD5: 3d8c1d268e8af6b69f54d86fbd5a3939

Dunno but for some reason we are missing https://github.com/rockchip-linux/xserver so yeah there is no kernel modules for mail that correspond to the libs we have.


RE: Xorg & Mali - ab1jx - 11-20-2019

Look for a driver called armsoc.  I had one a year or so ago, didn't save it.  Definitely accelerated, I was playing videos with smplayer as easily as a Raspberry Pi does with omxplayer.  Very small CPU load so it was the GPU doing the heavy lifting,.

Duh, try this one: https://github.com/ayufan-rock64-packages/xf86-video-armsoc

Just a tip, these aren't obvious, you need xorg-dev and libudev-dev among other things.

-------------

By this post on the Odroid forum it was ARM's decision to push an immature Wayland that's to blame.  https://forum.odroid.com/viewtopic.php?p=273435&sid=3492d7c8b985da394dbd060c833263ae#p273435  And the money is in Android so they don't care about Linux.  But I had it working on this machine a year or two ago.


RE: Xorg & Mali - ab1jx - 11-24-2019

If you look at the README that comes with Ayufan's  armsoc source there's a section:
Code:
RM driver selection
--------------------
While most operations use only the standard DRM modesetting interfaces, certain
operations
unavoidably rely on specific driver behaviour (including dumb buffer allocation
flags and cursor
plane z-ordering). As such, the armsoc driver should choose a particular DRM dri
ver dynamically
according to the current environment.

The currently supported DRM drivers are:
- pl111
- exynos
- kirin
- sti

For other drivers, you will need to implement this support yourself. A template
implementation is
provided in src/drmmode_template.
The interface is defined and documented in src/drmmode_driver.h, and you should
refer to this while
modifying the template to set up your DRM driver's abstraction appropriately.

You can also copy src/drmmode_template into src/drmmode_<yourdrivername>,
modify the driver_name to match with the name used in the kernel drm driver.

In src/drmode_rockchip is a drmmode_rockchip.c which may be the source of the missing rockchip_dri.so.  It gets compiled to a .lo file which may become part of the armsoc driver.

dmesg | grep rockchip shows me
Code:
[    0.000000] Linux version 4.4.190-1233-rockchip-ayufan-gd3f1be0ed310 (root@runner-f725ff63-project-5943294-concurrent-0) (gcc version 7.4.0 (Ubuntu/Linaro 7.4.0-1ubuntu1~18.04.1) ) #1 SMP Wed Aug 28 08:59:34 UTC 2019
[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    1.514676] rockchip-pm rockchip-suspend: not set wakeup-config
[    1.514726] rockchip-pm rockchip-suspend: not set pwm-regulator-config
[    1.531144] rockchip-cpuinfo cpuinfo: Serial : eb80203b044149bb
[    2.125343] rockchip-u3phy ff470000.usb3-phy: Looking up vbus-supply from device tree
[    2.125367] rockchip-u3phy ff470000.usb3-phy: Looking up vbus-supply property in node /usb3-phy@ff470000 failed
[    2.125393] rockchip-u3phy ff470000.usb3-phy: Failed to get VBUS supply regulator
[    2.128106] rockchip-u3phy ff470000.usb3-phy: Rockchip u3phy initialized successfully
[    2.277433] rockchip-drm display-subsystem: devfreq is not set
[    2.278724] rockchip-drm display-subsystem: bound ff370000.vop (ops 0xffffff8008d86950)
[    2.280527] dwhdmi-rockchip ff3c0000.hdmi: registered DesignWare HDMI I2C bus driver
[    2.281455] dwhdmi-rockchip ff3c0000.hdmi: Detected HDMI TX controller v2.11a with HDCP (inno_dw_hdmi_phy2)
[    2.283519] rockchip-drm display-subsystem: bound ff3c0000.hdmi (ops 0xffffff8008d7afa8)
[    2.285620] rockchip-drm display-subsystem: failed to parse display resources
[    2.509770] rockchip-vop ff370000.vop: [drm:vop_crtc_enable] Update mode to 1920x1080p60, type: 11
[    2.659560] rockchip-drm display-subsystem: fb0:  frame buffer device
[    2.689864] rockchip-spi ff190000.spi: no high_speed pinctrl state
[    2.919152] usb usb1: Manufacturer: Linux 4.4.190-1233-rockchip-ayufan-gd3f1be0ed310 dwc2_hsotg
[    2.937153] usb usb2: Manufacturer: Linux 4.4.190-1233-rockchip-ayufan-gd3f1be0ed310 ehci_hcd
[    2.997089] usb usb3: Manufacturer: Linux 4.4.190-1233-rockchip-ayufan-gd3f1be0ed310 ohci_hcd
[    3.000344] usb usb4: Manufacturer: Linux 4.4.190-1233-rockchip-ayufan-gd3f1be0ed310 xhci-hcd
[    3.002390] usb usb5: Manufacturer: Linux 4.4.190-1233-rockchip-ayufan-gd3f1be0ed310 xhci-hcd
[    3.054112] rockchip-iodomain ff100000.syscon:io-domains: Looking up vccio1-supply from device tree
[    3.054239] rockchip-iodomain ff100000.syscon:io-domains: Looking up vccio2-supply from device tree
[    3.054868] rockchip-iodomain ff100000.syscon:io-domains: Looking up vccio3-supply from device tree
[    3.054994] rockchip-iodomain ff100000.syscon:io-domains: Looking up vccio4-supply from device tree
[    3.055562] rockchip-iodomain ff100000.syscon:io-domains: Looking up vccio5-supply from device tree
[    3.055646] rockchip-iodomain ff100000.syscon:io-domains: Looking up vccio6-supply from device tree
[    3.055725] rockchip-iodomain ff100000.syscon:io-domains: Looking up pmuio-supply from device tree
[    3.058826] rockchip-thermal ff250000.tsadc: tsadc is probed successfully!
[    3.065716] dwmmc_rockchip ff520000.dwmmc: IDMAC supports 32-bit address mode.
[    3.065757] dwmmc_rockchip ff520000.dwmmc: Using internal DMA controller.
[    3.065773] dwmmc_rockchip ff520000.dwmmc: Version ID is 270a
[    3.065840] dwmmc_rockchip ff520000.dwmmc: DW MMC controller at irq 42,32 bit host data width,256 deep fifo
[    3.065876] dwmmc_rockchip ff520000.dwmmc: Looking up vmmc-supply from device tree
[    3.065998] dwmmc_rockchip ff520000.dwmmc: Looking up vqmmc-supply from device tree
[    3.066666] dwmmc_rockchip ff520000.dwmmc: GPIO lookup for consumer wp
[    3.066675] dwmmc_rockchip ff520000.dwmmc: using device tree for GPIO lookup
[    3.066706] dwmmc_rockchip ff520000.dwmmc: using lookup tables for GPIO lookup
[    3.066716] dwmmc_rockchip ff520000.dwmmc: lookup for GPIO wp failed
[    3.097857] dwmmc_rockchip ff520000.dwmmc: 1 slots initialized
[    3.100507] dwmmc_rockchip ff500000.dwmmc: IDMAC supports 32-bit address mode.
[    3.100536] dwmmc_rockchip ff500000.dwmmc: Using internal DMA controller.
[    3.100547] dwmmc_rockchip ff500000.dwmmc: Version ID is 270a
[    3.100594] dwmmc_rockchip ff500000.dwmmc: DW MMC controller at irq 43,32 bit host data width,256 deep fifo
[    3.100619] dwmmc_rockchip ff500000.dwmmc: Looking up vmmc-supply from device tree
[    3.100727] dwmmc_rockchip ff500000.dwmmc: Looking up vqmmc-supply from device tree
[    3.100890] dwmmc_rockchip ff500000.dwmmc: GPIO lookup for consumer cd
[    3.100896] dwmmc_rockchip ff500000.dwmmc: using device tree for GPIO lookup
[    3.100915] dwmmc_rockchip ff500000.dwmmc: using lookup tables for GPIO lookup
[    3.100922] dwmmc_rockchip ff500000.dwmmc: lookup for GPIO cd failed
[    3.100929] dwmmc_rockchip ff500000.dwmmc: GPIO lookup for consumer wp
[    3.100933] dwmmc_rockchip ff500000.dwmmc: using device tree for GPIO lookup
[    3.100949] dwmmc_rockchip ff500000.dwmmc: using lookup tables for GPIO lookup
[    3.100954] dwmmc_rockchip ff500000.dwmmc: lookup for GPIO wp failed
[    3.133885] dwmmc_rockchip ff500000.dwmmc: 1 slots initialized
[    3.147367] rockchip-dmc dmc: unable to get devfreq-event device : dfi
[    4.029972] rockchip ion idev is NULL
[    4.055040] rockchip-dmc dmc: Looking up center-supply from device tree
[    4.055137] rockchip-dmc dmc: current ATF version 0x101!
[    4.059876] rockchip-dmc dmc: read tf version 0x101!
[    4.065825] rockchip-dmc dmc: leakage=9
[    4.070341] rockchip-dmc dmc: leakage-volt-sel=0
[    4.074904] rockchip-dmc dmc: Looking up center-supply from device tree
[    4.074972] rockchip-dmc dmc: Failed to get pvtm
[    4.079676] rockchip-dmc dmc: failed to get vop bandwidth to dmc rate
[    4.084395] rockchip-dmc dmc: failed to get vop pn to msch rl
[ 4222.240719] rockchip-vop ff370000.vop: [drm:vop_crtc_enable] Update mode to 1920x1080p0, type: 11
[ 7559.085488] rockchip-vop ff370000.vop: [drm:vop_crtc_enable] Update mode to 1920x1080p0, type: 11
[15173.749130] rockchip-vop ff370000.vop: [drm:vop_crtc_enable] Update mode to 1920x1080p0, type: 11
[18382.760866] rockchip-vop ff370000.vop: [drm:vop_crtc_enable] Update mode to 1920x1080p0, type: 11
[20562.536838] rockchip-vop ff370000.vop: [drm:vop_crtc_enable] Update mode to 1920x1080p0, type: 11
It doesn't entirely look happy but it's in there somewhere.  But for OpenGL ES it still runs Mesa.  Maybe there's still something missing, maybe that's all it can do.  I haven't tried this package yet, partly because there's no uninstall https://forum.armbian.com/topic/9310-rk3328-media-script-rock64-renegade/

----------
I was just trying the Ayufan armsoc on my N2 last night.  There's no /dev/dri device on that, which it looks for.  There is on this Rock64.  It gets created when you have a drm/dri driver loaded I think.

Hee-hee, I'm running xorg in one virtual terminal and playing with Wayland/Weston in another.  ctrl-alt-fn to switch, cute.


RE: Xorg & Mali - tomarm - 12-16-2019

Quote:You are confused;  mali is only and always software rendering.  The mali is ONLY an in-memory accelerator for openGLES.  It does not support openGL, and it is NOT hardware rendering.  

And don't feel bad, you're not the only one with this persistent confusion.

Hi I'm new to this forum and R64.  Can you point me to some tech docs that prove this statement you're making is true about mali 450 gpu?   It won 't run a a hardware accelerated opengles2 based toolset and DE like qt5/kde?  Doomed to fbdev and the likes?