Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-16 Thread Tim HRM
On Wed, Jul 14, 2010 at 9:24 AM, Pavel Machek  wrote:
> Hi!
>
>> >There is no point supporting companies that give you a little bit of
>> >information in exchange they want the support that being in a mainline
>> >kernel gives. Its an unfair exchange of knowledge and time, and if they
>> >claim they have to make a profit then its even more unfair.
>>
>> also, they seem to do it quite wrong way. i.e. much simpler would be
>> to just implement regular, open driver , and implement additional
>> crypto
>> mechanism in chipset itself, allowing to use simple userspace program
>> sending certified keys allowing GPU to operate.
>
> What is going on there? Does msm actually use crypto to prevent you
> from use hardware you bought?
>
> Are the keys device-specific? What prevents me from
> reverse-engineering their binary and publishing them?
>                                                                     Pavel
>
> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) 
> http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
>

Hi Pavel. No I think that was meant to be theoretical/hypothetical.
There's no crypto or device key as such, this hardware is much like
any other that requires firmware to function.

I think the issue is broader than that. The question seems to be
whether an open API/ABI can be specified between an open kernel driver
and a closed userspace driver that is required to perform a subset of
the total functionality, in this case, certain GL and 3D primitives.
The other functions, 2d, the ability to bind a texture to a simple
poly, etc. can be potentially accomplished with an open source driver
and development of a radeonhd or avivo based driver in parallel.  But
that would require developers to agree on an API that can be stablised
and standardized between Android Xorg 2d driver and any potential 3d
driver, where the developers of closed source components must ensure
they remain compatible with whatever direction the open driver takes.

--
Timothy Meade
tmzt #htc-linux
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-15 Thread Tim HRM
On Wed, Jul 14, 2010 at 9:24 AM, Pavel Machek  wrote:
> Hi!
>
>> >There is no point supporting companies that give you a little bit of
>> >information in exchange they want the support that being in a mainline
>> >kernel gives. Its an unfair exchange of knowledge and time, and if they
>> >claim they have to make a profit then its even more unfair.
>>
>> also, they seem to do it quite wrong way. i.e. much simpler would be
>> to just implement regular, open driver , and implement additional
>> crypto
>> mechanism in chipset itself, allowing to use simple userspace program
>> sending certified keys allowing GPU to operate.
>
> What is going on there? Does msm actually use crypto to prevent you
> from use hardware you bought?
>
> Are the keys device-specific? What prevents me from
> reverse-engineering their binary and publishing them?
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Pavel
>
> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) 
> http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
>

Hi Pavel. No I think that was meant to be theoretical/hypothetical.
There's no crypto or device key as such, this hardware is much like
any other that requires firmware to function.

I think the issue is broader than that. The question seems to be
whether an open API/ABI can be specified between an open kernel driver
and a closed userspace driver that is required to perform a subset of
the total functionality, in this case, certain GL and 3D primitives.
The other functions, 2d, the ability to bind a texture to a simple
poly, etc. can be potentially accomplished with an open source driver
and development of a radeonhd or avivo based driver in parallel.  But
that would require developers to agree on an API that can be stablised
and standardized between Android Xorg 2d driver and any potential 3d
driver, where the developers of closed source components must ensure
they remain compatible with whatever direction the open driver takes.

--
Timothy Meade
tmzt #htc-linux


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-14 Thread Pavel Machek
Hi!

> >There is no point supporting companies that give you a little bit of
> >information in exchange they want the support that being in a mainline
> >kernel gives. Its an unfair exchange of knowledge and time, and if they
> >claim they have to make a profit then its even more unfair.
> 
> also, they seem to do it quite wrong way. i.e. much simpler would be
> to just implement regular, open driver , and implement additional
> crypto
> mechanism in chipset itself, allowing to use simple userspace program
> sending certified keys allowing GPU to operate.

What is going on there? Does msm actually use crypto to prevent you
from use hardware you bought?

Are the keys device-specific? What prevents me from
reverse-engineering their binary and publishing them?   
 Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-14 Thread Pavel Machek
Hi!

> >There is no point supporting companies that give you a little bit of
> >information in exchange they want the support that being in a mainline
> >kernel gives. Its an unfair exchange of knowledge and time, and if they
> >claim they have to make a profit then its even more unfair.
> 
> also, they seem to do it quite wrong way. i.e. much simpler would be
> to just implement regular, open driver , and implement additional
> crypto
> mechanism in chipset itself, allowing to use simple userspace program
> sending certified keys allowing GPU to operate.

What is going on there? Does msm actually use crypto to prevent you
from use hardware you bought?

Are the keys device-specific? What prevents me from
reverse-engineering their binary and publishing them?   
 Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


Closed source userspace graphics drivers with an open source kernel component

2010-07-05 Thread Dave Airlie
On Sun, Jul 4, 2010 at 9:03 PM, Theodore Tso  wrote:
>
> On Jul 4, 2010, at 3:27 AM, Dave Airlie wrote:
>
>> So its as crap as the others since the kernel space is uninteresting
>> and doesn't give you any idea how to actually use the GPU, its just a
>> slightly intelligent shim which transfers command streams and
>> interrupt to/from gpu/userspace.
>>
>> Its like having an ELF loader but no source to the compiler or linker,
>> and saying the CPU is open.
>
> We have sources to our web browsers but not to the a number of the
> various web services that the browsers talk to (GMail, AIM, Gmane,
> Yahoo Finance, Google Search, etc.).
>
> And we have the sources to the Intel wireless drivers, but not to the
> firmware, and that's not necessarily considered a horrendous thing.
>
> And we generally consider our laptops to be open even though
> we don't have access to the BIOS or the SMBIOS, which can
> interrupt the OS at any time, potentially for milliseconds at a time.
>
> So the world isn't quite as black ?and white as you would make things
> out to be...
>

Oh sorry I didn't realise I was downloading the 3D driver userspace
via firefox, or it was shipping in a ROM on my board,
or was running on a separate processor, and certain companies were
rather more worried about just adhering strictly to the legal GPL than
the reasons Linus picked the GPL in the first place.

I will give that one area is less black and white, ARM GPU companies
have no markets outside of Linux, the whole derived from a previous
Windows driver is a lot more grey than it is if you are nvidia.

Dave.


Closed source userspace graphics drivers with an open source kernel component

2010-07-04 Thread Dave Airlie
On Sun, Jul 4, 2010 at 5:06 PM, Magnus Wendt  wrote:
>
>
> 2010/7/2 Dave Airlie 
>>
>> ARM Mali - not sure what is going on there, I;m going to go with no
>> hope but would be nice to be proved wrong
>
> So far no user space but at least kernel space is available under GPLv2
>
> http://www.malideveloper.com/drivers.php
>

So its as crap as the others since the kernel space is uninteresting
and doesn't give you any idea how to actually use the GPU, its just a
slightly intelligent shim which transfers command streams and
interrupt to/from gpu/userspace.

Its like having an ELF loader but no source to the compiler or linker,
and saying the CPU is open.

Dave.


Closed source userspace graphics drivers with an open source kernel component

2010-07-04 Thread Matthew Garrett
On Sun, Jul 04, 2010 at 07:03:22AM -0400, Theodore Tso wrote:

> We have sources to our web browsers but not to the a number of the
> various web services that the browsers talk to (GMail, AIM, Gmane, 
> Yahoo Finance, Google Search, etc.).
> 
> And we have the sources to the Intel wireless drivers, but not to the
> firmware, and that's not necessarily considered a horrendous thing.  

But we did consider it a horrendous thing when we had the source to a 
Intel wireless driver but not the source to the usercode regulatory 
daemon it required. Sufficiently horrendous not to merge the driver.

-- 
Matthew Garrett | mjg59 at srcf.ucam.org


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-04 Thread Dave Airlie
On Sun, Jul 4, 2010 at 9:03 PM, Theodore Tso  wrote:
>
> On Jul 4, 2010, at 3:27 AM, Dave Airlie wrote:
>
>> So its as crap as the others since the kernel space is uninteresting
>> and doesn't give you any idea how to actually use the GPU, its just a
>> slightly intelligent shim which transfers command streams and
>> interrupt to/from gpu/userspace.
>>
>> Its like having an ELF loader but no source to the compiler or linker,
>> and saying the CPU is open.
>
> We have sources to our web browsers but not to the a number of the
> various web services that the browsers talk to (GMail, AIM, Gmane,
> Yahoo Finance, Google Search, etc.).
>
> And we have the sources to the Intel wireless drivers, but not to the
> firmware, and that's not necessarily considered a horrendous thing.
>
> And we generally consider our laptops to be open even though
> we don't have access to the BIOS or the SMBIOS, which can
> interrupt the OS at any time, potentially for milliseconds at a time.
>
> So the world isn't quite as black  and white as you would make things
> out to be...
>

Oh sorry I didn't realise I was downloading the 3D driver userspace
via firefox, or it was shipping in a ROM on my board,
or was running on a separate processor, and certain companies were
rather more worried about just adhering strictly to the legal GPL than
the reasons Linus picked the GPL in the first place.

I will give that one area is less black and white, ARM GPU companies
have no markets outside of Linux, the whole derived from a previous
Windows driver is a lot more grey than it is if you are nvidia.

Dave.
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-04 Thread Magnus Wendt
2010/7/2 Dave Airlie 

>
> ARM Mali - not sure what is going on there, I;m going to go with no
> hope but would be nice to be proved wrong
>

So far no user space but at least kernel space is available under GPLv2

http://www.malideveloper.com/drivers.php
-- next part --
An HTML attachment was scrubbed...
URL: 



Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-04 Thread Matthew Garrett
On Sun, Jul 04, 2010 at 07:03:22AM -0400, Theodore Tso wrote:

> We have sources to our web browsers but not to the a number of the
> various web services that the browsers talk to (GMail, AIM, Gmane, 
> Yahoo Finance, Google Search, etc.).
> 
> And we have the sources to the Intel wireless drivers, but not to the
> firmware, and that's not necessarily considered a horrendous thing.  

But we did consider it a horrendous thing when we had the source to a 
Intel wireless driver but not the source to the usercode regulatory 
daemon it required. Sufficiently horrendous not to merge the driver.

-- 
Matthew Garrett | [email protected]
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-04 Thread Theodore Tso

On Jul 4, 2010, at 3:27 AM, Dave Airlie wrote:

> So its as crap as the others since the kernel space is uninteresting
> and doesn't give you any idea how to actually use the GPU, its just a
> slightly intelligent shim which transfers command streams and
> interrupt to/from gpu/userspace.
> 
> Its like having an ELF loader but no source to the compiler or linker,
> and saying the CPU is open.

We have sources to our web browsers but not to the a number of the
various web services that the browsers talk to (GMail, AIM, Gmane, 
Yahoo Finance, Google Search, etc.).

And we have the sources to the Intel wireless drivers, but not to the
firmware, and that's not necessarily considered a horrendous thing.  

And we generally consider our laptops to be open even though
we don't have access to the BIOS or the SMBIOS, which can
interrupt the OS at any time, potentially for milliseconds at a time.

So the world isn't quite as black  and white as you would make things
out to be...

-- Ted

___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-04 Thread Theodore Tso

On Jul 4, 2010, at 3:27 AM, Dave Airlie wrote:

> So its as crap as the others since the kernel space is uninteresting
> and doesn't give you any idea how to actually use the GPU, its just a
> slightly intelligent shim which transfers command streams and
> interrupt to/from gpu/userspace.
> 
> Its like having an ELF loader but no source to the compiler or linker,
> and saying the CPU is open.

We have sources to our web browsers but not to the a number of the
various web services that the browsers talk to (GMail, AIM, Gmane, 
Yahoo Finance, Google Search, etc.).

And we have the sources to the Intel wireless drivers, but not to the
firmware, and that's not necessarily considered a horrendous thing.  

And we generally consider our laptops to be open even though
we don't have access to the BIOS or the SMBIOS, which can
interrupt the OS at any time, potentially for milliseconds at a time.

So the world isn't quite as black  and white as you would make things
out to be...

-- Ted



Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-04 Thread Dave Airlie
On Sun, Jul 4, 2010 at 5:06 PM, Magnus Wendt  wrote:
>
>
> 2010/7/2 Dave Airlie 
>>
>> ARM Mali - not sure what is going on there, I;m going to go with no
>> hope but would be nice to be proved wrong
>
> So far no user space but at least kernel space is available under GPLv2
>
> http://www.malideveloper.com/drivers.php
>

So its as crap as the others since the kernel space is uninteresting
and doesn't give you any idea how to actually use the GPU, its just a
slightly intelligent shim which transfers command streams and
interrupt to/from gpu/userspace.

Its like having an ELF loader but no source to the compiler or linker,
and saying the CPU is open.

Dave.
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-04 Thread Magnus Wendt
2010/7/2 Dave Airlie 

>
> ARM Mali - not sure what is going on there, I;m going to go with no
> hope but would be nice to be proved wrong
>

So far no user space but at least kernel space is available under GPLv2

http://www.malideveloper.com/drivers.php
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-03 Thread Garry Hurley
You know, not to be a stickler here, but it irks me sometimes when people do
what Luc did here.  I want to make something clear, as a long-time SLACKWARE
LINUX user.  RedHat = Linux, but Linux != RedHat.  RedHat may have gained
fame by building a Linux distribution that mainstreamed Linux briefly, but
let's not forget that Gentoo, Slackware, Debian, Ubuntu, Novell SuSe,
Oracle, and a host of minor Linux distributions exist, too, and RedHat Linux
is no longer a true mainstream Linux.  As a Slackware user, I get tired of
having those commercial and "OPEN" drivers only available in rpm's.  Could
someone please start making sure the drivers are available in tar.gz or
tar.bz2 formats?  In fact, to satisfy my inner geek, I would prefer that the
drivers only be available in that format, with build scripts for the
different distributions.  If you want to make it easy for the non-technical
Linux users (are there any of those who really exist anyhow?) make a quick
install script that checks certain things for the distribution that the
system may have and builds and installs the correct, stable version of the
driver for the operating system.  (I may even build one stable version, then
try tweaking different feature configurations to fit my preferences and
hardware capabilities, as any good developer does.)  I would be happy to
give some time to those build scripts, though I never built either an RPM or
a DEB package.  If we can do that, maybe it would make everybody happy.
 Standardize with "you must release code in tar.gz format" and then specify
what needs to go into the tar.gz file, like documentation, sample code for
testing the driver functions, etc.  If you want to specify that they need to
comply with the terms of GPL, LGPL, Apache Commons, or whatever licensing
mechanism, so be it.  One more thing.  The idea of protecting the IP of the
driver or the hardware is a moot point.  If they want to protect the
hardware, they patent it.  The patent application is required to contain
detailed information about how the algorithm works, or about how the
hardware works.  It does not include the exact implementation in code, so
the memory locations in the patented hardware and the 'reverse engineered'
copy hardware will not match, but the algorithms are patented, and the
hardware functionality is patented.  If another company releases
a derivative form of that algorithm or hardware, which can be proven by
performance or functionality (input A, output B in the same method in the
same time, with the same processor loading, etc.) then there is a patent
infringement case.  In other words, by patenting the hardware and
algorithms, the companies open themselves up for more IP theft than by
releaseing open source drivers.  What difference does the OS make?

On Fri, Jul 2, 2010 at 5:58 AM, Luc Verhaegen  wrote:

