xineplug_vo_out_directfb.so needs update to handle HW acceleration

Bug #1095298 reported by Leonce Pflieger
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Raspbian
New
Undecided
Unassigned

Bug Description

DirectFB.org has released in October 2012 a version 1.7 supporting the hardware acceleration for the Raspbian's framebuffer.
It is available here :
http://directfb.org/raspbian/ (installation instructions available in README)

Unfortunately, Xine cannot handle it because the plugin xineplug_vo_out_directfb.so calls directly DirectFB v1.2-9

Here is the output of the dfbinfo testing tool, we can see the Videocore IV is detected and thus HW acceleration is activated :

root@raspberrypi:/# dfbinfo

   ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.7.0 |~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2001-2012 The world wide DirectFB Open Source Community
        (c) 2000-2004 Convergence (integrated media) GmbH
      ----------------------------------------------------------------

(*) DirectFB/Core: Multi Application Core. (2012-10-11 12:46)
(*) Direct/Memcpy: Using libc memcpy()
(*) Fusion/SHM: Using MADV_REMOVE (3.2.27.0 >= 2.6.19.2)
(*) Direct/Thread: Started 'Fusion Dispatch' (-1) [MESSAGING OTHER/OTHER 0/0] <8 388608>...
(*) Direct/Thread: Started 'Fusion Deferred' (-1) [MESSAGING OTHER/OTHER 0/0] <8 388608>...
(*) Direct/Modules: suppress module 'linux_input'
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(*) Direct/Thread: Started 'Genefx0' (-1) [DEFAULT OTHER/OTHER 0/0] <8388608>...
(*) GL Extensions: GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_palette d_texture GL_OES_texture_npot GL_OES_depth24 GL_OES_vertex_half_float GL_OES_EGL _image GL_OES_EGL_image_external GL_EXT_discard_framebuffer GL_OES_rgb8_rgba8 GL _OES_depth32 GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_APPLE_rgb_422 GL _EXT_debug_marker
glGetError 0x502
(!) DirectFB/GLES2: Error at line 397 of gles2_init_shader_programs! (error = 50 2)
glGetError 0x502
(!) DirectFB/GLES2: Error at line 451 of gles2_init_shader_programs! (error = 50 2)
glGetError 0x502
(!) DirectFB/GLES2: Error at end of driver_init_device! (error = 502)
(*) DirectFB/Graphics: GLES2 Acceleration - VideoCore IV HW 0.1 (Mark J Hood / D enis Oliver Kropp)

A few errors remain, but it looks like a good start.

And now the output from xine.

If DirectFB v1.2 is still present it will conflict with 1.7 (new options from /etc/directfbrc are not recognized, 1.2 tries to load and finally DirectFB is ignored).

(!) DirectFB/Config: *********** In config file `/etc/directfbrc': Invalid option `always-indirect'! ***********
(!) DirectFB/Config: *********** In config file `/etc/directfbrc': Invalid option `linux-input-force'! ***********
(!) DirectFB/Config: *********** In config file `/etc/directfbrc': Invalid option `linux-input-touch-abs'! ***********
(!) DirectFB/Config: *********** In config file `/etc/directfbrc': Invalid option `wm-fullscreen-updates'! ***********
(#) DirectFBError [DirectFBInit()]: Not supported!

If 1.2 is removed from the system before installing 1.7 the message below is displayed :

load_plugins: cannot (stage 2) open plugin lib /usr/lib/xine/plugins/2.2/xineplug_vo_out_directfb.so:
libdirectfb-1.2.so.9: cannot open shared object file: No such file or directory

This modification on the directfb Xine plugin is very important because, as of today, only omxplayer and XBMC port are able to handle the hardware acceleration on the Raspi. Adding this support to Xine will be a huge step forward for a lot of applications (eg VDR + xineliboutput fully supported instead of running as XBMC backend).

Revision history for this message
Diederik (didi-debian) wrote :

I think you'll have better luck reporting it here: https://github.com/RPi-Distro/repo/issues

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.