Re: nVidia stuff again

2005-04-22 Thread Arjan van de Ven

> werewolf:/lib/modules/2.6.11-jam14/kernel/drivers/video# ll
> -rw-rw-r--  1 root root 4402072 Apr 14 23:18 nvidia.ko
> werewolf:/usr/X11R6/lib# ll /usr/X11R6/lib/*7174*
> -rwxr-xr-x  1 root root  485260 Apr 11 01:12 /usr/X11R6/lib/libGL.so.1.0.7174*
> -rwxr-xr-x  1 root root 7626156 Apr 11 01:12 
> /usr/X11R6/lib/libGLcore.so.1.0.7174*
> 
> 12 Mb of code is too much for a wrapper that just loads the hardware and
> calls a rom ;) What is there ? Runtime loadable microcode ? Specially
> optimized code for sending data to 2 pipes on a GeForce2 and 8 on a 6800 ?
> Who knows. But sure the driver does _many_ things.

this is because they put the entire openGL layer in the kernel (unlike
most open source drivers where the gl layer is in userspace and only the
hw part is in the kernel)


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: nVidia stuff again

2005-04-22 Thread J.A. Magallon

On 04.21, Manu Abraham wrote:
> Lennart Sorensen wrote:
> > On Thu, Apr 21, 2005 at 08:15:02AM -0400, Doug Ledford wrote:
> > 
> >>Ha!  That's the whole damn point Dave.  Use your head.  Just because ATI
> >>is getting more complex with their GPU does *not* mean nVidia is.  Go
> >>back to my original example of the aic7xxx cards.  The alternative to
> >>their simple hardware design is something like the BusLogic or QLogic
> >>cards that are far more complex.  Your assuming that because the ATI
> >>cards are getting more complex and people are less able to discern their
> >>makeup just by reading the specs that the nVidia cards are doing the
> >>same, nVidia is telling you otherwise, and you are just blowing that off
> >>as though you know more about their cards than they do.  Reality is that
> >>they *could* be telling the truth and the fact that their card is a more
> >>simplistic card than ATIs may be the very reason that ATI has ponied up
> >>specs and they haven't.  Therefore, you can reliably discern absolutely
> >>*zero* information about the nVidia cards from a reference to ATI specs.
> > 
> > 
> > Certainly possible.  Maybe all their real IP is in the code, although if
> > that was true, letting opensource peope ahve the programing spec and
> > have to do their own drivers wouldn't expose that IP.  I have no idea.
> > 
> 
> Even without opening up the code, but with programming specs there are 
> many graphics driver guys out there, given the specs out it would not be 
> too hard to have a decent driver, without the Nvidia IP. In that case 
> there would be no question of IP violation.
> 
> Or maybe somebody can do a clean room implementation provided Nvidia 
> agrees to some NDA, and the resultant work is acceptable to Nvidia 
> provided that it is free of their IP.. Many hardware vendors do resort 
> to these to get their hardware working properly under Linux, and in some 
> cases, the Linux driver has proved to be a better driver than their 
> Windows counterparts, albeit with lesser gimmicks/features.
> 

But the problem is like comparing CISC and RISC processors/code.
If you see the CISC assembler you do not see anything.
If you look at RISC code you can know many things about how the processor
pipelines are organized (you see interleaved float/int ops), you see how
much pipelines are there, what they do, and so on. Compare (hypothetically)
an ATI engine with 2 matrix-vector-multiply units and an nVidia with
8 dot product units. Perhaps ATI thought about doing matrices in parallel,
but never thought on doing rows in parallel. You could know that looking
at the code. Or at the programming specs ('load each row of your transform
in registers r0..r3 ' )

I do not know how big are the ATI drivers, but looking at the nVidia ones,

werewolf:/lib/modules/2.6.11-jam14/kernel/drivers/video# ll
-rw-rw-r--  1 root root 4402072 Apr 14 23:18 nvidia.ko
werewolf:/usr/X11R6/lib# ll /usr/X11R6/lib/*7174*
-rwxr-xr-x  1 root root  485260 Apr 11 01:12 /usr/X11R6/lib/libGL.so.1.0.7174*
-rwxr-xr-x  1 root root 7626156 Apr 11 01:12 
/usr/X11R6/lib/libGLcore.so.1.0.7174*

12 Mb of code is too much for a wrapper that just loads the hardware and
calls a rom ;) What is there ? Runtime loadable microcode ? Specially
optimized code for sending data to 2 pipes on a GeForce2 and 8 on a 6800 ?
Who knows. But sure the driver does _many_ things.

