Possibly offtopic : Binary only driver

Alan Cox alan at redhat.com
Sun Nov 21 22:07:21 UTC 2004


On Sun, Nov 21, 2004 at 09:10:30PM +0000, Mike Hearn wrote:
> I've been working on Wine for about a year and a half now, and these
> days it's my job. There are apparently no interesting open source Win32
> apps because the programs people want to run are always proprietary.

And you don't have a four minute reboot cycle each wrong guess ?

> I am wishing the kernel developers would change their attitudes with
> full knowledge of what debugging binary only code is like. I do it all
> the time.

I've been there and done it too. Its very different debugging code that you have
some expectation that a debugger will handle.

> Clearly I haven't, but you have, and like I said last thing I heard from
> you was that you couldn't justify them open sourcing their drivers. Have
> you changed your mind, or did I misinterpret what you originally said?

I couldn't but the reaons you gave don't match the reasons Nvidia gave at
all.

> Are you saying that they could GPL their drivers and not lose any
> advantage at all over other proprietary gfx card vendors?

They have that problem too. However the first problem they would have is
that there is code they use they don't own. Also performance isn't always
a good decision maker.

> That's why I said "primarily useful". Obviously open source code is good
> for society in general, that's why we're all here! My point was that
> it's not so directly useful to non-programmers that they'll say "Oh well
> I'll not play 3D games anymore" en-masse. Not going to happen.

Actually they seem to file bugs with trangaming and friends who in turn
filter some of them back to relevant places. When "shock rifle in game
foo hangs DRI" gets back to the DRI folks its suddenely rather useful to
have DRI source.

> I don't want tech support, I want a stable ABI driver developers can
> work to. If they screw up and my system crashes because of their driver
> I'll run crying to them: somehow this system trundles along in Windows-
> land, warts and all.

Except for all the drivers that don't work in XP, or are 98 only. I get so
much cool stuff off ebay cheap because the (often ex) vendor driver doesnt
work on 2K/XP.

An ABI is very very hard to handle. It also works against customers some
times - eg I long ago found a unix vendor bug that let anyone using rsh 
control and reconfigure the networking stack. The engineer I knew fixed it
next day, it took a year to get out properly because it was a kernel ABI issue.

The same criteria apply in Linux land too. I fixed some nasty tty holes. That
needed an ABI change (and in a couple of cases API change). Would you prefer
an ABI or security ?

Vendors do recognize the trade off. RHEL3 has a fixed ABI as best we can
manage it, but its a hard job.

> Of course in this instance "broken" is defined as "uses more stack than
> the amount we've decided isn't broken". I understand the reasoning
> behind the choice of 4k so I won't claim it's arbitrary, even though the
> stacks could be larger. Windows uses 12k stacks does it not?

The original kernel had about 6K of stack you could use, but at least 2K of
that had to be free for IRQ handlers. The new kernel has separate stacks
for IRQ handlers so nothing has changed in available stack except that
abusers who would previously randomly crash the box now reliably crash it.
Thats an improvement in itself as unpredictable bugs are bad.

Alan





More information about the fedora-devel-list mailing list