* Closed source userspace graphics drivers with an open source kernel component
@ 2010-07-01 22:10 Dave Airlie
2010-07-01 22:36 ` Dave Airlie
` (3 more replies)
0 siblings, 4 replies; 35+ messages in thread
From: Dave Airlie @ 2010-07-01 22:10 UTC (permalink / raw)
To: LKML, dri-devel
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-01 22:10 Closed source userspace graphics drivers with an open source kernel component Dave Airlie
@ 2010-07-01 22:36 ` Dave Airlie
2010-07-01 22:51 ` Daniel Walker
2010-07-01 23:51 ` Piotr Gluszenia Slawinski
` (2 subsequent siblings)
3 siblings, 1 reply; 35+ messages in thread
From: Dave Airlie @ 2010-07-01 22:36 UTC (permalink / raw)
To: LKML, dri-devel
On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie <airlied@gmail.com> 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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-01 22:36 ` Dave Airlie
@ 2010-07-01 22:51 ` Daniel Walker
2010-07-01 22:57 ` Dave Airlie
0 siblings, 1 reply; 35+ messages in thread
From: Daniel Walker @ 2010-07-01 22:51 UTC (permalink / raw)
To: Dave Airlie; +Cc: LKML, dri-devel
On Fri, 2010-07-02 at 08:36 +1000, Dave Airlie wrote:
> On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie <airlied@gmail.com> 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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-01 22:51 ` Daniel Walker
@ 2010-07-01 22:57 ` Dave Airlie
2010-07-01 23:29 ` Daniel Walker
0 siblings, 1 reply; 35+ messages in thread
From: Dave Airlie @ 2010-07-01 22:57 UTC (permalink / raw)
To: Daniel Walker; +Cc: LKML, dri-devel
On Fri, Jul 2, 2010 at 8:51 AM, Daniel Walker <dwalker@codeaurora.org> wrote:
> On Fri, 2010-07-02 at 08:36 +1000, Dave Airlie wrote:
>> On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie <airlied@gmail.com> 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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-01 22:57 ` Dave Airlie
@ 2010-07-01 23:29 ` Daniel Walker
2010-07-01 23:37 ` Dave Airlie
0 siblings, 1 reply; 35+ messages in thread
From: Daniel Walker @ 2010-07-01 23:29 UTC (permalink / raw)
To: Dave Airlie; +Cc: LKML, dri-devel, linux-arm-msm, jcrouse
On Fri, 2010-07-02 at 08:57 +1000, Dave Airlie wrote:
> On Fri, Jul 2, 2010 at 8:51 AM, Daniel Walker <dwalker@codeaurora.org> wrote:
> > On Fri, 2010-07-02 at 08:36 +1000, Dave Airlie wrote:
> >> On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie <airlied@gmail.com> 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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-01 23:29 ` Daniel Walker
@ 2010-07-01 23:37 ` Dave Airlie
2010-07-02 0:08 ` Daniel Walker
0 siblings, 1 reply; 35+ messages in thread
From: Dave Airlie @ 2010-07-01 23:37 UTC (permalink / raw)
To: Daniel Walker; +Cc: LKML, dri-devel, linux-arm-msm, jcrouse
On Fri, Jul 2, 2010 at 9:29 AM, Daniel Walker <dwalker@codeaurora.org> wrote:
> On Fri, 2010-07-02 at 08:57 +1000, Dave Airlie wrote:
>> On Fri, Jul 2, 2010 at 8:51 AM, Daniel Walker <dwalker@codeaurora.org> wrote:
>> > On Fri, 2010-07-02 at 08:36 +1000, Dave Airlie wrote:
>> >> On Fri, Jul 2, 2010 at 8:10 AM, Dave Airlie <airlied@gmail.com> 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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-01 22:10 Closed source userspace graphics drivers with an open source kernel component Dave Airlie
2010-07-01 22:36 ` Dave Airlie
@ 2010-07-01 23:51 ` Piotr Gluszenia Slawinski
2010-07-02 1:27 ` Corbin Simpson
2010-07-02 7:48 ` Christoph Hellwig
2010-07-02 9:58 ` Luc Verhaegen
3 siblings, 1 reply; 35+ messages in thread
From: Piotr Gluszenia Slawinski @ 2010-07-01 23:51 UTC (permalink / raw)
To: Dave Airlie; +Cc: LKML, dri-devel
> 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.
--
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-01 23:37 ` Dave Airlie
@ 2010-07-02 0:08 ` Daniel Walker
2010-07-02 0:13 ` Dave Airlie
0 siblings, 1 reply; 35+ messages in thread
From: Daniel Walker @ 2010-07-02 0:08 UTC (permalink / raw)
To: Dave Airlie; +Cc: LKML, dri-devel, linux-arm-msm, jcrouse
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 0:08 ` Daniel Walker
@ 2010-07-02 0:13 ` Dave Airlie
2010-07-02 0:18 ` Saravana Kannan
0 siblings, 1 reply; 35+ messages in thread
From: Dave Airlie @ 2010-07-02 0:13 UTC (permalink / raw)
To: Daniel Walker; +Cc: LKML, dri-devel, linux-arm-msm, jcrouse
On Fri, Jul 2, 2010 at 10:08 AM, Daniel Walker <dwalker@codeaurora.org> 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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 0:13 ` Dave Airlie
@ 2010-07-02 0:18 ` Saravana Kannan
[not found] ` <AANLkTilsqmCZwLUNJhvDKkralHQZzlRV3ZxaIGbt9-xB@mail.gmail.com>
0 siblings, 1 reply; 35+ messages in thread
From: Saravana Kannan @ 2010-07-02 0:18 UTC (permalink / raw)
To: Dave Airlie; +Cc: Daniel Walker, LKML, dri-devel, linux-arm-msm, jcrouse
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
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
[not found] ` <AANLkTinvzJrx4AqgWYuMg66Djf-snouLQZE7wI9Bu0Kv@mail.gmail.com>
@ 2010-07-02 0:42 ` Timothy Meade
2010-07-02 2:46 ` Dave Airlie
0 siblings, 1 reply; 35+ messages in thread
From: Timothy Meade @ 2010-07-02 0:42 UTC (permalink / raw)
To: Saravana Kannan; +Cc: LKML, dri-devel, linux-arm-msm, jcrouse
---------- Forwarded message ----------
From: Timothy Meade <zt.tmzt@gmail.com>
Date: Thu, Jul 1, 2010 at 8:38 PM
Subject: Closed source userspace graphics drivers with an open source
kernel component
To: Saravana Kannan <skannan@codeaurora.org>
Cc: LKML <linux-kernel@vger.kernel.org>, dri-devel
<dri-devel@lists.freedesktop.org>, linux-arm-msm@vger.kernel.org,
jcrouse@codeaurora.org
On Thu, Jul 1, 2010 at 8:18 PM, Saravana Kannan <skannan@codeaurora.org> 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@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)
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-01 23:51 ` Piotr Gluszenia Slawinski
@ 2010-07-02 1:27 ` Corbin Simpson
0 siblings, 0 replies; 35+ messages in thread
From: Corbin Simpson @ 2010-07-02 1:27 UTC (permalink / raw)
To: Piotr Gluszenia Slawinski; +Cc: Dave Airlie, LKML, dri-devel
I thought Intel shelved Larrabee.
~ C.
On Thu, Jul 1, 2010 at 4:51 PM, Piotr Gluszenia Slawinski
<curious@bwv190.internetdsl.tpnet.pl> 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@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
<MostAwesomeDude@gmail.com>
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 0:42 ` Timothy Meade
@ 2010-07-02 2:46 ` Dave Airlie
2010-07-02 3:01 ` Piotr Gluszenia Slawinski
0 siblings, 1 reply; 35+ messages in thread
From: Dave Airlie @ 2010-07-02 2:46 UTC (permalink / raw)
To: Timothy Meade; +Cc: Saravana Kannan, linux-arm-msm, LKML, dri-devel
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 2:46 ` Dave Airlie
@ 2010-07-02 3:01 ` Piotr Gluszenia Slawinski
2010-07-02 4:54 ` Howard Chu
2010-07-14 13:24 ` Pavel Machek
0 siblings, 2 replies; 35+ messages in thread
From: Piotr Gluszenia Slawinski @ 2010-07-02 3:01 UTC (permalink / raw)
To: Dave Airlie
Cc: Timothy Meade, linux-arm-msm, Saravana Kannan, LKML, dri-devel
> 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.
--
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 3:01 ` Piotr Gluszenia Slawinski
@ 2010-07-02 4:54 ` Howard Chu
2010-07-02 6:52 ` Piotr Gluszenia Slawinski
2010-07-14 13:24 ` Pavel Machek
1 sibling, 1 reply; 35+ messages in thread
From: Howard Chu @ 2010-07-02 4:54 UTC (permalink / raw)
To: Piotr Gluszenia Slawinski
Cc: Dave Airlie, Timothy Meade, linux-arm-msm, Saravana Kannan, LKML,
dri-devel
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/
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 4:54 ` Howard Chu
@ 2010-07-02 6:52 ` Piotr Gluszenia Slawinski
0 siblings, 0 replies; 35+ messages in thread
From: Piotr Gluszenia Slawinski @ 2010-07-02 6:52 UTC (permalink / raw)
To: Howard Chu
Cc: Dave Airlie, Timothy Meade, linux-arm-msm, Saravana Kannan, LKML,
dri-devel
> 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.
--
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-01 22:10 Closed source userspace graphics drivers with an open source kernel component Dave Airlie
2010-07-01 22:36 ` Dave Airlie
2010-07-01 23:51 ` Piotr Gluszenia Slawinski
@ 2010-07-02 7:48 ` Christoph Hellwig
2010-07-02 9:58 ` Luc Verhaegen
3 siblings, 0 replies; 35+ messages in thread
From: Christoph Hellwig @ 2010-07-02 7:48 UTC (permalink / raw)
To: Dave Airlie; +Cc: LKML, dri-devel
100% agreed on the rationale, and I hope you can keep this crap out!
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-01 22:10 Closed source userspace graphics drivers with an open source kernel component Dave Airlie
` (2 preceding siblings ...)
2010-07-02 7:48 ` Christoph Hellwig
@ 2010-07-02 9:58 ` Luc Verhaegen
2010-07-02 10:15 ` Christoph Hellwig
` (2 more replies)
3 siblings, 3 replies; 35+ messages in thread
From: Luc Verhaegen @ 2010-07-02 9:58 UTC (permalink / raw)
To: Dave Airlie; +Cc: LKML, dri-devel
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 graphics drivers. If, for instance, you hadn't been given a
wildcard by your employer, you would never have gone close to AMD hw unless for some
spare time poking and occasional bugfixing.
Also, before you throw this up: for nouveau, documentation would take part of the fun,
the attraction and excitement, away. Provide docs, and then only a few very industrious
people will remain, and they will also get weary after a while, or they get hired by
someone to continue their work, bringing us right back to the corporate world.
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.
I think it even should be possible to find statements of you and/or alex, and
definitely bridgman, where it is claimed that for ATI, "the code is the documentation".
If you are backing this reasoning for ATI, what is wrong with this code being the
documentation for Qualcomm?
This point about documentation at least does not seem very credible coming from you,
with your history, especially with respect to the ATI story.
> 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.
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 think about providing
stable and fitting infrastructure, not just stating that something is how _you_ are
doing it and declaring that the law.
Next to that, the IP heavy part that cannot be released (yet?) might be some blob that
is used on both linux, windows, ximbian, etc. The concept of talking to some os
independent blob through some painful and ever-shifting layer is not that alien even to
you, with your staunch defending of ATIs AtomBIOS over more direct modesetting.
Also, from where i sit, you complaining about people reinventing the wheel does bring
me some bitter amusement.
As a conclusion: With you having sent this mail, guess what the guys at qualcomm, and
most likely imagination technologies and ARM as well (i think we can already discount
nvidia -- they are far too adept at producing solid closed source drivers -- to
desktop users satisfaction too), will do next?
We already squandered the free software desktop (on x86), and part of the
responsibility for that is with the graphics hw support (and the radeon versus radeonhd
story shows nicely how to go about squandering such things). What i see here is that
you clearly want to go down a similar street with the now blossoming ARM market.
Thanks alot,
Luc Verhaegen.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 9:58 ` Luc Verhaegen
@ 2010-07-02 10:15 ` Christoph Hellwig
2010-07-02 11:12 ` Luc Verhaegen
2010-07-02 10:23 ` Dave Airlie
2010-07-03 0:41 ` Ian Romanick
2 siblings, 1 reply; 35+ messages in thread
From: Christoph Hellwig @ 2010-07-02 10:15 UTC (permalink / raw)
To: Luc Verhaegen; +Cc: Dave Airlie, LKML, dri-devel
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 9:58 ` Luc Verhaegen
2010-07-02 10:15 ` Christoph Hellwig
@ 2010-07-02 10:23 ` Dave Airlie
2010-07-02 11:10 ` Luc Verhaegen
2010-07-03 0:41 ` Ian Romanick
2 siblings, 1 reply; 35+ messages in thread
From: Dave Airlie @ 2010-07-02 10:23 UTC (permalink / raw)
To: Luc Verhaegen; +Cc: LKML, dri-devel
>
> 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 think about providing
> stable and fitting infrastructure, not just stating that something is how _you_ are
> doing it and declaring that the law.
>
> Next to that, the IP heavy part that cannot be released (yet?) might be some blob that
> is used on both linux, windows, ximbian, etc. The concept of talking to some os
> independent blob through some painful and ever-shifting layer is not that alien even to
> you, with your staunch defending of ATIs AtomBIOS over more direct modesetting.
>
> Also, from where i sit, you complaining about people reinventing the wheel does bring
> me some bitter amusement.
>
> As a conclusion: With you having sent this mail, guess what the guys at qualcomm, and
> most likely imagination technologies and ARM as well (i think we can already discount
> nvidia -- they are far too adept at producing solid closed source drivers -- to
> desktop users satisfaction too), will do next?
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.
>
> We already squandered the free software desktop (on x86), and part of the
> responsibility for that is with the graphics hw support (and the radeon versus radeonhd
> story shows nicely how to go about squandering such things). What i see here is that
> you clearly want to go down a similar street with the now blossoming ARM market.
>
Maybe you should disclose what NDAs you currently are under and who
pays your bills, since you accuse me of Red Hat mind-control.
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.
Dave.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 10:23 ` Dave Airlie
@ 2010-07-02 11:10 ` Luc Verhaegen
2010-07-02 11:53 ` Dave Airlie
2010-07-02 14:01 ` Anton Vorontsov
0 siblings, 2 replies; 35+ messages in thread
From: Luc Verhaegen @ 2010-07-02 11:10 UTC (permalink / raw)
To: Dave Airlie; +Cc: LKML, dri-devel
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 10:15 ` Christoph Hellwig
@ 2010-07-02 11:12 ` Luc Verhaegen
2010-07-02 11:26 ` Dave Airlie
0 siblings, 1 reply; 35+ messages in thread
From: Luc Verhaegen @ 2010-07-02 11:12 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Dave Airlie, LKML, dri-devel
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 11:12 ` Luc Verhaegen
@ 2010-07-02 11:26 ` Dave Airlie
0 siblings, 0 replies; 35+ messages in thread
From: Dave Airlie @ 2010-07-02 11:26 UTC (permalink / raw)
To: Luc Verhaegen; +Cc: Christoph Hellwig, LKML, dri-devel
On Fri, Jul 2, 2010 at 9:12 PM, Luc Verhaegen <libv@skynet.be> 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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 11:10 ` Luc Verhaegen
@ 2010-07-02 11:53 ` Dave Airlie
2010-07-02 12:07 ` "C. Bergström"
[not found] ` <AANLkTinZXHi_mbmsX1HTzbMNjQx7j0rbEfTKSoz-02CF@mail.gmail.com>
2010-07-02 14:01 ` Anton Vorontsov
1 sibling, 2 replies; 35+ messages in thread
From: Dave Airlie @ 2010-07-02 11:53 UTC (permalink / raw)
To: Luc Verhaegen; +Cc: LKML, dri-devel
> 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 have
today.
Dave.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 11:53 ` Dave Airlie
@ 2010-07-02 12:07 ` "C. Bergström"
2010-07-02 14:45 ` Xavier Bestel
[not found] ` <AANLkTinZXHi_mbmsX1HTzbMNjQx7j0rbEfTKSoz-02CF@mail.gmail.com>
1 sibling, 1 reply; 35+ messages in thread
From: "C. Bergström" @ 2010-07-02 12:07 UTC (permalink / raw)
To: Dave Airlie; +Cc: Luc Verhaegen, LKML, dri-devel
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
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 11:10 ` Luc Verhaegen
2010-07-02 11:53 ` Dave Airlie
@ 2010-07-02 14:01 ` Anton Vorontsov
1 sibling, 0 replies; 35+ messages in thread
From: Anton Vorontsov @ 2010-07-02 14:01 UTC (permalink / raw)
To: Luc Verhaegen; +Cc: Dave Airlie, LKML, dri-devel
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@gmail.com
irc://irc.freenode.net/bd2
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 12:07 ` "C. Bergström"
@ 2010-07-02 14:45 ` Xavier Bestel
2010-07-02 15:03 ` "C. Bergström"
0 siblings, 1 reply; 35+ messages in thread
From: Xavier Bestel @ 2010-07-02 14:45 UTC (permalink / raw)
To: "C. Bergström"; +Cc: Dave Airlie, LKML, dri-devel
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
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 14:45 ` Xavier Bestel
@ 2010-07-02 15:03 ` "C. Bergström"
0 siblings, 0 replies; 35+ messages in thread
From: "C. Bergström" @ 2010-07-02 15:03 UTC (permalink / raw)
To: Xavier Bestel; +Cc: "C. Bergström", Dave Airlie, LKML, dri-devel
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..
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 9:58 ` Luc Verhaegen
2010-07-02 10:15 ` Christoph Hellwig
2010-07-02 10:23 ` Dave Airlie
@ 2010-07-03 0:41 ` Ian Romanick
2 siblings, 0 replies; 35+ messages in thread
From: Ian Romanick @ 2010-07-03 0:41 UTC (permalink / raw)
To: Luc Verhaegen; +Cc: Dave Airlie, LKML, dri-devel
-----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-----
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
[not found] ` <AANLkTinZXHi_mbmsX1HTzbMNjQx7j0rbEfTKSoz-02CF@mail.gmail.com>
@ 2010-07-04 7:27 ` Dave Airlie
2010-07-04 11:03 ` Theodore Tso
0 siblings, 1 reply; 35+ messages in thread
From: Dave Airlie @ 2010-07-04 7:27 UTC (permalink / raw)
To: Magnus Wendt; +Cc: Luc Verhaegen, LKML, dri-devel
On Sun, Jul 4, 2010 at 5:06 PM, Magnus Wendt <magnus.wendt@gmail.com> wrote:
>
>
> 2010/7/2 Dave Airlie <airlied@gmail.com>
>>
>> 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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-04 7:27 ` Dave Airlie
@ 2010-07-04 11:03 ` Theodore Tso
2010-07-04 15:37 ` Matthew Garrett
2010-07-04 20:05 ` Dave Airlie
0 siblings, 2 replies; 35+ messages in thread
From: Theodore Tso @ 2010-07-04 11:03 UTC (permalink / raw)
To: Dave Airlie; +Cc: Magnus Wendt, Luc Verhaegen, LKML, dri-devel
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
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-04 11:03 ` Theodore Tso
@ 2010-07-04 15:37 ` Matthew Garrett
2010-07-04 20:05 ` Dave Airlie
1 sibling, 0 replies; 35+ messages in thread
From: Matthew Garrett @ 2010-07-04 15:37 UTC (permalink / raw)
To: Theodore Tso; +Cc: Dave Airlie, Magnus Wendt, Luc Verhaegen, LKML, dri-devel
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@srcf.ucam.org
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-04 11:03 ` Theodore Tso
2010-07-04 15:37 ` Matthew Garrett
@ 2010-07-04 20:05 ` Dave Airlie
1 sibling, 0 replies; 35+ messages in thread
From: Dave Airlie @ 2010-07-04 20:05 UTC (permalink / raw)
To: Theodore Tso; +Cc: Magnus Wendt, Luc Verhaegen, LKML, dri-devel
On Sun, Jul 4, 2010 at 9:03 PM, Theodore Tso <tytso@mit.edu> 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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-02 3:01 ` Piotr Gluszenia Slawinski
2010-07-02 4:54 ` Howard Chu
@ 2010-07-14 13:24 ` Pavel Machek
2010-07-16 0:42 ` Tim HRM
1 sibling, 1 reply; 35+ messages in thread
From: Pavel Machek @ 2010-07-14 13:24 UTC (permalink / raw)
To: Piotr Gluszenia Slawinski
Cc: Dave Airlie, Timothy Meade, linux-arm-msm, Saravana Kannan, LKML,
dri-devel
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
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Closed source userspace graphics drivers with an open source kernel component
2010-07-14 13:24 ` Pavel Machek
@ 2010-07-16 0:42 ` Tim HRM
0 siblings, 0 replies; 35+ messages in thread
From: Tim HRM @ 2010-07-16 0:42 UTC (permalink / raw)
To: Pavel Machek
Cc: Piotr Gluszenia Slawinski, Dave Airlie, linux-arm-msm,
Saravana Kannan, LKML, dri-devel
On Wed, Jul 14, 2010 at 9:24 AM, Pavel Machek <pavel@ucw.cz> 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
^ permalink raw reply [flat|nested] 35+ messages in thread
end of thread, other threads:[~2010-07-16 0:42 UTC | newest]
Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-01 22:10 Closed source userspace graphics drivers with an open source kernel component Dave Airlie
2010-07-01 22:36 ` Dave Airlie
2010-07-01 22:51 ` Daniel Walker
2010-07-01 22:57 ` Dave Airlie
2010-07-01 23:29 ` Daniel Walker
2010-07-01 23:37 ` Dave Airlie
2010-07-02 0:08 ` Daniel Walker
2010-07-02 0:13 ` Dave Airlie
2010-07-02 0:18 ` Saravana Kannan
[not found] ` <AANLkTilsqmCZwLUNJhvDKkralHQZzlRV3ZxaIGbt9-xB@mail.gmail.com>
[not found] ` <AANLkTinvzJrx4AqgWYuMg66Djf-snouLQZE7wI9Bu0Kv@mail.gmail.com>
2010-07-02 0:42 ` Timothy Meade
2010-07-02 2:46 ` Dave Airlie
2010-07-02 3:01 ` Piotr Gluszenia Slawinski
2010-07-02 4:54 ` Howard Chu
2010-07-02 6:52 ` Piotr Gluszenia Slawinski
2010-07-14 13:24 ` Pavel Machek
2010-07-16 0:42 ` Tim HRM
2010-07-01 23:51 ` Piotr Gluszenia Slawinski
2010-07-02 1:27 ` Corbin Simpson
2010-07-02 7:48 ` Christoph Hellwig
2010-07-02 9:58 ` Luc Verhaegen
2010-07-02 10:15 ` Christoph Hellwig
2010-07-02 11:12 ` Luc Verhaegen
2010-07-02 11:26 ` Dave Airlie
2010-07-02 10:23 ` Dave Airlie
2010-07-02 11:10 ` Luc Verhaegen
2010-07-02 11:53 ` Dave Airlie
2010-07-02 12:07 ` "C. Bergström"
2010-07-02 14:45 ` Xavier Bestel
2010-07-02 15:03 ` "C. Bergström"
[not found] ` <AANLkTinZXHi_mbmsX1HTzbMNjQx7j0rbEfTKSoz-02CF@mail.gmail.com>
2010-07-04 7:27 ` Dave Airlie
2010-07-04 11:03 ` Theodore Tso
2010-07-04 15:37 ` Matthew Garrett
2010-07-04 20:05 ` Dave Airlie
2010-07-02 14:01 ` Anton Vorontsov
2010-07-03 0:41 ` Ian Romanick
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox