Posted
by
Hemos
on Tuesday November 02, 1999 @12:35PM
from the yet-more-bounty-from-creative-labs dept.

The Dakota Kidd writes "Just saw this on Linuxgames today - Creative has released the drivers for their dxr2 DVD decoder card. It isn't listed yet on Creative's Open Source page but it is in the CVS repository. " Kinda lost in the excitment of their open sourcing the drivers for SB Live!, but yet more good news on the hardware support front.Credit where it's due: Andrew deQuincey and Lucien Murray-Pitts actually wrote the code - it's nice to be able to get it now.

I dislike this. Creative is taking the Fame for this Driver and is using it for their own public relations.

To clarify: This driver was not written by Creative. In fact its creation wasn't even supported by Creative with information about the hardware. I mailed with the author and he had to find out all informations by himself either by reference manuals or reverse engineering.

Now all Creative did was adding their Copyright messages (what a laugh!) and making the driver public available via their server. And they cheated the programmers again, as they made it available on their CVS without telling them how to access it, or even that the published it. When i mailed the author about this, he just didn't knew, that the driver where available in public.

Sorry, but if this is the way Creative wants to go in future for Linux "Support" i won't recommend buying their products.

And now for some clarification about the driver: As creative didn't helped the driver is still unstable and without many features. And the main parts of DVD (the navigation) are not contained. You may now play a VOB-File from the Disc (if the file is not encrypted). But you are missing all the DVD features, and if there are some extras mixed in one file, you will have to play them sequentially.

It is not very likely, that DVD navigation will be supported very soon, as the DVD forum has maked this a closed standard, which you have to pay for access and even sign a NDA.

So this driver is a first step, but will not really be helpful for dvd playing.

The only one who may help is Creative, as they have signed the NDA and have the standards. They would need to release a (binary-only) module for navigation and other issues. But if they continue to use other peoples work without doing anything thereselfs, this is not to be awaited.

In short: There is no fame which Creative can take for this driver. The haven't done anything and they even didn't show the willingness to do something in the future. This may change, but in the moment it doesn't look like.

If you want to watch DVD on Linux you better stick with a company which is truly supporting linux on their products. For example the guys from linuxtv.org/convergence.de will have a dvd decoder card for linux very likely till the end of this year in production. I'm not affiliated with them in any way, i just know them from the livid mailinglist. But they are truly supporting linux and not just taking other peoples work. So support them!

I dont know about the dxr2, but the dxr3 is a Sigma Designs Hollywood+. I would guess that they would not be compatible, as Creative provides drivers for the dxr2 that will work with WinNT, but not for the dxr3.

Gee, he sounded really positive about it. Seems like the answer's clear: Go the Xanim route. Release GPL'd (or some other open-source licensed) drivers and apps but keep the CSS closed and only distribute it as a compiled object.

Since the unruly among us have come up with a way to brute-force CSS, it shouldn't be hard to plug in a non-proprietary (and clean roomed) brute hack for the pure of source, or just use the shared object for the faint of heart.

Sometimes perhaps development should be handled in house, and a company may be tempted to release their shoddy existing code for others to fix for free.

I'm not saying this is the case with Creative, but be careful about rejoicing about source code releases. If a company is expecting to get great results with open source, but they release something no one is interested in (not the case here), it may completely cause them to swear it off.

In other words, if a mainstream company starts considering open source programmer contributions as a savings on it's balance sheet, start to worry.

I've had it for about a year and a half now, meaning the warranty is up.

Anyway, I'm not exactly sure what the problem is. It seems that when my video card is lopped through the Dxr2 board and then out to my monitor, the video image is all blue! If you giggle the cable, the monitor loses the signal. I contacted Creative, and they said the ports were probably loose. Not as far as I can tell.

I'm sure someone has brought this up by now, but what about thouse of us with the DRX3 decoder? I mean, I bought mine when I knew windows was the only thing I'd be able to play dvds under, but now that DRX2 users have another option, I'd like to have one too. I'd just be happy if they said they planned to, even if it was not something they are ready to release yet. From the sound of it, the developers from CL may read/., so if any of them reads this, please, let us know, ok?

I wasn't really responding to the DXR2 (I have indeed never seen one), but more to the following assertion: > What do you mean the picture is better than > television? The DVD itself is made as a TV-video > format. The scan lines themselves match the way > the interlaced scan lines of the TV's CRT are drawn. Which simply isn't true.

