I've been successfully using DirectFB(CVS) with freevo(1.5.2) and
mplayer(CVS) via the second head on a Matrox G550 (UK Pal 720x576 50 Hz, TV
out).
This is running via a linux 2.6.9 kernel with fusion and the matroxfb full
memory patch.
Since 1st December I've been getting a crash with latest CVS DirectFB:-
DirectFB built with ./configure --enable-multi --with-gfxdrivers=matrox
--enable-debug
Trace on mplayer (dfbmga) start:-
.....
(-) [ NO NAME 0.769] ( 7442) DirectFB/FBDev: dfb_fbdev_set_mode
(surface: (nil), mode: 0xbfffd020, buffermode: 1)
(-) [ NO NAME 0.770] ( 7442) DirectFB/FBDev: 720x576 50.00Hz 32bit
colin 720x 576
(-) [ NO NAME 0.770] ( 7442) DirectFB/FBDev: dfb_fbdev_set_mode
(surface: (nil), mode: (nil), buffermode: 1)
(-) [ NO NAME 0.770] ( 7442) Fusion/Skirmish:
fusion_skirmish_init( 0x20008a68, 'Display Layer 1' )
(-) [ NO NAME 0.770] ( 7442) Fusion/Skirmish: -> new skirmish
0x20008a68 [17]
(-) [ NO NAME 0.770] ( 7442) Fusion/Skirmish:
fusion_skirmish_init( 0x20008868, 'Display Layer 2' )
(-) [ NO NAME 0.770] ( 7442) Fusion/Skirmish: -> new skirmish
0x20008868 [18]
(-) [ NO NAME 0.770] ( 7442) Fusion/Skirmish:
fusion_skirmish_init( 0x20008768, 'Display Layer 3' )
(-) [ NO NAME 0.770] ( 7442) Fusion/Skirmish: -> new skirmish
0x20008768 [19]
(-) [ NO NAME 0.771] ( 7442) DirectFB/CoreParts: Going to
initialize 'wm' core...
(-) [ NO NAME 0.771] ( 7442) Direct/Modules: Loading
'/usr/local/lib/directfb-0.9.21-debug/wm/libdirectfbwm_default.so'...
(-) [ NO NAME 0.772] ( 7442) Direct/Modules: Registering
'default' ('/usr/local/lib/directfb-0.9.21-debug/wm')
(-) [ NO NAME 0.772] ( 7442) Direct/Modules: ...registered.
(-) [ NO NAME 0.772] ( 7442) DirectFB/Core: Core successfully
created.
(-) [ NO NAME 0.772] ( 7442) DirectFB/core/layers:
dfb_layer_get_primary_context (Matrox CRTC2 Layer, activate) <- active: -1
(-) [ NO NAME 0.773] ( 7442) DirectFB/core/layers:
dfb_layer_create_context (Matrox CRTC2 Layer)
(-) [ NO NAME 0.773] ( 7442) Fusion/Reactor: fusion_reactor_new(
'Layer Context Pool', size 8 )
(-) [ NO NAME 0.773] ( 7442) Fusion/Reactor: -> new reactor
0x20007dc0 [3] with lock 0x20004028 [2]
(-) [ NO NAME 0.773] ( 7442) Fusion/Reactor:
fusion_reactor_set_lock( 0x20007dc0 [3], lock 0x20004fc0 [4] ) <- old
0x20004028 [2]
(-) [ NO NAME 0.773] ( 7442) Fusion/Object: == Layer Context
Pool ==
(-) [ NO NAME 0.773] ( 7442) Fusion/Object: -> added
0x20006000 with ref [0x1]
(-) [ NO NAME 0.773] ( 7442) DirectFB/core/layers:
dfb_layer_context_create -> 0x20006000
(-) [ NO NAME 0.773] ( 7442) Fusion/Skirmish:
fusion_skirmish_init( 0x20006080, 'Layer Context' )
(-) [ NO NAME 0.773] ( 7442) Fusion/Skirmish: -> new skirmish
0x20006080 [20]
(-) [ NO NAME 0.773] ( 7442) Fusion/Reactor:
fusion_reactor_set_lock( 0x20007dc0 [3], lock 0x20006080 [20] ) <- old
0x20004fc0 [4]
(-) [ NO NAME 0.774] ( 7442) Fusion/Reactor:
fusion_reactor_attach_global( 0x20007ee0 [1], index 0, ctx 0x2000ea80,
reaction 0x20004e10 )
(-) [ NO NAME 0.774] ( 7442) Fusion/Reactor:
fusion_reactor_attach_global( 0x20007ec0 [2], index 0, ctx 0x2000ea80,
reaction 0x20004dd0 )
(-) [ NO NAME 0.774] ( 7442) DirectFB/core/layers:
dfb_layer_activate_context (Matrox CRTC2 Layer, 0x20006000)
(-) [ NO NAME 0.774] ( 7442) DirectFB/core/layers:
dfb_layer_context_activate (0x20006000)
(-) [ NO NAME 0.774] ( 7442) DirectFB/core/layers:
dfb_layer_get_primary_context (Matrox CRTC2 Layer, activate) <- active: 0
(!) [ 7442: 0.775] --> Caught signal 11 (at (nil), invalid address) <--
(-) [ NO NAME 0.775] ( 7442) Fusion/SHM: trying to cure segfault at
address (nil)...
(-) [ NO NAME 0.775] ( 7442) Fusion/SHM: won't cure, address is
outside shared address space.
(-) [ NO NAME 0.775] ( 7442) DirectFB/Core: dfb_core_destroy...
(-) [ NO NAME 0.775] ( 7442) Direct/Signals: Removing handler
0xb79e96c0 for signal -1 with context 0x87ab220...
(-) [ NO NAME 0.775] ( 7442) DirectFB/Core: Shutting down...
More information can be supplied as required (including config files used
for the kernel, freevo & mplayer which may help some users).
Thanks
Colin Harrison