Hi,
Thanks mosterta and tom81 for the great work. I gave up last year some time with kodi on my cubietruck, but figured I would give it another shot when I saw this discussion.
Maybe someone is still monitoring this and can give me some pointers. I think my library paths are somewhat different is the reason that some things aren't working.
I am at the following point:
a) updated the ump kernel patch and modprobe -v ump works and the module is listed with lsmod
b) libump: successfully configured and compiled from tom81 github, branch mosterta/master with the following patch:
Code:
--- a/src/ump.h.in
+++ b/src/ump.h.in
@@ -182,6 +182,7 @@ UMP_API_EXPORT void ump_read(void * dst, ump_handle src, unsigned long offset, u
*/
UMP_API_EXPORT void ump_write(ump_handle dst, unsigned long offset, const void * src, unsigned long length);
+UMP_API_EXPORT void* ump_phys_address_get(ump_handle memh);
/**
installed at /usr/local:
Code:
>nm /usr/local/lib/libUMP.so | grep ump_phys
00002580 T ump_phys_address_get
headers ump.h, ump_platform.h and ump_ref_drv.h are in /usr/local/include/ump/
c) libvdpau
.configured and compiled with
./configure --disable-dri2 and make install tells me the following
Code:
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib/vdpau
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
d) my /etc/environment looks as follows:
Code:
LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib/vdpau
LD_RUN_PATH=/usr/local/lib:/usr/local/lib/vdpau
LIBRARY_PATH=/usr/local/lib
VDPAU_DRIVER=sunxi
A10HWR=1
e) libvdpau-sunxi
from tom81's gibhub branch master
following patches applied:
Code:
--- a/ve.c
+++ b/ve.c
@@ -22,6 +22,7 @@
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
--- a/presentation_queue.c
+++ b/presentation_queue.c
@@ -22,6 +22,7 @@
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
+#include <stdio.h>
#include <sys/ioctl.h>
#include "sunxi_disp_ioctl.h"
#include "ve.h"
--- a/Makefile
+++ b/Makefile
@@ -8,12 +8,12 @@ CEDARV_SRC = ve.c veisp.c
NV_TARGET = libvdpau_nv_sunxi.so.1
NV_SRC = opengl_nv.c
-CFLAGS ?= -Wall -O0 -g
+CFLAGS ?= -Wall -Wl,-rpath -O0 -g
LDFLAGS =
LIBS = -lrt -lm -lpthread
LIBS_EGL = -lEGL
LIBS_GLES2 = -lGLESv2
-LIBS_VDPAU_SUNXI = -L /usr/lib/vdpau -lvdpau_sunxi
+LIBS_VDPAU_SUNXI = -L $(PWD) -lvdpau_sunxi
LIBS_CEDARV = -L $(PWD) -lcedar_access
CC = gcc
@@ -45,9 +45,9 @@ NV_DEP = $(addsuffix .d,$(basename $(NV_SRC)))
MODULEDIR = $(shell pkg-config --variable=moduledir vdpau)
ifeq ($(MODULEDIR),)
-MODULEDIR=/usr/lib/vdpau
+MODULEDIR=/usr/local/lib/vdpau
endif
-USRLIB = /usr/lib
+USRLIB = /usr/local/lib
.PHONY: clean all install
compiles and
Code:
ldd -r libcedar_access.so
has no errors and points to the right libUMP.so.3
f) cedarjpg
checked out master branch of tom81
compiles without modifications.
l
dd -r libcedarJpeg.so has no error, points to the right libUMP, however libEGL is at /usr/lib/libEGL.so, sunxi-mail configured with r3p0 and framebuffer versions
However
the test fails.
Code:
>./jpeg-test Example.jpg
could not allocate ump buffer!
(I am still working "headless" via ssh before I plug it into my TV, maybe this is the reason, but as far as I understand it should generate a file and not rely on a display)
g) configure kodi
The configure goes through (although I had to manually configure and compile ffmpeg, before it could be included), but I cannot get it to configure libcedarjpeg and some other things are weird:
Code:
$ ./configure --config-cache --prefix=/usr/local --disable-x11 --disable-sdl --disable-xrandr --disable-joystick --disable-gl --enable-vdpau --disable-vaapi --disable-openmax --enable-neon --enable-gles --disable-mysql --disable-airplay --disable-airtunes --enable-debug --disable-optimizations --with-ffmpeg=force --with-platform=allwinner-mali
## --------- ##
## Platform. ##
## --------- ##
hostname = cubie2
uname -m = armv7l
uname -r = 3.4.111-cbtrk+
uname -s = Linux
uname -v = #20 SMP PREEMPT Sun Apr 9 13:52:36 CEST 2017
/usr/bin/uname -p = unknown
/bin/uname -X = unknown
/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
...
configure:29128: checking for sys/capability.h
configure:29128: result: no <------
configure:29138: == Could not find libcap. Capabilities detection support disabled. ==
configure:29199: checking for cedarJpegLib.h
configure:29199: result: no <------
configure:29209: == Could not find libcedarJpeg. Will fall back to libjpeg. ==
...
and the output is:
Code:
------------------------
Kodi Configuration:
------------------------
Kodi Version: 16.1-RC2
git Rev.: 20160319-7de69d4
Debugging: Yes
Profiling: No
Optimization: No
SWIG Available: Yes
JRE Available: Yes
Doxygen Available: No
Crosscomp.: No
target ARCH: arm
target CPU:
OpenGLES: Yes
ALSA: Yes
DBUS: Yes
VDPAU: Yes
VAAPI: No
VTBDecoder: No
OpenMax: No
Joystick: No
Touch skin: No
X11: No
Wayland: No
Bluray: No
TexturePacker:Yes
MID Support: No
ccache: No
ALSA Support: Yes
PulseAudio: No
DVDCSS: Yes
Google Test Framework Configured: Yes
Google Breakpad Configured: No
Avahi: Yes
mDNSEmbedded: No
Non-free: Yes
ASAP Codec: No
MySQL: No
Webserver: Yes
libssh support: Yes
libRTMP support: Yes
libsmbclient support: Yes
libnfs client support:Yes
libgif support: Yes
AirPLay support: No
AirTunes support: No
UPnP support: Yes
Optical drive: Yes
libudev support: Yes
libusb support: No
libcec support: No
libcap support: No <------
libcedarJpeg support: No <------
additional players: No
additional codecs: No
prefix: /usr/local
However, I have
Code:
/usr/local/include/cedarJpegLib.h
and
Code:
/usr/include/sys/capability.h
Why is this not found?
(btw, cedarjpg is in /usr/local/lib/libcedarJpeg.so, I tried to copy it to /usr/lib and the include to /usr/include, but it did not make a difference)
Anyway, this and the fact that I get a runtime error when trying to test the libcedarjpg, I seriously believe something is still wrong