I've updated my builds, now for libreelec addons it points to the official one for rk3328 (thanks to d-rex ).
For my needs works fine (I've tried some emulators)
I've updated my builds, now for libreelec addons it points to the official one for rk3328 (thanks to d-rex ).
For my needs works fine (I've tried some emulators)
this is an unofficial port of libreelec (for now).
This would mean that there is no official libreelec addons repository for rk3228/rk3229.
I think that knaerzche builds works with some hack(maybe pointing another libreelec addons repository) that is not present in the source code.
I'll try to fix my builds.
Jock2
Sorry, can not identify such "answers". There is a discussion around RK3229 but nothing precisely about the last firmware, where is it, if works or no.
Please, let me know again about my worries.
Give again such answers.... I have ever the same problems reported here ... I can not boot under RK3229 ... with such RAM and ROM described.
Do you have some success on it?
cc
Have you tried images for rk3228 instead of rk3229!?!? Keep in mind that often rk3228 boxes are sold as rk3229.
Try to flash an image for rk3228 (for example the alfawise a8).
Unfortunately with these boxes, you have to try until you find the right image
Hi,
So, any chances for image to work with HK1 Mini?
check my gdrive folder
Display MoreHmm ?
dit knaerzche's build get updated ? because I was using his LE9.2 and that has KODI 18.5
and his LE9.80 I could never get to boot on my box (the one Spike build for me I could, but that had KODI Alpha 19)
or do you mean you updated the KODI to 18.8 in Knaezche's build ?
(sorry for beeing a noob , im learning, but eager to learn
)
Hans
the source code of the stable branch (libreelec 9.2)
GitHub - knaerzche/LibreELEC.tv at libreelec-9.2
is updated, but @knaerzche's images not yet.
So I've cloned his repo and build the image for my box by myself.
Am I the only one having trouble with the libreelec repo?
I noticed that some packages have urls which are wrong or out of date
For example rockchip has removed the source code of the mpp package. But on github I found a fork
GitHub - HermanChen/mpp: Rockchip MPP(Media Process Platfrom)
that still works.
Display MoreI just tested this on my MXR 4K box, (with RK3229 chip)
Only played with it 5 minutes, but looks like everything works out of the box
(dit not copy any other device tree or anything, just wrote your file to SD card)
LAN, Wifi, Sound,
and what chocking is , even my remote works !!!!!! I spend a few day's with alot of help from user SpikeSP87 to get my remote to work on the standard build, and I gues you have the same remote
![]()
Build does have the same problem that even unmapped if I dare press the blue VOL+ button the box kills itself
(so thats defenatly a hardware issue between my box and kodi/libreelec)
Thank you for this build, I can now move this box from KODI 18.5 to 18.8
Hans
Glad to know it was useful :D.
However I'll forgot to mention that I've only builted(and shared) knaerzche repo with latest commits. Nothing more, nothing less
Hi all,
I've builted latest stable branch (with kodi 18.8) for my rockchip board (Alfawise A8).
libreelec-rk322x – Google Drive
If anyone needs other builds let me know (for space reasons I can't build all boards).
Cheers
Michele
occasionally it also happens to me that it restarts itself but I don't know if the cause and the high temperature
Have you tried with another power supply ?!
Regarding temperature, I renewed the thermal paste of the heat sink and the CPU is fresher
Thank you. I followed these steps and everything looked to be ok, but when I tried to start the system I got an error message "failed to start login service". The system starts but a lot of services are no running (ssh, etc). I think I will have to back to the original image.
It's strange because
- I'm using an image with this patch
- the two files are used only with software decoded streams(during my experiments, eventually broken shaders cause only black screen during playback)
I forgot to say that the whole procedure must be performed as super user, because otherwise there is the risk that the resulting filesystem may have wrong permissions.
In any case, the correct procedure would be to recompile the image with the patch. I'll try to send it to the project maintainer.
Can you please elaborate how to apply this patch? I would like to be able to play hevc files without system reboot,
Thank you
Assuming that you have a linux distribution:
- flash image as usual on a SD card
- mount first partition of sd card on your linux machine
- explode libreelec filesystem with squashfs tools
at this point under squashfs-root you can find the exploded filesystem of libreelec.
- replace file squashfs-root/usr/share/kodi/system/shaders/GLES/2.0/gles_yuv2rgb_basic.frag
/*
* Copyright (C) 2010-2013 Team XBMC
* http://xbmc.org
*
* This Program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This Program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with XBMC; see the file COPYING. If not, see
* <http://www.gnu.org/licenses/>.
*
*/
#version 100
precision mediump float;
uniform sampler2D m_sampY;
uniform sampler2D m_sampU;
uniform sampler2D m_sampV;
varying vec2 m_cordY;
varying vec2 m_cordU;
varying vec2 m_cordV;
uniform vec2 m_step;
uniform mat4 m_yuvmat;
uniform mat3 m_primMat;
uniform float m_gammaDstInv;
uniform float m_gammaSrc;
uniform float m_toneP1;
uniform vec3 m_coefsDst;
uniform float m_alpha;
void main()
{
vec4 rgb;
vec4 yuv;
#if defined(XBMC_YV12) || defined(XBMC_NV12)
yuv = vec4(texture2D(m_sampY, m_cordY).r,
texture2D(m_sampU, m_cordU).g,
texture2D(m_sampV, m_cordV).a,
1.0);
#elif defined(XBMC_NV12_RRG)
yuv = vec4(texture2D(m_sampY, m_cordY).r,
texture2D(m_sampU, m_cordU).r,
texture2D(m_sampV, m_cordV).g,
1.0);
#endif
/* START PATCH: DISABLE BT.709 colorspace conversion
rgb = m_yuvmat * yuv;
rgb.a = m_alpha;
#if defined(XBMC_COL_CONVERSION)
rgb.rgb = pow(max(vec3(0), rgb.rgb), vec3(m_gammaSrc));
rgb.rgb = max(vec3(0), m_primMat * rgb.rgb);
rgb.rgb = pow(rgb.rgb, vec3(m_gammaDstInv));
#if defined(XBMC_TONE_MAPPING)
float luma = dot(rgb.rgb, m_coefsDst);
rgb.rgb *= tonemap(luma) / luma;
#endif
#endif
END PATCH: DISABLE BT.709 colorspace conversion */
gl_FragColor = vec4(vec3(m_yuvmat * yuv),m_alpha);
}
Display More
- replace file squashfs-root/usr/share/kodi/system/shaders/GLES/2.0/gles_yuv2rgb_bob.frag
/*
* Copyright (C) 2010-2013 Team XBMC
* http://xbmc.org
*
* This Program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This Program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with XBMC; see the file COPYING. If not, see
* <http://www.gnu.org/licenses/>.
*
*/
#version 100
precision highp float;
uniform sampler2D m_sampY;
uniform sampler2D m_sampU;
uniform sampler2D m_sampV;
varying vec2 m_cordY;
varying vec2 m_cordU;
varying vec2 m_cordV;
uniform float m_alpha;
uniform mat4 m_yuvmat;
uniform float m_stepX;
uniform float m_stepY;
uniform int m_field;
uniform mat3 m_primMat;
uniform float m_gammaDstInv;
uniform float m_gammaSrc;
uniform float m_toneP1;
uniform vec3 m_coefsDst;
void main()
{
vec4 rgb;
vec2 offsetY;
vec2 offsetU;
vec2 offsetV;
float temp1 = mod(m_cordY.y, 2.0 * m_stepY);
offsetY = m_cordY;
offsetU = m_cordU;
offsetV = m_cordV;
offsetY.y -= (temp1 - m_stepY / 2.0 + float(m_field) * m_stepY);
offsetU.y -= (temp1 - m_stepY / 2.0 + float(m_field) * m_stepY) / 2.0;
offsetV.y -= (temp1 - m_stepY / 2.0 + float(m_field) * m_stepY) / 2.0;
float bstep = step(m_stepY, temp1);
// Blend missing line
vec2 belowY, belowU, belowV;
belowY.x = offsetY.x;
belowY.y = offsetY.y + (2.0 * m_stepY * bstep);
belowU.x = offsetU.x;
belowU.y = offsetU.y + (m_stepY * bstep);
belowV.x = offsetV.x;
belowV.y = offsetV.y + (m_stepY * bstep);
vec4 rgbAbove;
vec4 rgbBelow;
vec4 yuvAbove;
vec4 yuvBelow;
yuvAbove = vec4(texture2D(m_sampY, offsetY).r, texture2D(m_sampU, offsetU).g, texture2D(m_sampV, offsetV).a, 1.0);
rgbAbove = m_yuvmat * yuvAbove;
rgbAbove.a = m_alpha;
yuvBelow = vec4(texture2D(m_sampY, belowY).r, texture2D(m_sampU, belowU).g, texture2D(m_sampV, belowV).a, 1.0);
rgbBelow = m_yuvmat * yuvBelow;
rgbBelow.a = m_alpha;
rgb = mix(rgb, rgbBelow, 0.5);
/* START PATCH: DISABLE BT.709 COLOR CONVERSION
#if defined(XBMC_COL_CONVERSION)
rgb.rgb = pow(max(vec3(0), rgb.rgb), vec3(m_gammaSrc));
rgb.rgb = max(vec3(0), m_primMat * rgb.rgb);
rgb.rgb = pow(rgb.rgb, vec3(m_gammaDstInv));
#if defined(XBMC_TONE_MAPPING)
float luma = dot(rgb.rgb, m_coefsDst);
rgb.rgb *= tonemap(luma) / luma;
#endif
#endif
END PATCH: DISABLE BT.709 COLOR CONVERSION */
gl_FragColor = rgb;
}
Display More
- repackage squash filesystem, copy to sd card and umount
# mksquashfs squashfs-root/ SYSTEM -comp gzip
# cp SYSTEM /some_mountpoints/SYSTEM
# umount /dev/mmcblk0p1
that's all.
NB: this patch disable BT.709 color conversion that is slow on my mali 400 because it's use the pow math function.
Searching on kodi official github I've found
- Kodi PR#15286 improved rendering performance: · wrxtasy/CoreELEC@8f98ed7 · GitHub CoreELEC patch that is basically what I've done with my box
- [GLES] memcpy instead multi glTexSubImage2D for planes with pitch by peak3d · Pull Request #15286 · xbmc/xbmc · GitHub discussion of what is the problem
- Kodi 18.0 stutters when playing DVD files (VIDEO_TS) on Fire TV · Issue #15405 · xbmc/xbmc · GitHub discussion (now closed) that let me thinking kodi devs will never accept this kind of patch (that is, obviusly, more like a workaround than a solution)
At this point let me know knaerzche if you think reasonable to patch only this libreelec port.
Just for share my experience:
- I've switched back to stable (only because I don't need an external wifi usb adapter)
- patched kodi (no overclock.. no governor... only shaders)
and now, I'm able to play well also netflix/prime tv shows with the appropriate kodi addon (assuming sd quality that is the max available resolution with the DRM addon usable with libreelec).
Overclocking does not worth it, the GPU and memory subsystems (2 core GPU + 64 bit memory bus) are simply not tough enough on the rk322x.
You are right... this kind of box is not suitable for cpu/gpu intensive tasks, but, in my opinion, it's powerful enough for libreelec usage.
Looking into kodi source I've discovered that for software decoded streams, gpu is used for upscaling and color conversions (opengles vertex/fragment shaders).
With a mpeg4 stream (that in mainline libreelec is not hardware decoded) playing with scaler(nearest vs bilinear) and resolutions (fullhd vs hd), make video looks worse/better.
So after some experiments with shaders I've finally found this trick.
To reduce gpu load I've substantially reverted this commit (by removing sections into shaders)
[GLES] VideoPlayer: rewrite yuv - rgb conversion · xbmc/xbmc@0aadf5d · GitHub
that introduces other colorspace conversions.
I know it's not a clean solution, considering I'm not a color space expert, but now the box is almost perfect
Hi all,
I've discovered that changing the gpu governor from 'simple_ondemand' (that seems to be hardcoded at startup into lima driver) to 'performance', set the gpu clock stable to maximum rate, improving overall gui experience.
I've also experimented that
- the gpu is overclockable at 700Mhz (higher clock rate cause hard reset)
- CPU can be overclockable at 1,500Ghz
However, the above clocks settings don't seem to make miracles (at least with kodi).
Display MoreHi guys,
I tried to plug my V88-4K (rk3229) box to a monitor (supports touch but whatever) that is capable of:
640 x 480 at 60Hz
800 x 600 at 60Hz
1024 x 768 at 60Hz
1280 x 800 at 60, 60RB Hz
1280 x 960 at 60Hz
1280 x 1024 at 60Hz
1360 x 768 at 60Hz
1366 x 768 at 60, 60RB Hz
I couldn't manage to make it sync so, no image at all... it tries to auto sync to the box with no result.
Do I need to change anything in the SYSTEM image, add some file to my SD card root or folders?
Thanks!!!
Hi,
try to open file on sdcard first partition extlinux/extlinux.conf and remove/adjust the resolution inside kernel parameter 'video'
Hello friend can you tell me how you did it? thanks
With latest builds it shouldn't be needed anymore. If the ddr3 version not works for you try the ddr2 (alfawise a8 for rk3228 or v88mars for rk3229).
QuoteIf you could share your trick the let UHS mode work would be greatly appreciated!
I don't have a fix for UHS.. I've disabled it so my card works slower, but works.
knaerzche has explained this better in older post
Regarding sd card you are right, my fault. But i've started playing with this box a weeks ago, so if you tell me "double check"
Quote
BTW: Would be great if you relase source / write an howto for your slackware attempt like jock2 did it for armbian.
Maybe in my spare time, but substantially starting from your image (for the uboot/trust parts) I've only recompiled kernel (disabling initramfs that load libreelec squashfs filesystem) and followed the README
Quote
Hhhm, the card showed on your pics is a UHS1-Card.
you are right, sorry.
However my aim is to share with other peoples my tests and some coding in order to help development.. But thanks to your hard works, my box with some tricks works even with uhs1 (I've also rebuilt kernel and installed Slackware for fun). Discover what exactly was wrong with your images or what model exactly I've buyed is only for that. If you think are useless I stop spaming