NVIDIA Publishes Revised Open-Source TK1 Graphics Code
Phoronix: NVIDIA Publishes Revised Open-Source TK1 Graphics Code
NVIDIA has published the third revision of their open-source Nouveau kernel DRM driver patches for supporting the "GK20A" Kepler graphics of their Tegra K1 SoC...
This is purely speculation on my part, but it seems to me that nvidia is quietly going with the same approach amd proposed a while ago: using a single DRM component for both open and closed drivers
What does it mean?
Can someone say what it means? Do we get a proper OpenGL 4.4 implementation with it, or is it just driver, and if it is do we get proper power management too?
Originally Posted by phoronix
OpenGL 4.4 would have to be implemented into mesa not nouveau. NVIDIA wants to make sure that every GPU works out of the box with the open source drivers (produces a picture) nothing more.
Originally Posted by mmrezaie
nvidia and nouveau has a clear performance difference. Does it mean that it comes from the mesa implementation or there are some special tricks that nvidia does in the blob. Is it even feasible to expect some day to see the same performance in them?
Originally Posted by blackout23
Noveau's main downfall is that it doesn't support reclocking. The GPU-RAM and Core clocks are locked at their booting frequencies which are the lowest speeds the card supports. Certain cards have manual reclocking, but no card has automatic reclocking (AFAIK).. Memory reclocking is at best "archaic", and there was a video out a couple years ago that said the Nvidia engineers basically get a printout from the hardware guys that said "Poke this register to do this thing. Poke this register to do that thing. Poke this register those things." So if you don't have that printout its total guess-and-check..
Originally Posted by mmrezaie
...for the low power hardware. Currently, Nvidia is collaborating with the Nouveau team regarding their "Tegra" line of products.
Originally Posted by Figueiredo
And it does make sense: this line targets the embed market, where Linux has a very strong presence. It makes sense to have hardware working "out-of-the box". And in the long term, it might be interesting to have the same DRM module for everyone and a Nvidia's binary only user-space 3D driver (with the secret sauce + 3rd party code + Digital Restriction Management hidden in it).
Linux is a very rapidly changing target, specially now in the embed sector (ARM platform are consolidating. Linux is in the process of moving from a state of: every manufacturer makes a monolithic one-shot patch against an old kernel and doesn't update much [you end up with tons of different code branches running on deprecated kernel] to a state of: ARM is supported just like x86 on Linux - you have different drivers for the different subsystems - and hardware maker only make small "thin" patche (which are basically description of which of the standard subsystems are used on a specific piece of hardware) [you end up with very few redundance, better maintainability and ability to get kernel upgrades even on less popular hw platforms] ).
That much regular changes, means that it would be easier for ARM GPU maker to let the linux kernel people handle the transition and concentrate on the real differentiator (the 3D performance).
Sadly, there's a big show stopper in the case of NVIDIA: as mentionned Nouveau doesn't handle re-clocking and hardware is stuck low-performance economic mode. Nouveau is barely able to just turn the display on, and doesn't serve much purpose beyond "being the thing that runs your GUI until you download the binary driver".
...meanwhile, on the desktop side of things, Nvidia behaviour seems to be "fuck you, we do things our way".
Also understable (a bit) from their perspective: their main market on the desktop is Windows, where they have produced a very strong driver. Linux is a side market. In stead of spending ressource of getting the things work "the linux way", they prefer to more-or-less recompile the same shit as on Windows: they get the same strong driver, even if they won't support any advanced functionnality in a linux compatible way. (over simplification but you get the things). It took them a lot of time to get them to support XRandR, and good optimus support is still M.I.A.
And I don't think that Steambox and SteamOS is going to change much in that field: it's mainly a single-app environment. It's easier to them to keep using the same approach "Share the monolith with Windows", rather than try to get support for all the various Linux protocols that won't make that much sense on a game running full screen.
Yes, but "Tegra" is already using geforce archtecture (kepler), so the driver is pretty much the same for tegra and desktop, except for being compiled for arm instead of x86 (including support for OGL 4.4, CUDA, etc...). So the question is, since this work is already being done for tegra anyway, would it be more efficient to share the geforce driver with tegra for linux or with geforce for windows?
Originally Posted by DrYak