Tree [69b442] stable / doc /
 History



File Date Author Commit
 man 2009-02-17 Darren Salt Darren Salt [1750af] Update docs & source to reflect our new home page.
 FAQ_en 2002-09-10 Michael Roitzsch Michael Roitzsch [82f723] remove gcc3 discouraging
 FAQ_es 2001-10-09 Heiko Schaefer Heiko Schaefer [86c07a] cleaning up
 FAQ_fr 2001-09-16 Daniel Caujolle-Bert Daniel Caujolle-Bert [183cf4] Few updates. autoconf-2.52/automake-1.5 support...
 FAQ_it 2001-09-16 Daniel Caujolle-Bert Daniel Caujolle-Bert [183cf4] Few updates. autoconf-2.52/automake-1.5 support...
 FAQ_pl 2002-10-29 Philipp Hahn Philipp Hahn [2617d1] Update by Bartlomiej Muryn
 Makefile.am 2006-07-01 Diego 'Flameeyes' Pettenò Diego 'Flameeyes' Pettenò [d9095d] Remove makefile support for debug, now it's ena...
 README.config_en 2003-07-20 Michael Roitzsch Michael Roitzsch [a19a65] removing redundant documentation from xine-ui
 README.corba 2001-10-09 Heiko Schaefer Heiko Schaefer [b69860] corba related documentation taken out of README
 README.divx4 2001-11-21 Harm van der Heijden Harm van der Heijden [080224] updated README.divx4 after latest changes in di...
 README.dxr3 2002-10-29 Michael Roitzsch Michael Roitzsch [99113f] small dxr3 documentation update
 README.dxr3_pl 2002-10-29 Daniel Caujolle-Bert Daniel Caujolle-Bert [3b7e12] Latest update from Bart³omiej Muryn <forever@kl...
 README.freebsd 2001-10-09 Heiko Schaefer Heiko Schaefer [c918ab] docs cleanup
 README.irix 2002-01-22 Matthias Hopf Matthias Hopf [3db5c6] New OpenGL output plugin. These are the changes...
 README.mrl 2001-10-09 Heiko Schaefer Heiko Schaefer [c918ab] docs cleanup
 README.solaris 2002-12-20 Juergen Keil Juergen Keil [50b5f7] Document yet another way to get rid of the 'Bad...
 README.syncfb 2002-05-19 Matthias Dahl Matthias Dahl [17bedf] "More documentation is always a good thing"(TM)...
 README_en 2004-12-12 Michael Roitzsch Michael Roitzsch [489a96] adapt xine-ui to new config entries
 README_es 2008-03-15 Hans-Dieter Kosch Hans-Dieter Kosch [5b52c7] Fixed improper writing of CVS Id line:
 README_it 2002-05-27 Philipp Hahn Philipp Hahn [4adf95] Change "Gerard Lantau" to "Fabrice Bellard"
 README_pl 2004-12-12 Michael Roitzsch Michael Roitzsch [489a96] adapt xine-ui to new config entries
 bug_report_form 2001-07-17 Daniel Caujolle-Bert Daniel Caujolle-Bert [c1ca7b] Add docs/mans (should be synced).

Read Me

  =====                                                               =====
       XINE video output plugin for MATROX G200/G400/G450 cards *only*
  =====                                                               =====


   VERSION
    => $Id$

  
  IMPORTANT NOTE
    
    Starting from XINE release 0.9.4 a new version  of  this  plugin  is
    included which basically is a complete rewrite.
    
    Even though we are trying to make things as stable as possible,  you
    *might* experience some problems we haven't yet fixed  or  we  don't
    know about yet. Please refer to the end  of  this  README  for  more
    information on known bugs and how to report new ones.
  
    Thanks for your help to get this plugin as rock-solid as possible.
  