Video card produces a stream of data at a certain pair of frequencies for V/Hsync... the cable going into the DVD card has this data and it is then passed through to the monitor untouched 99% of the time (depending on how often you watch DVD movies that is).

If you're watching a DVD movie, that section of the screen is rendered blue by the video card (as per the instructions of the software). The DVD card, being synchronized to the current V/Hsync of the video card (done at initialization for each resolution) produces data for the DVD image at the points where the data for the blue signal from the video card are...

Video output = V DVD output = D Video DVD Combined

VVVVV DDD VVDDD VVVVV DDD VVDDD VVVVV DDD VVDDD VVVVV VVVVV

The video signal is being mutated by the DVD card in one sense, but the DVD output of the DXR2 card is not affected one bit. If you think it is, you're crazy. If you want proof, just unhook your video card from the DVD card while its running a movie (not recommended!) and the picture will stay... assuming you're full-screen (or else there won't be enough data for multisync monitors).

I thought about that too, but the picture was really good when I just turned down the brightness of my monitor.

Experimenting with resolutions can also help: Films that looked bad on 1280x1024@60Hz here were much better at 1152x768@75Hz. Or perhaps that was my eyes thanking me for upping the refresh rate.:-)

(For completeness, my setup is a Dxr2 x4 set run through a Matrox Millennium G200 w/8Mb to a Viewpoint/Viewsonic 17" monitor, with all the latest drivers and firmware and whatnot, using Windows 95 OSR 2.5. Why I don't use the S-Video connector? My TV is broken.)

Linux is not the problem, it's the software that is the problem. If an app that played DVD movies was released would you continue to reboot to watch the videos under the Win 98? Let's get some hardware and software support. Maybe Zoran or Xing could port their players. treke

Is there any chance that such drivers will become available for (almost) every piece of Creative hardware? I own a DVD Inlay (CT7160) and I don't believe this one is for me, but I am DYING for one that would work on mine.

I don't know about you, but I personally don't want to be in the middle of a movie when all of a sudden I get a GPF...not to mention that Linux is faster anyway...besides, Windows is too tempramental when it comes to drivers: when I want to play a DVD movie I have to swap around my Windows display driver because the damn software is too picky. Sorry, but Windows DVD support still sucks, and once Linux gets there i can free up that (rather large) bit of HD space that Windows takes up.

Excuss me? What does CSS have to do with this? The H+ is an MPEG decoder. It doesn't talk to the drive at all. It's up to the OS and/or software to read the data from the DVD-ROM and get it to the H+.

The only things they cannot release are the fancy navigation and sub-picture stuff "protected" by the NDA. But as far as decoding an MPEG data stream, there's nothing at all restricting them from releasing docs. Hell, Zoran gave LiVid docs for their DVD support chip(s) -- of course, the zoran hardware can do CSS between the chip and the drive on it's own as I understand it.

I'm not sure about the current Hollywood+ decoders, but I recently e-mailed Sigma Designs to express an interest in Linux drivers.... it looks like they may consider linux support atleast.// Mail Exerpt from 10/3/1999 Hi Doug, Thank you for writing us on your interest in Linux support. We have come to realize the same thing and are currently working on Linux support for our future DVD playback products. I will keep your email address and notify you when updates become available. In the mean time enjoy your REALmagic product. Regards, Arthur Bao Webmaster Sigma Designs, Inc. Visit our web site for the best products in PC-DVD Hardware Decoder www.realmagic.com or www.sigmadesigns.com// End Exerpt

You know what? I am just happy that we have an _endorsed_ set of drivers for the dxr2. Read the page again, the instructions are there (search for dxr2, it's on the page). Some drivers are better than no drivers. With this release, and the CSS crack stuff, it should now be relatively easy to write a program that plays encrypted DVDs.

So the drivers aren't quite complete. And it's half-assed. so what? Would you prefer _nothing_? Everyone would love a full driver set, but the linux market is too small to justify development of a kick-ass GTK navigator or something. They released some drivers (ON THEIR OWN CVS!) and are acknowledging them. you can't have everything when your desktop marketshare is so low.

I admit it would have been better if they did this with the help of teh authors (or helped the authors from the get-go), but it's not as bad as you make it sound. They're not really claiming credit for it. The closest thing I've seen to an official announcement by Creative was the post of the creative.linux newsgroup by an employee, in which he acknowledged who had written the code and said they hadn't. If you look at opensource.creative.com you can't find a direct link to the Dxr2 stuff anyway.

I admit they've been doing things wrong for a while, and they could have done this slightly better, but it's not like what they're doing hurts anybody.

you probably have kernel module versioning on which mangles the name do 'ksyms -a |grep printk' as root and see if you get printk followed by a bunch of letters and numbers. you can recompile your kernel with this off, or the module with versioning on (by adding #include or something like that).

First off, thanks a lot to Creative. They seem to know what's what in the Linux world. But...

It seems weird to alienate people like me who went ahead and bought the more expensive dxr3 setup rather than the dxr2 based kits. I know the cards are pretty different but I hope the drivers come out for the dxr3 pretty soon as I imagine that's what most people are getting in their Creative kits now. I want to help code on a player but I need one I can actually use.:)

you obviously have never seen a dxr2 in action. The tv output is *much* better than the onscreen output. Hell, the output to my tv tuner looks better than the signal the dxr2 puts on my monitor, except for the combing.

I hate to burst your bubble but you are wrong. The dxr2 does CSS completely in hardware so the "CSS leak" (which happened quite some time ago btw) has nothing at all to do with it. The dxr3 does CSS in software which is probally why we are only seeing dxr2 at the moment.

Also, please read the post in the future, maybe notice the link to the drivers given in the source. Creative already released the source, and I've already got it working on my system (for un-encrypted DVDs, haven't tried it with encrypted ones yet).

First off, writing a player app is going to be a LOT easier than CSS. For the player we have the source code to the driver as a reference, and the API as it stands right now (which will change) isn't that complicated. The test app that comes with the driver is about 4k, sure it's not feature rich, but it works. I was actually considering writing a player myself as a project. Any half decent coder could do the same. Also, don't count on a decent player to come from creative until after the driver is working, if at all.

I didn't think about the order until I read the other posts here.. but it is completely aparent to me that the DxR2 has shitty output on the VGA connector.

I can use a Software DVD player, and although it drops frames on my K6-2 450Mhz machine, it looks like FILM at 1024x768 60Hz.

The DxR2 VGA output suffers from lots of shimmery analog artifacts, like ghosts, and interlacing scan lines (like it's being poorly line doubled). The Software DVD player doesn't have interlacing, because the actual DVD Video is stored on the DVD in 480 lines Progressive.

I also think the software player does some sort of smoothing algorithm on the Video when blowing it up to 768 Progressive (1024x768;) ). This is what gives it that "film" look. On my friend's Barco Data 1100 Projector , it could have easily fooled someone into thinking it was film.

This also at least goes to show that they are watching how the community reacts to them. If people were making a lot of noise over it and nothing happens, then all you have is one way communication. It is nice to see that Creative does listen even if it (*might*) be for the wrong reasons. Perhaps they are reading this thread too. Try to show them a community that welcomes their attempts. I know I welcome them; there is still time for them to figure this out the rest of the way. I think the community has to get brave and stop shying away from companies that don't commit %100 to the OpenSource ideals.

Remember: we all know how Open Source can benefit our personal/productivity lives. The way to make Open Source work for a company is still largely experimental.

The DxR2 is a decent card, but it's biggest problem is that it shoves the video through an analog VGA cable to overlay onto your video card. The picture is better than Television, but not as good as the software based DVD playback I've seen.

Does anyone know if there's a way to send the video from the Dxr2/through/ the system bus (PCI) and write it directly into the frame buffer on the video card? If so, this would be the best of both worlds. If not currently, would this even be possible? I'd sure like to see the drivers setup to work this way for this card.

Are you kidding? The analog pass-through to display video on the monitor looks like complete crap on the Dxr2. But the SVideo-out to the TV is absolutely perfect. It is like having a consumer electronics DVD player. What do you mean the picture is better than television? The DVD itself is made as a TV-video format. The scan lines themselves match the way the interlaced scan lines of the TV's CRT are drawn.

It is not possible to get the frame buffer of the dxr2, as far as I know (although this source may shed some light on that subject).

This driver requires microcode from the Windows version of the drivers. (Just copy over a file called dvd1.ux) I guess that's a way to protect all those if-we-told-ya-we'd-have-ta-kill-ya hardware-level trade secrets?

Also, as I understand it, these were *not* developed *by* Creative, although Creative has given them their blessing. Hopefully the authors will pay us a visit and tell the story of how they came to be.:)

From the v4l mailing list, the code on creative's site is old. Until the authors get CVS write access, go here [geocities.com].

If you're interested, here's the first part of the readme:

Readme for DXR2 driver v0.9b

This is still a DEVELOPMENT driver, because parts of it are still not properly tested, and a few parts are missing (see "Todo"). The player program could do with some more user friendliness:)