> On Fri, Jul 02, 2010 at 08:10:40AM +1000, Dave Airlie wrote:
> > Now this is just my opinion as maintainer of the drm, and doesn't
> > reflect anyone or any official policy, I've also no idea if Linus
> > agrees or not.
> >
> > We are going to start to see a number of companies in the embedded
> > space submitting 3D drivers for mobile devices to the kernel. I'd like
> > to clarify my position once so they don't all come asking the same
> > questions.
> >
> > If you aren't going to create an open userspace driver (either MIT or
> > LGPL) then don't waste time submitting a kernel driver to me.
> >
> > My reasons are as follows, the thing is you can probably excuse some
> > of these on a point by point basis, but you need to justify why closed
> > userspace on all points.
> >
> > a) licensing, Alan Cox pointed this out before, if you wrote a GPL
> > kernel driver, then wrote a closed userspace on top, you open up a
> > while world of derived work issues. Can the userspace operate on a
> > non-GPL kernel without major modifications etc. This is a can of worms
> > I'd rather not enter into, and there are a few workarounds.
>
> Yes, this a mess indeed.
>
> But i fear that this a mess that cannot be fixed, in its entirety, in a
> single shot.
>
> Qualcomm making this code available already clearly shows the will and
> determination of
> some people inside qualcomm to do The Right Thing.
>
> This is Qualcomms first big step on the graphics side, where IP is always
> amongst the
> heaviest. I am certain that Qualcomm wants to go further, but since
> Qualcomm most
> likely licenses some parts of their graphics, Qualcomm can only open up
> those bits that
> they truly own, and then use mainly market/sales-volume driven pressure to
> get the
> original IP owner to play along.
>
> You should also take into account who Jordan is. He is one of the guys who
> worked the
> Geode before AMD decided to drop that, which is when he got hired by
> Qualcomm. He worked on
> both the graphics drivers and on (then still) LinuxBIOS. I know that redhat
> has no
> intention of going near coreboot, but in my world one cannot become more
> free, har

Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-03 Thread Garry Hurley
You know, not to be a stickler here, but it irks me sometimes when people do
what Luc did here.  I want to make something clear, as a long-time SLACKWARE
LINUX user.  RedHat = Linux, but Linux != RedHat.  RedHat may have gained
fame by building a Linux distribution that mainstreamed Linux briefly, but
let's not forget that Gentoo, Slackware, Debian, Ubuntu, Novell SuSe,
Oracle, and a host of minor Linux distributions exist, too, and RedHat Linux
is no longer a true mainstream Linux.  As a Slackware user, I get tired of
having those commercial and "OPEN" drivers only available in rpm's.  Could
someone please start making sure the drivers are available in tar.gz or
tar.bz2 formats?  In fact, to satisfy my inner geek, I would prefer that the
drivers only be available in that format, with build scripts for the
different distributions.  If you want to make it easy for the non-technical
Linux users (are there any of those who really exist anyhow?) make a quick
install script that checks certain things for the distribution that the
system may have and builds and installs the correct, stable version of the
driver for the operating system.  (I may even build one stable version, then
try tweaking different feature configurations to fit my preferences and
hardware capabilities, as any good developer does.)  I would be happy to
give some time to those build scripts, though I never built either an RPM or
a DEB package.  If we can do that, maybe it would make everybody happy.
 Standardize with "you must release code in tar.gz format" and then specify
what needs to go into the tar.gz file, like documentation, sample code for
testing the driver functions, etc.  If you want to specify that they need to
comply with the terms of GPL, LGPL, Apache Commons, or whatever licensing
mechanism, so be it.  One more thing.  The idea of protecting the IP of the
driver or the hardware is a moot point.  If they want to protect the
hardware, they patent it.  The patent application is required to contain
detailed information about how the algorithm works, or about how the
hardware works.  It does not include the exact implementation in code, so
the memory locations in the patented hardware and the 'reverse engineered'
copy hardware will not match, but the algorithms are patented, and the
hardware functionality is patented.  If another company releases
a derivative form of that algorithm or hardware, which can be proven by
performance or functionality (input A, output B in the same method in the
same time, with the same processor loading, etc.) then there is a patent
infringement case.  In other words, by patenting the hardware and
algorithms, the companies open themselves up for more IP theft than by
releaseing open source drivers.  What difference does the OS make?

On Fri, Jul 2, 2010 at 5:58 AM, Luc Verhaegen  wrote:

> On Fri, Jul 02, 2010 at 08:10:40AM +1000, Dave Airlie wrote:
> > Now this is just my opinion as maintainer of the drm, and doesn't
> > reflect anyone or any official policy, I've also no idea if Linus
> > agrees or not.
> >
> > We are going to start to see a number of companies in the embedded
> > space submitting 3D drivers for mobile devices to the kernel. I'd like
> > to clarify my position once so they don't all come asking the same
> > questions.
> >
> > If you aren't going to create an open userspace driver (either MIT or
> > LGPL) then don't waste time submitting a kernel driver to me.
> >
> > My reasons are as follows, the thing is you can probably excuse some
> > of these on a point by point basis, but you need to justify why closed
> > userspace on all points.
> >
> > a) licensing, Alan Cox pointed this out before, if you wrote a GPL
> > kernel driver, then wrote a closed userspace on top, you open up a
> > while world of derived work issues. Can the userspace operate on a
> > non-GPL kernel without major modifications etc. This is a can of worms
> > I'd rather not enter into, and there are a few workarounds.
>
> Yes, this a mess indeed.
>
> But i fear that this a mess that cannot be fixed, in its entirety, in a
> single shot.
>
> Qualcomm making this code available already clearly shows the will and
> determination of
> some people inside qualcomm to do The Right Thing.
>
> This is Qualcomms first big step on the graphics side, where IP is always
> amongst the
> heaviest. I am certain that Qualcomm wants to go further, but since
> Qualcomm most
> likely licenses some parts of their graphics, Qualcomm can only open up
> those bits that
> they truly own, and then use mainly market/sales-volume driven pressure to
> get the
> original IP owner to play along.
>
> You should also take into account who Jordan is. He is one of the guys who
> worked the
> Geode before AMD decided to drop that, which is when he got hired by
> Qualcomm. He worked on
> both the graphics drivers and on (then still) LinuxBIOS. I know that redhat
> has no
> intention of going near coreboot, but in my world one cannot become more
> free, har

Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread "C. Bergström"
Xavier Bestel wrote:
> On Fri, 2010-07-02 at 19:07 +0700, "C. Bergstr?m" wrote:
>   
>> Dave Airlie wrote:
>> 
>>> What potential? there are maybe 6 players on the ARM graphics scene
>>>
>>> ...
>>> Nvidia - well we know their position will never change.
>>>   
>>>   
>> Never say never.  I have every reason to believe that Nvidia would 
>> respond to market demand.
>> 
>
> Could you share those interesting reasons with us ?
>   
I thought I stated that the main reason was market demand?

(Some of my own comments not representing any company)
By market I mean revenue... The Linux and FOSS world isn't exactly a 
huge market for high end graphics cards and total sales.  With the Tesla 
series of cards and most HPC clusters behing Linux powered this has the 
potential to change things.  Maybe I'm too optimistic and biased, but 
from my perspective I think there's a change in the winds coming..


Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Dave Airlie
> Sure, but you still slammed, and this affected in first order mostly 
> Qualcomm, instead
> of stating that you simply do not want to be involved.

I have no choice but to be involved, again you seem to misunderstand
what my position is.

