On Wed, 2005-05-18 at 19:27 +0200, Nicolas Huillard wrote: > I took the time make have softdevice working, and I'm really pleased of > it. Join the softdevice-devel ML on BerliOS if you're interested. Here's what I have done: 1. Patched my kernel (2.6.10) with the cle266 framebuffer patch from http://patcher2k.012webpages.com/ 2. Built a kernel with the cle266 framebuffer as a module and no VESA frambuffer 3. Grabbed DirectFB and DFB++ from CVS. 4. Built DirectFB as a debian package and installed the 3 or 4 packages it created (dependency on libflash-dev which didn't exist in Debian testing!). 5. Built DFB++ and installed to /usr/local 6. Grabbed softdevice from CVS 7. Built the softdevice plugin with a couple of tweaks to the Makefile for locations of libavcodec, DirectFB, etc. 8. Put the following in /etc/fb.modes (gleaned from various sources): mode "720x576 50Hz 16bit" geometry 720 576 720 576 16 timings 31208 144 40 32 10 128 3 bcast true endmode mode "768x576-50i" geometry 872 576 872 576 16 timings 59550 24 102 0 0 80 1 laced true hsync high vsync high endmode 9. Put the following in /etc/directfbrc (gleaned from softdevice mailing list): mode=720x576 depth=32 pixelformat=ARGB disable-module=lirc disable-module=joystick disable-module=cle266 no-vt If I modprobe the module and do a dfbinfo (as any user): laz@vdr-tng vdr-1.3.24 $ dfbinfo (*) DirectFB/Config: Parsing config file '/etc/directfbrc'. ---------------------- DirectFB v0.9.23 --------------------- (c) 2000-2002 convergence integrated media GmbH (c) 2002-2004 convergence GmbH ----------------------------------------------------------- (*) DirectFB/Core: Single Application Core. (2005-05-18 19:38) (*) Direct/Memcpy: Using SSE optimized memcpy() (*) Direct/Modules: suppress module 'joystick' (*) Direct/Modules: suppress module 'lirc' (*) DirectFB/Genefx: MMX detected and enabled (*) Direct/Modules: suppress module 'cle266' (*) DirectFB/Graphics: VIA/S3G UniChrome 0.4 (-) (*) DirectFB/Core/WM: Default 0.2 (Convergence GmbH) (!!!) *** UNIMPLEMENTED [fusion_reactor_set_lock] *** [../../../lib/fusion/reactor.c:802] Screen (00) FBDev Primary Screen (primary screen) Caps: VSYNC POWER_MANAGEMENT Layer (00) FBDev Primary Layer (primary layer) Type: GRAPHICS Caps: SURFACE BRIGHTNESS CONTRAST SATURATION Layer (01) VIA Unichrome Video Type: GRAPHICS VIDEO STILL_PICTURE Caps: SURFACE OPACITY SCREEN_LOCATION DEINTERLACING DST_COLORKEY LEVELS SCREEN_POSITION SCREEN_SIZE Layer (02) VIA Unichrome DVD Subpicture Type: GRAPHICS VIDEO STILL_PICTURE Caps: SURFACE OPACITY All looked good until I tried to start vdr with -P'softdevice -vo dfb:' when I got: vdr: /home/vdr/plugins/libvdr-softdevice.so.1.3.24: undefined symbol: dts_frame :-( I needed to make another adjustment to the makefile, replacing the FFMPEGLIBS line with: FFMPEGLIBS = `ffmpeg-config --libs avcodec avformat postproc` Now it's sorted and runs, although I can't see it because I'm testing it over ssh! I'll see if it is really working later on (looks good from the output). CPU usage seems to sit around 43%, which seems higher than it was using X and xine but, presumably, it is less memory hungry like this, and also easier to start up! ;) Cheers, Laz