Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPU : Starting progressing towards Panfrost #14

Closed
Miouyouyou opened this issue Mar 10, 2019 · 2 comments
Closed

GPU : Starting progressing towards Panfrost #14

Miouyouyou opened this issue Mar 10, 2019 · 2 comments

Comments

@Miouyouyou
Copy link
Owner

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
Copy link
Owner Author

@Miouyouyou
Copy link
Owner Author

It's done now !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant