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 changelog here)



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.

mgavideo Specifics
Latest Version: (Jan 16) mgavideo 0.0.8

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 3.3.3.1 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 perfect.)

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):
SuccessFailure
19 0

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 */
#define I2C_KS0127_ADDON 0xD8
#define I2C_KS0127_ONBOARD 0xDA

For the marvel you use the ..._ONBOARD address, and for a bare card + Rainbow Runner G, you use ..._ADDON." (from Ryan - see below)

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 resolutions.

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!
Those that actually have drivers 'working':

Other places to get some clues from
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.

    Links
    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
    xawtv Homepage

    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 eddie@cs.brandeis.edu 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.
    Eddie Galvez
    eddie@cs.brandeis.edu
    Page last modified: Feb 6, 2002