Welcome, Guest. Please login or register.

Author Topic: The Holy Grail.... using Win32 drivers in other x86 OS's  (Read 3168 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline bloodlineTopic starter

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
The Holy Grail.... using Win32 drivers in other x86 OS's
« on: October 19, 2003, 08:24:24 PM »
Linux can use Win32 drivers...

Click here

This technology is the way to go for all (x86) OS's :-)

Offline Ilwrath

Re: The Holy Grail.... using Win32 drivers in other x86 OS's
« Reply #1 on: October 19, 2003, 08:57:09 PM »
Novel stuff, indeed.  Seems like it should work well for low-demand drivers, such as network and printer.  Of course, those drivers are mostly simple and a little extra overhead doesn't hurt too much.

The question is, though...  Could you be able to tolerate the performance hit of having an extra wrapper around, say, your video driver?  That's one I don't know the answer to.  My gut instinct would say "not yet..."  Hopefully someone can find a way to prove me wrong, though.  Cutting edge video cards always seem to lag WAY behind on other OS's....

 

Offline lorddef

  • Hero Member
  • *****
  • Join Date: Apr 2002
  • Posts: 1139
    • Show only replies by lorddef
    • http://
Re: The Holy Grail.... using Win32 drivers in other x86 OS's
« Reply #2 on: October 19, 2003, 08:57:36 PM »
nice, but I only see it as something to make do, no matter what they say surely performance goes out the window?
Restraining orders are just another way of saying I love you!
 

Offline Floid

  • Hero Member
  • *****
  • Join Date: Feb 2003
  • Posts: 918
    • Show only replies by Floid
Re: The Holy Grail.... using Win32 drivers in other x86 OS's
« Reply #3 on: October 19, 2003, 11:16:08 PM »
Quote

lorddef wrote:
nice, but I only see it as something to make do, no matter what they say surely performance goes out the window?


Consider an X client on *NIX to an X server on Windows over Myrinet or some other ridiculous-throughput link.

That said, yeah, there will be overheads, but we're to the point where we can afford to run software again.  (The early OS/2/'9x/Linux era had us straining to run the OSes themselves, though most of the bloat was/is, as always, in the UI.)

CPU time and RAM space are like air these days, so the only real problem is keeping the latencies down.  (No idea how possible that is, of course, but both Windows and Linux run their drivers with 'kernel-land' permissions.  NDIS is an extra-special case, because it really /was/ designed for interoperability to some extent... This isn't Bochs, VICE, snes9x, VMWare, or really even WINE; this is taking what are basically prewritten chunks of assembler that do exactly what you want to do, and creating a 'wrapping' pretty equivalent to what Windows had to implement anyway.  Of course, if the code relies on really specific ideas of Windows' timings to perform properly, then you'll see a big hit, but PCI is PCI and much of the point of complex MAC* designs is to offload that sort of timing determinism from the host.)

Background on NDIS from FOLDOC...
NDIS 2.01 spec in PDF ... And Googled into HTML
A page with more links than you'd ever want...

*Hrm, 'MAC' is what I'm looking for, right?  'Ethernet chipset'... and the features in question are things like interrupt coalescing, receive filtering, checksum offloading and so on, that make using hardware more complex to support than an NE2000 worthwhile.  AFAIK, given the nature of PCI... either it's going to work well or not at all.
 

Offline that_punk_guy

  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 4526
    • Show only replies by that_punk_guy
Re: The Holy Grail.... using Win32 drivers in other x86 OS's
« Reply #4 on: October 20, 2003, 01:51:54 AM »
Very interesting...

@bloodline

The obvious (read: dumb ;-)) question then is... Being involved with a certain x86 OS that's close to the heart of some Amigans, do you see this kind of thing being implemented in AROS? Could it be done without adding too much bloat to or compromising the OS's efficiency?
 

Offline Amiga1200PPC

  • Newbie
  • *
  • Join Date: Sep 2002
  • Posts: 25
    • Show only replies by Amiga1200PPC
Re: The Holy Grail.... using Win32 drivers in other x86 OS's
« Reply #5 on: October 20, 2003, 03:54:55 AM »
AROS is not an x86 only OS.
It will probably be ported to many different CPUs like m68k, PowerPC and more.
 

Offline that_punk_guy

  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 4526
    • Show only replies by that_punk_guy
Re: The Holy Grail.... using Win32 drivers in other x86 OS's
« Reply #6 on: October 20, 2003, 04:04:27 AM »
 :-? That's true but the fact that it does run on x86 still raises that question...
 

