[Ksummit-2012-discuss] [ATTEND] NVIDIA education, and embedded architectures
Matthew Garrett
mjg59 at srcf.ucam.org
Wed Jun 20 15:27:02 UTC 2012
On Tue, Jun 19, 2012 at 08:09:58PM -0600, Stephen Warren wrote:
> * Within the constraints I have, what should I and perhaps other NVIDIA
> employees be contributing to in the kernel? In a Google+ comment, Linus
> noted that we have mainly been contributing patches for Tegra SoC
> infra-structure details. I'm curious what other areas people might
> expect me/NVIDIA to contribute to. I assume the issue is mainly the lack
> of open support for the graphics-related parts of our HW, but perhaps
> there's some expectation that we'd also start helping out some core area
> of the kernel too? Would that kind of thing help our image even if we
> didn't open up our HW?
Stop working on the nvidia kernel driver. The things that you consider
trade secrets are almost entirely in your 3D engine. Move your 3D driver
to userspace and use nouveau for command submission. It'd still somewhat
suck having a closed 3D driver, but it'd be far better than the current
situation of having two drivers for the same hardware.
The nvidia driver is problematic for two reasons:
(1) It doesn't integrate at all with the rest of the kernel. It doesn't
expose the right sort of backlight interface, it doesn't use ACPI
properly, it doesn't integrate with the work being done on GPU
offloading. Any of these features that it ends up supporting tend to be
entirely independently implemented by nvidia and don't work well with
the existing userspace tools.
(2) It's closed, so we can't do anything about (1).
It's difficult to imagine that anything in the nouveau driver embodies
anything that nvidia could consider any kind of trade secret. Your 3D
driver would require substantial rearchitecture to use it rather than
your existing kernel code, but if the claim is "We can't because trade
secrets" rather than "We can't because engineering effort" then just
make it happen.
Further, as the industry moves to secure boot, you're going to have
incredible difficulty providing a closed kernel driver. Even if we have
some mechanism for third-party signing, that means you'll have to
provide a pre-compiled kernel module for every kernel you want to
support. It's going to become much less painful for you to move to an
open kernel/closed userspace model.
--
Matthew Garrett | mjg59 at srcf.ucam.org
More information about the Ksummit-2012-discuss
mailing list