summaryrefslogtreecommitdiff
path: root/doc/README.syncfb
diff options
context:
space:
mode:
Diffstat (limited to 'doc/README.syncfb')
-rw-r--r--doc/README.syncfb280
1 files changed, 0 insertions, 280 deletions
diff --git a/doc/README.syncfb b/doc/README.syncfb
deleted file mode 100644
index be8c2565d..000000000
--- a/doc/README.syncfb
+++ /dev/null
@@ -1,280 +0,0 @@
-
- ===== =====
- XINE video output plugin for MATROX G200/G400/G450 cards *only*
- ===== =====
-
-
-* 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 graphic
- 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
- something called 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.
-
- Also the SyncFB kernel module and this plugin totally by-pass XFree86
- for anything else but some data gathering routines needed to place the
- overlay at the right spot. So on some machines you will gain some
- performance too because of the different way the SyncFB kernel module
- handles your video output.
-
- 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 graphic card, thus saving your
- CPU power because everything is done by your GPU...
-
-
-* 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.
-
- If you have got things working on older/newer chips, please let us
- know about your success and we will place a note here... :-)
-
-
-* 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? :)
-
- Currently the Teletux project which maintains the kernel module seems
- orphaned and therefore there hasn't been any progress nor release in a
- fair amount of time. :( We will try to resolve this situation so that
- the development continues again. As soon as there are any news on this
- matter, this README will be updated accordingly. For the time being
- you can still use the current Teletux SyncFB kernel module which works
- just fine, so there is no need to worry. :-)
-
- Back to the original subject. In order to install and use the SyncFB
- kernel module, you *will* need a fresh CVS checkout of the sources
- because the last official release is rather outdated.
-
- This sounds more complicated than it actually is. You will only have
- to execute the following two commands to get the sources in a sub-dir
- called teletux. When you are asked for password, just press return.
-
- cvs -d:pserver:anonymous@cvs.teletux.sf.net:/cvsroot/teletux login
- cvs -d:pserver:anonymous@cvs.teletux.sf.net:/cvsroot/teletux co -P teletux
-
- Now enter the directory teletux/syncfb, that's where the actual kernel
- modul sources are located. Before you can compile the module, you will
- have to change two lines in the Makefile itself to make it work.
-
- In the second line, there is a phrase like "-I/usr/include" which you
- have to change to "-I/usr/src/linux/include". In line seven, you need
- to remove syncfbtv and syncfb_test from the OBJ list.
-
- Now execute a "make" and the module will be compiled. Place the
- resulting syncfb.o in your modules dir which is usually...
-
- /lib/modules/KERNEL_VERSION/
-
- ... and issue a "depmod -a" after it. That's it - the kernel module is
- installed. To load the syncfb module, execute "modprobe syncfb" every
- time you (re)start your computer. This will automatically create the
- required /dev/syncfb device if you have devfs support, otherwise you
- need to issue a "mknod /dev/syncfb c 178 0" once to create the
- device yourself permanently.
-
- Once the module is loaded, you can start xine with the "-V SyncFB"
- option to use this plugin. xine automatically remembers the video out
- plugin you last used, so you only have to use this option once too. :)
- But don't forget, the module *always* has to be already loaded before
- you start xine, otherwise xine will fallback to Xv/XShm or some other
- available video out plugin.
-
-
-* 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 for example.
-
- 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... ok... never say never. ;)
-
- 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 800x600 should be it for
- non-anamorphic DVDs because their resolution is 720x576 for pal DVDs
- and 720x480 for ntsc ones. If you've an anamorphic DVD, you should use
- a higher resolution - 1024x768 will be best because 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.
-
- Nevertheless we are thinking about making software deinterlacing also
- available as an option. It's on the TODO list... :)
-
-
-* 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.
-
-
-* THE XINE PANEL DOES NOT APPEAR WHEN I WATCH A MOVIE IN FULLSCREEN?!
-
- Actually it does appear - you just don't see it. :) This is a side
- effect of how SyncFB works. The X server can't display anything where
- the actual overlay from SyncFB is being displayed because this area in
- your video memory is constantly over written - so are the changes done
- by your X Server (like a window graphic that is placed there).
-
- This is just cosmetical and harmless, so no need to worry. If you want
- to do something with the xine panel when the video overlay is taking
- all your screen, just switch back to window mode and do what you have
- to do and after that, back to fullscreen it goes. :-)
-
-
-* KNOWN BUGs
-
- + the default_repeat config option is currently hardcoded to 0 because
- any higher value than 1 will trigger a bug with the SyncFB kernel module
- that results in a distorted picture (depending on video resolution)
- [this bug is hard to trace, so don't hold your breath for now]
-
- + SyncFB overlay won't turn off when video window is minimized or
- somehow else hidden.
- [currently there is no way for the SyncFB plugin to know about the
- state of the video window except if the original xine-ui hide function
- is used to hide the video window... this will be fixed soon]
-
- + zooming feature is currently deactivated because it exposes a bug
- with the SyncFB kernel module
- [for now, don't expect this to be fixed soon - sorry]
-
- + the syncfb kernel module needs updating pretty badly
-
-
-* WHAT IS ON THE TODO LIST?
-
- + fix above listed bugs in the SyncFB kernel module
-
- + make software deinterlacing available as an option
-
- + RGB support
- (unlikely at the moment because there is no need for it)
-
- + check if the video source is not too big in terms of dimensions for
- the video memory left (video memory - X reserved video memory)
-
- + 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).
-