This is funny stuff.
It's a Email from Bill Gates to a couple buddies. I'll copy it down here by hand, but you can find the original PDF at:
http://antitrust.slated.org/www.iowaconsumercase.org/011607/3000/PX03020.pdf
Oh.. and I think they did. One major example of this is DSDT. Both Intel and Microsoft provide DSDT compilers for implimenting ACPI support in the firmware/bioses of many laptop and desktop computers.
If people use Intel's compilers they generally work well with Linux since it uses a more strict interpretation of the ASL code and throw errors and warnings out for buggy code.
However if people use the Microsoft supplied compiler it won't. It'll let a lot of buggy code compile fine. So OEMs would typically use Microsoft's stuff and ship hardware with very buggy ACPI support. The sort of errors that didn't get exposed with Microsoft's compilers were the sort of bugs that didn't affect Windows much.
As a result for laptops and such to work correctly with Linux it wasn't uncommon for Linux users and developers to have fix and recompile bad OEM DSDT-related code.
Obviously this is a huge pain the ass for anybody that wants to get sleep or suspend or other power management features to work correctly in Linux.
I think this is less common then used to be.
But with that and this memo it gives you a good idea of what sort of thing Linux developers have to work with on Wintel hardware.
Now don't get me started on USB non-standardized standards...
It's a Email from Bill Gates to a couple buddies. I'll copy it down here by hand, but you can find the original PDF at:
http://antitrust.slated.org/www.iowaconsumercase.org/011607/3000/PX03020.pdf
From: Bill Gates
Sent: Sunday, January 24, 1999 8:41 AM
To: Jeff Weslorinen; Bon Fathi
Cc: Carl Stork (Exchange); Nathan Myhrvold; Eric Rudder
Subject: ACPI extensions
One thing I find myself wondering about is whether we shouldn't try and make "ACPI" extensions somehow Windows specific.
It seems unfortunate if we do all this work and get our partners to do the work and the result is that Linux works great having to do the work.
Maybe there is no way to avoid this problem but it does bother me.
Maybe we could define the APIs so that they work well with NT and not the others even if they are open.
Or maybe we could patent something related to this.
Oh.. and I think they did. One major example of this is DSDT. Both Intel and Microsoft provide DSDT compilers for implimenting ACPI support in the firmware/bioses of many laptop and desktop computers.
If people use Intel's compilers they generally work well with Linux since it uses a more strict interpretation of the ASL code and throw errors and warnings out for buggy code.
However if people use the Microsoft supplied compiler it won't. It'll let a lot of buggy code compile fine. So OEMs would typically use Microsoft's stuff and ship hardware with very buggy ACPI support. The sort of errors that didn't get exposed with Microsoft's compilers were the sort of bugs that didn't affect Windows much.
As a result for laptops and such to work correctly with Linux it wasn't uncommon for Linux users and developers to have fix and recompile bad OEM DSDT-related code.
Obviously this is a huge pain the ass for anybody that wants to get sleep or suspend or other power management features to work correctly in Linux.
I think this is less common then used to be.
But with that and this memo it gives you a good idea of what sort of thing Linux developers have to work with on Wintel hardware.
Now don't get me started on USB non-standardized standards...