The driver is being actively developed by adq@tardis.ed.ac.uk, and lucien@martincurrie.com

************************************************** ************************** Also, VGA overlay is not yet supported.... output is to a TV connected to the video output of the card. ************************************************** **************************

The current IOCTL interface is TEMPORARY and WILL change... probably to be compatable with the prototype DVD interface on linuxtv.org's web pages.

The current major device number (120) is TEMPORARY, and only for development purposes. It WILL change when the driver is finished.

The new trend seems to definately be that you start it off and let the open-source community do the work of improving the software! I cant complain/ Now i can go ahead and get a SBLIVE and a DVD drive! This trend towards supporting linux is just awesome@ I remember that a few years ago i had so much trouble getting hardware that was supported!

The business side of this is also interesting, i mean you get more users since most linux ppl. will have few choices (this is sadly still true) and well *NERDS* always are the opinion leaders! Get them to use your prodct and the regular users who always ask the *nerds* will end up coming to your product for certain! Heck if it helps us, and it helps them... why not!

This is gunna be great! I wonder how long till these drivers will be able to run DVD's fullscreen on a K6-2 300 with good framerates? Once it can do this then I will buy me a Creative Labs DVD drive....unless of course someone else finishes there drivers first:)

It would have to be through a PCI push like the TV cards to. My bt878 TV card does that and it is very nice. No load on the CPU, etc. I noticed in browsing the site that it looks like the chip on the Dxr2 is another btxxx chip. I havn't downloaded the source yet, so I could be WAY wrong though. If this is the case, I hope it has support for the PCI push. The patch cable quite frankly sucks. My windows system handles it fine - I don't drop too much of the signal. However, in X, the screen looks like crap. Does anyone know what I need to do to make X look as good as Windows when going through this card? My guess is that it is sync rate related...