>
>> They'll keep shipping closed stuff, just like they are now. Are you
>> going to reverse engineer the userspace drivers, so people who care
>> about open and free software platforms can use these drivers? (or have
>> you already signed NDAs saying you can't). Why should we maintain a
>> bunch of kernel code, when they are hiding away all the really useful
>> stuff that people could improve.
>
> Maintaining this exact code is not _your_ job, and you should've stated just 
> that.

Maintaining kernel graphics drivers is my responsibility, a lot of
days i wish it wasn't, and I'm sure some day it won't be, but until
then I have to provide guidance on how things should work. Again you
should look at what being a kernel maintainer is.

>
> You will need to restate this every time anyway, unless you somehow manage to 
> get your
> rather daunting and loud statement to be the first thing such corporations 
> management
> people at linux.com, which is what people type in their browser first.

I'm sure I will, but now I can just point people at this rather public
statement as opposed to private emails.
>
> Heh, i could make a really nasty statement here, but i wont.

Please do, since you've proved you are clueless about this position entails.

> Hrm, i only see _very_ old docs getting updated, and none produced.
>
> I still have docs which are pretty ready to be shipped (from 2007), under 
> uncertain
> legal status (the ati game was fun!), which were never made public. I am sure 
> that
> bridgman, gave you these docs too, but under even more shady circumstances.

Shady circumstances? you might want to ask your lawyer before making
statements like that on a public mailing list.

>> The code doesn't exist, there is no userspace code to be the
>> documents, if you read what I said, documents would be a good start in
>> lieu of code, but code is perfectly fine.
>
>> Imagintaion technologies seriously? they've never ever taken one step
>> towards opening anything, I don't think this statement is suddenly
>> going to jumpstart them.
>
>> Maybe you should disclose what NDAs you currently are under and who
>> pays your bills, since you accuse me of Red Hat mind-control.
>
> Oh, i now work for basysKom, a contractor for, amongst others, nokia, which 
> i'm sure
> you knew.

So you honestly think if I allow Nokia and/or Intel to push a poulsbo
driver into the kernel the magic fairies will come along and open the
userspace because they've seen the light?

What incentive does letting someone like Qualcomm etc put all their
kernel code upstream, and ignoring the userspace components do you
think it provides to open the userspace component, for once I'm
interested in your opinion since you seem to have the ARM players all
worked out. Previous experience with most companies has shown they'll
do as little as possible to ensure they can ship as many things as
possible, and this is fine, they need real incentives to follow the
open source rules.

>
>> I'm not sure how the ARM market would benefit from having no userspace
>> 3D drivers just like the x86 market, if you actually were normal you'd
>> realise the ARM people are trying to screw the market just like the
>> desktop people, to save themselves some money, but maybe working on
>> closed drivers has twisted you.
>
> Ah, so you did know.
>
> As a free software graphics driver developer there is little option left but 
> to go
> straight to the ARM world, at least things have potential to move there still.

What potential? there are maybe 6 players on the ARM graphics scene

Imagination Technologies SGX, used in TI and poulsbo/mrst(x86) - no
hope of opening userspace
ARM Mali - not sure what is going on there, I;m going to go with no
hope but would be nice to be proved wrong
Qualcomm SnapDragon - imageon by another name, from what I can and
from talking to Jordan on irc, they don't seem to have much incentive
to bother working on an open userspace
Marvell - maybe OLPC can make them open a userspace for millions of
sales, it doesn't seem to have worked with VIA for 10s of thousands of
persumable sales
Samsung - also holding out hope for something maybe, they seemed to
have some interest once, but not sure what happening now.
Nvidia - well we know their position will never change.

So we should have six completely separate stacks shipping in the
kernel not using drm or kms, but all standalone, all with closed
userspace drivers, with no maintainer, thanks that is not a future I'm
interested in, and generally from experience in Linux it isn't
something we've had much luck with before, wireless, networking, sw
raid, etc all have this sort of vendor demands and it took independent
maintainer pushback to achieve some cooperation and get what we 

Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Dave Airlie
On Fri, Jul 2, 2010 at 9:12 PM, Luc Verhaegen  wrote:
> On Fri, Jul 02, 2010 at 06:15:35AM -0400, Christoph Hellwig wrote:
>> Luc, can you please take your corporate bullshit out of this? ?I can
>> assume you know Dave personally and should be clearly aware that he's
>> everything but a corporate drone.
>
> Yes, with mails like this he clearly shows that he isn't a corporate drone.
>

Luc, this isn't phoronix forums, the adults are talking here, run along now.

Dave.


Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Dave Airlie
>
> Yes, this a mess indeed.
>
> But i fear that this a mess that cannot be fixed, in its entirety, in a 
> single shot.
>
> Qualcomm making this code available already clearly shows the will and 
> determination of
> some people inside qualcomm to do The Right Thing.
>
> This is Qualcomms first big step on the graphics side, where IP is always 
> amongst the
> heaviest. I am certain that Qualcomm wants to go further, but since Qualcomm 
> most
> likely licenses some parts of their graphics, Qualcomm can only open up those 
> bits that
> they truly own, and then use mainly market/sales-volume driven pressure to 
> get the
> original IP owner to play along.

They own quite a lot of the IP in the 3D core, having bought it from
AMD, you can see the CP packets and PM4 stuff just like in radeon.

>
> You should also take into account who Jordan is. He is one of the guys who 
> worked the
> Geode before AMD decided to drop that, which is when he got hired by 
> Qualcomm. He worked on
> both the graphics drivers and on (then still) LinuxBIOS. I know that redhat 
> has no
> intention of going near coreboot, but in my world one cannot become more 
> free, hardware
> wise, than supporting coreboot. This gives me very good hopes that this is a 
> serious
> attempt by qualcomm to go somewhere, and that this is not some lame attempt 
> to grab
> marketing attention.

I know who Jordan is well from AMD, and I've stated this isn't a
Qualcomm only thing, but companies need to understand that putting
stuff into the kernel is part of a bargain, where you get the benefits
of all the work everyone has done on the kernel and they get the
benefits of being able to do stuff with the code you provide, only
giving us a half arsed interface to the hw and hiding all the good
stuff in userspace isn't accepting this bargain. You can say what you
like about liceneses and legalese but Linus picked the GPL for this
sort of everyone gives what they get.

> Now that you slammed the door on these guys (and on others in the process), 
> what do you
> think the response would be? Where will this get us to in the end?

They'll keep shipping closed stuff, just like they are now. Are you
going to reverse engineer the userspace drivers, so people who care
about open and free software platforms can use these drivers? (or have
you already signed NDAs saying you can't). Why should we maintain a
bunch of kernel code, when they are hiding away all the really useful
stuff that people could improve.

>> b) verifying the sanity of the userspace API.
>> 1. Security: GPUs can do a lot of damage if left at home alone, since
>> mostly you are submitting command streams unverified into the GPU and
>> won't tell us what they mean, there is little way we can work out if
>> the GPU is going to over-write my passwd file to get 5 fps more in
>> quake. Now newer GPUs have at least started having MMUs, but again
>> we've no idea if that is the only way they work without docs or a lot
>> of trust.
>
> This makes me wonder: Why do you even care?
>
> If redhat was working with qualcomm, you would not have taken this stance 
> here at all.

I would, some points
(a) Red Hat is the company I work for.
(b) Red Hat doesn't really care about this stuff at all.
(c) I'm the kernel maintainer for far longer that I worked for Red
Hat, I also work a lot with Intel at Red Hat and I've told them the
same thing, and VIA and now I'm stating it so I don't have to restate
individually to every company again.

> If so, why couldn't you have stated "please guys, have fun with what you are 
> doing, but
> i will not be responsible for it" in a different way.

You don't understand what being a kernel maintainer is do you? at all?

> Now, it is interesting how you now are demanding documentation. When did 
> recent and
> relevant hw documentation happen for ATI? This pretty much died together when 
> the
> ATI<->SuSE relationship died, as the cooperation of SuSE and AMD is how 
> documentation
> was forced out of ATI in the first place, and ATI more and more found ways to 
> get rid
> of this responsibility, or overhead as bridgman would most likely name it.

Wierd I'm still seeing new docs being produced and old docs being
updated, not as fast as I'd like but I understand how many people
there is working on it and I'd rather we also got fixes for all the
current stuff done as well.


> If you are backing this reasoning for ATI, what is wrong with this code being 
> the
> documentation for Qualcomm?

The code doesn't exist, there is no userspace code to be the
documents, if you read what I said, documents would be a good start in
lieu of code, but code is perfectly fine.

> Heh, in some of these cases, not having looked at this code in detail yet, 
> such code
> predates kms, and drm might not have provided what was needed. Not wanting to
> completely diminish the responsibility of qualcomm (or the other companies 
> who are
> working or are forced to work like this), you might want to thin

Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread "C. Bergström"
Dave Airlie wrote:
> What potential? there are maybe 6 players on the ARM graphics scene
>
> ...
> Nvidia - well we know their position will never change.
>   
Never say never.  I have every reason to believe that Nvidia would 
respond to market demand.

*fingers crossed*

./C



Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Anton Vorontsov
On Fri, Jul 02, 2010 at 01:10:29PM +0200, Luc Verhaegen wrote:
[...]
> > They'll keep shipping closed stuff, just like they are now. Are you
> > going to reverse engineer the userspace drivers, so people who care
> > about open and free software platforms can use these drivers? (or have
> > you already signed NDAs saying you can't). Why should we maintain a
> > bunch of kernel code, when they are hiding away all the really useful
> > stuff that people could improve.
> 
> Maintaining this exact code is not _your_ job, [...]

Correct, it's not solely his job, but it's also every kernel
developers' job.

When I change kernel API I have to grep through all the kernel
drivers, sometimes understand how they work, and then make the
change to the whole kernel source tree.

And I would not want to maintain this code, as these drivers
are wasting my time without returning anything back.

It was said many times. Actually, so many times that it started
to become boring to repeat, and the Kernel Driver Statement was
written:

"We, the undersigned Linux kernel developers, consider any
 closed-source Linux kernel module or driver to be harmful and
 undesirable."

http://www.linuxfoundation.org/collaborate/publications/kernel-driver-statement

While the doc mostly says "kernel code", I truly believe that
there's actually no huge difference between "closed-source
kernel module" and "open source dummy kernel module + userspace
blob".

Both are closed source solutions, and generally useless for the
open source. And, what is worse, the last one is harmful for me
personally.

-- 
Anton Vorontsov
email: cbouatmailru at gmail.com
irc://irc.freenode.net/bd2


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Ian Romanick
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Luc Verhaegen wrote:

> Since redhat is then not working with qualcomm, why is this then your 
> responsibility?

I find that sentiment surprising from somebody who has actually met Dave. :/
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkwuhy0ACgkQX1gOwKyEAw/Q9QCfd0qcveuzyBVOIqW0yerggbLu
EzIAn16kyWeZ+fpVkmirQghbYFLGrAgx
=CeEy
-END PGP SIGNATURE-
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Ian Romanick
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Luc Verhaegen wrote:

> Since redhat is then not working with qualcomm, why is this then your 
> responsibility?

I find that sentiment surprising from somebody who has actually met Dave. :/
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkwuhy0ACgkQX1gOwKyEAw/Q9QCfd0qcveuzyBVOIqW0yerggbLu
EzIAn16kyWeZ+fpVkmirQghbYFLGrAgx
=CeEy
-END PGP SIGNATURE-


Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Xavier Bestel
On Fri, 2010-07-02 at 19:07 +0700, "C. Bergstr?m" wrote:
> Dave Airlie wrote:
> > What potential? there are maybe 6 players on the ARM graphics scene
> >
> > ...
> > Nvidia - well we know their position will never change.
> >   
> Never say never.  I have every reason to believe that Nvidia would 
> respond to market demand.

Could you share those interesting reasons with us ?

Xav




Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Luc Verhaegen
On Fri, Jul 02, 2010 at 06:15:35AM -0400, Christoph Hellwig wrote:
> Luc, can you please take your corporate bullshit out of this?  I can
> assume you know Dave personally and should be clearly aware that he's
> everything but a corporate drone.

Yes, with mails like this he clearly shows that he isn't a corporate drone.

Luc Verhaegen.


Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Luc Verhaegen
On Fri, Jul 02, 2010 at 08:23:27PM +1000, Dave Airlie wrote:
> >
> 
> They own quite a lot of the IP in the 3D core, having bought it from
> AMD, you can see the CP packets and PM4 stuff just like in radeon.

Aha, imageon indeed, cool!

I doubt that you know the conditions of this sale. This might just be about 
waiting for 
Qualcomm to sort things out, or it might be about a licensing issue still. We 
just 
cannot know this.

> I know who Jordan is well from AMD, and I've stated this isn't a
> Qualcomm only thing, but companies need to understand that putting
> stuff into the kernel is part of a bargain, where you get the benefits
> of all the work everyone has done on the kernel and they get the
> benefits of being able to do stuff with the code you provide, only
> giving us a half arsed interface to the hw and hiding all the good
> stuff in userspace isn't accepting this bargain. You can say what you
> like about liceneses and legalese but Linus picked the GPL for this
> sort of everyone gives what they get.

Sure, but you still slammed, and this affected in first order mostly Qualcomm, 
instead 
of stating that you simply do not want to be involved.

> They'll keep shipping closed stuff, just like they are now. Are you
> going to reverse engineer the userspace drivers, so people who care
> about open and free software platforms can use these drivers? (or have
> you already signed NDAs saying you can't). Why should we maintain a
> bunch of kernel code, when they are hiding away all the really useful
> stuff that people could improve.

Maintaining this exact code is not _your_ job, and you should've stated just 
that.

> I would, some points
> (a) Red Hat is the company I work for.
> (b) Red Hat doesn't really care about this stuff at all.
> (c) I'm the kernel maintainer for far longer that I worked for Red
> Hat, I also work a lot with Intel at Red Hat and I've told them the
> same thing, and VIA and now I'm stating it so I don't have to restate
> individually to every company again.

You will need to restate this every time anyway, unless you somehow manage to 
get your 
rather daunting and loud statement to be the first thing such corporations 
management 
people at linux.com, which is what people type in their browser first.

But maybe you might want to adjust your message.

> You don't understand what being a kernel maintainer is do you? at all?

Heh, i could make a really nasty statement here, but i wont.

> Wierd I'm still seeing new docs being produced and old docs being
> updated, not as fast as I'd like but I understand how many people
> there is working on it and I'd rather we also got fixes for all the
> current stuff done as well.

Hrm, i only see _very_ old docs getting updated, and none produced.

I still have docs which are pretty ready to be shipped (from 2007), under 
uncertain 
legal status (the ati game was fun!), which were never made public. I am sure 
that 
bridgman, gave you these docs too, but under even more shady circumstances.

> The code doesn't exist, there is no userspace code to be the
> documents, if you read what I said, documents would be a good start in
> lieu of code, but code is perfectly fine.

> Imagintaion technologies seriously? they've never ever taken one step
> towards opening anything, I don't think this statement is suddenly
> going to jumpstart them.

> Maybe you should disclose what NDAs you currently are under and who
> pays your bills, since you accuse me of Red Hat mind-control.

Oh, i now work for basysKom, a contractor for, amongst others, nokia, which i'm 
sure
you knew.

> I'm not sure how the ARM market would benefit from having no userspace
> 3D drivers just like the x86 market, if you actually were normal you'd
> realise the ARM people are trying to screw the market just like the
> desktop people, to save themselves some money, but maybe working on
> closed drivers has twisted you.

Ah, so you did know.

As a free software graphics driver developer there is little option left but to 
go 
straight to the ARM world, at least things have potential to move there still.

Well, unless the efforts there, like the one that triggered your mail, are 
thwarted 
too, like with your mail.

Luc Verhaegen.


Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Dave Airlie
On Thu, 2010-07-01 at 20:42 -0400, Timothy Meade wrote:
> -- Forwarded message --

> Hello.  I've been working with the developers on the htc-linux project
> and following the progress of Android on MSM devices closely for a few
> years.  I've been excitied to see DRM/DRI replace PMEM and the Android
> specific interfaces be replaced with more Linux-like ones.  The Xorg
> driver from Qualcomm uses this same interface for 2D and it's possible
> that Android will take the same approach, though it uses 3D and GLES
> as a type of abstraction layer for surfaceflinger.  This allows for a
> closed 3D driver with an open command submission layer that is in
> itself not that different from the split for ATI devices using
> radeonhd.  I say this because the alternative for these devices is a
> fully closed binary and secrecy surrounding the graphics layers that
> ensures that only the OS that ships with the device can ever really be
> used and preventing those non-coorporate developers as myself from
> utilising GPL code the way we want or even usuing are own cell phones
> (in this case).  I would choose a fully open, X based OS even if that
> meant only having 2D drivers, but I know that Quic and others aren't
> going to develop just a (accelerated) 2D driver, not the kernel
> components or userspace but instead rely on the same GLES layer that
> Android uses, essentially making X and open environments a second
> class citizen on modern mobile hardware.

The thing is you are prevented from using the GPU the way you want,
telling you how to send commands and get irqs from a device but not
telling you what those commands means is limiting you. So you can use it
a framebuffer device, you can do that with a 500 line fbdev driver most
likely, we don't need the maintainer burden of the other 5000 lines of
code that are only in the driver to service some 3D userspace binary
blob.

The radeon example is pointless since all pieces in that system are open
even if AMD can't/won't disclose how certain parts of the GPU work, we
have access to nearly all the functionality, we control all the open
pieces and if someone reverse engineers it, AMD have to accept it.

There is no point supporting companies that give you a little bit of
information in exchange they want the support that being in a mainline
kernel gives. Its an unfair exchange of knowledge and time, and if they
claim they have to make a profit then its even more unfair.

Dave.




Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Luc Verhaegen
On Fri, Jul 02, 2010 at 08:10:40AM +1000, Dave Airlie wrote:
> Now this is just my opinion as maintainer of the drm, and doesn't
> reflect anyone or any official policy, I've also no idea if Linus
> agrees or not.
> 
> We are going to start to see a number of companies in the embedded
> space submitting 3D drivers for mobile devices to the kernel. I'd like
> to clarify my position once so they don't all come asking the same
> questions.
> 
> If you aren't going to create an open userspace driver (either MIT or
> LGPL) then don't waste time submitting a kernel driver to me.
> 
> My reasons are as follows, the thing is you can probably excuse some
> of these on a point by point basis, but you need to justify why closed
> userspace on all points.
> 
> a) licensing, Alan Cox pointed this out before, if you wrote a GPL
> kernel driver, then wrote a closed userspace on top, you open up a
> while world of derived work issues. Can the userspace operate on a
> non-GPL kernel without major modifications etc. This is a can of worms
> I'd rather not enter into, and there are a few workarounds.

Yes, this a mess indeed.

But i fear that this a mess that cannot be fixed, in its entirety, in a single 
shot.  

Qualcomm making this code available already clearly shows the will and 
determination of 
some people inside qualcomm to do The Right Thing. 

This is Qualcomms first big step on the graphics side, where IP is always 
amongst the 
heaviest. I am certain that Qualcomm wants to go further, but since Qualcomm 
most 
likely licenses some parts of their graphics, Qualcomm can only open up those 
bits that 
they truly own, and then use mainly market/sales-volume driven pressure to get 
the 
original IP owner to play along.

You should also take into account who Jordan is. He is one of the guys who 
worked the 
Geode before AMD decided to drop that, which is when he got hired by Qualcomm. 
He worked on 
both the graphics drivers and on (then still) LinuxBIOS. I know that redhat has 
no 
intention of going near coreboot, but in my world one cannot become more free, 
hardware 
wise, than supporting coreboot. This gives me very good hopes that this is a 
serious 
attempt by qualcomm to go somewhere, and that this is not some lame attempt to 
grab 
marketing attention.

Now that you slammed the door on these guys (and on others in the process), 
what do you 
think the response would be? Where will this get us to in the end?

The licensing should get sorted, and that is of course something for Qualcomm 
to do, 
or prove that it has been sorted already.

> b) verifying the sanity of the userspace API.
> 1. Security: GPUs can do a lot of damage if left at home alone, since
> mostly you are submitting command streams unverified into the GPU and
> won't tell us what they mean, there is little way we can work out if
> the GPU is going to over-write my passwd file to get 5 fps more in
> quake. Now newer GPUs have at least started having MMUs, but again
> we've no idea if that is the only way they work without docs or a lot
> of trust.

This makes me wonder: Why do you even care?

If redhat was working with qualcomm, you would not have taken this stance here 
at all.

Since redhat is then not working with qualcomm, why is this then your 
responsibility?

Or is denouncing responsibility exactly the reason for your mail here?

If so, why couldn't you have stated "please guys, have fun with what you are 
doing, but 
i will not be responsible for it" in a different way.

What you achieved now is that people will stop bothering with even freeing 
this, 
putting us even further back.

But i fully understand where you are coming from: redhat only wants to 
seriously back 
the server market, so free software graphics on arm based SOCs probably should 
not be 
encouraged too much. As per usual, big statements are then more important than 
actual 
free software advancement.

> 2. General API suitability and versioning. How do we check that API is
> sane wrt to userspace, if we can't verify the userspace. What happens
> if the API has lots of 32/64 compat issues or things like that, and
> when we fix them the binary userspace breaks? How do we know, how do
> we test etc. What happens if a security issue forces us to break the
> userspace API? how do we fix the userspace driver and test to confirm?
> 
> c) supplying docs in lieu of an open userspace
> If you were to fully document the GPU so we could verify the
> security/api aspects it leaves us in the position of writing our own
> driver. Now writing that driver on top of the current kernel driver
> would probably limit any innovation, and most people would want to
> write a new kernel driver from scratch. Now we end up with two drivers
> fighting, how do we pick which one to load at boot? can we ever do a
> generic distro kernel for that device (assuming ARM ever solves that
> issue).

I think that by now you should have realized that this is not how it works for 
things as complex as graphic

Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Dave Airlie
On Fri, Jul 2, 2010 at 10:08 AM, Daniel Walker  
wrote:
> On Fri, 2010-07-02 at 09:37 +1000, Dave Airlie wrote:
>
>> > Oh, man .. It seems like any driver model that straddles userspace and
>> > kernel space is kind of asking for trouble (my opinion anyway)..
>> >
>> > Would you accept a userspace component that supported some subset of the
>> > features ? You would have a kernel space driver, and userspace both open
>> > source and GPL'd , but the userspace component wouldn't support ever
>> > feature available .. Then the company would be free to make another
>> > proprietary userspace with more features based off the open source one.
>> >
>>
>> That starts to get a bit more towards useful, except you still run
>> into the problem of what happens if community developers start adding
>> features to the open driver, that conflict with ?features in the
>> closed code. We'd also have to be very careful about what interfaces
>> the kernel exposed had corresponding code in userspace. i.e. adding
>> "special" ioctls for the closed bits would be a disaster, all such
>> ioctls would need open users for verification and testing.
>
> Ok .. The open userspace would just be like any other project, but
> whatever company pushed the driver would likely maintain the userspace
> component .. So the maintainer would have to handle the conflicts
> between the proprietary vs. open source sides of it.
>
> Actually , now that I think about it the biggest problem is the license
> of the userspace side.. Whatever company makes this would have to be
> able to relicense it and actually make a proprietary userspace.. So the
> userspace license would be really critical.. Either that or no one
> outside the company that pushed the driver could make code changes to
> the userspace side..

We generally use MIT for userspace bits anyways, I don't think we have
any LGPL/GPL drivers in userspace currently. So this would probably be
an okay solution to continue with.

The thing is with architectures like Gallium it would be possible to
write a complete open driver and just keep the Windows interface bits,
granted we don't have an open gallium to windows driver layer so that
would have to be worked on.

>
>> So for example, if you have a kernel KMS/DRM driver, and it set the
>> hardware up, but then you had an open 2D driver and a closed 3D
>> driver, you would have to make sure there was no functionality in the
>> kernel that only the 3D driver used as it would become impossible to
>> openly validate it.
>
> Ok. I'm not sure how crazy that would be to setup, but it doesn't seem
> like it would be that hard to just abstract the various components of
> the driver.

Its pretty much what something like gallium can do.

>
>> The other issue I see with a lot of these, is the driver are presented
>> as this is the kernel driver, these APIs are set in stone as we have
>> binary userspaces already deployed, this is even more unacceptable,
>> since we need to be able to change the interface and do proper driver
>> design before merging what looks like crap thrown together in a pile
>> and made to stick.
>
> This seems really wild to me .. Your talking about how you change the
> kernel space side and you need to be able to change the userspace side
> to match right ?
>
> Where does the userspace side of these driver live? Not in the kernel
> right?