* WHAT IS THIS PLUGIN ABOUT and WHY SHOULD I EVEN CONSIDER TO USE IT? :)
  
  This XINE video output plugin uses the so called  SyncFB  driver (from
  the Teletux project)  which  provides  special  hardware  features  of
  Matrox G200 and newer cards like hardware  deinterlacing, scaling  and
  synchronization of your video output to the vertical retrace  of  your
  monitor - just to name a few. The  plugin  makes  all  those  features
  available to XINE and because all this tasks are done by the  graphics
  card there  is  no need for XINE to do them in software -- so you save
  precious CPU time which you may gonna need for other things. :-)
  
  Ok ok -- why should you want to have your video output synchronized to
  the vertical retrace of your monitor?! Well... :)
  
  In order to have an optimal DVD playback the update of the image needs
  to be syncronized with the vertical refresh of the screen.   Otherwise
  you will sometimes see part of frame n and part of  frame  n+1  during
  playback of a movie. Resulting in tearing artefacts on moving objects.
  
  When using this plugin the update of the screen  is  done  during  the
  vertical retrace of your monitor and  those tearing artefacts are gone
  forever.

  Last but not least, you may ask what's so special about deinterlacing?
  There are already several deinterlacing methods  available in XINE and
  why should you care about another one? Well (again)... ;-))
  
  All current deinterlacers in XINE are done in software  and  therefore
  will cost you some CPU power. The SyncFB video out plugin will use the
  hardware deinterlacing support of your graphics card, thus saving your
  CPU power because everything is done by your graphic processor...


* WILL IT WORK WITH MY G200/G400/G450/... CARD?

  So far the plugin and the kernel module itself are only  being  tested
  on G400 cards by its  developers  thus  we  cannot  tell  about  newer
  or older generation chips.
  
  Nevertheless we have received positive feedback that the SyncFB kernel
  module and this plugin work fine with G450 cards too.
  

* AND HOW DOES IT WORK?
  
  The SyncFB driver is a kernel  module you will have to load that makes
  a special device (e.g. /dev/syncfb) available which  is  opened by the
  plugin and controlled with certain ioctl calls. Easy, isn't it? ;-)

  That module is based on the mga_vid driver from Aaron Holzmann and was
  advanced (and reworked) by Matthias Oelmann.


* OK I HEARD ENOUGH - HOW DO I INSTALL and USE IT? :)

  First of all you will need to get the SyncFB kernel  module  which  is
  part of the Teletux project. (URL: http://teletux.sourceforge.net)
  
  Please note that we do recommend a recent CVS checkout.
  
  Once you have got your copy of the  module,  please  read  the  README
  included with it and follow the compilation instructions.   (usually a
  normal "make" *should* work out-of-the-box)
  
  (Currently you *might* experience some problems with  the  compilation
   process - we know about it and will try to fix them soon)

  Now there are only a few things left for you to do...
  
  1) Become root. Hey now you can take over the world *evil laugh* :-)))
  2) Create a device called /dev/syncfb  ===>  mknod /dev/syncfb c 178 0
  3) Copy the file "syncfb.o" to your modules directory (usually this is
     /lib/modules/YOUR_KERNEL_VERSION/) and do a "depmod -a".
  
  This should be it.  In order to use the SyncFB kernel module, you will
  have to load it with the command "insmod syncfb.o" -- please note that
  it is necessary to load the module like this  every  time  you  reboot
  your system to use this plugin.

  Now just start XINE once with the following parameter: "-V SyncFB" and
  the SyncFB video out plugin will be used as default plugin.    (please
  remember to load the SyncFB module before starting XINE, otherwise  it
  will fall back to the Xv video out plugin as default)


* THE VIDEO IS JERKING - WHAT'S THE MATTER?!

  Playing back video material that is mastered for e.g. NTSC  can  cause
  this jerking if your monitor is not running at a refresh rate  that is
  a multiple of 30 (PAL: 25).

  You can try to fix that by switching your monitor to  the  appropriate
  refresh rates (e.g. 50/75/100 Hz for PAL, 60/90/120 Hz for NTSC).  You
  will need to add so called modelines to your XFree86  config  to  make
  those modes available, if you don't already have them.
  
  Here is is a short listing of some sample modelines. Please  add  only
  those two lines (for NTSC and PAL) which exactly  fit  the  screensize
  you are running your X Server with. You need to add those lines to the
  monitor section of your XF86Config file as well as include their names
  in the screen section  (subsection display of the color depth your are
  using).
 
  USE THE FOLLOWING MODELINES AT YOUR OWN RISK.   THEY COULD DAMAGE YOUR
  MONITOR PERMANTELY - PLEASE TAKE CAUTION AND DON'T BLAME US.  YOU HAVE
  BEEN WARNED.

  So much for the standard disclaimer. :)

  Note: If you want to be on the  safe  side,  generate  your  very  own
        modelines with an application like kvideogen or  use  a  service
	like http://zaph.com/Modeline/ on the web.
	
	Also the modelines may need some fine tuning for your setup. You
	can use xvidtune (comes with XFree86) to do that.
  
  # 1024x768
  
    Modeline "1024x768pal"  64.94 1024 1040 1216 1328 768 768 775 802
    Modeline "1024x768ntsc" 54.32 1024 1040 1216 1328 768 768 774 802  
  
  # 1152x864
 
    Modeline "1152x864pal"  68.82 1152 1168 1384 1496 864 864 871 902
    Modeline "1152x864ntsc" 80.93 1152 1168 1384 1496 864 864 872 902    

  # 1280x1024
    
    none yet - might be added in the future

  So before you run  XINE  just turn to the appropriate refresh rate and
  the jerking *should* be gone. (you may also want to have a look at the
  XF86VidMode support included in XINE which makes on-the-fly resolution
  switching possible when fullscreen is toggled)


