Lubuntu v1_0_0 - XBMC added

From Orange Pi
Jump to: navigation, search

This image contains Lubuntu 14.04 (v1 Orangepi) with a working XBMC, but it is not perfect. I share it to let other people to look in and contribute for better versions.
Here what added on the original Lubuntu_v1 image:

1 OpenSSH server
2 recompiled kernel with additional devices into kernel and parameters needed by sunxi libraries
3 sunxi libraries and software:
a) UMP
b) sunxi-vdpau
c) libhybris
e) VLC
f) other minor stuff

The problems on XBMC are the following:
- internal player do not have hardware acceleration, VLC and mplayer does
- external players don't allow user interaction (play, pause) [expect VLC using local socket and keymap binding scripts, but slow in reaction].
- external player VLC CAN gain focus but is not always stable, sometimes the decoding is not good. Subtitles and onscreen msgs not supported, it crashes!
- external player MPLAYER CAN NOT gain focus. Here HD video are played well, almost. subtitles supported.
- quit XBMC, sometimes it works, sometimes not; the desktop (lightdm) does not always refresh the desktop on XBMC exit. The result is a freezed XBMC effect, even if the xbmc.bin process is not running anymore

I've solved these with a workaround. I don't like it very much but it works almost. Here how:
When a MKV is choosen from XBMC to be played, an external script is called. XBMC consider this script as external player, even if it isn't. This script closes XBMC (clear or forced), writes the path of the video in a file and restarts lightdm interface. This cause the interface to reload and starts automatically another script at login. This new script looks for the movie to play. If the file contains the movie to play, it starts the movie, first with mplayer, in case of fails, with vlc. Using the players in this way (not within XBMC), user interaction (play/pause/fw/...) are working as expected: mplayer natively, vlc using python bindings, enabled. After ending the video, the file containing the video-path to play is deleted and xbmc starts again. If bananapi reboots/starts-up, the same script is executed. BTW there is no file/movie to play, so it execute XBMC immediatly at login.

Both players (VLC and mplayer) are configured to redirect the audio to HDMI output in passthrough mode. So we can enjoy our Digital Dolby or DTS tracks.

Well, I know, it's not a good solution at all, but in waiting for a more stable environment, in this way I can sit on my sofa and enjoy my movies.

Here the image:

The image is for a 16GB SD card. The card contains some Videos for testing pruposes. I've started using a 64GB SD card, then, after creating an iso with Win32DiskImager, I've shrinked it to fit a 16GB SD. Restore tested and working.

Mali GPU driver

1. EGL Version: "1.4 Linux-r3p0-04rel0"
2. EGL Vendor: "ARM"
3. EGL Extensions: "EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_g
4. l_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_imag
5. e EGL_KHR_reusable_sync EGL_KHR_fence_sUMP<2>: ync EGL_KHR_lock_surface EGL_KHRS
6. ession closed
7. _lock_surface2 "
8. Surface size: 480x480
9. GL Vendor: "ARM"
10.GL Renderer: "Mali-400 MP"
11.GL Version: "OpenGL ES 2.0"
12.GL Extensions: "GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_s
13.tandard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_sha
14.der_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_forma
15.t_BGRA8888 GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_EXT_
16.multisampled_render_to_texture GL_EXT_discard_framebuffer GL_OES_get_program_bin
17.ary GL_EXT_shader_texture_lod "