JMCC

Members
  • Content Count

    557
  • Joined

  • Last visited


Reputation Activity

  1. Like
    JMCC got a reaction from manuti in [Development] RK3399 media script   
    So finally we have the first version of:
    The UN-official, UN-supported, etc...
    RK3399 MEDIA TESTING SCRIPT
     
    This is the first release of the RK3399 media testing script. The script provides a functionality similar to its RK3288 equivalent:
    Installing all the libraries and system configurations necessary for GPU accelerated X desktop, Chromium WebGL, full VPU video play acceleration up to 4k@60 10-bit HEVC (the maximum supported by the SoC), and GLES 3.2 / OpenCL 1.2 support. Three video players supporting full VPU acceleration (RKMPP) and KMS display (GBM or a X11 DRM "hack", as described by the authors), namely: MPV, Gstreamer and Kodi. Two example programs using the OpenCL functionality: Examples form the Arm Compute Library, and a GPU crypto miner (an old version, but small and simple). A library that will act as an OpenGL to OpenGL-ES wrapper, allowing you to run programs that use OpenGL 1.5-2.0. Two additional features, that have no big interest from the Armbian development prospective, but I find them interesting to play with:  Chromium browser with support for Flash and DRM-protected commercial web video streaming (tested with Amazon Prime, should also work with Netflix, Hulu, etc.), and a simple Pulseaudio GTK equalizer using LADSPA.  
    Here is a more thorough documentation:
     
    >>> DOWNLOAD LINK <<<
     
    Prerequisites:
    You need a fresh Armbian Bionic desktop image with default kernel installed. IMPORTANT NOTE: For Kodi to work, you need to use a nightly kernel for most RK3399 boards. Otherwise, it will crash the system. I'm not sure about RockPro64, it will probably work with the stable image. Please test and let me know, I don't have the board.  
    Instructions:
    Download the file above Untar it: tar xvf media-rk3399_*.txz cd media-script ./media-rk3399.sh  
    Notes:
    This script is not officially supported by the Armbian project. It is just a community effort to help the development of the main build, by experimenting with a possible implementation of the media capabilities of this particular SoC. Therefore, questions about the script should not be laid out as support requests, but as commentaries or community peer-to-peer assistance. That being said, all commentaries/suggestions/corrections are very welcome. In the same way, I will do my best to help solve any difficulty that may arise regarding the script.  
    Enjoy!
  2. Like
    JMCC got a reaction from NicoD in Does anyone have VPU working with RK3399 ?   
    RK3399 media script released, with full VPU acceleration support:
     
  3. Like
    JMCC got a reaction from Igor in Does anyone have VPU working with RK3399 ?   
    RK3399 media script released, with full VPU acceleration support:
     
  4. Like
    JMCC got a reaction from Dante4 in Librecomputer Renegade RK3328   
    Correct, there is no way to use windowed accelerated mpv. Gstreamer uses a hack to simulate X11 windowed playing.
  5. Like
    JMCC got a reaction from Dante4 in Does anyone have VPU working with RK3399 ?   
    Well, yes, I didn't mention that you need to configure the system with the script first. I'll PM you a link of the preliminary version, though it is almost finished
  6. Like
    JMCC got a reaction from NicoD in Does anyone have VPU working with RK3399 ?   
    Well, yes, I didn't mention that you need to configure the system with the script first. I'll PM you a link of the preliminary version, though it is almost finished
  7. Like
    JMCC got a reaction from NicoD in Does anyone have VPU working with RK3399 ?   
    @NicoD Well, in order to compile ffmpeg with rkmpp support, you need to pass these three configure flags (or their cmake equivalent, if that's what you are using): 
    --enable-libdrm --enable-version3 --enable-rkmpp  
    Then, make sure your user has access to DRM. It should be enabled out-of-the-box for the default user in Armbian, if you build a current NanoPC-T4 image with the script (not in the one for download). Or you can just try to launch ffplay with sudo.
     
    For last, when you launch it try changing the "h264" decoder to the "h264_rkmpp" decoder. Here is a link to a thread in the ffmpeg lists from someone who tried to do something similar: http://ffmpeg.org/pipermail/libav-user/2018-April/011081.html
     
    Good luck with that 
  8. Like
    JMCC got a reaction from NicoD in Does anyone have VPU working with RK3399 ?   
    AFAIK, ffmpeg can only display rkmpp decoded video through drmprime/gbm. Meaning that it cannot show it windowed in kdenlive.
     
    I see more chances of using mpp accelerated decoding in a gstreamer-based video editor, such as pitivi
  9. Like
    JMCC got a reaction from Dante4 in Librecomputer Renegade RK3328   
    I'm not sure about ayufan's mpv version. I can tell you that I am working on a script for Armbian that has RKMPP enabled mpv. The proper way to start mpv with hardware decoding is like this:
    LD_LIBRARY_PATH=/path/to/your/libmali-gbm mpv --hwdec=rkmpp --vo=gpu --gpu-api=opengl --gpu-context=drm "<filename.mkv>" It works with my mpv, not sure about ayufan's
  10. Like
    JMCC got a reaction from Dante4 in Librecomputer Renegade RK3328   
    You can have a look at my script when I release it. It includes info about the sources.
  11. Like
    JMCC got a reaction from NicoD in [RFC 001] Changes for boards and features implementing   
    You read my mind! I'm brushing up the last stages for the RK3328/3399 multimedia support, and after that I was going to propose to add it to the build script.
     
    So my plan is to release the media scripts for those two SoC's in a few days, and after having some feedback from the community integrate the main features into the main build.
     
    Edit: I mean including all three RK SoC's: 3288, 3399 and 3328.
  12. Like
    JMCC got a reaction from Igor in [RFC 001] Changes for boards and features implementing   
    You read my mind! I'm brushing up the last stages for the RK3328/3399 multimedia support, and after that I was going to propose to add it to the build script.
     
    So my plan is to release the media scripts for those two SoC's in a few days, and after having some feedback from the community integrate the main features into the main build.
     
    Edit: I mean including all three RK SoC's: 3288, 3399 and 3328.
  13. Like
    JMCC reacted to Greg in OpenGL on Mali GPU (BananaPi, OrangePi PC, etc)   
    Hi there,
     
    I followed this for my pcDuino3 and it worked well except that graphics run slow, but better then they did before I followed this.
     
    In step 3 you say to configure your kernel to allocate memory for the GPU. I am a bit unsure on what to do here and realise it is platform specific. However, could you provide any further instruction on why to do. I am booting of an SD card and have tried updating a file called uEnv.txt to add commands shown on the configure page to this but they don't seem to have any effect. 
     
    Ultimately I am trying to run emulation station and tetrarch ala retropie on my pcDuino3. It has been challenging to say the least!
     
    Any help or pointers you could give would be appreciated.
     
    Thanks,
     
    Greg
  14. Like
    JMCC got a reaction from Dante4 in Librecomputer Renegade RK3328   
    You can copy-paste this code into a root console, and it will give you a Qt5 player using the RK GStreamer plugin:
    apt-get -y install qtgstreamer-plugins-qt5 gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-plugins-good gstreamer1.0-plugins-base libqt5opengl5 libqt5qml5 libqt5quick5 libqt5widgets5 libqt5gui5 libqt5core5a qml-module-qtquick2 libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediaquick-p5 qtmultimedia5-examples qtmultimedia5-doc-html echo '#!/usr/bin/env xdg-open [Desktop Entry] Type=Application Name=Rockchip Gst Player GenericName=Media Player Comment=A gstreamer base player Exec=env QT_GSTREAMER_WIDGET_VIDEOSINK=rkximagesink /usr/lib/aarch64-linux-gnu/qt5/examples/multimediawidgets/player/player --geometry 960x640+0+0 Icon=/usr/share/icons/gnome/48x48/categories/applications-multimedia.png Terminal=false Categories=Qt;AudioVideo;Player;Video; MimeType=application/ogg;application/x-ogg;application/mxf;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/aiff;audio/x-aiff;audio/m4a;audio/x-m4a;application/x-extension-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/mpeg2;audio/mpeg3;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/musepack;audio/x-musepack;audio/ogg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg2;video/x-mpeg3;video/mp4v-es;video/x-m4v;video/mp4;application/x-extension-mp4;video/divx;video/vnd.divx;video/msvideo;video/x-msvideo;video/ogg;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;audio/x-ms-asf;application/vnd.ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/avi;video/x-flic;video/fli;video/x-flc;video/flv;video/x-flv;video/x-theora;video/x-theora+ogg;video/x-matroska;video/mkv;audio/x-matroska;application/x-matroska;video/webm;audio/webm;audio/vorbis;audio/x-vorbis;audio/x-vorbis+ogg;video/x-ogm;video/x-ogm+ogg;application/x-ogm;application/x-ogm-audio;application/x-ogm-video;application/x-shorten;audio/x-shorten;audio/x-ape;audio/x-wavpack;audio/x-tta;audio/AMR;audio/ac3;audio/eac3;audio/amr-wb;video/mp2t;audio/flac;audio/mp4;application/x-mpegurl;video/vnd.mpegurl;application/vnd.apple.mpegurl;audio/x-pn-au;video/3gp;video/3gpp;video/3gpp2;audio/3gpp;audio/3gpp2;video/dv;audio/dv;audio/opus;audio/vnd.dts;audio/vnd.dts.hd;audio/x-adpcm;application/x-cue;audio/m3u; ' > /usr/share/applications/demo-player.desktop  
  15. Like
    JMCC got a reaction from Dante4 in Librecomputer Renegade RK3328   
    Libreelec has some patches to libdrm for 10-bit formats: https://github.com/LibreELEC/LibreELEC.tv/tree/master/projects/Rockchip/patches/libdrm
  16. Like
    JMCC got a reaction from Dante4 in Librecomputer Renegade RK3328   
    No, it is not obvious. I knew it because I had to deal with the LibreElec source tree when I was preparing the RK-enabled Kodi for the Tinker Board . RK used to have their own version of libdrm, but for some reason they discontinued the project. ASUS TinkerOS still included the library as of version 2.0.5, not sure if it is present in last release.
  17. Like
    JMCC reacted to TonyMac32 in Librecomputer Renegade RK3328   
    I forgot this came up in this topic, I have modified the rk3328.dtsi to use 8mA drive strength on all rk3328 boards, that will fix the issues for most users as far as the electrical interface is concerned (it is default 4 mA). 12 mA is available, if someone spends enough time rigorously testing to determine it's needed (probably edge cases with crappier than normal cards or poorly routed designs with too much capacitance) Rock64 was having the same complaints.
     
    https://github.com/ayufan-rock64/linux-kernel/commit/501b604fcb0b317e82be21183f764bc3e4e1f519
     
    For S905X, I'm afraid I haven't found a way to change the output drive level. 
  18. Like
    JMCC got a reaction from TonyMac32 in Librecomputer Renegade RK3328   
    No, it is not obvious. I knew it because I had to deal with the LibreElec source tree when I was preparing the RK-enabled Kodi for the Tinker Board . RK used to have their own version of libdrm, but for some reason they discontinued the project. ASUS TinkerOS still included the library as of version 2.0.5, not sure if it is present in last release.
  19. Like
    JMCC got a reaction from NicoD in over-heating while playing video with VLC/mpv   
    Seems like the community is seriously demanding 64 bit versions of the RK media script (3399 and 3328). Give me some days, I'll work on it.
  20. Like
    JMCC got a reaction from manuti in [HOWTO]: Emby Server with hardware transcoding in XU4/HC1/HC2 Armbian Stretch   
    As a result of all the work that Armbian developers put into the upgrade to kernel 4.14 for the XU4 board family, now we can enjoy many new features. One of them is the access to the SoC video encoding capabilities.
     
    Emby Media Server can take advantage of the Exynos 5422 MFC video engine for transcoding. That means lower CPU usage, lower temperatures, and the possibility of encoding in real time higher resolutions or more simultaneous streams. In my tests, I've been able to transcode one HEVC 1080p and one 480p at the same time, or five 480p (though it will depend on the bitrate of the source material).
     
    However, the ffmpeg version shipped with official Emby is quite unstable when using this feature. For that reason, I compiled a better and more stable version from @memeka's repo. I've been using it for over a month without a single crash.
     
    So this is a step-by step guide on how to make everything work:
     
    0. [PREREQUISITE]: You must be running an Armbian Strech XU4 "Next" image, like the one you can download here.
     
    >> DOWNLOAD the emby and ffmpeg packages from this link << Install them (Note: this will install Emby Server version 3.5.3, which is the last at the writing of this tutorial. It has been tested to work with this version, and may or may not work with any other): $ tar xvf emby-server-stretch-xu4_1.0.tar.xz $ sudo dpkg -i ffmpeg/*.deb $ sudo dpkg -i emby-server/*.deb $ sudo apt -f install  
    Hold the ffmpeg packages, so they don't get upgraded:  
    $ sudo apt-mark hold ffmpeg-doc ffmpeg libavcodec-dev libavcodec-extra libavdevice-dev libavfilter-dev libavfilter-extra libavformat-dev libavresample-dev libavutil-dev libmysofa-dev libmysofa-utils libmysofa0 libpostproc-dev libswresample-dev libswscale-dev  
    Add the user "emby" to the video group, so it can have access to the transcoding engine: $ sudo usermod -aG video emby  
    Modify the emby executable, to use our custom ffmpeg (Note: you will need to repeat this step every time you update the emby deb package): $ sudo nano /opt/emby-server/bin/emby-server # Change the following line: ffmpeg $APP_DIR/bin/ffmpeg \ # to: ffmpeg /usr/bin/ffmpeg \  
    Restart the service:
    $ sudo service emby-server restart  
    Now, you can open the web browser, point to your Emby server (e.g. http://odroidxu4.local:8096), and configure it as described in the official tutorial (https://github.com/MediaBrowser/Wiki/wiki/Installation).
    For last, you need to enable Hardware video transcoding in the web interface. The option is under the "Transcoding" submenu. Don't forget to click on "Save" when you are done:
     
     

     
    And that's it!
     
    As an additional tip, I recommend disabling UPnP in Emby, because it causes the program to crash frequently when enabled (this is just a general recommendation, it has nothing to do with hardware encoding).
     
    Enjoy! And please, share your experiences and comments here.
  21. Like
    JMCC reacted to TonyMac32 in Renegade/Rock64 mainline build recipes   
    Working on the rockchip64 family dev images, since 4.19 is an LTS and the RK3328 support is somewhat workable.  With a reminder of something I failed to read by @JMCC, I got this today:
     
    ____ _ | _ \ ___ _ __ ___ __ _ __ _ __| | ___ | |_) / _ \ '_ \ / _ \/ _` |/ _` |/ _` |/ _ \ | _ < __/ | | | __/ (_| | (_| | (_| | __/ |_| \_\___|_| |_|\___|\__, |\__,_|\__,_|\___| |___/ Welcome to ARMBIAN 5.65 user-built Debian GNU/Linux 9 (stretch) 4.19.0-rockchip6 4 System load: 0.99 0.55 0.22 Up time: 2 min Memory usage: 3 % of 2000MB IP: CPU temp: 40°C Usage of /: 2% of 117G [ General system configuration (beta): armbian-config ] New to Armbian? Check the documentation first: https://docs.armbian.com Thank you for choosing Armbian! Support: www.armbian.com Building a Rock64 test image as I write this, then checking out the RK3399 boards in my possession. HDMI works after a plug cycle, may need to utilize some of @botfap's script-fu on boot to wake up the interface. 
     
    Known Issues:
     
    Renegade
    bottom USB2 port is non-functional HDMI needs a friendly reminder to talk to the display  
    Rock64
    Same HDMI hickup Top USB2 port is non-functional  
    Boot up your build machines (or launch you virtual ones, whatever) and get hacking!
  22. Like
    JMCC got a reaction from simonecenton in enable tightvncserver local input   
    Probably if you use x11vnc instead of tightvncserver. Maybe this tutorial still works in Xenial.
  23. Like
    JMCC got a reaction from chwe in RK3328 Kernel   
    Okay, so I created a working fork of RK BSP kernel. It reproduces the status at the end of August, when we created the Default images that are currently available for download. I also modified the buildscript patchset to resemble what it was back then.
     
    I have tested Wifi, network, Bluetooth, GPU, VPU, all working.
     
    There are two things missing:
    Security patches after 4.4.132 All the features added after August 28 2018 (like some crypto modules, etc.) I'd appreciate if you guys could lend me a hand with those two things, it can be very easy for you because you already added those patches to 'master' before, but I'm a bit lost about where to start.
     
    This is our forked RK kernel: https://github.com/armbian/linux/tree/rockchip-4.4
    And this is the working branch of the build script: https://github.com/armbian/build/tree/rockchip-4.4
  24. Like
    JMCC got a reaction from NicoD in offically support Khadas VIM?   
    Well, that is in a sense what is done now with "board families". All the boards in the same family share the kernel and most filesystem tweaks, and differ only in the device tree and some adjustments for specific hardware. But it is only possible when all the boards share the same SoC or a very close one. With completely different SoC's, that is not possible, each one needs a different kernel. Notice that all different boxes supported by balbes150's images have some Amlogic Meson SoC, and that is why they can use the same image with minor tweaks.
  25. Like
    JMCC reacted to Igor in offically support Khadas VIM?   
    One great options is to help make it. I am pretty sure that all current maintainers have a big pile of hardware and very little time. More load is almost impossible to add ... I talked with @balbes150 about this problem long time ago. He is having boxes, I am having boards. Have it or have a free access to them. This is still the same. We as a community, not just he and I, wants to see project develop further. We (those few people who stands out with their work) can't produce more and more. It doesn't go that way ... it's more, more, more ... and once nothing more  That is bad for all. The one wants to work but he can't and community lost one of the prime contributors.

    If you or someone else wants to see this and that board/hardware supported, become its maintainer. It's a long term micro job and we can arrange samples or other random boards from our (over)stock and donations cuts for compensation/motivation.
     
    Making board officially supported means answering to its problems over longer period of time. Someone has to take that prime responsibility and someone has to serve as a backup. IMO current maintainers could jump on backup roles at best.