--
J.A. Magallon  \   Software is like sex:
werewolf!able!es \ It's better when it's free
Mandriva Linux release 2006.0 (Cooker) for i586
Linux 2.6.11-jam14 (gcc 3.4.3 (Mandrakelinux 10.2 3.4.3-7mdk)) #5


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: nVidia stuff again

2005-04-21 Thread Manu Abraham
Lennart Sorensen wrote:
On Thu, Apr 21, 2005 at 08:15:02AM -0400, Doug Ledford wrote:
Ha!  That's the whole damn point Dave.  Use your head.  Just because ATI
is getting more complex with their GPU does *not* mean nVidia is.  Go
back to my original example of the aic7xxx cards.  The alternative to
their simple hardware design is something like the BusLogic or QLogic
cards that are far more complex.  Your assuming that because the ATI
cards are getting more complex and people are less able to discern their
makeup just by reading the specs that the nVidia cards are doing the
same, nVidia is telling you otherwise, and you are just blowing that off
as though you know more about their cards than they do.  Reality is that
they *could* be telling the truth and the fact that their card is a more
simplistic card than ATIs may be the very reason that ATI has ponied up
specs and they haven't.  Therefore, you can reliably discern absolutely
*zero* information about the nVidia cards from a reference to ATI specs.

Certainly possible.  Maybe all their real IP is in the code, although if
that was true, letting opensource peope ahve the programing spec and
have to do their own drivers wouldn't expose that IP.  I have no idea.
Even without opening up the code, but with programming specs there are 
many graphics driver guys out there, given the specs out it would not be 
too hard to have a decent driver, without the Nvidia IP. In that case 
there would be no question of IP violation.

Or maybe somebody can do a clean room implementation provided Nvidia 
agrees to some NDA, and the resultant work is acceptable to Nvidia 
provided that it is free of their IP.. Many hardware vendors do resort 
to these to get their hardware working properly under Linux, and in some 
cases, the Linux driver has proved to be a better driver than their 
Windows counterparts, albeit with lesser gimmicks/features.

Manu
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: nVidia stuff again

2005-04-21 Thread Lennart Sorensen
On Thu, Apr 21, 2005 at 08:15:02AM -0400, Doug Ledford wrote:
> Ha!  That's the whole damn point Dave.  Use your head.  Just because ATI
> is getting more complex with their GPU does *not* mean nVidia is.  Go
> back to my original example of the aic7xxx cards.  The alternative to
> their simple hardware design is something like the BusLogic or QLogic
> cards that are far more complex.  Your assuming that because the ATI
> cards are getting more complex and people are less able to discern their
> makeup just by reading the specs that the nVidia cards are doing the
> same, nVidia is telling you otherwise, and you are just blowing that off
> as though you know more about their cards than they do.  Reality is that
> they *could* be telling the truth and the fact that their card is a more
> simplistic card than ATIs may be the very reason that ATI has ponied up
> specs and they haven't.  Therefore, you can reliably discern absolutely
> *zero* information about the nVidia cards from a reference to ATI specs.

Certainly possible.  Maybe all their real IP is in the code, although if
that was true, letting opensource peope ahve the programing spec and
have to do their own drivers wouldn't expose that IP.  I have no idea.

> "It's what you know, not what you think you know, that matters."  I
> don't know why nVidia keeps their specs secret.  All I know is what they
> tell the world.  But what I do know is that it's *possible* they could
> be telling the truth, and I have no proof otherwise, regardless of any
> suspicions.

At least as far as I have understood things, the 3D hardware in the old
SGIs was very simple.  Lots and lots of multiple and add units which the
drivers then used in clever ways to implement fast 3D.  nvidia certainly
employs many ex-SGI people, so perhaps internally it is still based on
that idea, although I doubt it's quite that simple anymore.

