NeoMagic MagicGraph/MagicMedia graphics driver for (open)BeOS
5 August 2004: testing help needed!
Hi there: I got some good news and some bad news for you, thanks to the fantastic testing support I am getting from 'lichtgestalt' (my respects!). The good news is that I have setup full 2D acceleration for all remaining cards now: also the overlay code is officially OK now, so you should be able to use it also on those newer MagicMedia cards finally!
But, there's also bad news: As it turns out, the overlay engine on NM2200 cards (at least) have a hardware fault in them. While the driver code is now in fully working order (you are able to actually enjoy overlay on NM2200 and later cards now with it!), some
trouble remains. There are three visible artifacts known:
OK, there's more bad news: It turns out (some) NM2200 cards (at least) also have a broken 2D engine: screen to screen blit (moving windows) fails on windows that are wider than the screenwidth -64 pixels or so. Apparantly this error doesn't apply for 800x600 mode only. This error is surfacing on the Haiku Neomagic driver (test V0.09 from CVS or the build factory), but it also surfaces in the Be driver apparantly. You'll see visible distortions clearly on the left- and right sides of your screen probably.
- playing back low res movies (below 160 pixels width or so) will distort the overlayed video. This does not apply for for instance MPEG1 (320x240 or 384x288 for instance), and divX (640x480 for instance). These kind of clips play back correctly.
- moving your video window so that it clips on the right side of the screen will let the video distort as well. This goes for any resolution of video.
- moving your high-res video window so that it clips most of the video on the left side of the screen will also distort output. This does mostly not happen on MPEG1, but it does happen on for instance 640x480 divX.
on some laptops divX can only played back in single buffered mode. VLC does not support this yet, but the 3ivX codec on BeBits does. Use Be's mediaplayer to play these files back: it will use the codec, while VLC has it's own internal codecs.
Well, here YOU come in: Because I don't have access to most cards, I need feedback from you to determine which cards exactly are affected by those errors. I am interested in the results on the following cards (the entire MagicMedia series):
Luckily, for both the overlay and 2D acceleration faults, known workarounds exist. So once I know which cards exactly are affected, I can implement them as good as possible for precisely those cards. That way every card will work at it's best.
Note please (some good news to end with): This hardware fault does not exist in older cards: the MagicGraph series is 100% OK. Even all cards having those hardware faults should already work reasonably well with the CVS 0.09 driver: that is, better than with the Be driver as far as I know (the Haiku driver's acceleration is faster and it provides overlay capability along with external monitor support).
Anyway: please test the driver for me and provide feedback! You can either mail me (there might be a delay before you get any response: holiday season, sorry..) or place your comments on the driver's forum. Look at the download page for the locations of the forum and the Haiku build factory please. They can be found at the 'related links'.
Thanks in advance for your cooperation!
26 July 2004: Because I have to do some work on this driver now that I cannot test personally, I thought it's probably a good idea to release the current driver as V0.06. The driver is stable although certain features don't work correctly yet, or aren't implemented as you probably now: like MagicMedia (NM2200 and later) 2D acceleration.
OK, for the full fixes list checkout the corresponding page, and get the download if you want to use (or test) this driver. Have fun!
7 June 2004: Just a housekeeping message today: I've deleted my Email adress firstname.lastname@example.org due to large amounts of viruses and related spam coming in each day (3000+ !). You can find another Email adress on this site to use instead. Please don't post this adress elsewhere anymore as this will destroy useability of that adress as well.
Thanks for your cooperation..
29 March 2004: Hi there! Long time, no see.. ;-) Anyway, finally I had some spare time to do some work on this driver, because I didn't have access to the nVidia hardware temporary over here.
So, I finally added acceleration for the first NeoMagic cards: being the NM2097 and NM2160 (I could test this over here on my laptop). For the other cards acceleration still has to be setup, and of course the driver still has other issues as well on some cards, but this is a milestone for this driver anyway I think! Here are a few nifty details:
Because I hope to add acceleration for the other cards soon as well, I am not yet releasing the driver here. As soon as the BeOS build factory refreshes however, you can download it there (date must be beyond 28 March 2004). The driver has the version number 0.06-6 internally: you can find this number in the UPDATE.html file included in the download as well.
- On my laptop the driver is working 100% flawlessly, and it's fast as well. The old Be driver(s) never got to that point, which means my laptop never worked so smooth before with BeOS :-)
- Acceleration is very fast (200-2000% speed compared to the Be driver), and makes no mistakes (the Be driver exhibits large horizontal distortion stripes all over the screen sometimes). Run the BeRoMeter benchmarking app and see for yourself!
- It turns out the acceleration engine on these cards can do workspaces upto and including 1600x1024 pixels in size (virtual screens). If you select modes beyond that, the modes set will be unaccelerated so things keep working nicely (as far as is possible of course ;-)
- Because the driver is nicely tuned now, you can set all kinds of 'weird' modes without BeOS crashing into KDL! I am talking virtualscreens (BWindowScreen) now. For instance the PageFlipper demo app now correctly exits after being started, as it finds acceleration for a 640x2048 virtualscreen is not supported.
If you test the driver (no matter which card you try), please let me know how it holds up! If you can't find the driver download or if you just can't wait, mail me: I'll send it. Have fun! :-)
6 January 2004: Happy new Year! A new year, a new beginning I guess ;-)
From today onward, you can find the latest sources for the (open)BeOS nVidia, Matrox and NeoMagic drivers in openBeOS CVS: they are all 100% up-to-date now. Also you are now able to download the latest binaries for those drivers from the new OpenBeOS Build Factory as Jam packages. While I still need to update/include up-to-date documentation for those packages, the drivers are up-to-date already after new builds. Be aware that those versions are not real releases, so they might be less stable than you are used to. I'll do my best to keep them rock-solid though...
The fixes page on this site will remain up-to-date as well, other documentation might change later on to bring it up to speed with the new way of developing the drivers. Real releases for the drivers will of course also keep happening. Have fun...
14 August 2003: Today I am releasing V0.05 of the NeoMagic driver. This is a bugfix release that should make the driver more useable. Still no 2D though, though it's planned for the future. The bugs that have been fixed came up during development of the new nVidia driver I am also working on, except for one bug which was solved due to feedback on the NeoMagic driver itself.
Anyway, glad these (nasty) bugs are fixed. Get the new driver from the downloads page and make sure you send me feedback. I really need confirmation on fixes and still existing trouble in order for me to be able to improve the driver...
24 June 2003: Hardware overlay support is completed! So I am releasing version 0.04 of the driver now: get it from the downloads page. Please let me know if it's working OK or not. Especially owners of NM2200 or later (MagicMedia) cards are requested to tell me if it's OK. There are two things in the driver I need confirmation of. Currently I am making a few assumptions about these cards because I don't have one of them to test with over here..
Anyway: have fun! Over here I can playback (double buffered) MPEG1 with VLC 0.60 with 55% CPU load using a 400Mhz Celeron CPU. If someone implements single buffered overlay in VLC I would even be able to playback upto 640x480 resolution DivX movies with overlay (on my NM2160 with 2Mb RAM)! NM2090, NM2093 and NM2097 cards (1152Kb RAM) can also do just this if you set max. 800x600 mode in 8 bit colordepth. The entire MagicMedia series of cards can do even more... Only the oldest NeoMagic card can't do overlay: if you have a NM2070 you are out of luck for this feature.
15 June 2003: I've completed the (60 pages!) Dutch 'BeOS videodriver howto' document. It has become something a bit different from what I was planning, but it should be helpfull for those people outthere that can read Dutch. Make sure you checkout the roadmap for creating a graphics driver I've included :-) Now it would be nice if someone could translate this document to English so more people could use it. Anyone? I will not do this myself for a while, I'm afraid I've had enough of 'documenting' for now.
Get the Word document here: a link to this file is also added in the 'downloads' page. Feel free to use it anyway you want ;-)
14 June 2003: I am publishing V0.03 of the NeoMagic driver today. Get it at the download page, sources are included. Note please that this software is alpha quality though it will be stable I think. Have a look at the features and fixes page for details about the driver.
On a sidenote I can tell you I have already started setting up hardware overlay. (Could someone please add single buffered overlay capability to VLC? It's important to us NeoMagic owners due to limited cardmemory.. ;-)
7 June 2003: Here's the preliminary website dedicated to the NeoMagic driver for (open)BeOS I am working on. Stay tuned for more news: A first testrelease will probably happen within a few weeks...
(Page last updated on August 5, 2004)