Jump to content

orangepi Mali HW acceleration in setenv


peter12

Recommended Posts

Hello, I am using Armbian nightly legacy Jessie 3.4.113 build and it seems Mali drivers are included.

Please, How should I set values in boot.cmd and boot.scr to mali HW acceleration work properly?

I checked this site http://linux-sunxi.org/KernelArgumentsand tried to place something like "sunxi_ve_mem_reserve=64 cma=96 sunxi_g2d_mem_reserve=64 sunxi_fb_mem_reserve=32" to this file on setenv line but armbian fails to boot. 

 

I would like to use HW acceleration in VLC.

Thank you.

Link to comment
Share on other sites

I would like to use HW acceleration in VLC.

 

It seems we should really start to make a Mali FAQ since this misunderstanding is so common. Mali400 is 3D acceleration and some 2D stuff. Video acceleration is something completely different. If you're not a retro gamer you don't need old, slow, boring Mali400 at all!

 

Regarding video with HW acceleration: this works with every supported H3 Armbian release since almost a year (legacy kernel!), just use desktop images and there mpv (and google search -- see sig below -- why it's mpv and not vlc)

 

Edit: For some basic understanding: http://www.cnx-software.com/2013/12/10/most-embedded-gpus-do-not-support-hardware-video-decoding-acceleration-the-vpu-does/

 

Edit 2: Added 'supported' and '(legacy kernel!)'

Link to comment
Share on other sites

thanks friends for your posts. I will try to explain what I need to "accelerate" - in Raspberry Pi in VLC I have option to use openmaxil and when I choose it, VLC shows stream from my webcam "accelerated" (it is in fullscreen and without buttons and stream goes "directly via GPU" - so it is on the top of all other video/display layer channels, so I can't even make visible any other standard window until I close VLC). Now I would like to do the same with Armbian on OrangePi and somehow "accelerate" video stream from this webcam. 

 

So any idea please how to do the same "acceleration" with Armbian? 

Link to comment
Share on other sites

You can use mpv player to show your webcam hw accelerated. Enter in terminal - mpv /yourwebcampath. Maybe the path is /dev/video0, but you can check it with vlc. mpv is twicked to use vdpau hw acceleration by default. If you want to make it like in VLC. Install SMPlayer in Armbian, point it to mpv executable and setup it to use vdpau as engine. And you can open your webcam almost the same way like in VLC. And it will be on top of other windows too :).

Link to comment
Share on other sites

You can use mpv player to show your webcam hw accelerated. Enter in terminal - mpv /yourwebcampath. Maybe the path is /dev/video0, but you can check it with vlc. mpv is twicked to use vdpau hw acceleration by default. If you want to make it like in VLC. Install SMPlayer in Armbian, point it to mpv executable and setup it to use vdpau as engine. And you can open your webcam almost the same way like in VLC. And it will be on top of other windows too :).

 

