Slashdot Mirror


Windows Drivers Under Linux?

sniggly writes "The Inquirer has an article about how Montreal, CA based Linuxant has created a 'compatibility wrapper' allowing standard Windows NDIS 5.0 drivers to work on linux. After pointing to another project allowing windows printer drivers to work on OS/2 the author asks 'Are printer and network card drivers going to become, over time, a commodity with Win32 drivers one day the 'de-facto standard' run via wrappers?"

43 of 474 comments (clear)

  1. Instability by Anonymous Coward · · Score: 5, Interesting

    Most of the BSOD in Windows 2K/XP are caused by unstable drivers. Will using these drivers in these wrappers destabilize Linux as well?

    1. Re:Instability by cymen · · Score: 2, Interesting

      Think of the opposite -- using these drivers on Linux could finally clear up which drivers are responsible for the crashing the system and absolve Microsoft from blame (in these specific cases). Free driver stability testing, apply within. Kernel compilation experience required.

    2. Re:Instability by mausmalone · · Score: 3, Interesting

      If there's one thing you can definitely hand to the Linux development community, its error handling. I bet if the driver dies, the wrapper will tell you something like "______________ Win32 driver has crashed. Restarting driver in 5..4..3..2..1"

      --
      -=-=-=-=-=
      I'd rather be flamed than ignored.
    3. Re:Instability by AKnightCowboy · · Score: 3, Informative
      Most of the BSOD in Windows 2K/XP are caused by unstable drivers.

      That's true. Unstable drivers and faulty hardware. People always complain about BSOD under Windows, but since Win2k you should never get a BSOD anymore unless your hardware is broken somehow. For example, I kept getting lockups and blue screens but I traced it down to faulty memory. Another time it was an overheating video card because the fan on it died. Win2k is actually one of the most stable operating systems I've ever run.

    4. Re:Instability by Mike+McTernan · · Score: 2, Interesting

      Naaa,

      I wrote a Java program that would BSOD XP after about 20 minutes of running. The online crash analysis told me that Microsoft were aware of the problem and looking into it.

      I tried the same program on Linux and found that I had a file descriptor leak (through Runtime.exec() calls), it would throw an exception citing "Too many open files" after around 20 minutes. The box stayed up just fine though...

      Still seems like there are some bugs in XP that are not driver or HW related...

      Thanks

      --
      -- Mike
    5. Re:Instability by Lothsahn · · Score: 3, Informative

      Erm, sorta.

      You shouldn't get a BSOD often unless:

      a) Your hardware is broken
      b) Your hardware's drivers have bugs in them

      I have also had windows BSOD once or twice in my usage because of actual bugs in windows.

      I did get BSOD's fairly often, which traced to a memory controller. That of course was fixed with a replacement board, but I still get them.

      For instance, until 44.03, Nvidia's drivers had some funky bugs in them for the Geforce DDR and the Geforce FX 4600... on both cards my systems would crash with errors in nv4.dll. The cards are not faulty. I have 3 Geforce DDR's and there is no reason to believe that they are all broken in the same way.

      Matter of fact, WinXP BSOD'ed 5 minutes after I finished the install with a nv4.dll problem.

      Also, many Dell systems have faulty USB drivers. Plugging in a USB disk can BSOD the entire system.

      Now, you may say that this is not Microsoft's fault, but I would argue that it is at least partially their fault. For instance, the Nvidia drivers were WHQL certified. Microsoft stated that they were acceptable drivers for their windows system. I hold them partially responsible for certifying faulty drivers... you know darn well that if Nvidia relies on their drivers getting certified... Microsoft does have power here and I suspect that if they had not certified the drivers Nvidia would have fixed them. The problem is that the WHQL certification team probably has the usual Microsoft quality control standards.

      As for faulty memory, you should run memtest86 (www.memtest86.com) It'll let you know right away if your memory (and memory controller) are working correctly, as well as testing the memory interface on the CPU.

      For the record, I primarily use Windows. Linux doesn't play many of my online games, such as DAOC. I'm not bashing windows for the sake of bashing windows. I'm just stating that to say that it should never BSOD is incorrect.

      --
      -=Lothsahn=-
    6. Re:Instability by pVoid · · Score: 2, Insightful
      Man, I don't know what world 'you guys' live in... and I'm being perfectly honest and sincere here: I can't recall the last time I've had a BSOD. It's been over a year.

      As for your system wide locks, I do know how the NT kernel works for locks, and let me tell you I've never heard of what you talk of, unless you have a link where I could read up, I don't think they exist either.

      If the system ever appears to hang, it's because the IRQL has been raised: the IRQL is the *only* way you can mask interruptions in NT. In that respect, it is the only way you can mask pre-emption too, because the scheduler runs at DISPATCH_IRQL (that is PASSIVE_IRQL < APC_IRQL < DISPATCH_IRQL < AnyHardware_IRQL).

      The only issue I know of that has always been annoying is the way NT deals with CD-ROM drives - but I don't see how that has anything to do with VS.net"

      Enlighten us please. Oh, and please, I'm also curious, what does "more so preemtable" mean?

    7. Re:Instability by pi_rules · · Score: 2, Informative
      That's true. Unstable drivers and faulty hardware. People always complain about BSOD under Windows, but since Win2k you should never get a BSOD anymore unless your hardware is broken somehow. For example, I kept getting lockups and blue screens but I traced it down to faulty memory. Another time it was an overheating video card because the fan on it died. Win2k is actually one of the most stable operating systems I've ever run.


      Never? Really....

      Run 'RhymBox' on your system for a while... then start up NetMeeting under a pre sp4 Win2k install. Crashed on me, my manager's machine, and numerous other people. Once sp4 came out that seemed to fix the problem though.

    8. Re:Instability by mvdwege · · Score: 2, Interesting

      You do realise you just proved the point, don't you?

      Let's see:

      1. Java app running on Linux uses System resources and runs out of file handles: application gets shut down gracefully with a meaningful error message.
      2. Java app running on WIndows 2000 uses System resources and runs out of file handles: Kernel panic.

      Now what system handles this better? Regardless how badly the app is programmed, no way a userspace application should cause a kernel panic. The fact that it can do so on Win2k is testament to Win2k's quality.

      (Note that by exhausting system resources like filehandles, a badly written app can DoS even a well written kernel, but that is still not the same as causing an outright panic).

      Mart
      --
      "I know I will be modded down for this": where's the option '-1, Asking for it'?
  2. Cool by gilesjuk · · Score: 2, Interesting

    I mentioned ages ago that this would solve a lot of driver shortages. Now if this layer can snoop and aid the development of Linux drivers then even better. Of course laws can be broken with this approach.

  3. Funny windows drivers by bobthemuse · · Score: 4, Insightful

    What about all the windows drivers which have a 'light' NDIS layer solely to establish a communications channel with the hardware and assignment of resources. They then rely on more complex programs to do what should happen in the driver.

    I'm thinking of several printers, including the new MFDs, not to mention the separate mess called 'WinModems'.

    1. Re:Funny windows drivers by joto · · Score: 2, Informative

      I doubt most printers have an NDIS layer. That is, unless the printer comes as an ISA, PCI, or PCMCIA card, and doubles as a networking card.

  4. Native Drivers, Please by nurb432 · · Score: 4, Insightful

    No thanks, id rather have native drivers for my hardware. Not some sort of kludgy hack to make windows drivers work..

    Even if it worked well, there is no guarantee that Microsoft wouldn't make it impossible to keep doing this, leaving us out in the cold.

    + you cant honestly think performance and stability would be the same as a true, well written, native driver for your chosen OS ( regardless of what that OS is )

    --
    ---- Booth was a patriot ----
    1. Re:Native Drivers, Please by loucura! · · Score: 3, Insightful

      Even if it worked well, there is no guarantee that Microsoft wouldn't make it impossible to keep doing this, leaving us out in the cold.

      The thing is, though, that Microsoft's driver APIs have to remain stable if they're going to get hardware manufacturers to write drivers for them. If they start making changes that break this driver compatibility layer, then they also break current drivers. There's no way to make the layer break without breaking backwards compatibility, and that still won't prevent you from using pre-break drivers.

      --
      Black and grey are both shades of white.
    2. Re:Native Drivers, Please by stefanlasiewski · · Score: 2, Insightful

      No thanks, id rather have native drivers for my hardware. Not some sort of kludgy hack to make windows drivers work.

      Are you going to write those native drivers? Many of them do not exist today.

      I'd rather have a kludgy hack then no drivers.

      --
      "Can of worms? The can is open... the worms are everywhere."
    3. Re:Native Drivers, Please by PCM2 · · Score: 2, Interesting
      The thing is, though, that Microsoft's driver APIs have to remain stable if they're going to get hardware manufacturers to write drivers for them. If they start making changes that break this driver compatibility layer, then they also break current drivers.

      Well, Apple has done this regularly, so I don't see why Microsoft wouldn't. I think it was the release of Mac OS X 10.2 ("Jaguar") that broke everybody's printer drivers ... printers that used to work with the earlier versions. Apple works with the major inket manufacturers (Epson, HP) to get drivers on the OS distro discs, but vendors who were on the fence about supporting the Mac OS anyway (Brother) were left in the cold.

      --
      Breakfast served all day!
  5. Not likely. by Anonymous Coward · · Score: 2, Insightful
    Are printer and network card drivers going to become, over time, a commodity with Win32 drivers one day the 'de-facto standard' run via wrappers?

    Not a snowball's chance in Hell. A large part of Microsoft's power rests in limited device support for other OS's. They will keep the OS-specific requirements alive. This whole thing is a cool trick, but it's in the "why bother" class, along with NetBEUI for Linux.

  6. Ultimate Lock In by Crashmarik · · Score: 4, Insightful

    Not a good thing. If Drivers are written for windows and then emulated to other OS's it will give Windows a permanent performance advantage.

    1. Re:Ultimate Lock In by Hard_Code · · Score: 4, Insightful

      "If Drivers are written for windows and then emulated to other OS's it will give Windows a permanent performance advantage."

      If drivers are written for windows and then "emulated" (not really emulated, just run through an abstraction API), it will render windows IRRELEVANT. Slow drivers run infinitely faster than NO DRIVERS. Once the drivers become commoditized a HUGE reason is eliminated for keeping Windows around (the current main reasons being ubiquity of 1) applications 2) drivers; we have already achieved #1).

      Drivers are only really a performance concern (as far as an abstraction layer is concerned) for things like graphics card drivers, which are already woefully absent in Linux (and of course they change frequently as the technology is updated). I'd wager most "desktop" users of Linux don't even have kernels recompiled for their specific CPU, so I think an abstraction layer isn't going to make much of a difference.

      --

      It's 10 PM. Do you know if you're un-American?
  7. Intel should sponsor this by chevybowtie · · Score: 3, Insightful

    The way I see it, all of these layers of software are what are going to require faster processors. What exactly will you not be able to do next year with the 3Ghz processor you bought this year? Then again, are these layers going to cause bugs that can never be found?

  8. Too bad it costs money by hng_rval · · Score: 2, Insightful

    It costs $15 to use the modem driver which is more money than I paid for my network card and modem combined.

    Unless of course you only need to access your modem for 30 days.

    The store can be found Here

    --
    Thank you Mario! But our princess is in another castle!
  9. It's kind of like MPlayer by Pan+T.+Hose · · Score: 2, Troll

    It's kind of like MPlayer's win32 codecs -- very practical and a great way to pollute your system with proprietary crap. In other words it's great for open source advocates and evil for free software advocates (myself included). Actually, this Windows drivers, codecs, formats, APIs (Office, Wine, .Net, etc.) it is a very interesting issue where free software differs from open source. Great article.

    --
    Sincerely,
    Pan Tarhei Hosé, PhD.
    "Homo sum et cogito ergo odi profanum vulgus et libido."
  10. Re:wow by The+Vulture · · Score: 2, Insightful

    Yes, you too can have compatability with Windows crashes!

    I realize that I'm sounding a bit sarcastic here, but it's a known fact that a lot of the issues with Windows stability are driver-related issues. I for one am not keen on running the graphics driver within ring 0 (which Microsoft does in NT at least) to speed up video performance. If the video driver runs in ring 0, a problem with the video card can bring down the whole system.

    -- Joe

  11. Bad idea by Simon+Lyngshede · · Score: 5, Insightful

    This is an even worse idea than WINE. The only thing we'll gain from this is even fewer native Linux drivers. Im sure that if this works, many hardware companies won't even consider making native Linux drivers, because users can just use DriverLoader.

    Things like DriverLoader and WINE are and will be misused by companies to claim Linux compatability or make quick and low quality Linux solutions. It would be great if it where to be used only as a last resort, not as a permanent solution.

    We should kill of Linuxant before they hurt anyone.

    1. Re:Bad idea by IamTheRealMike · · Score: 3, Interesting
      I don't think you can draw comparisons.

      Firstly, writing a new driver for Linux is several orders of magnitude easier than rewriting an entire application for portability. A program like MS Office will never, ever be a "native" app, say that uses GTK, Qt, whatever - it's far too huge to ever rewrite in that way.

      A driver, on the other hand, is not so complex, and can be more easily developed independantly, especially by the community.

      Really, Wine is useful primarily for apps that will never, ever be ported. I've seen little evidence that it discourages companies from doing native ports. I've seen quite a few companies do native ports even when their programs worked just fine in Wine. Only time will tell if this has bad effects or not.

    2. Re:Bad idea by bug-eyed+monster · · Score: 2

      On the other hand, this can make Linux work with more hardware which will make Linux more popular (e.g. with more government agencies considering using Linux, Linuxant can make the lack of device drivers one less excuse to avoid adoption). The increased popularity in turn will compel companies to write native Linux drivers.

      We should kill of Linuxant before they hurt anyone.

      I hope this was written in jest. Otherwise, we'd be stooping to some of the same tactics that made Microsoft so infamous. Let people produce what they want and let the chips fall where they may.

  12. Re:wow by kasperd · · Score: 5, Insightful
    I've actually wondered about this before and if it was possible

    In general it is not possible to use drivers under any other OS than the one it was developed for. And any kernel developer will tell you it is not a good idea. A driver needs to interface not only with the device, but also the OS. No matter how well it works with the device, it doesn't help making it work with another OS. Expecting a Windows driver to work with Linux is like expecting an SCSI driver to work with an IDE harddisk (maybe not the best anology, but it was the best I could come up with, and they have certainly been seen worse). In some cases you might be able to provide a wrapper, that makes it work, but it requires good knowledge about the interface in both directions, and the end result certainly isn't going to be as good as a native driver. If hardware vendors want a wide range of compatibility, they can easilly achieve it, it just takes a few steps.
    • Use open standards whenever possible
    • Provide sufficient documentation
    • Provide an open source driver
    --

    Do you care about the security of your wireless mouse?
  13. Cross Platform Driver Standards by hillct · · Score: 5, Interesting

    While on one level it's great to see this sort of standardization, one has to ask whether standardization on the WIndows driver architecture is the best choice. This is what standards organizations are for. While I like OSS as much as the next guy, and things like Wine, or other compatibility layers such as those mentioned in the article are certainly valuable in their own right, They shouldn't be seen as a mechanism for promoting standards. This just promotes adoption of proprietary mechanisms as de-facto standards, which is seldom a good thing.

    I'm just waiting for Microsoft alter their EULA to disallow software written using their (presumably patented) driver architecture and copyrighted APIs on competing platforms, in a bid to deter hardware manufacturers from providing linux support by increasing the development costs for linux support through preventing unified cross-platform driver development.

    --CTH

    --

    --Got Lists? | Top 95 Star Wars Line
  14. That's nice, but ... by Kourino · · Score: 2, Insightful

    Great, now Linux can be Windows compatible and crash just as much as Windows does! The most common cause for Windows crashes these days, I'm told, is bad drivers, not Windows itself. Do we really want to use such drivers?

  15. WinPrinters/WinModems by rf0 · · Score: 2, Interesting

    Would this driver help WinPrinters/WinModems work under linux as with there bgin so many driver types as WinModems being such a 1/2 way house.

    Rus

  16. performance and stability by updog · · Score: 2, Insightful
    These are the most important aspects of a device driver - if you have a buggy app, it will just crash; but a buggy driver can take down your entire system.

    Also, a driver might typically be running 24/7 on a server, managing hundreds of packets per seconds, so stability and performance are of utmost importance.

    A wrapper is a nice idea, but definitely adds overhead, and probably makes the system less stable.

    1. Re:performance and stability by bn557 · · Score: 2, Interesting

      I'm going out on a limb here, but if I were setting up another server running linux, I'd at least make sure that all the hardware I'm using is properly supported under linux. There aren't going to be many servers requiring this, I'm guessing. Sure, you can mention print servers, but most schools and companies are now willing to spring for a ps or ip available printer.

      P

      --
      Humans are slow, innaccurate, and brilliant; computers are fast, acurrate, and dumb; together they are unbeatable
  17. Do we need this? No today, less tomorrow... by jurgen · · Score: 3, Insightful
    Are printer and network card drivers going to become, over time, a commodity with Win32 drivers one day the 'de-facto standard' run via wrappers?
    First off as we all know from painful experience, a lot of windows drivers quite buggy. Since we have zero chance at fixing them (closed source), the only time anyone will use them is if they absolutely have to. Even with Windows drivers available and sort-of-linux-compatible, most people will continue to buy hardware that's directly supported under Linux... they will rightly expect it to work better.

    Secondly, this is becoming less and less of an issue. More and more add-on hardware is built on standardized models of hardware interaction, such as the USB driver classes, and thus works with the generic drivers in the Linux kernel. Of the remainder, more and more hardware companies are seeing the value in cooperating with Open Source and opening up their specs. The probability that a random piece of peripheral hardware you bought at CompUSA or some such will work with Linux out of the box has been steadily increasing and is now quite high.

    In short, this is a non-issue.

  18. RE: native drivers by vlad_petric · · Score: 3, Insightful
    Native drivers are obviously the right choice in the long term, but emulation is something that can break the vicious adoption cycle (hardware manufacturers aren't going to provide drivers until there is enough demand, while demand is small because of lack of drivers).

    Take a look at the linux games area - Loki is dead, Transgaming is alive and well ... Loki's approach was technically superior (very stable ports as opposed to games which play ok, but only ok), but the economics were not.

    Emulation is good for creating a market; when the market is big enough, native ports and drivers will arrive as well.

    --

    The Raven

  19. usb hardware? by Richard_J_N · · Score: 2, Insightful

    Actually, network cards, modems and printers aren't really that interesting. There are usually choices (except if it's a laptop), and so you can always just buy something compatible. The real place this would be useful is in the case of "weird" hardware where it would be wonderful to be able to have WINE work with the driver. For example, the Psion Wavefinder (USB Digital radio receiver) which at the time was $60, and the only way to get digital radio for less than $450. There is often no alternative to "weird" hardware - anothe brand with similar function may not exist.

  20. Give each driver an MMU-protected VM? by Morgaine · · Score: 2, Insightful

    The reliability aspects of this are indeed dreadful, but could possibly be overcome if each driver ran in its own individual MMU-protected virtual machine. User-space module and driver mechanisms already exist, so this wouldn't be such a huge leap.

    That could ensure that diver code never tramples on any other code and only communicates with the rest of the O/S via fixed interfaces. It could still hang of course, but dealing with that would be no different to dealing with other misbehaving user processes, and if the problem is severe enough to lock up the hardware under the driver's control then it'll do so regardless of the implementation.

    --
    "The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
  21. Re:wow by Carnildo · · Score: 2, Informative

    ATAPI (the protocol IDE CD-RW drives speak), is SCSI commands sent over an IDE interface. Think "code re-use".

    --
    "They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
  22. Cross-platform solutions by dripwipeflush · · Score: 2, Informative

    WxWindows appears to be the solution, yet it is "is a free C++ framework that facilitates cross platform software development, including GUIs, threads, sockets, database, file system access, etc." I remember of a sourceforge-hosted project that dealt specifically with cross-platform driver development, but the memory evades me at the moment. After a quick-search of google, appears Jungo WinDriver, but that wasn't the one I was thinking of.

  23. Coders knows it's good thing by BlueCoder · · Score: 2, Insightful

    This is wonderful news. Hardware compatability is Microsoft's edge. With driver compatability layers others operatings systems will break Microsoft's influence on hardware developers and even give an edge to Free OS's as they will be able to wrap drivers from abandoned platforms as well. Performance will NOT be impared that much until wrapers are available for video drivers. A user first wants it to work, then he wants it to perform better. One step at a time. With an emulation layer on linux, OS driver developers will be able to work from their prefered OS to analyze what the drivers are doing. It's easier to spy on hardware from Linux and other open operating systems. The technique will be ported to Freebsd and then to OSX. I would expect analysis tools to be co developed along with wrapper layers eventually. We will finally have a practical way to find out how hardware works and be able to document it. Wrappers are a tool, not the end goal.

  24. Informative??? It must be either troll or funny!!! by axxackall · · Score: 2, Interesting
    I've got myself BSOD on Win2K just after installing update patches. The hardware worked fine before, and it works fine after reinstalling the system. The booting Linux for testing also did not find anything wrong with hardware.

    Another several lockups with BSOD were caused by unstable NTFS. I wonder how many more decades Microsoft will deliver that must-already-be-dead filesystem?

    Somebody, fix the moderation of the parent properly!

    --

    Less is more !
  25. This is a trojan horse by LibrePensador · · Score: 2, Insightful

    This is a trojan horse that will have two immediate consequences: 1) Manufacturers will just tell users and Linux kernel driver developers that they do not need drivers or specs. Just use the wrapper. 2) A new host of difficult to debug problems will creep in putting a blemish on the wonderful stability provided by Linux. Say no to this nonsense and demand native drivers.

    --
    Pragmatism as an ideology is not particularly pragmatic in the long term. Keep it in mind when you dismiss Free Software
  26. HOWTO: (yeah it actually works!) by BridgeBot · · Score: 2, Informative

    I'll let the rest of slashdot argue (mostly uselessly in the first 262 posts!) about whether its the right future direction or not... I'll try to do something more constructive like seeing if the darn thing actually works or not!!
    </rant>

    That out of my system...

    Executive Summary: Yeah it works... I'm writing this over a fairly fast (2.6 mbps) 802.11g+cable connection. One big gotcha as of right now (version 1.05 of the driver) -- no WPA support. I had to drop my router to 128 bit WEP instead.

    My setup:

    • Dell Inspiron 8500 with a Truemobile 1300 (802.11b/g minipci) dualboot winxp and vanilla redhat 9 kernel patched upto 2.4.20-20.9
    • Linksys WRT54G (version 1 NOT 1.1) patched upto 1.30.7

    Steps:

    1. Get the Windows driver from Dell [ http://www.linuxant.com/drivers_bcmwl/compatibilit y.php ] and extract it under winxp. Copy the TMSetup subdirectory to a partition that is accessible to redhat (or at least the two files bcmwl5.inf and bcmwl5.sys)
    2. Get the rpm (follow the instructions [ http://www.linuxant.com/drivers_bcmwl/bcmwl5/insta ll.php ] on the Linuxant drivers page to make sure you get the right iX86 rpm -- mine was i686)
    3. Install the rpm -- notice it says you need to connect to http://localhost:18020 to finish the install. When I tried it it was asking for my root password... I'm not a fan of providing my root pwd to strange apps so here's what I did:
      1. Went as root in a terminal and killed the process titled bcmwl5webconfd.
      2. cd to /usr/lib/bcmwl5driverloader and edited the file bcmwl5driverloader.conf and changed $UseAuth=0 (it was 1).
      3. Restarted bcmwl5webconfd again and followed the instructions to point it to the .inf and the .sys file. Followed the instructions on the lunxiant site to get the driver license (30 days... yeah I know THAT sucks... especially now that I know it works!). Plug in the license key and email address you use (use a real one... you need to confirm receipt of email and confirmation key) into the setup and you are all set as far the install is concerned.
      4. Kill the bcmwl5webconfd daemon now.
    4. Start->System Tools->Network Device Control and add the device. I added it as eth1. My setting in the wireless settings tab are
      1. Mode is Auto
      2. I specified my SSID (its not broadcast on my network)
      3. Fixed the channel
      4. Entered the WEP hex key (stupid note: when it says hex keys should be prefixed by 0x -- please do it!)
    5. That was pretty much it... Activated the driver and it worked just fine. Checked stats using ipconfig -a... tested it by disabling (and removing the cable from) my lan connection. Tested the speeds for just the wireless and then with both interfaces up...
    6. Enjoy Wireless 802.11g freedom! :)
    Its up two hours and counting... :)
  27. This is exactly what I was talking about by Pan+T.+Hose · · Score: 2, Interesting

    very practical and a great way to pollute your system with proprietary crap. In other words it's great for open source advocates and evil for free software advocates (myself included).

    If the 1% of proprietary crap on your system makes it usable, with the option being a 100% proprietary environment, I'm all for the little bit of proprietary crap. If proprietary stuff brings more users, more and better Free Software will be developed.

    In other words you are in the open source camp (see OSI) -- pragmatical and practical imperatives, in the oposition to purely ideological and political ones of free software movement (see FSF). This is exactly what I was talking about.

    As for making the system "usable" I have really no idea how having pure free software system (in The Church of Emacs sense) renders it somhow "unusable." I don't need Windows drivers, since I don't buy crappy hardware without support in my kernel. I don't need win32 codecs for MPlayer, since I don't pirate movies. I don't need patent-violating MP3 players since I don't pirate music, which means I can have all of my CDs ripped to superior in every way Xiph Ogg Vorbis format.

    I also don't care about more users -- only about more developers and with my Debian those are completely orthogonal (I don't use commercial GNU distroes, with which I admit that the user base is indeed important).

    --
    Sincerely,
    Pan Tarhei Hosé, PhD.
    "Homo sum et cogito ergo odi profanum vulgus et libido."