This is more about initial development stages. We maintain kernel
API/ABI for all in-tree drivers, however before we put a driver into
mainline, we usually need to redo the crazy interfaces that vendors
have come up with. Like 32/64 alignment, passing userspace addresses
into the kernel, passing phy addresses to userspace etc. If the
userspace binary is closed that process becomes next to impossible.

Dave.


Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Dave Airlie
On Fri, Jul 2, 2010 at 9:29 AM, Daniel Walker  wrote:
> On Fri, 2010-07-02 at 08:57 +1000, Dave Airlie wrote:
>> On Fri, Jul 2, 2010 at 8:51 AM, Daniel Walker  
>> wrote:
>> > On Fri, 2010-07-02 at 08:36 +1000, Dave Airlie wrote:
>> >> On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie  wrote:
>> >> > Now this is just my opinion as maintainer of the drm, and doesn't
>> >> > reflect anyone or any official policy, I've also no idea if Linus
>> >> > agrees or not.
>> >> >
>> >> > We are going to start to see a number of companies in the embedded
>> >> > space submitting 3D drivers for mobile devices to the kernel. I'd like
>> >> > to clarify my position once so they don't all come asking the same
>> >> > questions.
>> >> >
>> >> > If you aren't going to create an open userspace driver (either MIT or
>> >> > LGPL) then don't waste time submitting a kernel driver to me.
>> >
>> > If , for whatever reason, you changed you mind on this what sort of
>> > connection between kernel and userspace would these components use?
>> >
>> > I ask only because I think UIO hold most (if not all) the driver in
>> > userspace .. So you would have to use some other interface if you wanted
>> > a more half and half solution ..
>> >
>>
>> The thing is UIO doesn't solve the problem 3D graphics drivers need to
>> solve. Which is we need to let unprivileged users access the graphics
>> device in an efficient manner, hence why DRI/DRM exists. Now I think
>> the tegra guys have done some evil hacks with a userspace daemon to
>> replace the kernel functionality, so all they have in-kernel is a
>> framebuffer device, since they can't really get away with shipping the
>> binary nvidia driver linked to the kernel in a real device. So all
>> their userspace closed bits talk to the daemon running as root with
>> direct access to the lowlevel hw.
>
> Oh, man .. It seems like any driver model that straddles userspace and
> kernel space is kind of asking for trouble (my opinion anyway)..
>
> Would you accept a userspace component that supported some subset of the
> features ? You would have a kernel space driver, and userspace both open
> source and GPL'd , but the userspace component wouldn't support ever
> feature available .. Then the company would be free to make another
> proprietary userspace with more features based off the open source one.
>

That starts to get a bit more towards useful, except you still run
into the problem of what happens if community developers start adding
features to the open driver, that conflict with  features in the
closed code. We'd also have to be very careful about what interfaces
the kernel exposed had corresponding code in userspace. i.e. adding
"special" ioctls for the closed bits would be a disaster, all such
ioctls would need open users for verification and testing.

So for example, if you have a kernel KMS/DRM driver, and it set the
hardware up, but then you had an open 2D driver and a closed 3D
driver, you would have to make sure there was no functionality in the
kernel that only the 3D driver used as it would become impossible to
openly validate it.

The other issue I see with a lot of these, is the driver are presented
as this is the kernel driver, these APIs are set in stone as we have
binary userspaces already deployed, this is even more unacceptable,
since we need to be able to change the interface and do proper driver
design before merging what looks like crap thrown together in a pile
and made to stick.

Dave.


Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Dave Airlie
On Fri, Jul 2, 2010 at 8:51 AM, Daniel Walker  wrote:
> On Fri, 2010-07-02 at 08:36 +1000, Dave Airlie wrote:
>> On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie  wrote:
>> > Now this is just my opinion as maintainer of the drm, and doesn't
>> > reflect anyone or any official policy, I've also no idea if Linus
>> > agrees or not.
>> >
>> > We are going to start to see a number of companies in the embedded
>> > space submitting 3D drivers for mobile devices to the kernel. I'd like
>> > to clarify my position once so they don't all come asking the same
>> > questions.
>> >
>> > If you aren't going to create an open userspace driver (either MIT or
>> > LGPL) then don't waste time submitting a kernel driver to me.
>
> If , for whatever reason, you changed you mind on this what sort of
> connection between kernel and userspace would these components use?
>
> I ask only because I think UIO hold most (if not all) the driver in
> userspace .. So you would have to use some other interface if you wanted
> a more half and half solution ..
>

The thing is UIO doesn't solve the problem 3D graphics drivers need to
solve. Which is we need to let unprivileged users access the graphics
device in an efficient manner, hence why DRI/DRM exists. Now I think
the tegra guys have done some evil hacks with a userspace daemon to
replace the kernel functionality, so all they have in-kernel is a
framebuffer device, since they can't really get away with shipping the
binary nvidia driver linked to the kernel in a real device. So all
their userspace closed bits talk to the daemon running as root with
direct access to the lowlevel hw.

Dave.


Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Piotr Gluszenia Slawinski
> Piotr Gluszenia Slawinski wrote:
>> >  There is no point supporting companies that give you a little bit of
>> >  information in exchange they want the support that being in a mainline
>> >  kernel gives. Its an unfair exchange of knowledge and time, and if they
>> >  claim they have to make a profit then its even more unfair.
>>
>>  also, they seem to do it quite wrong way. i.e. much simpler would be to
>>  just implement regular, open driver , and implement additional crypto
>>  mechanism in chipset itself, allowing to use simple userspace program
>>  sending certified keys allowing GPU to operate.
>>  if key is not available and device/driver not paid/registered, then
>>  GPU would simply lock itself , similiar to pre-paid designs from
>>  company whose name should not be spoken aloud.
>>
>>  also certain functionality could be ordered with same chip structure,
>>  i.e. framebuffer, unaccelerated 2d, accel 2d, 3d, etc.
>>  with user buying proper 'entry level' pre-paid code set from manufacturer.
>>
>>  this would provide quite same functionality (profit), without impacting
>>  open-source projects like Xorg with unnessesary complications.
>
> Pardon me for intruding in this discussion, but I'm astonished that you 
> actually find what you posted to be acceptable. If I pay for a piece of 
> hardware, I have the right to use it. Requiring certified keys before it 
> performs the function for which it was purchased is pure nonsense.

in this context it is more lease than purhase, similiar to situation
when you buy cellphone, but you are limited by the sim card to access
networks, and sometimes even own adress book (when your account is 
drained, your adress book stored on sim data card is locked).

i do not claim such practices are convient for users, yet they are
very convient for hardware vendors, and it seems more 'open cards' play
which seems more clear to user than situation in which you need binary 
blobs which can contain everything from rootkit to actual crypto routine
(i.e. to prevent driver running on 'non original' clone video cards made
by competitor company) running with ROOT privileges on the computers of 
users being told it is Only Way (tm) to make given company profit and 
survive, while providing some functionality as a trade.

so to resume such solution - one gets fair information about to which 
extent company allows usage of hardware sold to user (without messy 'end 
user license' implied on binary drivers) , and can perform clear
decision - either buying 'secure' and 'genuinely original' video card
with options one needs and is able to pay for (which includes
software development price) , or goes for more 'open' solutions.

mind you most of hardware vendors do NOT want you to purhase
hardware, at best they want LICENSE you to use it for specific
purpose, and specific period. the wish of yours to freely use
hardware does not represent accurate wish of casual users ,
which do not care about freedom as long as hardware allows them
to perform specific task.

either way imho mixing those two attitudes is erroneus,
as it creates confusion and beliefs that some hardware is intended
for free use, and in same time that some software should provide
infrastructure to limit safety and freedom of users.
also it leads to development of BOTH. the sooner those two will
be separated, the sooner alternatives will be created,
and most importantly RECOGNIZED by market.

-- 



Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Dave Airlie
On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie  wrote:
> Now this is just my opinion as maintainer of the drm, and doesn't
> reflect anyone or any official policy, I've also no idea if Linus
> agrees or not.
>
> We are going to start to see a number of companies in the embedded
> space submitting 3D drivers for mobile devices to the kernel. I'd like
> to clarify my position once so they don't all come asking the same
> questions.
>
> If you aren't going to create an open userspace driver (either MIT or
> LGPL) then don't waste time submitting a kernel driver to me.
>
> My reasons are as follows, the thing is you can probably excuse some
> of these on a point by point basis, but you need to justify why closed
> userspace on all points.
>
> a) licensing, Alan Cox pointed this out before, if you wrote a GPL
> kernel driver, then wrote a closed userspace on top, you open up a
> while world of derived work issues. Can the userspace operate on a
> non-GPL kernel without major modifications etc. This is a can of worms
> I'd rather not enter into, and there are a few workarounds.
>
> b) verifying the sanity of the userspace API.
> 1. Security: GPUs can do a lot of damage if left at home alone, since
> mostly you are submitting command streams unverified into the GPU and
> won't tell us what they mean, there is little way we can work out if
> the GPU is going to over-write my passwd file to get 5 fps more in
> quake. Now newer GPUs have at least started having MMUs, but again
> we've no idea if that is the only way they work without docs or a lot
> of trust.
>
> 2. General API suitability and versioning. How do we check that API is
> sane wrt to userspace, if we can't verify the userspace. What happens
> if the API has lots of 32/64 compat issues or things like that, and
> when we fix them the binary userspace breaks? How do we know, how do
> we test etc. What happens if a security issue forces us to break the
> userspace API? how do we fix the userspace driver and test to confirm?
>
> c) supplying docs in lieu of an open userspace
> If you were to fully document the GPU so we could verify the
> security/api aspects it leaves us in the position of writing our own
> driver. Now writing that driver on top of the current kernel driver
> would probably limit any innovation, and most people would want to
> write a new kernel driver from scratch. Now we end up with two drivers
> fighting, how do we pick which one to load at boot? can we ever do a
> generic distro kernel for that device (assuming ARM ever solves that
> issue).
>
> I've also noticed a trend to just reinvent the whole wheel instead of
> writing a drm/kms driver and having that as the API, again maintainer
> nightmares are made of this.
>
> Dave.

Oh and (one other thought)

d) you are placing the maintenance burden in the wrong place

So you've upstreamed the kernel bits, kept the good userspace bits to
yourselfs, are stroking them on your lap like some sort of Dr Evil,
now why should the upstream kernel maintainers take the burden when
you won't actually give them the stuff to really make their hardware
work? This goes for nvidia type situations as well, the whole point is
to place the maintainer burden at the feet of the people causing the
problems in an effort to make them change. Allowing even an hour of
that burden to be transferred upstream, means more profit for them,
but nothing in return for us.

Dave.


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Xavier Bestel
On Fri, 2010-07-02 at 19:07 +0700, "C. Bergström" wrote:
> Dave Airlie wrote:
> > What potential? there are maybe 6 players on the ARM graphics scene
> >
> > ...
> > Nvidia - well we know their position will never change.
> >   
> Never say never.  I have every reason to believe that Nvidia would 
> respond to market demand.

Could you share those interesting reasons with us ?

Xav


___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Anton Vorontsov
On Fri, Jul 02, 2010 at 01:10:29PM +0200, Luc Verhaegen wrote:
[...]
> > They'll keep shipping closed stuff, just like they are now. Are you
> > going to reverse engineer the userspace drivers, so people who care
> > about open and free software platforms can use these drivers? (or have
> > you already signed NDAs saying you can't). Why should we maintain a
> > bunch of kernel code, when they are hiding away all the really useful
> > stuff that people could improve.
> 
> Maintaining this exact code is not _your_ job, [...]

Correct, it's not solely his job, but it's also every kernel
developers' job.

When I change kernel API I have to grep through all the kernel
drivers, sometimes understand how they work, and then make the
change to the whole kernel source tree.

And I would not want to maintain this code, as these drivers
are wasting my time without returning anything back.

It was said many times. Actually, so many times that it started
to become boring to repeat, and the Kernel Driver Statement was
written:

"We, the undersigned Linux kernel developers, consider any
 closed-source Linux kernel module or driver to be harmful and
 undesirable."

http://www.linuxfoundation.org/collaborate/publications/kernel-driver-statement

While the doc mostly says "kernel code", I truly believe that
there's actually no huge difference between "closed-source
kernel module" and "open source dummy kernel module + userspace
blob".

Both are closed source solutions, and generally useless for the
open source. And, what is worse, the last one is harmful for me
personally.

-- 
Anton Vorontsov
email: [email protected]
irc://irc.freenode.net/bd2
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Dave Airlie
Now this is just my opinion as maintainer of the drm, and doesn't
reflect anyone or any official policy, I've also no idea if Linus
agrees or not.

We are going to start to see a number of companies in the embedded
space submitting 3D drivers for mobile devices to the kernel. I'd like
to clarify my position once so they don't all come asking the same
questions.

If you aren't going to create an open userspace driver (either MIT or
LGPL) then don't waste time submitting a kernel driver to me.

My reasons are as follows, the thing is you can probably excuse some
of these on a point by point basis, but you need to justify why closed
userspace on all points.

a) licensing, Alan Cox pointed this out before, if you wrote a GPL
kernel driver, then wrote a closed userspace on top, you open up a
while world of derived work issues. Can the userspace operate on a
non-GPL kernel without major modifications etc. This is a can of worms
I'd rather not enter into, and there are a few workarounds.

b) verifying the sanity of the userspace API.
1. Security: GPUs can do a lot of damage if left at home alone, since
mostly you are submitting command streams unverified into the GPU and
won't tell us what they mean, there is little way we can work out if
the GPU is going to over-write my passwd file to get 5 fps more in
quake. Now newer GPUs have at least started having MMUs, but again
we've no idea if that is the only way they work without docs or a lot
of trust.

2. General API suitability and versioning. How do we check that API is
sane wrt to userspace, if we can't verify the userspace. What happens
if the API has lots of 32/64 compat issues or things like that, and
when we fix them the binary userspace breaks? How do we know, how do
we test etc. What happens if a security issue forces us to break the
userspace API? how do we fix the userspace driver and test to confirm?

c) supplying docs in lieu of an open userspace
If you were to fully document the GPU so we could verify the
security/api aspects it leaves us in the position of writing our own
driver. Now writing that driver on top of the current kernel driver
would probably limit any innovation, and most people would want to
write a new kernel driver from scratch. Now we end up with two drivers
fighting, how do we pick which one to load at boot? can we ever do a
generic distro kernel for that device (assuming ARM ever solves that
issue).

I've also noticed a trend to just reinvent the whole wheel instead of
writing a drm/kms driver and having that as the API, again maintainer
nightmares are made of this.

Dave.


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread C. Bergström

Xavier Bestel wrote:

On Fri, 2010-07-02 at 19:07 +0700, "C. Bergström" wrote:
  

Dave Airlie wrote:


What potential? there are maybe 6 players on the ARM graphics scene

...
Nvidia - well we know their position will never change.
  
  
Never say never.  I have every reason to believe that Nvidia would 
respond to market demand.



Could you share those interesting reasons with us ?
  

I thought I stated that the main reason was market demand?

(Some of my own comments not representing any company)
By market I mean revenue... The Linux and FOSS world isn't exactly a 
huge market for high end graphics cards and total sales.  With the Tesla 
series of cards and most HPC clusters behing Linux powered this has the 
potential to change things.  Maybe I'm too optimistic and biased, but 
from my perspective I think there's a change in the winds coming..

___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Christoph Hellwig
Luc, can you please take your corporate bullshit out of this?  I can
assume you know Dave personally and should be clearly aware that he's
everything but a corporate drone.



Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Christoph Hellwig
Luc, can you please take your corporate bullshit out of this?  I can
assume you know Dave personally and should be clearly aware that he's
everything but a corporate drone.

___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Piotr Gluszenia Slawinski
> There is no point supporting companies that give you a little bit of
> information in exchange they want the support that being in a mainline
> kernel gives. Its an unfair exchange of knowledge and time, and if they
> claim they have to make a profit then its even more unfair.