thank you, I tried this, but for me it is not working says - Falling back to software decoding. :(

 

20170209_172141.jpg

Link to comment
Share on other sites

 

Thank you, this is a good starting point. One suggestion and one question:

 

Some Allwinner SoCs have PowerVR instead of Mali (though the not so interesting ones since software support is lacking). Maybe mentioning it in a small note?

 

And then as a headless user I still wonder what '2D acceleration' really means especially on those newer SoCs missing G2D support. Can you elaborate on that? Based on my limited understanding due to missing G2D installation of xf86-video-fbturbo on images for newer Allwinner SoCs shouldn't help that much with window drawing?

 

Thanks, but I don't understand what should I put and where. Any idea please?

 

When you chose the 'nightly images' you ignored that these are based on mainline kernel and also Warning: nightly downloads are automated untested builds and no end user support is provided for them!

 

Then you ignored what's written on the 'Known issues' tab on download page (please check it now) and what Zador pointed out again: All this acceleration stuff only works with legacy kernel. I still wonder how we can prevent users and us from wasting so much time by not spending the 60 seconds on reading what's written on the download page?

Link to comment
Share on other sites

Some Allwinner SoCs have PowerVR instead of Mali (though the not so interesting ones since software support is lacking). Maybe mentioning it in a small note?

PowerVR should be mentioned, although it's not that relevant.

 

And then as a headless user I still wonder what '2D acceleration' really means especially on those newer SoCs missing G2D support. Can you elaborate on that? Based on my limited understanding due to missing G2D installation of xf86-video-fbturbo on images for newer Allwinner SoCs shouldn't help that much with window drawing?

2D acceleration in the context of G2D or "Mixer Processor" means, that there exists a dedicated IP core in the hardware, that is optimized to do the following (raster graphics) mem2mem operations (listed in usermanual, page 320):

 

The mixer processor features:
 
*support multiple color formats
- ARGB 8888/4444/1555
- RGB565
- MONO 1/2/4/8 bpp
- Palette 1/2/4/8 bpp (input only)
- YUV 444/422/420
*Buffer block size up to 8192x8192 pixels
*Memory scan order option support
*Clipping support
*ROP2
- Line / Rectangle / Point
- Block fill
*ROP3
- BitBLT
- PatBLT
- StretchBLT
*ROP4
- MaskBLT
*Support 90/180/270 degree rotation
*Mirror support
*Alpha blending
- Plane & Pixel alpha support
- Output alpha configurable support
*Color key support
*Scaling
- 4x4 taps
- 32 phase
*Color space convert support

On the newer SoCs we don't have this piece of hardware and have to do that in software. Therefore, libvdpau-sunxi uses pixman to do this operations (e.g. on H3), which calls the best possible software acceleration (e.g. NEON) to do these operations.

 

Regards

rellla

 

@peter12: My post was only a reply to tkaiser. Not really related to your problem :)

Link to comment
Share on other sites

 

When you chose the 'nightly images' you ignored that these are based on mainline kernel and also Warning: nightly downloads are automated untested builds and no end user support is provided for them!

 

sorry tkaiser, my fault. I made a mistake, because nightly build I am using on OPi Zero, but on OPi Lite I am using Legacy Jessie 3.4.113. It was my fault. So my question was related to Legacy Jessie. Thanks

Link to comment
Share on other sites

On the newer SoCs we don't have this piece of hardware and have to do that in software. Therefore, libvdpau-sunxi uses pixman to do this operations (e.g. on H3), which calls the best possible software acceleration (e.g. NEON) to do these operations.

 

Thanks for the explanation. So by simply relying on libvdpau-sunxi and also installing xf86-video-fbturbo we get best 2D acceleration possible even with never SoCs?

 

on OPi Lite I am using Legacy Jessie 3.4.113

 

Hmm... when using a legacy desktop build for H3 devices mpv should do HW accelerated video decoding out of the box. As long as the codec used is supported: http://linux-sunxi.org/Cedrus#Supported_codec_matrix

 

(all of the above mentioned stuff should be installed/enabled on Armbian desktop builds for almost a year now, on older Allwinner SoCs even longer)

Link to comment
Share on other sites

Thanks for the explanation. So by simply relying on libvdpau-sunxi and also installing xf86-video-fbturbo we get best 2D acceleration possible even with never SoCs?

libvdpau-sunxi accelerates OSD/rgba surfaces composing if the application uses vdpau API. libvdpau-sunxi does not speak with xf86-video-fbturbo when it comes to compose windows etc. on screen, as it directly interacts with the hardware/display engine.

xf86-video-turbo accelerates 2D operations like window moving and scrolling. Nothing else. It has nothing to do with OSD of vdpau.

Regards

rellla

 

@peter12: I don't see any issue with libvdpau-sunxi itself in your log. It's loading fine. I suppose the input format is incompatible and not supported by libvdpau-sunxi, so it falls back to software solution.

Link to comment
Share on other sites

Hi @rellla, I am posting new image about my issue. Now there is "Could not initialize video chain." I am trying to use it with usb grabber to get video with HW acceleration. No luck for now. When I tried mplayer with -vo vdpau, I got green/purple video image only.

This screenshot is from mpv:

opvd.jpg

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines