4 ms·
On ARM SoCs you generally can't really talk about 'the GPU'. There are separate: * 3D accelerator, which is what some people call the GPU, but it only does 3D
by lgeek 12y ago
On ARM SoCs you generally can't really talk about 'the GPU'. There are separate:
* 3D accelerator, which is what some people call the GPU, but it only does 3D acceleration (OpenGL ES in most cases) and on newer models it can also run OpenCL - not the case on this SoC which has a Mali-400. This is working with closed source drivers on GNU/Linux.
* a video decoder and sometimes a video encoder, Hantro G1[0] and Hantro H1[1] on this hardware. These are unsupported on GNU/Linux, possibly because Android uses its libstagefright[2] infrastructure and there's limited demand for GNU/Linux support.
* sometimes a 2D accelerator, which would mostly be used for blits, resizing and rotation nowadays. RK3188 actually has two different units with overlapping functionality and which work on GNU/Linux with open source drivers.
Even though the video decoder is unsupported on GNU/Linux, the ARM cores are fast enough to decode 720p and (with some frame loss) 1080p h264 video. I wrote an XV driver[3] for RK3188 which uses hardware support for colorspace conversion and video resizing together with a few other tricks.
[0] http://www.verisilicon.com/IPPortfolio_14_58_2_HantroG1.html http://www.verisilicon.com/IPPortfolio_14_58_2_HantroG1.html
[1] http://www.verisilicon.com/IPPortfolio_14_82_2_HantroH1.html http://www.verisilicon.com/IPPortfolio_14_82_2_HantroH1.html
[2] https://source.android.com/devices/media.html https://source.android.com/devices/media.html
[3] https://github.com/lgeek/xf86-video-fbturbo https://github.com/lgeek/xf86-video-fbturbo
- mschuster91 12y agoHmm. Is it possible to extract that "libstagefright" stuff from Android and port it over to generic Linux?