also, they seem to do it quite wrong way. i.e. much simpler would be to 
just implement regular, open driver , and implement additional crypto
mechanism in chipset itself, allowing to use simple userspace program
sending certified keys allowing GPU to operate.
if key is not available and device/driver not paid/registered, then
GPU would simply lock itself , similiar to pre-paid designs from
company whose name should not be spoken aloud.

also certain functionality could be ordered with same chip structure,
i.e. framebuffer, unaccelerated 2d, accel 2d, 3d, etc.
with user buying proper 'entry level' pre-paid code set from manufacturer.

this would provide quite same functionality (profit), without impacting
open-source projects like Xorg with unnessesary complications.


-- 



Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread C. Bergström

Dave Airlie wrote:

What potential? there are maybe 6 players on the ARM graphics scene

...
Nvidia - well we know their position will never change.
  
Never say never.  I have every reason to believe that Nvidia would 
respond to market demand.


*fingers crossed*

./C

___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Dave Airlie
> Sure, but you still slammed, and this affected in first order mostly 
> Qualcomm, instead
> of stating that you simply do not want to be involved.

I have no choice but to be involved, again you seem to misunderstand
what my position is.

>
>> They'll keep shipping closed stuff, just like they are now. Are you
>> going to reverse engineer the userspace drivers, so people who care
>> about open and free software platforms can use these drivers? (or have
>> you already signed NDAs saying you can't). Why should we maintain a
>> bunch of kernel code, when they are hiding away all the really useful
>> stuff that people could improve.
>
> Maintaining this exact code is not _your_ job, and you should've stated just 
> that.

Maintaining kernel graphics drivers is my responsibility, a lot of
days i wish it wasn't, and I'm sure some day it won't be, but until
then I have to provide guidance on how things should work. Again you
should look at what being a kernel maintainer is.

>
> You will need to restate this every time anyway, unless you somehow manage to 
> get your
> rather daunting and loud statement to be the first thing such corporations 
> management
> people at linux.com, which is what people type in their browser first.

I'm sure I will, but now I can just point people at this rather public
statement as opposed to private emails.
>
> Heh, i could make a really nasty statement here, but i wont.

Please do, since you've proved you are clueless about this position entails.

> Hrm, i only see _very_ old docs getting updated, and none produced.
>
> I still have docs which are pretty ready to be shipped (from 2007), under 
> uncertain
> legal status (the ati game was fun!), which were never made public. I am sure 
> that
> bridgman, gave you these docs too, but under even more shady circumstances.

Shady circumstances? you might want to ask your lawyer before making
statements like that on a public mailing list.

>> The code doesn't exist, there is no userspace code to be the
>> documents, if you read what I said, documents would be a good start in
>> lieu of code, but code is perfectly fine.
>
>> Imagintaion technologies seriously? they've never ever taken one step
>> towards opening anything, I don't think this statement is suddenly
>> going to jumpstart them.
>
>> Maybe you should disclose what NDAs you currently are under and who
>> pays your bills, since you accuse me of Red Hat mind-control.
>
> Oh, i now work for basysKom, a contractor for, amongst others, nokia, which 
> i'm sure
> you knew.

So you honestly think if I allow Nokia and/or Intel to push a poulsbo
driver into the kernel the magic fairies will come along and open the
userspace because they've seen the light?

What incentive does letting someone like Qualcomm etc put all their
kernel code upstream, and ignoring the userspace components do you
think it provides to open the userspace component, for once I'm
interested in your opinion since you seem to have the ARM players all
worked out. Previous experience with most companies has shown they'll
do as little as possible to ensure they can ship as many things as
possible, and this is fine, they need real incentives to follow the
open source rules.

>
>> I'm not sure how the ARM market would benefit from having no userspace
>> 3D drivers just like the x86 market, if you actually were normal you'd
>> realise the ARM people are trying to screw the market just like the
>> desktop people, to save themselves some money, but maybe working on
>> closed drivers has twisted you.
>
> Ah, so you did know.
>
> As a free software graphics driver developer there is little option left but 
> to go
> straight to the ARM world, at least things have potential to move there still.

What potential? there are maybe 6 players on the ARM graphics scene

Imagination Technologies SGX, used in TI and poulsbo/mrst(x86) - no
hope of opening userspace
ARM Mali - not sure what is going on there, I;m going to go with no
hope but would be nice to be proved wrong
Qualcomm SnapDragon - imageon by another name, from what I can and
from talking to Jordan on irc, they don't seem to have much incentive
to bother working on an open userspace
Marvell - maybe OLPC can make them open a userspace for millions of
sales, it doesn't seem to have worked with VIA for 10s of thousands of
persumable sales
Samsung - also holding out hope for something maybe, they seemed to
have some interest once, but not sure what happening now.
Nvidia - well we know their position will never change.

So we should have six completely separate stacks shipping in the
kernel not using drm or kms, but all standalone, all with closed
userspace drivers, with no maintainer, thanks that is not a future I'm
interested in, and generally from experience in Linux it isn't
something we've had much luck with before, wireless, networking, sw
raid, etc all have this sort of vendor demands and it took independent
maintainer pushback to achieve some cooperation and get what we 

Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Dave Airlie
On Fri, Jul 2, 2010 at 9:12 PM, Luc Verhaegen  wrote:
> On Fri, Jul 02, 2010 at 06:15:35AM -0400, Christoph Hellwig wrote:
>> Luc, can you please take your corporate bullshit out of this?  I can
>> assume you know Dave personally and should be clearly aware that he's
>> everything but a corporate drone.
>
> Yes, with mails like this he clearly shows that he isn't a corporate drone.
>

Luc, this isn't phoronix forums, the adults are talking here, run along now.

Dave.
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Luc Verhaegen
On Fri, Jul 02, 2010 at 06:15:35AM -0400, Christoph Hellwig wrote:
> Luc, can you please take your corporate bullshit out of this?  I can
> assume you know Dave personally and should be clearly aware that he's
> everything but a corporate drone.

Yes, with mails like this he clearly shows that he isn't a corporate drone.

Luc Verhaegen.
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Luc Verhaegen
On Fri, Jul 02, 2010 at 08:23:27PM +1000, Dave Airlie wrote:
> >
> 
> They own quite a lot of the IP in the 3D core, having bought it from
> AMD, you can see the CP packets and PM4 stuff just like in radeon.

Aha, imageon indeed, cool!

I doubt that you know the conditions of this sale. This might just be about 
waiting for 
Qualcomm to sort things out, or it might be about a licensing issue still. We 
just 
cannot know this.

> I know who Jordan is well from AMD, and I've stated this isn't a
> Qualcomm only thing, but companies need to understand that putting
> stuff into the kernel is part of a bargain, where you get the benefits
> of all the work everyone has done on the kernel and they get the
> benefits of being able to do stuff with the code you provide, only
> giving us a half arsed interface to the hw and hiding all the good
> stuff in userspace isn't accepting this bargain. You can say what you
> like about liceneses and legalese but Linus picked the GPL for this
> sort of everyone gives what they get.

Sure, but you still slammed, and this affected in first order mostly Qualcomm, 
instead 
of stating that you simply do not want to be involved.

> They'll keep shipping closed stuff, just like they are now. Are you
> going to reverse engineer the userspace drivers, so people who care
> about open and free software platforms can use these drivers? (or have
> you already signed NDAs saying you can't). Why should we maintain a
> bunch of kernel code, when they are hiding away all the really useful
> stuff that people could improve.

Maintaining this exact code is not _your_ job, and you should've stated just 
that.

> I would, some points
> (a) Red Hat is the company I work for.
> (b) Red Hat doesn't really care about this stuff at all.
> (c) I'm the kernel maintainer for far longer that I worked for Red
> Hat, I also work a lot with Intel at Red Hat and I've told them the
> same thing, and VIA and now I'm stating it so I don't have to restate
> individually to every company again.

You will need to restate this every time anyway, unless you somehow manage to 
get your 
rather daunting and loud statement to be the first thing such corporations 
management 
people at linux.com, which is what people type in their browser first.

But maybe you might want to adjust your message.

> You don't understand what being a kernel maintainer is do you? at all?

Heh, i could make a really nasty statement here, but i wont.

> Wierd I'm still seeing new docs being produced and old docs being
> updated, not as fast as I'd like but I understand how many people
> there is working on it and I'd rather we also got fixes for all the
> current stuff done as well.

Hrm, i only see _very_ old docs getting updated, and none produced.

I still have docs which are pretty ready to be shipped (from 2007), under 
uncertain 
legal status (the ati game was fun!), which were never made public. I am sure 
that 
bridgman, gave you these docs too, but under even more shady circumstances.

> The code doesn't exist, there is no userspace code to be the
> documents, if you read what I said, documents would be a good start in
> lieu of code, but code is perfectly fine.

> Imagintaion technologies seriously? they've never ever taken one step
> towards opening anything, I don't think this statement is suddenly
> going to jumpstart them.

> Maybe you should disclose what NDAs you currently are under and who
> pays your bills, since you accuse me of Red Hat mind-control.

Oh, i now work for basysKom, a contractor for, amongst others, nokia, which i'm 
sure
you knew.

> I'm not sure how the ARM market would benefit from having no userspace
> 3D drivers just like the x86 market, if you actually were normal you'd
> realise the ARM people are trying to screw the market just like the
> desktop people, to save themselves some money, but maybe working on
> closed drivers has twisted you.

Ah, so you did know.

As a free software graphics driver developer there is little option left but to 
go 
straight to the ARM world, at least things have potential to move there still.

Well, unless the efforts there, like the one that triggered your mail, are 
thwarted 
too, like with your mail.

Luc Verhaegen.
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Christoph Hellwig
100% agreed on the rationale, and I hope you can keep this crap out!



Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Dave Airlie
>
> Yes, this a mess indeed.
>
> But i fear that this a mess that cannot be fixed, in its entirety, in a 
> single shot.
>
> Qualcomm making this code available already clearly shows the will and 
> determination of
> some people inside qualcomm to do The Right Thing.
>
> This is Qualcomms first big step on the graphics side, where IP is always 
> amongst the
> heaviest. I am certain that Qualcomm wants to go further, but since Qualcomm 
> most
> likely licenses some parts of their graphics, Qualcomm can only open up those 
> bits that
> they truly own, and then use mainly market/sales-volume driven pressure to 
> get the
> original IP owner to play along.

They own quite a lot of the IP in the 3D core, having bought it from
AMD, you can see the CP packets and PM4 stuff just like in radeon.

>
> You should also take into account who Jordan is. He is one of the guys who 
> worked the
> Geode before AMD decided to drop that, which is when he got hired by 
> Qualcomm. He worked on
> both the graphics drivers and on (then still) LinuxBIOS. I know that redhat 
> has no
> intention of going near coreboot, but in my world one cannot become more 
> free, hardware
> wise, than supporting coreboot. This gives me very good hopes that this is a 
> serious
> attempt by qualcomm to go somewhere, and that this is not some lame attempt 
> to grab
> marketing attention.

I know who Jordan is well from AMD, and I've stated this isn't a
Qualcomm only thing, but companies need to understand that putting
stuff into the kernel is part of a bargain, where you get the benefits
of all the work everyone has done on the kernel and they get the
benefits of being able to do stuff with the code you provide, only
giving us a half arsed interface to the hw and hiding all the good
stuff in userspace isn't accepting this bargain. You can say what you
like about liceneses and legalese but Linus picked the GPL for this
sort of everyone gives what they get.

> Now that you slammed the door on these guys (and on others in the process), 
> what do you
> think the response would be? Where will this get us to in the end?

They'll keep shipping closed stuff, just like they are now. Are you
going to reverse engineer the userspace drivers, so people who care
about open and free software platforms can use these drivers? (or have
you already signed NDAs saying you can't). Why should we maintain a
bunch of kernel code, when they are hiding away all the really useful
stuff that people could improve.

>> b) verifying the sanity of the userspace API.
>> 1. Security: GPUs can do a lot of damage if left at home alone, since
>> mostly you are submitting command streams unverified into the GPU and
>> won't tell us what they mean, there is little way we can work out if
>> the GPU is going to over-write my passwd file to get 5 fps more in
>> quake. Now newer GPUs have at least started having MMUs, but again
>> we've no idea if that is the only way they work without docs or a lot
>> of trust.
>
> This makes me wonder: Why do you even care?
>
> If redhat was working with qualcomm, you would not have taken this stance 
> here at all.

I would, some points
(a) Red Hat is the company I work for.
(b) Red Hat doesn't really care about this stuff at all.
(c) I'm the kernel maintainer for far longer that I worked for Red
Hat, I also work a lot with Intel at Red Hat and I've told them the
same thing, and VIA and now I'm stating it so I don't have to restate
individually to every company again.

> If so, why couldn't you have stated "please guys, have fun with what you are 
> doing, but
> i will not be responsible for it" in a different way.

You don't understand what being a kernel maintainer is do you? at all?

> Now, it is interesting how you now are demanding documentation. When did 
> recent and
> relevant hw documentation happen for ATI? This pretty much died together when 
> the
> ATI<->SuSE relationship died, as the cooperation of SuSE and AMD is how 
> documentation
> was forced out of ATI in the first place, and ATI more and more found ways to 
> get rid
> of this responsibility, or overhead as bridgman would most likely name it.

Wierd I'm still seeing new docs being produced and old docs being
updated, not as fast as I'd like but I understand how many people
there is working on it and I'd rather we also got fixes for all the
current stuff done as well.


> If you are backing this reasoning for ATI, what is wrong with this code being 
> the
> documentation for Qualcomm?

The code doesn't exist, there is no userspace code to be the
documents, if you read what I said, documents would be a good start in
lieu of code, but code is perfectly fine.

> Heh, in some of these cases, not having looked at this code in detail yet, 
> such code
> predates kms, and drm might not have provided what was needed. Not wanting to
> completely diminish the responsibility of qualcomm (or the other companies 
> who are
> working or are forced to work like this), you might want to thin

Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Luc Verhaegen
On Fri, Jul 02, 2010 at 08:10:40AM +1000, Dave Airlie wrote:
> Now this is just my opinion as maintainer of the drm, and doesn't
> reflect anyone or any official policy, I've also no idea if Linus
> agrees or not.
> 
> We are going to start to see a number of companies in the embedded
> space submitting 3D drivers for mobile devices to the kernel. I'd like
> to clarify my position once so they don't all come asking the same
> questions.
> 
> If you aren't going to create an open userspace driver (either MIT or
> LGPL) then don't waste time submitting a kernel driver to me.
> 
> My reasons are as follows, the thing is you can probably excuse some
> of these on a point by point basis, but you need to justify why closed
> userspace on all points.
> 
> a) licensing, Alan Cox pointed this out before, if you wrote a GPL
> kernel driver, then wrote a closed userspace on top, you open up a
> while world of derived work issues. Can the userspace operate on a
> non-GPL kernel without major modifications etc. This is a can of worms
> I'd rather not enter into, and there are a few workarounds.

Yes, this a mess indeed.

But i fear that this a mess that cannot be fixed, in its entirety, in a single 
shot.  

Qualcomm making this code available already clearly shows the will and 
determination of 
some people inside qualcomm to do The Right Thing. 

This is Qualcomms first big step on the graphics side, where IP is always 
amongst the 
heaviest. I am certain that Qualcomm wants to go further, but since Qualcomm 
most 
likely licenses some parts of their graphics, Qualcomm can only open up those 
bits that 
they truly own, and then use mainly market/sales-volume driven pressure to get 
the 
original IP owner to play along.

