> What licensing issues? Non factual comments don't tend to be
> that useful with issues like this. I can imagine that there
> are issues if you just copy one of Microsoft's sample drivers
> but there don't seem to be any restrictions implicit in the
> DDK documentation.
>
Sorry, Mark, but you are the one spreading "non-factual" comments. If you
installed a microsoft DDK, you had to click your "agreement" to a Microsoft
EULA. If you have a DDK installed, look in the root directory where you will
find a copy of that EULA in a file call "license.txt". This applies to both
the Win98 DDK and the Win2000 DDK. These licenses are actually quite liberal
for MS EULAs, but they still place restrictions on projects like this.
Perhaps acceptable limits, but it is one more headache that we may just not
want. There are other tools available for driver development - such as
DriverWorks, from NuMega, but they will probably have their own restrictions
(DriverWorks does). Another issue is that if we use this approach, only
those who have the driver development toolkit will be able to build the
driver, all the toolkits I know of involve linking to libraries that may be
distributed with driver, but not on their own. Also, the header files are
typically not distributable.
I hope I didn't come across as dumping on you. As you implied, this is an
important area to get the facts straight.
>
> Emulating real hardware is fine but writing something like
> 3DFX or Matrox emulation is at least one order of magnitude
> more difficult than writing a simple Windows driver that
> uses the guest<->host interface. Anybody who actually starts
> coding something like that would have my admiration!
>
>
Well... I've seen the internals of windows DDI (GDI/desktop) drivers,
DirectDraw drivers and Direct3D driver. I've also seen card interfaces. I
have to say, it isn't at all clear to me which is more complicated. I do
agree, however, that both are Herculean efforts. There's going to be some
real heroics on this project before we see really good graphics (on less
than two display adapters). Hopefully there's useful stuff in Bochs that can
help us out... One thing about going with a virtual card, rather than
emulating a real one, though. We could implement a DDI-only driver that way
and delay worrying about DirectX acceleration (DirectX is optional in a
display driver, though if it isn't there a lot of games won't work). That
would GREATLY simplify the initial task.