It is a Conexa nt BT865 [conexant.com] which is a "YCrCb to NTSC/PAL Digital/Video Encoder" (not that I know for sure what that means...) but I dunno if it has the "PCI push" feature or not... specs on the web page are sketchy.

Fed up with what? Put your money out? Sure. Where can I get a player app for linux. Gimmee an address and the check is in the fucking mail.

No dice? Okay, I'll just code it myself, then. Err, no, wait. that's not very easy, is it? I mean, it took forever for a bunch of pretty damned on-the-ball-guys to crack the CSS stuff, so the IFC stuff is probably going to take a while, too. And, it's a bit over my head anyway.

Fine, okay, yah, bitching doesn't help much, though, does it?

Well, maybe, maybe not. I know for a fact that there are people at Creative and at Sigma Designs who read Slashdot. People who read slashdot and work at Creative and/or Sigma proooobbbbabbbblly read stories about things near and dear to their hearts. Like DVD decoder driver stories. They read the stories, they see people bitching. They see people bitching, maybe they start to realize there's some demand out there for this sort of thing.

So, maybe it's not such an exercise in futility after all. Mayber there's a point. Or, you know, maybe not, or something.

The RemoteSelector (http://www.visualdomain.net) software lets you switch regions any number of times, turn Macrovision on/off, switch video modes, control the Dxr2 software via a large number of remote controls, and more....

I bought it about a year ago so I could control the Dxr2 software and Winamp w/ my X10 RemoteMouse. I have been very happy with the progression of the software, new features constantly. I recently threw my X10 RemoteMouse in the trash (total piece of garbage) and replaced it with an IRMan (http://www.evation.com/irman) and it works great!

>I am just happy that we have an _endorsed_ set >of drivers for the dxr2.

So i am. I just emailed the first bug reports to the author.

>with this release, and the CSS crack stuff

No, you will very likely do not need this, as the CSS decryption is done in hardware here.

>should now be relatively easy to write a >program that plays encrypted DVDs.

You haven't understood. It will not play DVDs. It will play MPEG-Streams, like them found on DVDs. But you will have problems with all the extra features and even with some "normal" DVDs. The player can only play files, but although the data is organized in files on the DVD it is not guaranteed that the movie (and only the movie) is in file a and the extras in file b...

>And it's half-assed. so what? Would you prefer >_nothing_? Everyone would love a full driver >set, but the linux market is too small to >justify development of a kick-ass GTK navigator >or something.

He, i didn't said i want such things. I just wanted to *INFORM* the readers of slashdot about the limitations of the driver. The work is fine (i congratulated the author already this morning, before this item even appeared on slashdot), but it has limitation and you should know about it. Too often crap was written about DVD under Linux on Slashdot.

>They released some drivers (ON THEIR OWN CVS!) >and are acknowledging them.

Creative has a bad history on this. The current driver is based on a driver fragment programmed by another person who wasn't supported by Creative too. Creative didn't helped him, but they linked to his page for "Linux Support". So let me repeat this: They *refused* to help, but they referenced to his work. Sorry, but this is no good doing.

And now we have in raw the same situation again. Creative hasn't supported the programmer of the current driver. They added their copyright remarks to the drivers where in fact they have no copyright on it. They put it on their webpage and even do not state, that they didn't wrote it. And of course they tell nobody that were even to lazy to support the development of this driver.

Sorry, but this is really bad beheavior by Creative. This shouldn't be honored.

I can see no profit for us by the fact that the driver is hosted on their CVS. It makes no difference if it is on their CVS, on another CVS or just on a webpage, if they don't support the development.

Sorry, maybe i'm paranoid, but this appears to me clearly as an atempt to get the honor for everyones else work.

>you can't have everything when your desktop >marketshare is so low.

It seems to be high enough for one company to develop a DVD decoder only for linux. And even Sigma Design will add linux drivers for their next generation of DVD decoder cards. But they will write their drivers self instead of waiting for other people to go through the hassle of reverse engineering windows drivers.

So their are many companies who recognized the importance of linux support. Currently i won't list Creative here. The GPL'd Live-Driver is a beginning (and a work which is entirely by them), but they need to change their behaviour *fast*. Their current doing is no real open-source-spirit.

But this seems to be common to companies in the last time. Instead of real linux support they are just giving some blablabla and are hoping that the linux support will just appear. It won't work this way.

The picture going to a monitor is better than a television (given an equivelent sized screen, obviously few people have 27" monitors) because on the monitor the DVD can be displayed in "progressive scan" mode - that is, it doesn't need to do the crappy interlacing that NTSC video requires where it only draws every other line per frame. In addition, the DVD spec is for 740x480 video...this exceeds what many televisions can produce. So, in summary, watching on your monitor will probably give you a better picture, but I doubt it would make up for the size difference.

If Sigma would stop hording the specs for the chips, the linux community would churn out a driver in no time. But they seem to be following the same bad habits of other specialty chip makers in keeping the hardware specs locked up -- if they let people at the specs, maybe more people would use the chips?

In all fairness, I've not asked them for the specs either. I've got a H+ setting here looking for a PCI slot:-)

No. The chipset's completely different. The Dxr3 is actually a relabeled Sigma Hollywood+ board. I hope someone from Sigma is reading this - we want Linux drivers for the H+! Yes, I know they intend to provide Linux support with their NEXT card... but what about those of us who've ALREADY paid to play? We have to sell what we have, and buy something new, since Sigma doesn't wanna write Linux drivers for their _current_ stuff? Come on.

Andrew deQuincey and myself (Lucien Murray-Pitts) are the co-developers of the DXR2 card. The card, atm, only plays MPG streams via the TV OUT. We've not tackled the overlay yet. The card supports HARDWARE CSS and Andrew is working on it atm. THIS IS A DRIVER and as such DOES NOT implement any sort of player. It takes the stream given to it and pushes it to the card. This IS akin to the Creative Labs Windows drivers - even they have a seperate app. to play the DVD/VCD. Anyone wanting to contribute $5,000 so we can buy the DVD Format Books is very welcome to send us the cash;-) Yours, Andrew & Lucien

The problem is there are probably two (not mutual exclusive) reasons for non-existant "source code" for the microcode. 1) There simply is no source code (like c-code), very likely because this stuff is as low-level as it can be. 2) There is some kind of source code, but the tools for creating the binary code out of the source are heaviliy proprietary, i.e. either you have to pay $$$ for them or you can't get them at all.