You should also take into account who Jordan is. He is one of the guys who 
worked the 
Geode before AMD decided to drop that, which is when he got hired by Qualcomm. 
He worked on 
both the graphics drivers and on (then still) LinuxBIOS. I know that redhat has 
no 
intention of going near coreboot, but in my world one cannot become more free, 
hardware 
wise, than supporting coreboot. This gives me very good hopes that this is a 
serious 
attempt by qualcomm to go somewhere, and that this is not some lame attempt to 
grab 
marketing attention.

Now that you slammed the door on these guys (and on others in the process), 
what do you 
think the response would be? Where will this get us to in the end?

The licensing should get sorted, and that is of course something for Qualcomm 
to do, 
or prove that it has been sorted already.

> b) verifying the sanity of the userspace API.
> 1. Security: GPUs can do a lot of damage if left at home alone, since
> mostly you are submitting command streams unverified into the GPU and
> won't tell us what they mean, there is little way we can work out if
> the GPU is going to over-write my passwd file to get 5 fps more in
> quake. Now newer GPUs have at least started having MMUs, but again
> we've no idea if that is the only way they work without docs or a lot
> of trust.

This makes me wonder: Why do you even care?

If redhat was working with qualcomm, you would not have taken this stance here 
at all.

Since redhat is then not working with qualcomm, why is this then your 
responsibility?

Or is denouncing responsibility exactly the reason for your mail here?

If so, why couldn't you have stated "please guys, have fun with what you are 
doing, but 
i will not be responsible for it" in a different way.

What you achieved now is that people will stop bothering with even freeing 
this, 
putting us even further back.

But i fully understand where you are coming from: redhat only wants to 
seriously back 
the server market, so free software graphics on arm based SOCs probably should 
not be 
encouraged too much. As per usual, big statements are then more important than 
actual 
free software advancement.

> 2. General API suitability and versioning. How do we check that API is
> sane wrt to userspace, if we can't verify the userspace. What happens
> if the API has lots of 32/64 compat issues or things like that, and
> when we fix them the binary userspace breaks? How do we know, how do
> we test etc. What happens if a security issue forces us to break the
> userspace API? how do we fix the userspace driver and test to confirm?
> 
> c) supplying docs in lieu of an open userspace
> If you were to fully document the GPU so we could verify the
> security/api aspects it leaves us in the position of writing our own
> driver. Now writing that driver on top of the current kernel driver
> would probably limit any innovation, and most people would want to
> write a new kernel driver from scratch. Now we end up with two drivers
> fighting, how do we pick which one to load at boot? can we ever do a
> generic distro kernel for that device (assuming ARM ever solves that
> issue).

I think that by now you should have realized that this is not how it works for 
things as complex as graphic

Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Christoph Hellwig
100% agreed on the rationale, and I hope you can keep this crap out!

___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-02 Thread Piotr Gluszenia Slawinski
> We are going to start to see a number of companies in the embedded
> space submitting 3D drivers for mobile devices to the kernel. I'd like
> to clarify my position once so they don't all come asking the same
> questions.

one of options for future would be equipping gpu's with additional
processing force, allowing it to run whole Xorg on it's own,
and just communicate with rest of machine via shared memory window (so 
visible as 'hardware X server' from systems standpoint),

option which allows both - closing 'source' of gpu , and taking
off burden of development for closed, once-use-throwaway
devices from Xorg and kenel crew.

also port of Xorg on GPUs itself allows skipping a lot of features
of kernel, and OS itself (it doesn't to be based on linux afterall)
allowing much more robust performance, and skipping common bottlenecks
(sharing irq's , scheduling, etc)

but this route needs to be considered by hardware vendors themselves.

--



Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Howard Chu

Piotr Gluszenia Slawinski wrote:

There is no point supporting companies that give you a little bit of
information in exchange they want the support that being in a mainline
kernel gives. Its an unfair exchange of knowledge and time, and if they
claim they have to make a profit then its even more unfair.


also, they seem to do it quite wrong way. i.e. much simpler would be to
just implement regular, open driver , and implement additional crypto
mechanism in chipset itself, allowing to use simple userspace program
sending certified keys allowing GPU to operate.
if key is not available and device/driver not paid/registered, then
GPU would simply lock itself , similiar to pre-paid designs from
company whose name should not be spoken aloud.

also certain functionality could be ordered with same chip structure,
i.e. framebuffer, unaccelerated 2d, accel 2d, 3d, etc.
with user buying proper 'entry level' pre-paid code set from manufacturer.

this would provide quite same functionality (profit), without impacting
open-source projects like Xorg with unnessesary complications.


Pardon me for intruding in this discussion, but I'm astonished that you 
actually find what you posted to be acceptable. If I pay for a piece of 
hardware, I have the right to use it. Requiring certified keys before it 
performs the function for which it was purchased is pure nonsense.


--
  -- Howard Chu
  CTO, Symas Corp.   http://www.symas.com
  Director, Highland Sun http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Piotr Gluszenia Slawinski

Piotr Gluszenia Slawinski wrote:

>  There is no point supporting companies that give you a little bit of
>  information in exchange they want the support that being in a mainline
>  kernel gives. Its an unfair exchange of knowledge and time, and if they
>  claim they have to make a profit then its even more unfair.

 also, they seem to do it quite wrong way. i.e. much simpler would be to
 just implement regular, open driver , and implement additional crypto
 mechanism in chipset itself, allowing to use simple userspace program
 sending certified keys allowing GPU to operate.
 if key is not available and device/driver not paid/registered, then
 GPU would simply lock itself , similiar to pre-paid designs from
 company whose name should not be spoken aloud.

 also certain functionality could be ordered with same chip structure,
 i.e. framebuffer, unaccelerated 2d, accel 2d, 3d, etc.
 with user buying proper 'entry level' pre-paid code set from manufacturer.

 this would provide quite same functionality (profit), without impacting
 open-source projects like Xorg with unnessesary complications.


Pardon me for intruding in this discussion, but I'm astonished that you 
actually find what you posted to be acceptable. If I pay for a piece of 
hardware, I have the right to use it. Requiring certified keys before it 
performs the function for which it was purchased is pure nonsense.


in this context it is more lease than purhase, similiar to situation
when you buy cellphone, but you are limited by the sim card to access
networks, and sometimes even own adress book (when your account is 
drained, your adress book stored on sim data card is locked).


i do not claim such practices are convient for users, yet they are
very convient for hardware vendors, and it seems more 'open cards' play
which seems more clear to user than situation in which you need binary 
blobs which can contain everything from rootkit to actual crypto routine

(i.e. to prevent driver running on 'non original' clone video cards made
by competitor company) running with ROOT privileges on the computers of 
users being told it is Only Way (tm) to make given company profit and 
survive, while providing some functionality as a trade.


so to resume such solution - one gets fair information about to which 
extent company allows usage of hardware sold to user (without messy 'end 
user license' implied on binary drivers) , and can perform clear

decision - either buying 'secure' and 'genuinely original' video card
with options one needs and is able to pay for (which includes
software development price) , or goes for more 'open' solutions.

mind you most of hardware vendors do NOT want you to purhase
hardware, at best they want LICENSE you to use it for specific
purpose, and specific period. the wish of yours to freely use
hardware does not represent accurate wish of casual users ,
which do not care about freedom as long as hardware allows them
to perform specific task.

either way imho mixing those two attitudes is erroneus,
as it creates confusion and beliefs that some hardware is intended
for free use, and in same time that some software should provide
infrastructure to limit safety and freedom of users.
also it leads to development of BOTH. the sooner those two will
be separated, the sooner alternatives will be created,
and most importantly RECOGNIZED by market.

--

___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Howard Chu
Piotr Gluszenia Slawinski wrote:
>> There is no point supporting companies that give you a little bit of
>> information in exchange they want the support that being in a mainline
>> kernel gives. Its an unfair exchange of knowledge and time, and if they
>> claim they have to make a profit then its even more unfair.
>
> also, they seem to do it quite wrong way. i.e. much simpler would be to
> just implement regular, open driver , and implement additional crypto
> mechanism in chipset itself, allowing to use simple userspace program
> sending certified keys allowing GPU to operate.
> if key is not available and device/driver not paid/registered, then
> GPU would simply lock itself , similiar to pre-paid designs from
> company whose name should not be spoken aloud.
>
> also certain functionality could be ordered with same chip structure,
> i.e. framebuffer, unaccelerated 2d, accel 2d, 3d, etc.
> with user buying proper 'entry level' pre-paid code set from manufacturer.
>
> this would provide quite same functionality (profit), without impacting
> open-source projects like Xorg with unnessesary complications.

Pardon me for intruding in this discussion, but I'm astonished that you 
actually find what you posted to be acceptable. If I pay for a piece of 
hardware, I have the right to use it. Requiring certified keys before it 
performs the function for which it was purchased is pure nonsense.

-- 
   -- Howard Chu
   CTO, Symas Corp.   http://www.symas.com
   Director, Highland Sun http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/


Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Timothy Meade
-- Forwarded message --
From: Timothy Meade 
Date: Thu, Jul 1, 2010 at 8:38 PM
Subject: Closed source userspace graphics drivers with an open source
kernel component
To: Saravana Kannan 
Cc: LKML , dri-devel
, linux-arm-msm at vger.kernel.org,
jcrouse at codeaurora.org



On Thu, Jul 1, 2010 at 8:18 PM, Saravana Kannan  
wrote:
>
> Dave Airlie wrote:
>>
>> This is more about initial development stages. We maintain kernel
>> API/ABI for all in-tree drivers, however before we put a driver into
>> mainline, we usually need to redo the crazy interfaces that vendors
>> have come up with. Like 32/64 alignment, passing userspace addresses
>> into the kernel, passing phy addresses to userspace etc. If the
>> userspace binary is closed that process becomes next to impossible.
>
> My 2 cents:
> I think we should leave the onus of fixing the userspace to work with the 
> sane kernel API with the entity trying to get their drivers into the kernel. 
> I think it's a better approach (as in, more likelihood of getting device 
> support) than saying, we will only allow fully open sourced kernel drivers.
>
> -Saravana
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html


Hello.? I've been working with the developers on the htc-linux project
and following the progress of Android on MSM devices closely for a few
years.? I've been excitied to see DRM/DRI replace PMEM and the Android
specific interfaces be replaced with more Linux-like ones.? The Xorg
driver from Qualcomm uses this same interface for 2D and it's possible
that Android will take the same approach, though it uses 3D and GLES
as a type of abstraction layer for surfaceflinger.? This allows for a
closed 3D driver with an open command submission layer that is in
itself not that different from the split for ATI devices using
radeonhd.? I say this because the alternative for these devices is a
fully closed binary and secrecy surrounding the graphics layers that
ensures that only the OS that ships with the device can ever really be
used and preventing those non-coorporate developers as myself from
utilising GPL code the way we want or even usuing are own cell phones
(in this case).? I would choose a fully open, X based OS even if that
meant only having 2D drivers, but I know that Quic and others aren't
going to develop just a (accelerated) 2D driver, not the kernel
components or userspace but instead rely on the same GLES layer that
Android uses, essentially making X and open environments a second
class citizen on modern mobile hardware.

I hope those making the decision will take this into consideration.

--
Timothy Meade (tmzt on freenode)


Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Timothy Meade
On Thu, Jul 1, 2010 at 8:18 PM, Saravana Kannan wrote:

> Dave Airlie wrote:
>
>> This is more about initial development stages. We maintain kernel
>> API/ABI for all in-tree drivers, however before we put a driver into
>> mainline, we usually need to redo the crazy interfaces that vendors
>> have come up with. Like 32/64 alignment, passing userspace addresses
>> into the kernel, passing phy addresses to userspace etc. If the
>> userspace binary is closed that process becomes next to impossible.
>>
>
> My 2 cents:
> I think we should leave the onus of fixing the userspace to work with the
> sane kernel API with the entity trying to get their drivers into the kernel.
> I think it's a better approach (as in, more likelihood of getting device
> support) than saying, we will only allow fully open sourced kernel drivers.
>
> -Saravana
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>


Hello.  I've been working with the developers on the htc-linux project and
following the progress of Android on MSM devices closely for a few years.
I've been excitied to see DRM/DRI replace PMEM and the Android specific
interfaces be replaced with more Linux-like ones.  The Xorg driver from
Qualcomm uses this same interface for 2D and it's possible that Android will
take the same approach, though it uses 3D and GLES as a type of abstraction
layer for surfaceflinger.  This allows for a closed 3D driver with an open
command submission layer that is in itself not that different from the split
for ATI devices using radeonhd.  I say this because the alternative for
these devices is a fully closed binary and secrecy surrounding the graphics
layers that ensures that only the OS that ships with the device can ever
really be used and preventing those non-coorporate developers as myself from
utilising GPL code the way we want or even usuing are own cell phones (in
this case).  I would choose a fully open, X based OS even if that meant only
having 2D drivers, but I know that Quic and others aren't going to develop
just a (accelerated) 2D driver, not the kernel components or userspace but
instead rely on the same GLES layer that Android uses, essentially making X
and open environments a second class citizen on modern mobile hardware.

I hope those making the decision will take this into consideration.

--
Timothy Meade (tmzt on freenode)
-- next part --
An HTML attachment was scrubbed...
URL: 



Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Piotr Gluszenia Slawinski

There is no point supporting companies that give you a little bit of
information in exchange they want the support that being in a mainline
kernel gives. Its an unfair exchange of knowledge and time, and if they
claim they have to make a profit then its even more unfair.


also, they seem to do it quite wrong way. i.e. much simpler would be to 
just implement regular, open driver , and implement additional crypto

mechanism in chipset itself, allowing to use simple userspace program
sending certified keys allowing GPU to operate.
if key is not available and device/driver not paid/registered, then
GPU would simply lock itself , similiar to pre-paid designs from
company whose name should not be spoken aloud.

also certain functionality could be ordered with same chip structure,
i.e. framebuffer, unaccelerated 2d, accel 2d, 3d, etc.
with user buying proper 'entry level' pre-paid code set from manufacturer.

this would provide quite same functionality (profit), without impacting
open-source projects like Xorg with unnessesary complications.


--

___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Dave Airlie
On Thu, 2010-07-01 at 20:42 -0400, Timothy Meade wrote:
> -- Forwarded message --

> Hello.  I've been working with the developers on the htc-linux project
> and following the progress of Android on MSM devices closely for a few
> years.  I've been excitied to see DRM/DRI replace PMEM and the Android
> specific interfaces be replaced with more Linux-like ones.  The Xorg
> driver from Qualcomm uses this same interface for 2D and it's possible
> that Android will take the same approach, though it uses 3D and GLES
> as a type of abstraction layer for surfaceflinger.  This allows for a
> closed 3D driver with an open command submission layer that is in
> itself not that different from the split for ATI devices using
> radeonhd.  I say this because the alternative for these devices is a
> fully closed binary and secrecy surrounding the graphics layers that
> ensures that only the OS that ships with the device can ever really be
> used and preventing those non-coorporate developers as myself from
> utilising GPL code the way we want or even usuing are own cell phones
> (in this case).  I would choose a fully open, X based OS even if that
> meant only having 2D drivers, but I know that Quic and others aren't
> going to develop just a (accelerated) 2D driver, not the kernel
> components or userspace but instead rely on the same GLES layer that
> Android uses, essentially making X and open environments a second
> class citizen on modern mobile hardware.

The thing is you are prevented from using the GPU the way you want,
telling you how to send commands and get irqs from a device but not
telling you what those commands means is limiting you. So you can use it
a framebuffer device, you can do that with a 500 line fbdev driver most
likely, we don't need the maintainer burden of the other 5000 lines of
code that are only in the driver to service some 3D userspace binary
blob.

The radeon example is pointless since all pieces in that system are open
even if AMD can't/won't disclose how certain parts of the GPU work, we
have access to nearly all the functionality, we control all the open
pieces and if someone reverse engineers it, AMD have to accept it.

There is no point supporting companies that give you a little bit of
information in exchange they want the support that being in a mainline
kernel gives. Its an unfair exchange of knowledge and time, and if they
claim they have to make a profit then its even more unfair.

Dave.


___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Timothy Meade
-- Forwarded message --
From: Timothy Meade 
Date: Thu, Jul 1, 2010 at 8:38 PM
Subject: Closed source userspace graphics drivers with an open source
kernel component
To: Saravana Kannan 
Cc: LKML , dri-devel
, [email protected],
[email protected]



On Thu, Jul 1, 2010 at 8:18 PM, Saravana Kannan  wrote:
>
> Dave Airlie wrote:
>>
>> This is more about initial development stages. We maintain kernel
>> API/ABI for all in-tree drivers, however before we put a driver into
>> mainline, we usually need to redo the crazy interfaces that vendors
>> have come up with. Like 32/64 alignment, passing userspace addresses
>> into the kernel, passing phy addresses to userspace etc. If the
>> userspace binary is closed that process becomes next to impossible.
>
> My 2 cents:
> I think we should leave the onus of fixing the userspace to work with the 
> sane kernel API with the entity trying to get their drivers into the kernel. 
> I think it's a better approach (as in, more likelihood of getting device 
> support) than saying, we will only allow fully open sourced kernel drivers.
>
> -Saravana
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


