[personal profile] mjg59
If you're tempted to add a platform-specific quirk to a Linux driver, pause and do the following:

  1. Check whether the platform works correctly with the generic Windows driver for the hardware in question. If it requires a platform-specific driver rather than the generic one, adding a quirk is probably ok.
  2. If the generic Windows driver works, check whether there's any evidence of platform-specific code in the Windows driver. This will typically be in the .inf file, but occasionally you'll want to run strings against the Windows driver and see whether any functions or strings match the platform in question. If there's evidence of special-casing in the generic Windows driver, adding a quirk is probably ok
  3. If the generic Windows driver works and doesn't appear to have any platform-specific special casing, don't add a quirk. You'll plausibly fix the machine you care about, but you won't fix any others that have the same behaviour. Even worse, if someone does eventually fix the problem properly, there's a risk that your special-casing will now break your system.

The moral to this story is: if you think adding a quirk is the right solution, you're almost certainly wrong.

Date: 2013-08-10 05:26 am (UTC)
From: (Anonymous)
0.5) If your quirk works on all platforms, not just your own, that's not a quirk, that's a bugfix; apply it universally. I've seen way too many vendor hacks that should have gone upstream, either in their original form (sans conditional for that vendor) or in some other form that would fix all instances of the driver across the board.

if you want to run Linux, install Windows first

Date: 2013-08-10 09:59 am (UTC)
From: [identity profile] pavelmachek.livejournal.com
Then discuss with your lawyer if this is enough of reverse-engineering to be against the EULA, and what other effects EULA you just agreed to may have.
fluffymormegil: @ (Default)
From: [personal profile] fluffymormegil
And whether your jurisdiction allows "no reverse engineering" clauses to be enforced in the first place.
From: (Anonymous)
At least I find the terms of use for Windows unacceptable, and thus can not enter the contract Microsoft present to be able to legally use Windows. How are those of use that find terms for example prohibiting reverse engineering to follow your advice? I am aware of the alternative to ignore the terms and just press 'accept' on anything presented, but that seem to me to be the same as ignoring both copyright and contract law, which I also find unacceptable.
From: (Anonymous)
I'd say it'd be a bit of a stretch to declare what's described here as "reverse engineering". Not implausible, but a stretch

Sad state of affairs

Date: 2013-08-15 10:58 am (UTC)
From: (Anonymous)
It's a bit of a sad state of affairs when its 2013 and our primary source for "how do i figure out this thing that's going on that doesn't make any sense" is still "how does windows / the windows drivers" handle it.

Re: Sad state of affairs

Date: 2013-08-15 01:38 pm (UTC)
From: (Anonymous)
You're certainly dead right, but when the hardware vendors are writing drivers for MS-Windows and nothing else - not even useable documentation - that's the state of affairs we end up with.


Matthew Garrett

About Matthew

Power management, mobile and firmware developer on Linux. Security developer at Google. Ex-biologist. @mjg59 on Twitter. Content here should not be interpreted as the opinion of my employer.

Expand Cut Tags

No cut tags