Once again we see the importance of the existence of free compilers at al for the idea of open source per se.

I don't have a DXR2, but looking at the source it seems Macrovision and similar protection is an on-off switch in the card firmware...I would be very surprised if there isn't a way to disable Macrovision on such old kit, but to be quite honest, who cares?Do you really want to wreck your crystal clear DVD video by putting it on nasty VHS?

This is a really neat thing to find, especially since so many people are putting hard work into the desktop environment. So far Linux and NetBSD have put quite a bit of effort into this arena. NetBSD was one of the first FreeNixes to impliment USB support (that was usable) and they're working on quite a few other things. NetBSD recently ported some of the Linux DVD extensions, and we'll probably see that wrapped into the other BSD's sometime soon.

You're clueless (no offense:). The DXR2 is connected directly to the monitor, the video card is in turn plugged into the DXR2 card. Sure, the video from your usual VGA cis of slightly lower quality, but the DVD output is perfect (at least as far as extra cables goes).

Also, (on a completely different note), reading Creative's notes, the DXR2 driver is attempting to comply with the current open video specs. This is quite impressive (aside from them opening the interface in the first place).

Lastly of course, I own a DXR2 card and am quite interested in seeing it on Linux with overlay support (through X/DGA maybe?).

except that the actual quality of the dxr2 output to VGA sucks: it is _not_ 720x480, no matter how hard you try, and it _is_ interlaced. It looks like they take the TV signal and convert it back to VGA, instead of taking the straight data. It's a lousy way of doing it, and it looks bad.