Offline Amiga1200PPC

  • Newbie
  • *
  • Join Date: Sep 2002
  • Posts: 25
    • Show only replies by Amiga1200PPC
Re: The Holy Grail.... using Win32 drivers in other x86 OS's
« Reply #7 on: October 20, 2003, 06:26:42 AM »
Would be cool if that could work.
Would it even make sense to emulate the drivers on the other different CPUs too?
 

Offline Floid

  • Hero Member
  • *****
  • Join Date: Feb 2003
  • Posts: 918
    • Show only replies by Floid
Re: The Holy Grail.... using Win32 drivers in other x86 OS's
« Reply #8 on: October 20, 2003, 07:44:51 AM »
Quote

Wishmaster wrote:
Would it even make sense to emulate the drivers on the other different CPUs too?


I'm going to take a stab at "not really."  They're x86 binaries; they still had to be rebuilt for Alpha (and the never-released? PowerPC ports of OS/2 and NT).  Throwing in an x86 emulator might be 'affordable' someday (see the side of the fence that figures x86 is the 'real world''s VP/Java/CLR abstraction), but what makes it performant (and relatively 'clean,' considering what's involved) right now is the fact that you don't have to.

"Philosophically"/"Politically," if you deathly need a particular peripheral, and can't convince the manufacturer to target the platform you want to run it on... a) why are you on that platform? and/or b) why are you struggling to use a peripheral from someone who can't give two shakes about you?  There are always special cases (HomePNA 2.0 cards being a personally galling one), but it's almost lucky that this didn't crop up before Linux grew strong driver/manufacturer support of its own.

Now, some sort of API/ABI wrapper to grind BSD driver sources/modules (Linux modules might be a little gray-to-unpossible as far as the GPL is concerned?) into something any of 'our' OSes could use would be [good | not so self-destructive]... In that case, even if people aren't targeting 'us' specifically, they'd be targeting something that guarantees our access to their work.  The BSD API(s) would make a much safer "lingua franca" from a legal perspective than some spec MS is free to break, EULA, NDA, or patent out from under folk. ... Though they're prone to break enough on their own that it might be smart to see if DragonFly stabilizes/better modularizes of that structure.  (As it stands, I think you'd end up having to emulate giant swaths of kernel, at which point it'd be more expedient just to write your own drivers working from the reference -- which smart people do today, though they don't always get it right.)
 

Offline bloodlineTopic starter

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: The Holy Grail.... using Win32 drivers in other x86 OS's
« Reply #9 on: October 20, 2003, 10:34:59 AM »

Offline Hammer

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 1996
  • Country: 00
    • Show only replies by Hammer
Re: The Holy Grail.... using Win32 drivers in other x86 OS's
« Reply #10 on: October 20, 2003, 12:17:50 PM »
Quote

bloodline wrote:
Linux can use Win32 drivers...

Click here

This technology is the way to go for all (x86) OS's :-)

BTW, it’s only for  networking drivers (regarding Linux) not for the entire Window driver sets. In the area of networking; Linux X86 is doing OK without the NDIS wrapper. In terms of easy use (i.e. near idiot proof) in regards networking, nothing beats MS Win2K3 (due to overuse of Wizards) .

It would be nice to see Creative’s Audigy or NVidia’s Sound Storm software suite for the other OSes.

"NDIS** was developed by Microsoft and 3COM. Novell offers a similar device driver for NetWare called Open Data-Link Interface (ODI)" i.e.  nothing original with MS/3COM’s implementation.

**The current NDIS version is at 6. Refer to http://www.azius.com/kdev/course_05.php
"DriverLoader" is at NDIS version 5.

Note that MS has contracted/outsourced dotNET framework Linux (assuming X86 and IA-64 edition) port to some third party company. Does anyone remember XENIX?
Amiga 1200 PiStorm32-Emu68-RPI 4B 4GB.
Ryzen 9 7900X, DDR5-6000 64 GB, RTX 4080 16 GB PC.
 

Offline Martyn

  • Full Member
  • ***
  • Join Date: Feb 2002
  • Posts: 102
    • Show only replies by Martyn
Re: The Holy Grail.... using Win32 drivers in other x86 OS's
« Reply #11 on: October 20, 2003, 01:14:48 PM »

I would say UDI is the technology to go for for ALL OSs.

Martyn.
If you put water into a cup, it becomes the cup. You put water into a bottle and it becomes the bottle. You put it in a teapot it becomes the teapot.
Now, water can flow or it can crash. Be water my friend. -- Bruce Lee