Hello.  I've been working with the developers on the htc-linux project
and following the progress of Android on MSM devices closely for a few
years.  I've been excitied to see DRM/DRI replace PMEM and the Android
specific interfaces be replaced with more Linux-like ones.  The Xorg
driver from Qualcomm uses this same interface for 2D and it's possible
that Android will take the same approach, though it uses 3D and GLES
as a type of abstraction layer for surfaceflinger.  This allows for a
closed 3D driver with an open command submission layer that is in
itself not that different from the split for ATI devices using
radeonhd.  I say this because the alternative for these devices is a
fully closed binary and secrecy surrounding the graphics layers that
ensures that only the OS that ships with the device can ever really be
used and preventing those non-coorporate developers as myself from
utilising GPL code the way we want or even usuing are own cell phones
(in this case).  I would choose a fully open, X based OS even if that
meant only having 2D drivers, but I know that Quic and others aren't
going to develop just a (accelerated) 2D driver, not the kernel
components or userspace but instead rely on the same GLES layer that
Android uses, essentially making X and open environments a second
class citizen on modern mobile hardware.

I hope those making the decision will take this into consideration.

--
Timothy Meade (tmzt on freenode)
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Timothy Meade
On Thu, Jul 1, 2010 at 8:18 PM, Saravana Kannan wrote:

> Dave Airlie wrote:
>
>> This is more about initial development stages. We maintain kernel
>> API/ABI for all in-tree drivers, however before we put a driver into
>> mainline, we usually need to redo the crazy interfaces that vendors
>> have come up with. Like 32/64 alignment, passing userspace addresses
>> into the kernel, passing phy addresses to userspace etc. If the
>> userspace binary is closed that process becomes next to impossible.
>>
>
> My 2 cents:
> I think we should leave the onus of fixing the userspace to work with the
> sane kernel API with the entity trying to get their drivers into the kernel.
> I think it's a better approach (as in, more likelihood of getting device
> support) than saying, we will only allow fully open sourced kernel drivers.
>
> -Saravana
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>


Hello.  I've been working with the developers on the htc-linux project and
following the progress of Android on MSM devices closely for a few years.
I've been excitied to see DRM/DRI replace PMEM and the Android specific
interfaces be replaced with more Linux-like ones.  The Xorg driver from
Qualcomm uses this same interface for 2D and it's possible that Android will
take the same approach, though it uses 3D and GLES as a type of abstraction
layer for surfaceflinger.  This allows for a closed 3D driver with an open
command submission layer that is in itself not that different from the split
for ATI devices using radeonhd.  I say this because the alternative for
these devices is a fully closed binary and secrecy surrounding the graphics
layers that ensures that only the OS that ships with the device can ever
really be used and preventing those non-coorporate developers as myself from
utilising GPL code the way we want or even usuing are own cell phones (in
this case).  I would choose a fully open, X based OS even if that meant only
having 2D drivers, but I know that Quic and others aren't going to develop
just a (accelerated) 2D driver, not the kernel components or userspace but
instead rely on the same GLES layer that Android uses, essentially making X
and open environments a second class citizen on modern mobile hardware.

I hope those making the decision will take this into consideration.

--
Timothy Meade (tmzt on freenode)
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Saravana Kannan

Dave Airlie wrote:

This is more about initial development stages. We maintain kernel
API/ABI for all in-tree drivers, however before we put a driver into
mainline, we usually need to redo the crazy interfaces that vendors
have come up with. Like 32/64 alignment, passing userspace addresses
into the kernel, passing phy addresses to userspace etc. If the
userspace binary is closed that process becomes next to impossible.


My 2 cents:
I think we should leave the onus of fixing the userspace to work with 
the sane kernel API with the entity trying to get their drivers into the 
kernel. I think it's a better approach (as in, more likelihood of 
getting device support) than saying, we will only allow fully open 
sourced kernel drivers.


-Saravana
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Corbin Simpson
I thought Intel shelved Larrabee.

~ C.

On Thu, Jul 1, 2010 at 4:51 PM, Piotr Gluszenia Slawinski
 wrote:
>> We are going to start to see a number of companies in the embedded
>> space submitting 3D drivers for mobile devices to the kernel. I'd like
>> to clarify my position once so they don't all come asking the same
>> questions.
>
> one of options for future would be equipping gpu's with additional
> processing force, allowing it to run whole Xorg on it's own,
> and just communicate with rest of machine via shared memory window (so
> visible as 'hardware X server' from systems standpoint),
>
> option which allows both - closing 'source' of gpu , and taking
> off burden of development for closed, once-use-throwaway
> devices from Xorg and kenel crew.
>
> also port of Xorg on GPUs itself allows skipping a lot of features
> of kernel, and OS itself (it doesn't to be based on linux afterall)
> allowing much more robust performance, and skipping common bottlenecks
> (sharing irq's , scheduling, etc)
>
> but this route needs to be considered by hardware vendors themselves.
>
> --
>
> ___
> dri-devel mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>



-- 
When the facts change, I change my mind. What do you do, sir? ~ Keynes

Corbin Simpson

___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Corbin Simpson
I thought Intel shelved Larrabee.

~ C.

On Thu, Jul 1, 2010 at 4:51 PM, Piotr Gluszenia Slawinski
 wrote:
>> We are going to start to see a number of companies in the embedded
>> space submitting 3D drivers for mobile devices to the kernel. I'd like
>> to clarify my position once so they don't all come asking the same
>> questions.
>
> one of options for future would be equipping gpu's with additional
> processing force, allowing it to run whole Xorg on it's own,
> and just communicate with rest of machine via shared memory window (so
> visible as 'hardware X server' from systems standpoint),
>
> option which allows both - closing 'source' of gpu , and taking
> off burden of development for closed, once-use-throwaway
> devices from Xorg and kenel crew.
>
> also port of Xorg on GPUs itself allows skipping a lot of features
> of kernel, and OS itself (it doesn't to be based on linux afterall)
> allowing much more robust performance, and skipping common bottlenecks
> (sharing irq's , scheduling, etc)
>
> but this route needs to be considered by hardware vendors themselves.
>
> --
>
> ___
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>



-- 
When the facts change, I change my mind. What do you do, sir? ~ Keynes

Corbin Simpson



Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Piotr Gluszenia Slawinski

We are going to start to see a number of companies in the embedded
space submitting 3D drivers for mobile devices to the kernel. I'd like
to clarify my position once so they don't all come asking the same
questions.


one of options for future would be equipping gpu's with additional
processing force, allowing it to run whole Xorg on it's own,
and just communicate with rest of machine via shared memory window (so 
visible as 'hardware X server' from systems standpoint),


option which allows both - closing 'source' of gpu , and taking
off burden of development for closed, once-use-throwaway
devices from Xorg and kenel crew.

also port of Xorg on GPUs itself allows skipping a lot of features
of kernel, and OS itself (it doesn't to be based on linux afterall)
allowing much more robust performance, and skipping common bottlenecks
(sharing irq's , scheduling, etc)

but this route needs to be considered by hardware vendors themselves.

--

___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Saravana Kannan
Dave Airlie wrote:
> This is more about initial development stages. We maintain kernel
> API/ABI for all in-tree drivers, however before we put a driver into
> mainline, we usually need to redo the crazy interfaces that vendors
> have come up with. Like 32/64 alignment, passing userspace addresses
> into the kernel, passing phy addresses to userspace etc. If the
> userspace binary is closed that process becomes next to impossible.

My 2 cents:
I think we should leave the onus of fixing the userspace to work with 
the sane kernel API with the entity trying to get their drivers into the 
kernel. I think it's a better approach (as in, more likelihood of 
getting device support) than saying, we will only allow fully open 
sourced kernel drivers.

-Saravana


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Dave Airlie
On Fri, Jul 2, 2010 at 10:08 AM, Daniel Walker  wrote:
> On Fri, 2010-07-02 at 09:37 +1000, Dave Airlie wrote:
>
>> > Oh, man .. It seems like any driver model that straddles userspace and
>> > kernel space is kind of asking for trouble (my opinion anyway)..
>> >
>> > Would you accept a userspace component that supported some subset of the
>> > features ? You would have a kernel space driver, and userspace both open
>> > source and GPL'd , but the userspace component wouldn't support ever
>> > feature available .. Then the company would be free to make another
>> > proprietary userspace with more features based off the open source one.
>> >
>>
>> That starts to get a bit more towards useful, except you still run
>> into the problem of what happens if community developers start adding
>> features to the open driver, that conflict with  features in the
>> closed code. We'd also have to be very careful about what interfaces
>> the kernel exposed had corresponding code in userspace. i.e. adding
>> "special" ioctls for the closed bits would be a disaster, all such
>> ioctls would need open users for verification and testing.
>
> Ok .. The open userspace would just be like any other project, but
> whatever company pushed the driver would likely maintain the userspace
> component .. So the maintainer would have to handle the conflicts
> between the proprietary vs. open source sides of it.
>
> Actually , now that I think about it the biggest problem is the license
> of the userspace side.. Whatever company makes this would have to be
> able to relicense it and actually make a proprietary userspace.. So the
> userspace license would be really critical.. Either that or no one
> outside the company that pushed the driver could make code changes to
> the userspace side..

We generally use MIT for userspace bits anyways, I don't think we have
any LGPL/GPL drivers in userspace currently. So this would probably be
an okay solution to continue with.

The thing is with architectures like Gallium it would be possible to
write a complete open driver and just keep the Windows interface bits,
granted we don't have an open gallium to windows driver layer so that
would have to be worked on.

>
>> So for example, if you have a kernel KMS/DRM driver, and it set the
>> hardware up, but then you had an open 2D driver and a closed 3D
>> driver, you would have to make sure there was no functionality in the
>> kernel that only the 3D driver used as it would become impossible to
>> openly validate it.
>
> Ok. I'm not sure how crazy that would be to setup, but it doesn't seem
> like it would be that hard to just abstract the various components of
> the driver.

Its pretty much what something like gallium can do.

>
>> The other issue I see with a lot of these, is the driver are presented
>> as this is the kernel driver, these APIs are set in stone as we have
>> binary userspaces already deployed, this is even more unacceptable,
>> since we need to be able to change the interface and do proper driver
>> design before merging what looks like crap thrown together in a pile
>> and made to stick.
>
> This seems really wild to me .. Your talking about how you change the
> kernel space side and you need to be able to change the userspace side
> to match right ?
>
> Where does the userspace side of these driver live? Not in the kernel
> right?

This is more about initial development stages. We maintain kernel
API/ABI for all in-tree drivers, however before we put a driver into
mainline, we usually need to redo the crazy interfaces that vendors
have come up with. Like 32/64 alignment, passing userspace addresses
into the kernel, passing phy addresses to userspace etc. If the
userspace binary is closed that process becomes next to impossible.

Dave.
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Daniel Walker
On Fri, 2010-07-02 at 09:37 +1000, Dave Airlie wrote:

> > Oh, man .. It seems like any driver model that straddles userspace and
> > kernel space is kind of asking for trouble (my opinion anyway)..
> >
> > Would you accept a userspace component that supported some subset of the
> > features ? You would have a kernel space driver, and userspace both open
> > source and GPL'd , but the userspace component wouldn't support ever
> > feature available .. Then the company would be free to make another
> > proprietary userspace with more features based off the open source one.
> >
> 
> That starts to get a bit more towards useful, except you still run
> into the problem of what happens if community developers start adding
> features to the open driver, that conflict with  features in the
> closed code. We'd also have to be very careful about what interfaces
> the kernel exposed had corresponding code in userspace. i.e. adding
> "special" ioctls for the closed bits would be a disaster, all such
> ioctls would need open users for verification and testing.

Ok .. The open userspace would just be like any other project, but
whatever company pushed the driver would likely maintain the userspace
component .. So the maintainer would have to handle the conflicts
between the proprietary vs. open source sides of it.

Actually , now that I think about it the biggest problem is the license
of the userspace side.. Whatever company makes this would have to be
able to relicense it and actually make a proprietary userspace.. So the
userspace license would be really critical.. Either that or no one
outside the company that pushed the driver could make code changes to
the userspace side..

> So for example, if you have a kernel KMS/DRM driver, and it set the
> hardware up, but then you had an open 2D driver and a closed 3D
> driver, you would have to make sure there was no functionality in the
> kernel that only the 3D driver used as it would become impossible to
> openly validate it.

Ok. I'm not sure how crazy that would be to setup, but it doesn't seem
like it would be that hard to just abstract the various components of
the driver.

> The other issue I see with a lot of these, is the driver are presented
> as this is the kernel driver, these APIs are set in stone as we have
> binary userspaces already deployed, this is even more unacceptable,
> since we need to be able to change the interface and do proper driver
> design before merging what looks like crap thrown together in a pile
> and made to stick.

This seems really wild to me .. Your talking about how you change the
kernel space side and you need to be able to change the userspace side
to match right ?

Where does the userspace side of these driver live? Not in the kernel
right?

Daniel

-- 
Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Daniel Walker
On Fri, 2010-07-02 at 09:37 +1000, Dave Airlie wrote:

> > Oh, man .. It seems like any driver model that straddles userspace and
> > kernel space is kind of asking for trouble (my opinion anyway)..
> >
> > Would you accept a userspace component that supported some subset of the
> > features ? You would have a kernel space driver, and userspace both open
> > source and GPL'd , but the userspace component wouldn't support ever
> > feature available .. Then the company would be free to make another
> > proprietary userspace with more features based off the open source one.
> >
> 
> That starts to get a bit more towards useful, except you still run
> into the problem of what happens if community developers start adding
> features to the open driver, that conflict with  features in the
> closed code. We'd also have to be very careful about what interfaces
> the kernel exposed had corresponding code in userspace. i.e. adding
> "special" ioctls for the closed bits would be a disaster, all such
> ioctls would need open users for verification and testing.

Ok .. The open userspace would just be like any other project, but
whatever company pushed the driver would likely maintain the userspace
component .. So the maintainer would have to handle the conflicts
between the proprietary vs. open source sides of it.

Actually , now that I think about it the biggest problem is the license
of the userspace side.. Whatever company makes this would have to be
able to relicense it and actually make a proprietary userspace.. So the
userspace license would be really critical.. Either that or no one
outside the company that pushed the driver could make code changes to
the userspace side..

> So for example, if you have a kernel KMS/DRM driver, and it set the
> hardware up, but then you had an open 2D driver and a closed 3D
> driver, you would have to make sure there was no functionality in the
> kernel that only the 3D driver used as it would become impossible to
> openly validate it.

Ok. I'm not sure how crazy that would be to setup, but it doesn't seem
like it would be that hard to just abstract the various components of
the driver.

> The other issue I see with a lot of these, is the driver are presented
> as this is the kernel driver, these APIs are set in stone as we have
> binary userspaces already deployed, this is even more unacceptable,
> since we need to be able to change the interface and do proper driver
> design before merging what looks like crap thrown together in a pile
> and made to stick.

This seems really wild to me .. Your talking about how you change the
kernel space side and you need to be able to change the userspace side
to match right ?

Where does the userspace side of these driver live? Not in the kernel
right?

Daniel

-- 
Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.



Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Dave Airlie
On Fri, Jul 2, 2010 at 9:29 AM, Daniel Walker  wrote:
> On Fri, 2010-07-02 at 08:57 +1000, Dave Airlie wrote:
>> On Fri, Jul 2, 2010 at 8:51 AM, Daniel Walker  wrote:
>> > On Fri, 2010-07-02 at 08:36 +1000, Dave Airlie wrote:
>> >> On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie  wrote:
>> >> > Now this is just my opinion as maintainer of the drm, and doesn't
>> >> > reflect anyone or any official policy, I've also no idea if Linus
>> >> > agrees or not.
>> >> >
>> >> > We are going to start to see a number of companies in the embedded
>> >> > space submitting 3D drivers for mobile devices to the kernel. I'd like
>> >> > to clarify my position once so they don't all come asking the same
>> >> > questions.
>> >> >
>> >> > If you aren't going to create an open userspace driver (either MIT or
>> >> > LGPL) then don't waste time submitting a kernel driver to me.
>> >
>> > If , for whatever reason, you changed you mind on this what sort of
>> > connection between kernel and userspace would these components use?
>> >
>> > I ask only because I think UIO hold most (if not all) the driver in
>> > userspace .. So you would have to use some other interface if you wanted
>> > a more half and half solution ..
>> >
>>
>> The thing is UIO doesn't solve the problem 3D graphics drivers need to
>> solve. Which is we need to let unprivileged users access the graphics
>> device in an efficient manner, hence why DRI/DRM exists. Now I think
>> the tegra guys have done some evil hacks with a userspace daemon to
>> replace the kernel functionality, so all they have in-kernel is a
>> framebuffer device, since they can't really get away with shipping the
>> binary nvidia driver linked to the kernel in a real device. So all
>> their userspace closed bits talk to the daemon running as root with
>> direct access to the lowlevel hw.
>
> Oh, man .. It seems like any driver model that straddles userspace and
> kernel space is kind of asking for trouble (my opinion anyway)..
>
> Would you accept a userspace component that supported some subset of the
> features ? You would have a kernel space driver, and userspace both open
> source and GPL'd , but the userspace component wouldn't support ever
> feature available .. Then the company would be free to make another
> proprietary userspace with more features based off the open source one.
>

That starts to get a bit more towards useful, except you still run
into the problem of what happens if community developers start adding
features to the open driver, that conflict with  features in the
closed code. We'd also have to be very careful about what interfaces
the kernel exposed had corresponding code in userspace. i.e. adding
"special" ioctls for the closed bits would be a disaster, all such
ioctls would need open users for verification and testing.

So for example, if you have a kernel KMS/DRM driver, and it set the
hardware up, but then you had an open 2D driver and a closed 3D
driver, you would have to make sure there was no functionality in the
kernel that only the 3D driver used as it would become impossible to
openly validate it.

The other issue I see with a lot of these, is the driver are presented
as this is the kernel driver, these APIs are set in stone as we have
binary userspaces already deployed, this is even more unacceptable,
since we need to be able to change the interface and do proper driver
design before merging what looks like crap thrown together in a pile
and made to stick.

Dave.
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Daniel Walker
On Fri, 2010-07-02 at 08:57 +1000, Dave Airlie wrote:
> On Fri, Jul 2, 2010 at 8:51 AM, Daniel Walker  wrote:
> > On Fri, 2010-07-02 at 08:36 +1000, Dave Airlie wrote:
> >> On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie  wrote:
> >> > Now this is just my opinion as maintainer of the drm, and doesn't
> >> > reflect anyone or any official policy, I've also no idea if Linus
> >> > agrees or not.
> >> >
> >> > We are going to start to see a number of companies in the embedded
> >> > space submitting 3D drivers for mobile devices to the kernel. I'd like
> >> > to clarify my position once so they don't all come asking the same
> >> > questions.
> >> >
> >> > If you aren't going to create an open userspace driver (either MIT or
> >> > LGPL) then don't waste time submitting a kernel driver to me.
> >
> > If , for whatever reason, you changed you mind on this what sort of
> > connection between kernel and userspace would these components use?
> >
> > I ask only because I think UIO hold most (if not all) the driver in
> > userspace .. So you would have to use some other interface if you wanted
> > a more half and half solution ..
> >
> 
> The thing is UIO doesn't solve the problem 3D graphics drivers need to
> solve. Which is we need to let unprivileged users access the graphics
> device in an efficient manner, hence why DRI/DRM exists. Now I think
> the tegra guys have done some evil hacks with a userspace daemon to
> replace the kernel functionality, so all they have in-kernel is a
> framebuffer device, since they can't really get away with shipping the
> binary nvidia driver linked to the kernel in a real device. So all
> their userspace closed bits talk to the daemon running as root with
> direct access to the lowlevel hw.

Oh, man .. It seems like any driver model that straddles userspace and
kernel space is kind of asking for trouble (my opinion anyway)..

Would you accept a userspace component that supported some subset of the
features ? You would have a kernel space driver, and userspace both open
source and GPL'd , but the userspace component wouldn't support ever
feature available .. Then the company would be free to make another
proprietary userspace with more features based off the open source one.

Daniel
-- 
Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Daniel Walker
On Fri, 2010-07-02 at 08:57 +1000, Dave Airlie wrote:
> On Fri, Jul 2, 2010 at 8:51 AM, Daniel Walker  
> wrote:
> > On Fri, 2010-07-02 at 08:36 +1000, Dave Airlie wrote:
> >> On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie  wrote:
> >> > Now this is just my opinion as maintainer of the drm, and doesn't
> >> > reflect anyone or any official policy, I've also no idea if Linus
> >> > agrees or not.
> >> >
> >> > We are going to start to see a number of companies in the embedded
> >> > space submitting 3D drivers for mobile devices to the kernel. I'd like
> >> > to clarify my position once so they don't all come asking the same
> >> > questions.
> >> >
> >> > If you aren't going to create an open userspace driver (either MIT or
> >> > LGPL) then don't waste time submitting a kernel driver to me.
> >
> > If , for whatever reason, you changed you mind on this what sort of
> > connection between kernel and userspace would these components use?
> >
> > I ask only because I think UIO hold most (if not all) the driver in
> > userspace .. So you would have to use some other interface if you wanted
> > a more half and half solution ..
> >
> 
> The thing is UIO doesn't solve the problem 3D graphics drivers need to
> solve. Which is we need to let unprivileged users access the graphics
> device in an efficient manner, hence why DRI/DRM exists. Now I think
> the tegra guys have done some evil hacks with a userspace daemon to
> replace the kernel functionality, so all they have in-kernel is a
> framebuffer device, since they can't really get away with shipping the
> binary nvidia driver linked to the kernel in a real device. So all
> their userspace closed bits talk to the daemon running as root with
> direct access to the lowlevel hw.

Oh, man .. It seems like any driver model that straddles userspace and
kernel space is kind of asking for trouble (my opinion anyway)..

Would you accept a userspace component that supported some subset of the
features ? You would have a kernel space driver, and userspace both open
source and GPL'd , but the userspace component wouldn't support ever
feature available .. Then the company would be free to make another
proprietary userspace with more features based off the open source one.

Daniel
-- 
Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.



Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Daniel Walker
On Fri, 2010-07-02 at 08:36 +1000, Dave Airlie wrote:
> On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie  wrote:
> > Now this is just my opinion as maintainer of the drm, and doesn't
> > reflect anyone or any official policy, I've also no idea if Linus
> > agrees or not.
> >
> > We are going to start to see a number of companies in the embedded
> > space submitting 3D drivers for mobile devices to the kernel. I'd like
> > to clarify my position once so they don't all come asking the same
> > questions.
> >
> > If you aren't going to create an open userspace driver (either MIT or
> > LGPL) then don't waste time submitting a kernel driver to me.

If , for whatever reason, you changed you mind on this what sort of
connection between kernel and userspace would these components use?

I ask only because I think UIO hold most (if not all) the driver in
userspace .. So you would have to use some other interface if you wanted
a more half and half solution ..

Daniel

-- 
Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Dave Airlie
On Fri, Jul 2, 2010 at 8:51 AM, Daniel Walker  wrote:
> On Fri, 2010-07-02 at 08:36 +1000, Dave Airlie wrote:
>> On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie  wrote:
>> > Now this is just my opinion as maintainer of the drm, and doesn't
>> > reflect anyone or any official policy, I've also no idea if Linus
>> > agrees or not.
>> >
>> > We are going to start to see a number of companies in the embedded
>> > space submitting 3D drivers for mobile devices to the kernel. I'd like
>> > to clarify my position once so they don't all come asking the same
>> > questions.
>> >
>> > If you aren't going to create an open userspace driver (either MIT or
>> > LGPL) then don't waste time submitting a kernel driver to me.
>
> If , for whatever reason, you changed you mind on this what sort of
> connection between kernel and userspace would these components use?
>
> I ask only because I think UIO hold most (if not all) the driver in
> userspace .. So you would have to use some other interface if you wanted
> a more half and half solution ..
>

