JMCC Posted December 17, 2020 Posted December 17, 2020 IT'S FINALLY HERE... THE OFFICIAL ROCKCHIP-LEGACY MULTIMEDIA INTEGRATION After two years of using a separate script to enable the multimedia features in RK3288/3328 Legacy Kernel, the whole framework has been incorporated to the official Armbian packaging system. The choice distro for this integration is Debian Buster (see FAQ at the end of this post about the reasons). I. Installation Download a Armbian Buster Legacy Desktop image for your board, and install it with the standard Armbian method. Install the complete multimedia solution with sudo apt update && sudo apt upgrade sudo apt install media-buster-legacy-tinkerboard --install-recommends ## Or ## sudo apt install media-buster-legacy-rk3328 --install-recommends The switch "--install-recommends" will add the whole Kodi binary addons collection (retro-gaming cores, music visualizations, screensavers, additional media decoders/encoders, vfs, etc.), plus the GLES-to-OpenGL wrapper "gl4es". II. Features Accelerated GLES/EGL X desktop: No action needed. Accelerated Chromium, with WebGL and video display acceleration: No action needed Desktop video player capable of smooth 4K HEVC-HDR: Use the "Rockchip Gst Player" from the Multimedia menu, or choose it with right-click on the media file. Command-line 4K playing is also possible with "gst-play-1.0 --videosink=kmssink". RKMPP-accelerated MPV: Use normally for standard operation (windowed with mouse-operated GUI). For fullscreen, keyboard-operated mode, use the command line switch "--gpu-context=drm" (this will allow you to play smooth 4K). - See instructions below, in the next post, for playing Youtube videos up to 4k with this MPV. ISP Camera with real-time h.264/1080p HW encoding (RK3288 only): Using the Gstreamer Plugin. Check this wiki for instructions on how to use it. Most of it applies to Armbian, except for the selection of ov5647/imx219 camera, which must be done using DT overlays. OpenCL 1.2 support (RK3288 only): It will be fully functional, no further action needed. You can download some tests and examples from this link. Kodi 18.9 Leia with full RKMPP+GBM acceleration, 4K-HDR capable: You can start it from Light DM menu as your user account: Alternatively, you can also run it as a system service with these command lines: sudo systemctl disable lightdm sudo systemctl enable kodi-gbm sudo reboot Full collection of Kodi binary add-ons: Includes retrogaming cores, media encoders and decoders, PVR, screensavers, vfs and audio visualizations. They are all installed with the package "kodi-addons-full", but are disabled by default. They need to be enabled individually within the Kodi GUI. OpenGL 2.1 support through the gl4es wrapper: It is installed with the package "gl4es", with no further action needed. III. Sources This is the list of the sources used for the packages: Spoiler libdrm- rk: https://github.com/teacupx/libdrm-rk xserver-rk: https://github.com/teacupx/xserver-rockchip xf86-video-armsoc: https://github.com/teacupx/xf86-video-armsoc rkmpp: https://github.com/teacupx/mpp gstreamer-rk: https://github.com/teacupx/gstreamer-rockchip https://github.com/teacupx/gstreamer-rockchip-extra kodi-rk: https://github.com/teacupx/xbmc kodi-addons-full: https://github.com/teacupx/repo-binary-addons gl4es: https://github.com/ptitSeb/gl4es libmali and meta-packages: https://github.com/teacupx/armbian-media libcec: https://github.com/teacupx/libcec librga: https://github.com/teacupx/linux-rga IV. FAQ ¿Why did you use Debian Buster as a base for this implementation? It was the most appropriate for several reasons. Upstream Rockchip-Linux developers use Debian buster, so the software could be ported with less modifications than if we chose a different distro. Besides, it is a completely stable distro, unlike Bullseye, which is a moving target as of today. It also has Chromium as a package, unlike Focal that uses snap instead. For last, it has a good backports repo, with several libs that would otherwise need to be compiled and maintained if we chose, for example, Focal. ¿Why Legacy instead of Mainline? This is an implementation based on the vendor's BSP kernel. It has been tested and is reliable, which many people will prefer rather than having a bleeding-edge, less stable implementation. In addition to that, Mainline upstream multimedia support is still a WIP, and lacks many features that are only present on Legacy kernels. ¿Will you add new features to this implementation? No, this implementation will only receive bug fixes if necessary. From now on, all multimedia work will be focused on Mainline and recent distros (like Focal or Bullseye). All new features will go there. 9 Quote
TRS-80 Posted December 17, 2020 Posted December 17, 2020 Cool! Great work again JMCC! Am I correct in assuming this is same underlying "framework" as RK3399 based one, just with components specific to this hardware? And if so, I guess in fact this is the whole point of such "frameworks?" Trying to get my head around it from a high level, as someone who have yet to play with any "desktop" stuff (at least on Armbian). 0 Quote
JMCC Posted December 17, 2020 Author Posted December 17, 2020 10 minutes ago, TRS-80 said: this is same underlying "framework" as RK3399 Essentialy, yes. VPU is identical in last generation SoC's RK3328 and RK3399, lacking VP9 capabilities in the older RK3288. GPU, on the other hand, is very similar in the high-end SoC's (RK3288 and RK3399), much faster and supporting OpenGLES 3 and OpenCL 1.2. The weaker one, RK3328, supports only GLES2 and no OpenCL, plus no ISP camera either. There is also a parallel solution for Odroid XU4, I will document it soon. In that case, VPU decoding capabilities are reduced (no 4K, only 1080p). But GPU is the strongest one, as well as VPU encoding. 2 Quote
NicoD Posted December 17, 2020 Posted December 17, 2020 I guess I'll be switching to legacy Buster. Great job. 0 Quote
balbes150 Posted December 21, 2020 Posted December 21, 2020 Tested on Firefly Station M1 (rk3328). Everything works, including 4k video playback. great job @JMCC 0 Quote
JMCC Posted December 21, 2020 Author Posted December 21, 2020 New packages uploaded to the repos (it may take some hours to synchronize). Bug fixes: X Desktop no longer restarted on package install, so it can be installed from a desktop session (NOTE: Since the old package is still going to restart X when uninstalled, it is recommended to do this update from console). MPV now is not failing when it cannot create EGL surface (it will just default to standard x11). CEC is now working on several boards (tested in RockPro64 and Rockpi 4B). New features: MPV is now RKMPP accelerated, and allows 4K YouTube Playback (see instructions here). 1 Quote
JMCC Posted December 23, 2020 Author Posted December 23, 2020 Bugfix release. For those of you upgrading, since the upgrade will install new packages, you need to issue the command like: sudo apt install media-buster-legacy-tinkerboard ## Or ## sudo apt install media-buster-legacy-rk3328 instead of the regular "apt upgrade", which would retain the packages to avoid new installations. 0 Quote
axzxc1236 Posted January 2, 2021 Posted January 2, 2021 I am very impressed by how much feature we are getting... WOWIE I don't know if anyone has said this to you but you are a legend! 3 Quote
JMCC Posted January 2, 2021 Author Posted January 2, 2021 1 hour ago, axzxc1236 said: a legend LOL No, man, I'm not that old! 3 Quote
Blind55 Posted January 2, 2021 Posted January 2, 2021 ....let's just say that you are aweseome! Thank you so much for this! Probably the Armbian admins want to update the reference to the old Forum thread to this one for the Tinkerboard download/description. 0 Quote
Globe Posted January 3, 2021 Posted January 3, 2021 hi JMCC, happy new year everybody! unfortunately the rk3328 package is unavailable, can you please have a look? Thanks in advance, Cheers Globe root@miqi:~# apt install media-buster-legacy-rk3328 --install-recommends Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package media-buster-legacy-rk3328 root@miqi:~# apt search media-buster-legacy Sorting... Done Full Text Search... Done media-buster-legacy-tinkerboard/buster 20.11.4 armhf Enables multimedia HW acceleration for tinkerboard (legacy branch) media-buster-legacy-xu4/buster 20.11.4 armhf Enables multimedia HW acceleration for Odroid XU4 (legacy branch) 0 Quote
JMCC Posted January 3, 2021 Author Posted January 3, 2021 17 minutes ago, Globe said: the rk3328 package is unavailable Miqi has RK3288, which has 32 bit architecture. On the other hand, RK3328 is a different SoC, with 64 bit architecture. That is why it is not present in the same repos as 32-bit RK3288. To avoid confusion between similar numbers, I called the RK3288 package "media-buster-legacy-tinkerboard", that is the one you should use for your board. However, it is even more complicated. Some variants of Miqi have a different version of the SoC, named RK3288W, which needs special mali packages for GPU acceleration. I made no package for that variant, since Miqi is unsupported already. But if you find that the standard package does not work, I can help you get the right library for your board. 0 Quote
Blind55 Posted January 3, 2021 Posted January 3, 2021 Can you tell me where I can find the best "Armbian Buster Legacy Desktop" image for the Tinkerboard? I can easily find an "Armbian Buster Legacy" image, but not a Desktop version of it. Or is there an easy way to create the Desktop version from that? 0 Quote
TonyMac32 Posted January 3, 2021 Posted January 3, 2021 7 minutes ago, Blind55 said: Can you tell me where I can find the best "Armbian Buster Legacy Desktop" image for the Tinkerboard? I just ran into this as well, if you download the server image you can install the desktop through armbian-config. I just did it on Tinkerboard about 20 minutes ago, watching "The Italian Job" on Kodi right now. 0 Quote
JMCC Posted January 3, 2021 Author Posted January 3, 2021 20 minutes ago, Blind55 said: the best "Armbian Buster Legacy Desktop" image for the Tinkerboard I recently configured the build script to create a Buster Desktop image for all Rockchip boards, so with next Armbian update it should appear in the download page. In the meantime, as @TonyMac32 said, you can download the server image and use "armbian-config" to install the Desktop easily (it's under System -> Default Desktop). 1 Quote
Globe Posted January 4, 2021 Posted January 4, 2021 On 1/3/2021 at 1:11 PM, JMCC said: Miqi has RK3288, which has 32 bit architecture. On the other hand, RK3328 is a different SoC, with 64 bit architecture. That is why it is not present in the same repos as 32-bit RK3288. To avoid confusion between similar numbers, I called the RK3288 package "media-buster-legacy-tinkerboard", that is the one you should use for your board. However, it is even more complicated. Some variants of Miqi have a different version of the SoC, named RK3288W, which needs special mali packages for GPU acceleration. I made no package for that variant, since Miqi is unsupported already. But if you find that the standard package does not work, I can help you get the right library for your board. I'm actually trying to get a openhour Chameleon to work and the only image I could get to boot was the one of Miqi. For any advise of usable OS I'd be very interested. https://www.cloudmedia.com/?product=chameleon 0 Quote
JMCC Posted January 5, 2021 Author Posted January 5, 2021 New release in the repos: Fixed Chromium showing images in indexed color, and other limitations. Fixed OpenCL broken in last update Improved X performance under glamor (by 100%, in gtkperf tests) Fixed rkcamsrc plugin for using the ISP MIPI-CSI camera. Added the Rockchip RGA library (also enabled in the kernel). 0 Quote
Kete Posted January 14, 2021 Posted January 14, 2021 Thank you very much for your efforts. However, Chromium is totally unstable. It always crashes randomly (aw, snap) after a few minutes of playback in streaming websites. Is there anything that can be done? I have tested other browsers but they are far from perfect. The only option is a HW accelerated one like chromium in full screen mode. At this point is there any hope that vaapi-enabled firefox 80+ can be compiled and used? What about vaapi-enabled gstreamer ones like epiphany? (I tested it but the performance was terrible as it was not HW-accelerated.) 0 Quote
JMCC Posted January 14, 2021 Author Posted January 14, 2021 Thank you very much for your efforts. However, Chromium is totally unstable. It always crashes randomly (aw, snap) after a few minutes of playback in streaming websites. Is there anything that can be done? I have tested other browsers but they are far from perfect. The only option is a HW accelerated one like chromium in full screen mode. At this point is there any hope that vaapi-enabled firefox 80+ can be compiled and used? What about vaapi-enabled gstreamer ones like epiphany? (I tested it but the performance was terrible as it was not HW-accelerated.) Vaapi will do nothing, there is no vaapi support in Rockchip Legacy In order to help you with your problem, you need to provide information about your system. Start with the output of 'sudo armbianmonitor -u'Enviado desde mi moto g(6) plus mediante Tapatalk 0 Quote
Kete Posted January 15, 2021 Posted January 15, 2021 Thank you very much for your swift reply. I immediately got the needed information but somehow armbian forum did not let me post more than once yesterday. Anyway, this is the output: https://drive.google.com/file/d/1MTjonq6bYMsD3ef5iHa7ebHA64Vri6om/view?usp=sharing I have also appended Xorg.0.log to the end of the file. I also tested my own custom compiled kernel for Rock64, and while the experience was a little better, at the end chromium always crashed again with Aw, snap. This is a on 4GB Rock64 SBC. For the fdt I am using rk3328-rock64.dtb. 0 Quote
JMCC Posted January 15, 2021 Author Posted January 15, 2021 1 hour ago, Kete said: I also tested my own custom compiled kernel for Rock64 We can only help you if you are using the official Armbian kernel, from the stable legacy branch. If you choose to use some other kernel, then you are on your own. Please try on a fresh Armbian image, with the official kernel. Make sure you use a buster legacy desktop image, namely this one: https://redirect.armbian.com/rock64/Buster_legacy_desktop.torrent. I am telling you to start over with a new image, because from the logs above I suspect there was a problem with the installation of some desktop packages. 0 Quote
Kete Posted January 16, 2021 Posted January 16, 2021 Thanks for your reply. Although I was running my own custom kernel, I had already tested it with the stock kernel as well. The situation did not differ. Anyway, as you said I wrote the stock image to a new microSD and started over. The hang/freeze or the aw, snap error was present. armbianmonitor output: https://drive.google.com/file/d/1UwBDMZ2D8G6q6QdGHGar9pHX50GjTv66/view?usp=sharing Some more log appeared on the serial console at the freeze event: https://dpaste.com/2J847U2EN The end has three lines from dmesg which was the only thing it was showing when the the system froze while trying to stream a video in chromium. 0 Quote
JMCC Posted January 16, 2021 Author Posted January 16, 2021 10 hours ago, Kete said: Some more log I can see some reference to x11vnc in the log, is that so? If you are trying to play a streamed video through vnc, it will cause all kind of problems, even more on such a weak CPU. 0 Quote
Kete Posted January 18, 2021 Posted January 18, 2021 On 1/17/2021 at 2:06 AM, JMCC said: I can see some reference to x11vnc in the log, is that so? If you are trying to play a streamed video through vnc, it will cause all kind of problems, even more on such a weak CPU. Of course not. Directly the performance is not perfect let alone through VNC. The problem is definitely related to Chromium. I can play a high-profile x264 local file using the players for hours with no issues, but in the browser it always crashes or hangs. I am experimenting with some options to further troubleshoot the issue and to see what exactly can trigger the problem. I will let you know once I have done my testing. 0 Quote
q4a Posted January 19, 2021 Posted January 19, 2021 I just installed Armbian_20.11.6_Tinkerboard_buster_legacy_4.4.213_desktop.img.xz, update and install Legacy Multimedia Framework on my asus tinkerboard rk3288 with: Quote sudo apt update && sudo apt upgrade sudo apt install media-buster-legacy-tinkerboard --install-recommends Then after few hours of internet surfing with chromium I was listening youtube in one tab and read some page. Than I got huge freeze: sound became choppy and mouse was moving very slow. After few minutes chromium was killed. I'm not sure what was that, but I was getting same bug with mainline kernel on ubuntu focal. May be it's old kernel bug or wrong patch for devie tree? Can somebody check my dmesg after freeze (before reboot)? And here is my armbianmonitor -u: http://ix.io/2MCE dmesg.txt 0 Quote
JMCC Posted January 20, 2021 Author Posted January 20, 2021 9 hours ago, q4a said: I was getting same bug with mainline kernel on ubuntu focal Then it is not related to the buster multimedia framework, bit something else. Your dmesg shows a USB webcam and cheese. Try without that device. 0 Quote
Kete Posted January 30, 2021 Posted January 30, 2021 (edited) OK. After doing much testing, I can say that there is something wrong with Chromium. The situation is totally random and I reproduced the issue in many conditions. It is not related to anything but the browser itself. This is really sad. Everything works very well (I even play youtube through mpv/ytdl) but this hardware accelerated chromium is totally unstable. There was not even one time when it did not crash on me, which is a shame because for those websites that don't have a streaming implementation in kodi/youtube-dl, the browser is the only way to access the media and with Rock64 and the current chromium it is unusable. Q1. Is there anything that could be done to increase the stability in Chromium? (Like some options in the browser) Q2. Will there be any other hardware-accelerated browser? Edited January 30, 2021 by Kete 0 Quote
Krapadur Posted February 8, 2021 Posted February 8, 2021 Hello, I have a Rock64 and i would like to install Kodi on Armbian Buster Legacy 4.4.213 Desktop. I flashed it with Etcher, it seems OK. Then i did : sudo apt remove command-not-found sudo apt update && sudo apt upgrade sudo apt install media-buster-legacy-rk3328 --install-recommends The app command-not-found was preventing me from updating with apt. I got an error. After the reboot, when I select Kodi-GBM in the menu and log-in with my main user account, i got Kodi Leia fullscreen and nothing else happens. I'm stucked here. Am i making a mistake ? Have you any idea of what is happening ? Where should i see some relevant logs about Kodi's launching ? 0 Quote
JMCC Posted February 8, 2021 Author Posted February 8, 2021 3 hours ago, Krapadur said: The app command-not-found was preventing me from updating with apt. I got an error. Strange. Reinstall from scratch and post the error. 3 hours ago, Krapadur said: Where should i see some relevant logs about Kodi's launching ? ~/.kodi/temp/kodi.log 0 Quote
Krapadur Posted February 9, 2021 Posted February 9, 2021 Hi, Thank you for your help :-) Reinstall from scratch is getting better : i guess i had encoding problems choosing locales according to my location France. I said "Yes" and now i just say "No" and i don't have error with "sudo apt update". About Kodi, i launched it once from login screen, choosing Kodi-GBM with my main account user/password. I got menu screen but impossible to interact : keyboard/mouse not working anymore. After reboot, i'm now stucked at the Kodi splash screen. No menu. A sudo reboot from Putty console took a moment to effectively reboot the Rock64, and no more Kodi menus appearing... 2021-02-09 21:47:44.903 T:547990247008 ERROR: DBus error: org.freedesktop.DBus.Error.ServiceUnknown - The name org.freedesktop.UPower was not provided by any .service files [...] 2021-02-09 21:47:48.920 T:547865369984 ERROR: SQL: [Epg12.db] SQLite error SQLITE_ERROR (no such table: version) Query: SELECT idVersion FROM version 2021-02-09 21:47:48.957 T:547865369984 ERROR: Process error processing job So i had a look at ~/.kodi/userdata/Database/ and renamed Epg12.db to Epg12.db.old Now, lauchning Kodi, i got a Dbus error in log https://postit.ilinux.fr/?02830bec8bcc36d9#2QAW5vaRzKjxNjPgxXGGfuWsr8TrjEnpE3AFobo4mQjb 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.