I would guess that's the case with the NDA. Correct me if I'm wrong, but if a 'trade secret' like CSS is broken without reverse engineering, thievery, etc, then it's no longer a 'trade secret'. This even close to right, Patent Lawyers?

No, he has a valid point, the picture from that card isn't the greatest due to their methood of overlay using a loopback cable. It's possible to do overlay from a pci busmaster slot using push to store into the video cards memory -- assuming that the creative card stores the frames in memory it might be possible to snag them that way and give a much better picture.

This is the methood done by most tv cards and also similar to the trick that allows you to use a voodoo card to render in a window, I would appreciate hearing from someone with abit more technical knowledge of the dxr cards if this is possible.- MbM

yeah, well read the readme on the decryption stuff.... cd-ram disks are about $25, legit dvds are about $20, i suppose you could copy it to hard drive, but i dunno how economical it would be.... maybe you could fit it on a cd-r if you're lucky?

It does work, a bit. I managed to get my system to play back dvds over my tv tuner. I don't know how sound works because my cd audio doesn't work right under linux to begin with. Video looks good, but it's extremely jumpy. Not entirely certain why. Also, I had to change the source of PAL to NTSC in test.c before I could get everything working right (but that's an issue with my tv tuner not the card I think). Has anyone else noticed jumpiness or is it just me? Also, creative doesn't have bugzilla going for Dxr2 yet:(.

>I wonder how long till these drivers will be >able to run DVD's fullscreen on a K6-2 300 >with good framerates?

As this driver is for a hardware decoder, the framerate and fullscreen doesn't have to do anything with your processor speed.

>Once it can do this then I will buy me a Creative >Labs DVD drive....

Don't do it. This driver is for the DXR2 Kit, but this is no longer for sale for some time now. They are selling now the DXR3 Kit which has totally different hardware and can therefore not be used with this driver.

I personally won't recommend buying anything from Creative again. This driver was not written neither was the development supported by Creative. The author found all internals out by reverse-engineering. All what Creative did was putting their Copyright remarks into the files and making the driver available through their servers.

Well from what little I know, YCrCb is a digital sampling format for video. I take it that this chip, then, would be taking the digital YCrCb stream (after the DVD has been read and decoded) and turning it into an analog signal, for the S-Video or VGA output.

Which I guess means that you would actually want that chip's input to get pushed across the PCI bus.