The thing is UIO doesn't solve the problem 3D graphics drivers need to
solve. Which is we need to let unprivileged users access the graphics
device in an efficient manner, hence why DRI/DRM exists. Now I think
the tegra guys have done some evil hacks with a userspace daemon to
replace the kernel functionality, so all they have in-kernel is a
framebuffer device, since they can't really get away with shipping the
binary nvidia driver linked to the kernel in a real device. So all
their userspace closed bits talk to the daemon running as root with
direct access to the lowlevel hw.

Dave.
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Daniel Walker
On Fri, 2010-07-02 at 08:36 +1000, Dave Airlie wrote:
> On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie  wrote:
> > Now this is just my opinion as maintainer of the drm, and doesn't
> > reflect anyone or any official policy, I've also no idea if Linus
> > agrees or not.
> >
> > We are going to start to see a number of companies in the embedded
> > space submitting 3D drivers for mobile devices to the kernel. I'd like
> > to clarify my position once so they don't all come asking the same
> > questions.
> >
> > If you aren't going to create an open userspace driver (either MIT or
> > LGPL) then don't waste time submitting a kernel driver to me.

If , for whatever reason, you changed you mind on this what sort of
connection between kernel and userspace would these components use?

I ask only because I think UIO hold most (if not all) the driver in
userspace .. So you would have to use some other interface if you wanted
a more half and half solution ..

Daniel

-- 
Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.



Re: Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Dave Airlie
On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie  wrote:
> Now this is just my opinion as maintainer of the drm, and doesn't
> reflect anyone or any official policy, I've also no idea if Linus
> agrees or not.
>
> We are going to start to see a number of companies in the embedded
> space submitting 3D drivers for mobile devices to the kernel. I'd like
> to clarify my position once so they don't all come asking the same
> questions.
>
> If you aren't going to create an open userspace driver (either MIT or
> LGPL) then don't waste time submitting a kernel driver to me.
>
> My reasons are as follows, the thing is you can probably excuse some
> of these on a point by point basis, but you need to justify why closed
> userspace on all points.
>
> a) licensing, Alan Cox pointed this out before, if you wrote a GPL
> kernel driver, then wrote a closed userspace on top, you open up a
> while world of derived work issues. Can the userspace operate on a
> non-GPL kernel without major modifications etc. This is a can of worms
> I'd rather not enter into, and there are a few workarounds.
>
> b) verifying the sanity of the userspace API.
> 1. Security: GPUs can do a lot of damage if left at home alone, since
> mostly you are submitting command streams unverified into the GPU and
> won't tell us what they mean, there is little way we can work out if
> the GPU is going to over-write my passwd file to get 5 fps more in
> quake. Now newer GPUs have at least started having MMUs, but again
> we've no idea if that is the only way they work without docs or a lot
> of trust.
>
> 2. General API suitability and versioning. How do we check that API is
> sane wrt to userspace, if we can't verify the userspace. What happens
> if the API has lots of 32/64 compat issues or things like that, and
> when we fix them the binary userspace breaks? How do we know, how do
> we test etc. What happens if a security issue forces us to break the
> userspace API? how do we fix the userspace driver and test to confirm?
>
> c) supplying docs in lieu of an open userspace
> If you were to fully document the GPU so we could verify the
> security/api aspects it leaves us in the position of writing our own
> driver. Now writing that driver on top of the current kernel driver
> would probably limit any innovation, and most people would want to
> write a new kernel driver from scratch. Now we end up with two drivers
> fighting, how do we pick which one to load at boot? can we ever do a
> generic distro kernel for that device (assuming ARM ever solves that
> issue).
>
> I've also noticed a trend to just reinvent the whole wheel instead of
> writing a drm/kms driver and having that as the API, again maintainer
> nightmares are made of this.
>
> Dave.

Oh and (one other thought)

d) you are placing the maintenance burden in the wrong place

So you've upstreamed the kernel bits, kept the good userspace bits to
yourselfs, are stroking them on your lap like some sort of Dr Evil,
now why should the upstream kernel maintainers take the burden when
you won't actually give them the stuff to really make their hardware
work? This goes for nvidia type situations as well, the whole point is
to place the maintainer burden at the feet of the people causing the
problems in an effort to make them change. Allowing even an hour of
that burden to be transferred upstream, means more profit for them,
but nothing in return for us.

Dave.
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Closed source userspace graphics drivers with an open source kernel component

2010-07-01 Thread Dave Airlie
Now this is just my opinion as maintainer of the drm, and doesn't
reflect anyone or any official policy, I've also no idea if Linus
agrees or not.

We are going to start to see a number of companies in the embedded
space submitting 3D drivers for mobile devices to the kernel. I'd like
to clarify my position once so they don't all come asking the same
questions.

If you aren't going to create an open userspace driver (either MIT or
LGPL) then don't waste time submitting a kernel driver to me.

My reasons are as follows, the thing is you can probably excuse some
of these on a point by point basis, but you need to justify why closed
userspace on all points.

a) licensing, Alan Cox pointed this out before, if you wrote a GPL
kernel driver, then wrote a closed userspace on top, you open up a
while world of derived work issues. Can the userspace operate on a
non-GPL kernel without major modifications etc. This is a can of worms
I'd rather not enter into, and there are a few workarounds.

b) verifying the sanity of the userspace API.
1. Security: GPUs can do a lot of damage if left at home alone, since
mostly you are submitting command streams unverified into the GPU and
won't tell us what they mean, there is little way we can work out if
the GPU is going to over-write my passwd file to get 5 fps more in
quake. Now newer GPUs have at least started having MMUs, but again
we've no idea if that is the only way they work without docs or a lot
of trust.

2. General API suitability and versioning. How do we check that API is
sane wrt to userspace, if we can't verify the userspace. What happens
if the API has lots of 32/64 compat issues or things like that, and
when we fix them the binary userspace breaks? How do we know, how do
we test etc. What happens if a security issue forces us to break the
userspace API? how do we fix the userspace driver and test to confirm?

c) supplying docs in lieu of an open userspace
If you were to fully document the GPU so we could verify the
security/api aspects it leaves us in the position of writing our own
driver. Now writing that driver on top of the current kernel driver
would probably limit any innovation, and most people would want to
write a new kernel driver from scratch. Now we end up with two drivers
fighting, how do we pick which one to load at boot? can we ever do a
generic distro kernel for that device (assuming ARM ever solves that
issue).

I've also noticed a trend to just reinvent the whole wheel instead of
writing a drm/kms driver and having that as the API, again maintainer
nightmares are made of this.

Dave.
___
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel