Saturday, 16 February 2008

NDISwrapper problem

NDISwrapper is an clever project which implements the NDIS Microsoft API to allow the Linux kernel to run binary NDIS wifi and other drivers and get GNU+Linux laptops and other hardware online. The problem is when this becomes a long-term solution vendor's will start just releasing NDIS binary drivers only, as they know GNU+Linux distros are accommodating that stance.

This is precisely the problem IBM encountered with OS/2. The win16 API support was so good, developers might as well just keep targeting that API and then their software could run on both MS-Windows and OS/2 without them needing to do any additional work.

Also this is problem with the WINE project (for fairness check their Myths page), it's establishing something as permanent which should really be only a migration tool for software over a couple of years. You can't win a game when you're only ambition is to chase and support someone else's partly proprietary changing API !

We're seeing another example of the OS/2, NDISwrapper and general WINE problem with games on GNU+Linux platforms. Thanks to the WINE developers great efforts getting Direct3D working on top of OpenGL many games are now working, but as we all know does this mean companies will develop games for GNU+Linux? or will they just standardise on Win32 as that works well thanks to WINE?

Another problem is that some commercial companies are now contributing to WINE, which cements it further into the software ecosystem, Google just announced it has made improvements.

Support native applications and drivers for the future of the platform! ;) Buy the wifi devices that are compatible! I'm personally using a ZyDAS wireless adapter as Broadcom won't make their products Linux kernel compatible (wasted BCM4318 in my system). My ZyDAS uses the excellent zd1211rw kernel driver.

Update: It is possible to install binary only BCM4318 firmware to get it working with GNU+Linux.

Labels: , ,

3 Comments:

At 16 February 2008 18:06 , Blogger Dan Kegel said...

At one point the Linux kernel was
thinking about moving to 4K kernel
stacks, which would kill off NDISwrapper:
http://lwn.net/Articles/160138/
I wonder what happened to that?

Re wine: it can't be a good termporary
migration tool if it doesn't work. All we're doing is fixing a few bugs in Wine.
I don't think that counts as making
it permanent.

BTW Linux is in far better shape now
than OS/2 ever was. I don't think
you should expect OS/2's history to
be much of a guide, either. For instance, OS/2's win32 support died because it was licensed from Microsoft, and Microsoft simply pulled the plug. That can't happen with Wine.

 
At 16 February 2008 23:38 , Blogger Jon Grant, 東京 said...

Dan, You make good points.

Re 4kStacks, if fedora was already using it I wonder how NDISwrapper worked on that distro back then. I can't think distro's are all using 16Kstacks to support NDISwrapper.

Re WINE, I wonder how long WINE will be around (it's already been around since '93 or so?). Is Google thinking of switching from win32 to a native cross platform API for Picasa in the next few years?

The other concern I have with NDISwrapper is security/stability. The binary driver might have a bug which locks up my laptop.

I definitely see that making pragmatic decisions in the short to medium term is ok, just hoping things don't get cemented.

 
At 17 February 2008 00:49 , Blogger Dan Kegel said...

I read up a bit more. These articles
http://marc.info/?l=linux-kernel&m=118417438330161&w=2
http://kerneltrap.org/Linux/Moving_4K_Stacks_Forward
http://www.linuxforums.org/forum/redhat-fedora-linux-help/110725-fedora-7-8-wmp54gs-ndiswrapper.html
cover the issue a bit more. It seems
that people who install ndiswrapper on
Fedora have to switch their kernel from
4K stacks. So do people who use lvm+xfs. I guess the kernel's still a work in progress.

I think Wine's going to be around as
long as people need to run legacy apps.

I can't really speak about Google's
future plans. (I learned that lesson
good at Activision: never prognosticate,
or your users will bury you alive if
you're wrong :-) That's why the
announcement about Google and Wine was
all about stuff in the past, not the
future. It's much easier to be right
when you only say what you've done,
as opposed to what you plan to do!

 

Post a Comment

<< Home