Len Sorensen
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: nVidia stuff again

2005-04-21 Thread Dave Airlie
> 
> Ha!  That's the whole damn point Dave.  Use your head.  Just because ATI
> is getting more complex with their GPU does *not* mean nVidia is.  Go

No I rely on things I read from hardware review websites and from the
GPU manufacturers to wonder what they are doing, unless putting more
transistors onto their chips is making them less complex, both ATI and
Nvidia are implementing chips primarily to implement DirectX features
(the biggest market), this means they are both heading toward the same
thing, with 3D graphics doing things on the GPU vs doing them in the
driver is going to be quite noticable you end up doing as much as
possible in the hardware,  also things like SLI are certainly more
complex not less..

ATI are making their chips less "complex" from a programming point of
view, the R300 for example has no fixed-function pipelines, for modern
apps, the shader language is translated to the GPU by the driver, for
older apps using the fixed-function pipeline the driver emulates it on
top of the programmable interface..

what this comes down to in the end is that the register interfaces are
probably converging, there are only so many ways you can send
instructions to a GPU via DMA..

> specs and they haven't.  Therefore, you can reliably discern absolutely
> *zero* information about the nVidia cards from a reference to ATI specs.

But we have some lowlevel knowledge for the Nvidia cards as well.. not
detailed but you can pick directions from the presentations they make
and marketing literature they release
 
> "It's what you know, not what you think you know, that matters."  I
> don't know why nVidia keeps their specs secret.  All I know is what they
> tell the world.  But what I do know is that it's *possible* they could
> be telling the truth, and I have no proof otherwise, regardless of any
> suspicions.

Well when previously asked for the specs by other developers the
answer before has been IP issues, it may not be totally true now, I
think now they just don't want to support open source because they
don't believe there is any money in it...

ATI didn't release full specs for r200 because they were being nice,
the Weather Channel said we won't use your chips unless we have an
open source driver and one can only persume proceeded to purchase a
lot of chips i.e. it made monetary sense to ATI at the time.. since
then it hasn't ...

The IP reasons come from the fact that the specs they did release
didn't contain any information on how to program a lot of ATI
proprietary features..

Also it is peculiar that ATI release 2D programming specs for their
newer cards and give support to the 2D ATI driver in X, Nvidia support
the 2D NV driver in X, why not the 3D?,
Intel won't give out specs for their latest chipsets but they do
provide an open source 2D and 3D driver via Tungsten Graphics...

I'm thinking of doing up a bit of a presentation for KS on 3D drivers
and the technical issues they bring to the kernel (without even
mentioning licensing and derived works..)

Dave.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: nVidia stuff again

2005-04-21 Thread Doug Ledford
On Thu, 2005-04-21 at 09:12 +1000, Dave Airlie wrote:
> > But *that's* the point people keep ignoring: the specs for programming
> > the hardware, in some cases, reveals details about the hardware's
> > implementation that nVidia does *not* want to release (in addition to
> > suggesting their software tricks).  Why is it that people *assume* that
> > just the programming docs tells a person nothing about the hardware?  We
> > already know that knowing the registers of a card and what those
> > registers do tells you implicit information about the card's design and
> > also reveals implicit information about the design of software that
> > works with the card.  How complex the card's registers and programming
> > interface is determines how much you can infer, and the more RISC like
> > or simple the card is and the more that is handled in the driver, the
> > more obviously the design can be inferred just from the programming
> > specs.
> 
>  I think the programming specs for a 3D graphics card can tell you
> very little about it, the R200 specs are very good but I doubt anyone
> would have a clue how to design the internals of the card just from
> looking at them, and now that GPUs are getting more like CPUs in terms
> of shaders and programming languages the specs are getting less and
> less useful to tell what is actually going on

Ha!  That's the whole damn point Dave.  Use your head.  Just because ATI
is getting more complex with their GPU does *not* mean nVidia is.  Go
back to my original example of the aic7xxx cards.  The alternative to
their simple hardware design is something like the BusLogic or QLogic
cards that are far more complex.  Your assuming that because the ATI
cards are getting more complex and people are less able to discern their
makeup just by reading the specs that the nVidia cards are doing the
same, nVidia is telling you otherwise, and you are just blowing that off
as though you know more about their cards than they do.  Reality is that
they *could* be telling the truth and the fact that their card is a more
simplistic card than ATIs may be the very reason that ATI has ponied up
specs and they haven't.  Therefore, you can reliably discern absolutely
*zero* information about the nVidia cards from a reference to ATI specs.