* WHAT SCREENSIZE SHOULD I PREFER?
  
  Well. It is important that the screensize  you choose for DVD playback
  is exactly the same screensize  you're starting up your X Server  with
  if you are not using the XF86VidMode extension which will properly  do
  the switching for you  and  take  care  that  the  plugin  is  updated
  accordingly. So you shouldn't switch down to 1024x768 yourself if  you
  are running 1280x1024 because that  gives  you  a  virtual  screensize
  of 1280x1024 in a resolution of 1024x768 - and the plugin can't handle
  that - and probably never will.

  You may want to have a look at the XF86VidMode support in  XINE  which
  will enable on-the-fly resolution switching when activating fullscreen.

  Now back to the question. A screensize of 1024x768 should be it. A DVD
  is always 720x576 for pal and 720x480 for ntsc. If you've an anamorphe
  DVD the image only has to be horizontally scaled to get  back  to  the
  original geometry of 16:9 which is easier to be done.


* WHAT ABOUT DEINTERLACING?!

  Pressing 'i' during playback will toggle hardware deinterlacing.     A
  decrease in picture quality is a known side effect,  yet you won't see
  any artefacts caused by interlacing anymore. :-)
  
  One more note, hardware deinterlacing uses BOB as deinterlacing method
  and is totally independent from the software deinterlacing in XINE. So
  specifing a different deinterlacing method in your .xinerc won't  have
  any effect on this feature.


* HEY! THE OVERLAY TURNS OFF WHEN THE WINDOW IS PARTLY OFF THE DESKTOP!?
  
  That's done on purpose.  It  prevents  possible  yet  harmless  screen
  corruption. And by the way - why would you want to see  a  movie  just
  partly?! ;-)


* MY DESKTOP BACKGROUND IMAGE GETS CORRUPTED WHEN USING THIS PLUGIN!

  Even though it doesn't look nice, it's nevertheless harmless.    So no
  need to worry about it. XFree86 is using your  free  video  memory  as
  cache for certain things. Now when you use this plugin  that  part  of
  your video memory could also be used by the syncfb module.     So your
  image data cached there will be corrupted.   Unfortunately there is no
  way to avoid it. Yet, like stated earlier, it is truely  harmless  and
  just a cosmetical side effect.

  
* KNOWN BUGs

  + toggling hardware deinterlacing will reset video out window  to  the
    original video size. (bug or feature?)

  + zooming in/out of a video exposes  a  bug  with  the  SyncFB  kernel
    module and should currently be considered broken. (being worked on)
  
  + quitting xine by closing the video window, won't properly deactivate
    the overlay - this is a problem with the xitk signal handler.


* WHAT IS ON THE TODO LIST?

  + RGB support (maybe)
  
  + check if the video source is not too big in terms of  dimensions for
    the video memory left (video memory - X reserved video memory)

  + patching the syncfb kernel module itself for devfs and the  recently
    introduced license tag support (as well as bug fixing and updating)
    [status: progressing - check CVS of the Teletux project]
    
  + bug fixes
  + more sanity checks
  + new features
  + optimizations
  

* CONTACTS and FEEDBACK

  Your first starting point should be this README followed by the FAQ. :-)
  If you don't find your answers there or if you found a bug, please leave
  a message on the XINE User Mailinglist (see the general README).

  You can also reach the maintainers directly by mail (or you may consider
  sending a message in bottle so we have some more time  to  find  a  good
  excuse for the bug you may have found *grin*):
  
    Matthias Dahl <matthew2k@web.de>
  Joachim Koening <joachim.koenig@gmx.net>