12-28-2018, 08:13 AM
(11-13-2018, 03:01 PM)Luke Wrote:
I'm gonna have to switch to recalbox and perform all my fixes again, cause this looks great.
I'm a Linux veteran but rusty; last time I used Linux was like 1997, and again in 2003, then quit for a long while.
( So please excuse my mistakes, I will make a lot of them while catching up. )
But 4K@30fps only? Sounds like RKVDEC is still disabled which is easy to fix!
https://forum.pine64.org/showthread.php?...8#pid42838
NOTE: The thing I do to the VOP source in that thread is incorrect practice; a DTS fix is the right way, where you select VOPB instead of VOPL.
But that was for MY specific problem, which it sounds like this build doesn't have, since your 4K works already.
I didn't know any of this at the time I made that thread, because I am completely new to the entire device tree concept. But I've been learning by hacking away at it with dtedit.
Someone gave me a diff that selects VOPB instead of VOPL but I haven't yet worked it into my own DTS because my DTS is completely different right now.
The diff just in case it helps anyone:
https://forum.libreelec.tv/thread/13097-...post106240
Anyway, the actual important part, which sounds like it could be missing:
You probably need RGA, VPU, and RKVDEC objects enabled in DTS.
I used 'dtedit' on ayufan's images and set all 3 of those to 'status = okay' and whatnot, and that worked for me.
(They were set to status = disabled on all the ayufan images I've used so far)
Then I built and installed rockchip's libmpp, also required:
https://github.com/rockchip-linux/mpp
(Build and install as usual)
( I also downloaded and built mpv )
Then I download ffmpeg source, and configure ffmpeg with:
(Then build and install as usual)
Code:
pkg_config=$(which pkg-config) PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig \
./configure --enable-openssl --enable-rkmpp --enable-libdrm --enable-nonfree \
--enable-version3 --disable-opengl --enable-sdl2 \
--extra-cflags='-I/usr/include' --extra-ldflags='-L/usr/lib/aarch64-linux-gnu'
Here is the most important 2 pieces that cannot be removed from that configure line: --enable-rkmpp --enable-libdrm
RKMPP, (which only functions via KMS+DRM and GBM), tells ffmpeg to decode onto the RKVDEC device in DTS.
mpp and ffmpeg configured this way is the only way to get 4K@60fps in Kodi/framebuffer/ffmpeg/mpv.
(For mpv, you have to tell it "how", every time you launch it: mpv --vo=gpu --gpu-context=drm --hwdec=rkmpp ./BigBuckBunny.mp4)
But then Kodi isn't going to use external ffmpeg unless you rebuild kodi, too, and tell it to use your external ffmpeg: " -Dwith-ffmpeg=shared "
Code:
mkdir kodi
mkdir buildkodi
# (Now you should download+unpack the kodi source to ./kodi; enter buildkodi, the empty dir, to place all the built stuff)
# (Any time this build routine fails, go into ./kodi and 'make clean' before you begin again, else it can be hell)
cd buildkodi
#configure step
cmake -j6 ../kodi -DCMAKE_INSTALL_PREFIX=/usr/local -DCORE_PLATFORM_NAME=gbm -DGBM_RENDER_SYSTEM=gles -Dwith-ffmpeg=shared
#build step
cmake --build . -- VERBOSE=0 -j6
#binary-addons step
pushd ../kodi
make -j6 -C tools/depends/target/binary-addons PREFIX=/usr/local
popd
I think once you find the missing piece you'll get 60fps activated!