Miouyouyou / RockMyy

Build scripts and patches used to cross-compile 5.6-rcX kernels for RK3288 boards
MIT License
32 stars 8 forks source link

GPU : Starting progressing towards Panfrost #14

Closed Miouyouyou closed 4 years ago

Miouyouyou commented 5 years ago

Panfrost : https://developer.arm.com/products/software/mali-drivers/user-space https://rosenzweig.io/blog/panfrost-on-the-rk3399-meow.html

Maintaining the r19p0 patchset from Mali is becoming more and more difficult. There are more recent versions of the Mali Midgard GPL kernel driver, but these require user-space drivers to use the new IOCTL API.

The Mali user-space binary drivers provided by Rockchip and ARM for the RK3288 boards do not use this new API. The only driver for Mali T76x able to use the new API, is the Panfrost driver.

So moving towards Panfrost seems the most reasonable choice. It's a free-software driver that works with the newer versions of Mali Midgard GPL kernel drivers. And panfrost is currently included in MESA, making the installation a breeze on a lot of Linux systems.

However, panfrost performances are currently pretty bad, from what I've seen. Now, a good way to improve its speed is to compare how the shaders are generated and used with the fast user-space binary drivers, and apply this knowledge on the shaders generator for the panfrost driver. THAT requires the ability to switch from one implementation to the other so... I'm not going to give up on the binary drivers on the next versions. I'll have to wait for decent performances before doing so. And since performances improvement will require the good old drivers for performances comparisons, I'll keep them for a little while. That will still require two different kernels, since the kernel drivers won't be the same (r19p0 for one, r27p0+ for the other).

Now, if you're worried about Vulkan support, well... It's not supported by the Mali user-space binary drivers provided, except the one with Framebuffer only support. So yeah... nobody cared about Vulkan support on Linux, within ARM who don't release new drivers anymore : https://developer.arm.com/products/software/mali-drivers/user-space

Miouyouyou commented 5 years ago

See https://gitlab.freedesktop.org/Miouyouyou/RockMyy/issues/14

Miouyouyou commented 4 years ago

It's done now !