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

Daniel Walker
2010-07-01T23:29:46Z

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.