Matrox Marvel G200/Rainbow Runner Addon and support in Linux
via Video 4 Linux 1 and 2
(External links open in a new window) | Page last
modified: February 6 2002
Recent Changelog: (Old
Feb 2002 - If you are here, you really
should be going now to this
page since I've stopped involvement with the Matrox for Linux
projects, since I don't own a Matrox card anymore :-( I leave this
page up for historical reference... The people in charge now are
really talented, so go now enjoy your Matrox in Linux!
Jul 8 - Well, I receive the Key resource
award from Links2go, an honor :-) Interestingly, right now this
page is somewhat the baby, and now superseded by the Marvel page @
Sourceforge.net but I'm happy to see this award, because this page
started, a long time ago to hopefully spur some interest from driver
developers with time and enthusiasm, in order for us Marvel/Rainbow
Runner users to be able to bring the world of video to linux.
Now, linux is becoming ever more important to many users of all
levels, and as it becomes a stronger and stronger OS for the desktop,
it is necessary that standard multimedia features become available to
it. Our developers (Ryan Drake, Mike Bernson, Gernot Ziegler to name
but a few...) have done a magnificent job, which can be found
at the CVS @ sourceforge. I regret that they have yet to package a
tarball release (mgavideo-0.0.8 is quite outdated in terms of what our
driver really can do), but I'll be asking for that on the mailing
list... So to all you who have had the same desire as me, looking for
video features from our Matrox cards, thank you for making this page "
7th [as key Resources for the Video for Linux Topic]".
Apr 28 - No! Development is not dead!. It has been going on for
all thing long, and the best place to find out all about it is always
on the mailing list, at firstname.lastname@example.org! The CVS
code is (or was for a little while) almost quality release, as xawtv
can now be used almost perfectly for TV, audio... Work continues on
MJPEG compression (by Mike Bernson) while others (especially Gernot!)
continue hacking around for the RRG!
Feb 18 - Our man Gernot did it again! Audio is now
activated and works in a hacked up manner. This is in the CVS code
available at linuxvideo.org. Still, for most people, it's better to
wait for the official releases in tar format posted here. For
developers and hackers, feel free to try it out!
Feb 17 - xawtv lists the Matrox Marvel as a "Known-to-work"
hardware via the video4linux (1) interface which is being added into
mgavideo (within the CVS module available at
linuxvideo.org). Personally, I didn't have much luck, but I'm trying
to find out how it made it to that list :)
Feb 2 - We're slowly transitioning to sourceforge.net, along with lots
of activity in the development team! :) For now, just hang around
here, or if you are the Beta-loving type, go to
marvel.sourceforge.net or simply to sourceforge's page
and see our group (MARVEL) page.
Jan 24 - Rumor time! Even though most specs are available,
except with regards to the Maven chip, TV-Out has apparantly
been coded for linux! :) It should make it into mgavideo sometime in
the near future...
Jan 16 - Hot hot! Release 0.0.8 of mgavideo!
Some info is coming in about BSD licensing too, but anyone with
knowledge in that area feel free to contact me. Also, some new stuff
regarding SVGA Textmode.
- Jan 15 - Ok, back from winter break, and not much new. FreeBSD
licensing is being looked into, some people have come up with intents
to help... I'll get to specifics as soon as it's worth...
Dec 18 - Woo it's been a long time. I was in middle of finals, and
many other things that I just couldn't look at all this. Here's some
late stuff that's been going on:
- Wesley Hosking (email@example.com) recommends
we look at the Buz driver, which allows MJPEG capturing. The
differences between each card is supposed to be minimal...
- Tom Zerucha (firstname.lastname@example.org)
wrote a patch for Mystique/Millennium/G200 and now all Gx00 series cards for SVGATextMode at
SVGATextMode-1.8. The patch for full Gx00 series is now available: update patch (diff)
- Kyosti Malkki (email@example.com) and Justin
Schoeman are porting the bttv driver to V4L2, and are writing generic
support for audio processors like the msp34xx. pre-CVS code at http://www.hut.fi/~kmalkki/bttv.
- Can we get the code portable to FreeBSD? We seem to have some
people who want that... I have no FreeBSD experience. Anyone?
Ok - what's this simple-looking-page all about?
Well, what I am trying to do here is to somehow bring together in one place all efforts to have the Matrox Marvel's work under linux, for tv viewing, capture, tv/out, and video/in.
You can have mgavideo work (in preview mode via preview_on) on a
framebuffer console by setting the colorkey to 0 (tested on a 1024*768*32bpp matroxfb)
mgavideo 0.0.4+ will give you video, provided that you:
a) Run Xwindows at 1024*768 , 16bpp. Other depths might work
adding '-b' to xcaptest. It should be needed only for 32bpp, not
24bpp. Other resolutions might not work, yet. Furthermore, only XFree86 184.108.40.206 SVGA has been tested. Any reports from the FB server welcome.
b) If you have problems (mostly "unresolved symbols" loading modules, starting with mgavideo.o) , add to the CFLAGS in the Makefile the following: "-DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h"
- most Redhat/Mandrake distros will need this.
c) If you don't have /dev/video* and /dev/i2c* you need to type './MAKEDEV video' and './MAKEDEV i2c' in /dev as root. (although /dev/i2c isnt needed)
The current drivers display video coming in from the video-in
connectors and fom the TV-Tuner. No audio yet. Although that should be
easy to add. Release 0.0.4 does not use the backend scaler, and so
video is displayed as fast as your software can copy the images to the
screen. Gerard Horst managed to get the backend scaler working, and
his code is to be added. (Privately, it's working and runs
Want to get TVOut working quickly? Please run this tool (for Win95/98) (read the readme's!) and report to us!
Straight from Ryan:
If you see green bands of corruption on the bottom of your desktop
this is definitely because you are running in a resolution higher than
1024x768x16bpp. Getting this driver to work with all resolutions is
currently #1 priority for me. Anyone who wants to get that corruption
off the screen, try messing with the values _VINADDR0, _VBIADDR0,
_VINADDR1, and _VBIADDR1 in mgavideo.c. Add about 0x100000 to each of
the values. These will have to be configured on the fly eventually,
depending on what resolution you are running.
The select() timeout problem which makes you unload and reload the
driver is another priority 1 for me. I'm still trying to isolate which
module is not initializing properly.
Sep 1: mgavideo work will slow down a little; I've received news that
are promising, but at the same time not so good. I can't really go
into the details, but the situation seems to be that work continues on
Matrox Marvel support, but at the present times it's behind the scenes...
Reported Success/Failure Counter (as of Dec 18 1999):
Note that a failure that later succeeds, is a success!
What's the Marvel G200?
The Matrox Marvel G200-TV (PCI and AGP versions) are produced by Matrox. They use Matrox's G200 chip (now being eclipsed by the recent G400) but we are most interested in the video features, specifically from the MARVEL series. Click here to see what Matrox officially offers to developers about their MARVEL technology - of course very windows-centric. But we might just change that right?
July 7, 1999 - The Rainbow Runner Addon also applies to these drivers:
"Yes, hardware is almost totally the same. The only major difference
AFAIK, is the i2c address for the decoder (from ks0127.c):
/* i2c identification */
For the marvel you use the ..._ONBOARD address, and for a bare card +
Rainbow Runner G, you use ..._ADDON." (from Ryan - see below)
#define I2C_KS0127_ADDON 0xD8
#define I2C_KS0127_ONBOARD 0xDA
What's been done for linux regarding the G200?
Quite a lot - the G200 is supported by the latest XFree86 as an
accelerated server, it is of course fully supported by the linux
kernel, including the new framebuffer feature of recent kernels. SVGALIB
however still doesn't support it directly (or does it now since
1.4-pre?), but the VESA function works, provided you use the right
Nice - but the G200's an SVGA chip - what about the VIDEO stuff?
Well --- this is my personal account of the whole issue. And the purpose of this page. I own a Marvel G200-TV since Dec '98, and since day 1 wondered about support for it in linux. Video4linux looked promising, but not much demand was out for the Marvel G200 to work via V4L. Every once in a while I would ask around, but I wouldnt get much response... One day I did hear from someone who was developing the DVD-module support for the G200's, and tried to contact him via e-mail but never heard from him. I don't even recall the URL - something in the domain had VHS.ORG or something...
Lately though, it's a different story... I've joined the video4linux mailing list, and after some calls for G200 owners, have succesfully been in touch with certain people who definitely are very eager to see this whole 'theory come true'!
Yeah yeah - details please?
Ok. First off, we definitely need to have one place where all relevant information about the Marvel's concerning linux is compiled. This is what I'm trying to offer right here in this section.
Directions already taken
Our options are: Video4Linux, Video4Linux II, and the upcoming Xv extension from XFree86 (part of release 4.0). Most work already out there regarding video and the G200's is more or less V4L related. I am in the process of contacting the XFree86 team to find out exactly what to expect regarding Xv.
So - lemme see what other's have done!
Other places to get some clues from
Those that actually have drivers 'working':
It seems that there are other cards that can offer clues into getting the Matrox soon up and running in Linux:
The ATI All-In-Wonder. - Why? Because it is another card that combines TV Tuner and Video Decoder on one board.
The Iomega Buzz.Stable drivers are now
available. See http://www.lysator.liu.se/~gz/buz and http://www.munich-vision.de/buz.
Relevant Card details
TV Tuner: Philips F11236(?) The closest match I found at Philips was a FM1236 TV Tuner. June 23 - Thanks to Itai Nahshon I can now offer the complete information regarding the Philips FI1236Mk2 (this is an int'l version of the tuner chip most likely). Grab this PDF here! (It's VERY informative!)
Video Decoder: KS0127
Card and chipset picture!
As you can see - unless we need info on one of the tiny tiny chips, we have the data ready! KS0127 is the top chip (video decoder), and indeed we now confirm the Matrox does use the ZORAN ZR36060 chip found in the Iomega Buzz.
These are some other pages you can visit alongside with this one for various info. VERY random for now.
Itai's Linux-TV Homepage - includes program to run cards similar in design to the Marvel
Linux Frame Grabbers
Index of /public/ftp/pub/Linux/apps/video at sunsite.unc.edu
MJPEG Linux Solutions
Matrox Meteor FrameGrabber Driver for Linux v1.5.4
Plan of attack
Well - more and more suggest to forget V4L due to the need of both hacking into kernel space and user space. The XVideo extension seems promising, but the XFree86 team has yet to get back to me on this...
For now, here's some info regarding VFLII vs XV, by Mark Goodman:
V4L2 falls short because it requires the application to tell the driver
where to put the video source in frame buffer memory. Also according to
the V4L2 specs the application would only inform the driver in a preview
not a capture but the driver needs the information regardless. In a
preview, the video source is put on the screen using the backend scaler.
In a capture, the video source is put to memory or to the codec. An X
extension could hide this detail.
I can help! I've got some info! Who are you?
Wonderful! You can reach me via e-mail at firstname.lastname@example.org for ANYTHING related to this page. ANYTHING. Info you can tell me? Info you'd like? Criticisms? A linux box to give me so I can actually run a server 24/7?
To answer that last question - who am I? Very briefly (and trying to
remain relevant to this project) my name is Eduardo Galvez, and I am
currently studying at Brandeis University near Boston, MA, as a Computer Science
major. (Ascii Resume). I was born in Santiago, Chile, and have lived my life in 5 year segments in London, Paris, and now in New York City (hehe). I currently work as webmaster for my university's Alumni Relations office and am actually working on a project to move their website from the campus shared NT/UNIX web server to our own Linux+Apache+PHP+MySQL! (which is what is taking most of my time right now).
Ok - enough about me for now.
And how are you of any help?
Well - I program in C and many other languages, but have no experience programming Device Drivers, let alone Video related drivers! From that, figure how I can help (other than the obvious existance of this page! :)
How can I contact Matrox to bug 'em some more?
By all means - BUG 'em! Visit Matrox's development relations to see what they offer, or directly contact them here.
Page last modified: Feb 6, 2002