SourceForge Project Info
- March 30, 2007 - Gernot Ziegler left the project because he's not interested anymore.
Thanks for your work for many years, Gernot! :-)
- December, 2006 - driver_fb compiling and not crashing (yet) on 2.6.19
- July 10th, 2006 - driver_fb for kernel 2.6.15 is available
- October 29th, 2005 - driver_fb for kernel 2.6.13 is available, patch for XawTV 3.95.
- September 4th, 2005 - driver_fb for kernels <=2.6.12 is available in files section.
- Browse through old news.
Download of releases and CVS access
- the latest bleeding edge driver for Linux 2.6.x can always be found in cvs as module 'driver_fb'
- the driver for Linux 2.6.15 is driver_fb.2.6.15
- the latest driver for Linux 2.4.x is mgavideo-0.1.1b
- old versions: see release directory.
Currently, the following hardware is supported:
- Rainbow Runner G-series
- Matrox Marvel G200 (all variants)
- Matrox Marvel G400-TV
- Matrox Marvel G450eTV (unproven rumours, see news)
- Please bear in mind that our project does not support the "old"/pre G-series Rainbow Runner cards and upgrades (like a Matrox Millenium II with a Rainbow Runner, for example). Please visit the Rainbow Runner Studio/Linux site instead.
- The DVD addon module for the G200 is also being worked on. It is integrated in the main driver by now; please consult Leon van Stuivenberg for more information.
The developers' hardware
- Mike Bernson: G200 & RRG (G400Max & RRG available) and a Marvel G200 (2.4.0-testx).
- Benoit Mathieu: Marvel G400.
- Leon van Stuivenberg: Marvel G200 + DVD-module, Marvel G400-TV
- Johan Thelmen: Marvel G400 (Pentium III 800 MHz)
You can reach us on our mailing list if you have ANYTHING related to this page. Info you can tell us? Info you'd like? Criticisms? You are welcome to post on our mailing list, don't fear to ask questions, we won't bite or flame you ;) ...
Overlay TV & Video display: We recommend XawTv. There are a patch available for the latest version of XawTV that make it work better with the Marvel driver; grab it here (3.95). Older patches are available here. Tip of the day: Put "xawtv.xv: false" into your .Xdefaults file.
MJPEG recording & playback: Please have a look at the ongoing development at The MJPEG/Linux square. You can also find a driver for a number of other MJPEG cards there. The Buz/Linux page can also offer valuable information (see the Buz/Linux FAQ, for example).
- Please check out the new doc snippets you can find on Marvel/Linux docs.
- See the Rainbow Runner internals page.
- Have a look at the Marvel/Linux list. You can subscribe or just browse archives.
TV out info
Marvel framebuffer TV out
This is not directly related to the marvel driver, but it is becoming a FAQ on the marvel-list.
Enable all matroxfb related options in the kernel; use modules where possible/practical. Then:
# modprobe i2c-matroxfb # modprobe matroxfb_maven # modprobe matroxfb_crtc2
For the G200 use something like:
# matroxset -f /dev/fb0 -m 3 or (tv only) # matroxset -f /dev/fb0 -m 2 then # matroxset -f /dev/fb0 -o 1 X (where X is 1 or 2 to get PAL or NTSC). You should then get 50/60Hz picture on your monitor, plus picture on your TV. To get back to monitor-only output: # matroxset -f /dev/fb0 -m 1 To get TV-only output (monitor will powerdown): # matroxset -f /dev/fb0 -m 2 If you will see green artifacts on TV, make sure that your vertical picture size is at least 525 for NTSC and 625 for PAL (i.e. for PAL you cannot use 640x480, you must use at least 640x576).
(credits: Petr Vandrovec and James D. Bearden)
For the G400 use:
- eg. replicate display 1 on display 2: # matroxset -f /dev/fb1 -m 0 # matroxset -f /dev/fb0 -m 3 If head 2 is connected to a TV, set the output to PAL: # matroxset -f /dev/fb1 1 [ use 2 for NTSC ] ... and back to monitor ... # matroxset -f /dev/fb1 128
(credits: Cameron Hutchison)
What's the Marvel G200?
The Matrox Marvel G200-TV (PCI and AGP versions) are produced by Matrox. They use Matrox' G200 chip (now being eclipsed by the recent G400), and we are most interested in the video features, specifically from the MARVEL series and the extra hardware.
Nice - but the G200's an SVGA chip - what about the VIDEO stuff?
The G200 has special registers and functions which enable us to communicate with the rest of the hardware, namely:
- a thing called the codec transfer engine, short CTE, which sits on
the G200 (Gernot: ok, the name CTE is my own invention, but it's of
good use to keep the ZR36060 and the CTE on the G200 apart). The CTE
runs the communication between the Zoran JPEG codec (short: ZR36060, or
'060) and the G200 (which in its turn communicates with the driver,
which in its turn talks to the application, see the link ? ;) ).
Without a properly working CTE, Motion JPEG compression/decompression
is not possible, and that's why we are currently working on getting it
under our control.
- an I2C-bus, which connects to
- The KS0127 video decoder, which takes the composite, S-VHS, tuner or decompressed Motion JPEG signal, and writes it onto the preview window in the G200/G400 graphics memory. It is also responsible for generating a digital YUV-stream for the ZR36060 JPEG codec in compress (recording) mode.
- The MSP-3400 sound processor. This sounds quite advanced, but unfortunately it isn't - the MSP-3400 is not able to sample audio input signals digitally, it just turns the audio on or off, and you can digitally adjust the volume. But the output from the MSP-3400 is going to the line out of the board, where you have to "cable" it to your soundcard to be able to record it.
- The Philips tuner - a simple thing, but very important: You feed it with antenna input, it returns you a S-VHS video signal to feed to the KS0127.
- The Maven chip - it is responsible for generating TV output.
Directions already taken
Our options are: Video4Linux, Video4Linux II, Most work already out there regarding video and the G200's is more or less V4L related, and that's why the current development mainly focuses on Video4Linux I(incl. the new MJPEG extensions introduced by the Buz driver). But the driver is layered in its inside, too, which makes it a lot easier to "make up" a new API on it (like V4L2, which is already working for TV).
Xv, also called Xvideo, is a slightly confusing description for the scaling facility inside XFree86 4.x.x - it can scale up a window without any CPU consumtion (it is done by the graphics hardware) - it also allows to feed the card with YUV-data, which is converted to RGB on the fly. but it has nothing to do with MJPEG playback, and not even with TV or video overlay (although it is used by xawtv to scale up the picture).
So - lemme see what other's have done!
- (not so much left here, I think we have beaten all other efforts by now ;) - if you find something that we haven't mentioned here, please tell us on the list !)
- Alexander Werth - V4L II driver. He has stopped development on his driver because of mgavideo's good work. Still has some information and some tools.
- The Miro DC-10 - Serguei Miridonov and Wolfgang Scherr made it work under Linux. (site is in German)
- The Iomega Buz.It is based on the same Motion JPEG chipset from Zoran ! Stable drivers are available. See http://mjpeg.sourceforge.net.
- ATI All-In-Wonder. - Another card that combines TV Tuner and Video Decoder on one board.
Relevant Card details
TV Tuner: Philips FI1216. The docs I found at Philips was FM1236 TV Tuner. But the tuner used in the PAL version is a Philips FI1216MKMF2 (actually a PAL/SECAM tuner).
Video Decoder: KS0127
These are some other pages you can visit alongside with this one for various info. VERY random for now.
- Index of /public/ftp/pub/Linux/apps/video at sunsite.unc.edu
- Linux Media Labs
- XawTv Homepage
- Itai's Linux-TV Homepage - includes program to run cards similar in design to the Marvel
I can help! I've got some info! Who are you?
There is a mixed developer/user list called marvel-linux. Just click on the link to subscribe and/or access the archives. (Do you feel the power of sourceforge already ? I do ;) )
How can I contact Matrox to bug 'em some more?
By all means - BUG 'em! Visit Matrox's Techical Support Forums to see what they offer. They have been quite sloppy in answering our questions - but still: be nice, don't flame them !! We will be able to complete the driver even without their help :-)