> The main reasons they don't like open source is from where I'm
> standing, their IP lawyers and probably not being able to do sneaky
> hacks in the driver because people can see them..

"It's what you know, not what you think you know, that matters."  I
don't know why nVidia keeps their specs secret.  All I know is what they
tell the world.  But what I do know is that it's *possible* they could
be telling the truth, and I have no proof otherwise, regardless of any
suspicions.

-- 
Doug Ledford <[EMAIL PROTECTED]>
http://people.redhat.com/dledford


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: nVidia stuff again

2005-04-21 Thread Helge Hafting
Dave Airlie wrote:
The main reasons they don't like open source is from where I'm
standing, their IP lawyers and probably not being able to do sneaky
hacks in the driver because people can see them..
 

Well . . . if *that* is a reason for disliking open source then the 
problem is solved.
We don't really need the source for their driver with the sneaky hacks 
exposed.
They could keep a proprietary driver with nasty hacks, and release a 
simplified
one (basically the same code with those hacks removed) along with the 
specs. 
Open source developers can then add their own hacks if need be.

Helge Hafting
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: nVidia stuff again

2005-04-20 Thread Dave Airlie
> But *that's* the point people keep ignoring: the specs for programming
> the hardware, in some cases, reveals details about the hardware's
> implementation that nVidia does *not* want to release (in addition to
> suggesting their software tricks).  Why is it that people *assume* that
> just the programming docs tells a person nothing about the hardware?  We
> already know that knowing the registers of a card and what those
> registers do tells you implicit information about the card's design and
> also reveals implicit information about the design of software that
> works with the card.  How complex the card's registers and programming
> interface is determines how much you can infer, and the more RISC like
> or simple the card is and the more that is handled in the driver, the
> more obviously the design can be inferred just from the programming
> specs.

 I think the programming specs for a 3D graphics card can tell you
very little about it, the R200 specs are very good but I doubt anyone
would have a clue how to design the internals of the card just from
looking at them, and now that GPUs are getting more like CPUs in terms
of shaders and programming languages the specs are getting less and
less useful to tell what is actually going on

The main reasons they don't like open source is from where I'm
standing, their IP lawyers and probably not being able to do sneaky
hacks in the driver because people can see them..

Dave.



> 
> The aic7xxx chips are a perfect example of this exact same thing.  If
> you know how to program the registers on that card, then you know almost
> everything about the hardware.  It's that simple (and that's a big part
> of what makes it very fast, lots of room for driver optimizations and
> enhanced feature support).
> 
> --
> Doug Ledford <[EMAIL PROTECTED]>
> http://people.redhat.com/dledford
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: nVidia stuff again

2005-04-20 Thread Doug Ledford
On Thu, 2005-04-14 at 16:01 +0200, Helge Hafting wrote:
>  instead of keeping them secret for no
> good reason.

But *that's* the point people keep ignoring: the specs for programming
the hardware, in some cases, reveals details about the hardware's
implementation that nVidia does *not* want to release (in addition to
suggesting their software tricks).  Why is it that people *assume* that
just the programming docs tells a person nothing about the hardware?  We
already know that knowing the registers of a card and what those
registers do tells you implicit information about the card's design and
also reveals implicit information about the design of software that
works with the card.  How complex the card's registers and programming
interface is determines how much you can infer, and the more RISC like
or simple the card is and the more that is handled in the driver, the
more obviously the design can be inferred just from the programming
specs.

The aic7xxx chips are a perfect example of this exact same thing.  If
you know how to program the registers on that card, then you know almost
everything about the hardware.  It's that simple (and that's a big part
of what makes it very fast, lots of room for driver optimizations and
enhanced feature support).

-- 
Doug Ledford <[EMAIL PROTECTED]>
http://people.redhat.com/dledford


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/