Skip to content

Commit

Permalink
update rockchip multimedia status (#411)
Browse files Browse the repository at this point in the history
* Update rockchip multimedia status with latest bits and supported features.
  • Loading branch information
paolosabatino authored Mar 31, 2024
1 parent 1e5863c commit 2bd20ae
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 11 deletions.
49 changes: 39 additions & 10 deletions docs/Hardware_Rockchip.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,48 @@
# Rockchip RK3399 boards (outdated)
# Rockchip RK3399/RK3328 boards

## Graphics hardware acceleration (3D and VideoEngine)
Both only work with legacy (4.4.y) kernel using Buster userspace.
Check [https://forum.armbian.com/topic/16516-rk3399-legacy-multimedia-framework/](https://forum.armbian.com/topic/16516-rk3399-legacy-multimedia-framework/)
## Graphics 3D hardware acceleration
In mainline kernel, panfrost kernel driver paired with Mesa 22.0 (or more recent) provides excellent results, capable of 3D rendering and 2D composited user interfaces.
Also Gnome and KDE compositors are perfectly usable out of the box.

3D acceleration in mainline is still in the works and is covered by Panfrost. There are still other issues like "unusual" screen resolutions like 1920x1200 are neither properly detected nor supported while classic *FullHD* 1920x1080 is fine.
There can be other issues like "unusual" screen resolutions like 1920x1200 are neither properly detected nor supported while classic *FullHD* 1920x1080 should be fine.

## USB-C
Partially works in legacy (4.4.y). Does not work with mainline due to lack of drivers.

The connector is supported and is capable of switching between USB and DP modes (tested on Orange Pi 4 LTS board).

## Overclock overlay
The RK3399 can be overclocked at own risk. Use `rockchip-rk3399-opp-2ghz.dtbo` this.

# Rockchip RK3328 / RK 3288
# Rockchip RK322x/RK3288 boards

## Graphics 3D hardware acceleration
In mainline kernel, panfrost (RK3288) or lima (RK322x) kernel drivers, paired with Mesa 22.0 (or more recent), provides excellent results, capable of 3D rendering and 2D composited user interfaces.
Also Gnome and KDE compositors are perfectly usable out of the box.

Usually a wide range of resolutions is supported with these SoCs, due to custom HDMI timings imported in the kernel drivers through external patches from LibreELEC project. Resolution support has been reported to work up to 4k resolutions, but some unusual and uncommon setup may still have unexpected issues.

# Video Decoders for RK322x/RK3288/RK3328/RK3399 - updated March 2024

Video decoding is fully supported for these SoCs via kernel V4L2 stateless drivers like Hantro and rkvdec, though it requires userland support to be actually exploited.
Userland support is provided by gstreamer or FFmpeg frameworks, but their support varies among distributions because some bits are still missing.
For that reason, an experimental Debian/Ubuntu repository for Armbian is available at [https://forum.armbian.com/topic/32449-repository-for-v4l2request-hardware-video-decoding-rockchip-allwinner/](https://forum.armbian.com/topic/32449-repository-for-v4l2request-hardware-video-decoding-rockchip-allwinner/) to provide FFmpeg and MPV packages already compiled with the proper support for V4L2 stateless decoders.

Hardware available and Supported video decoders are:
* h.264
* h.265
* VP8
* VP9

Despite support level is getting better, at the moment of writing this documentation some bits are still moving for h.265 and VP9 and not finalized yet, though they should be usable and provide a good experience.

Also DRMPRIME support in the kernel is quite established right now and it is possible to have both full-screen and windowed hardware decoding.

Note: if you are asking about browsers, we are not there yet. Hardware video decoding and composition with existing graphics is a quite complex matter and all the actors in the pipeline should agree on the same protocols.

# Video Decoders for RK35xx series - updated March 2024

Support in the mainline kernel is not yet ready or have not been tested yet.
These products have both rkvdec and Hantro IP (RK356x and RK3588 have Hantro G1) but there are no reports of their actual support or readiness.

# Video Encoders

A similar multimedia framework is available if using legacy 4.4.y kernel on Buster userspace.
Check [https://forum.armbian.com/topic/16517-rk3288rk3328-legacy-multimedia-framework/](https://forum.armbian.com/topic/16517-rk3288rk3328-legacy-multimedia-framework/)
All the SoCs above have Hantro IP which is capable of both decoding and encoding, but yet encoding support has not been tested and thus it is not known what is its state.
2 changes: 1 addition & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ nav:
- "H6": "Hardware_Allwinner-H6.md"
- "Freescale i.MX6": "Hardware_Freescale-imx6.md"
- "Marvell Armada": "Hardware_Marvell.md"
# - "Rockchip": "Hardware_Rockchip.md"
- "Rockchip": "Hardware_Rockchip.md"

- "Developer Guide":
- "Welcome": "Developer-Guide_Welcome.md"
Expand Down

0 comments on commit 2bd20ae

Please sign in to comment.