NVIDIA to provide documentation for Nouveau
From: | Andy Ritger <aritger@nvidia.com> | |
To: | <nouveau@lists.freedesktop.org> | |
Subject: | offer to help, DCB | |
Date: | Mon, 23 Sep 2013 21:44:57 -0700 | |
Message-ID: | <20130924044457.GA25785@parker.nvidia.com> | |
Archive‑link: | Article |
Hi Nouveau developers, NVIDIA is releasing public documentation on certain aspects of our GPUs, with the intent to address areas that impact the out-of-the-box usability of NVIDIA GPUs with Nouveau. We intend to provide more documentation over time, and guidance in additional areas as we are able. As a first step towards that, we've posted a document here: ftp://download.nvidia.com/open-gpu-doc/DCB/1/DCB-4.0-Spec... that documents the Device Control Block ("DCB") layout in the VBIOS. The DCB describes board topology and the board's display connectors. I suspect much of the information in that document is not news for the Nouveau community, but hopefully it will be helpful to confirm your understanding or flesh out the implementation of a few unhandled cases. A few of us who work on NVIDIA's proprietary Linux GPU driver will pay attention to nouveau@lists.freedesktop.org and try to chime in when we can. If there are specific areas of documentation that would most help you, that feedback would help NVIDIA prioritize our documentation efforts. If you have specific questions for NVIDIA, you can ask here, or direct them to: open-gpu-doc@nvidia.com I can't promise we'll be able to answer everything, but we'll provide best-effort in areas where we are able. Thanks, - Andy Ritger
(Log in to post comments)
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 7:48 UTC (Tue) by imgx64 (guest, #78590) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 7:56 UTC (Tue) by MKesper (subscriber, #38539) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 8:20 UTC (Tue) by rvfh (guest, #31018) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 10:20 UTC (Tue) by khim (subscriber, #9252) [Link]
as their cards are definitely the best on the market
Not anymore. And apparently nVidia is in deep trouble.
It's funny, really: when company is in trouble it suddenly "discovers" FOSS community. ATI was quite happy with their own closed-source drivers, but when it was bought by AMD and lost some momentum it opened up the GPU specs, now nVidia follows the suit. Intel was never all that hot which is probably why it opened up first.
We'll see what happens on mobile front: will Mali be able to gain the advantage and push PowerVR to the backseat? If that'll happen we should see “sudden surprise” reaction from Imagination Technologies, too.
P.S. Only it does not work that way: sure, FOSS driver eventually become better then closed-source one, but it takes years and thus they usually don't come out fast enough to save the company from troubles.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 12:37 UTC (Tue) by rvfh (guest, #31018) [Link]
The S|C article is interesting read, as usual. And they are often more than _semi_-accurate :-)
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 13:05 UTC (Tue) by khim (subscriber, #9252) [Link]
The first article shows that the flagship-to-come from AMD/ATI is hardly the power of a several-months-old NVIDIA product (the GTX TITAN).
The first article shows that $600 AMD card beats $1000 nVidia card. The second article shows that nVidia has no adequate response to that. Situation is similar to the release of Intel's Core. Prior to that Athlon 64 reigned supreme and Intel was only able to sell any Netburst CPUs because it had long-term contracts (some of them illegal) and supreme PR machine in place. After release of Core AMD fortunes have changed 180 degrees and CPU from AMD was never after a good deal speedwise (or powerwise for that matter). Today AMD only survives because it's GPUs (and consequently APU) are still doing great.
nVidia is in similar situation: historically it was always slightly better, slightly faster then AMD (right after AMD's release of new GPU it had the lead and right after nVidia's release of new GPU it had the lead but usually AMD had the lead for a shorter time), but it looks like it's about to face few tough years.
This may be the reason for today's announcement or it may be just a conicidence, but still, the fact that nVidia is in trouble (in more ways then one) and it's when it opens up is funny.
NVIDIA to provide documentation for Nouveau
Posted Sep 26, 2013 9:09 UTC (Thu) by mingo (subscriber, #31122) [Link]
You are comparing apples to oranges really: pricing of GTX Titan is so high because it's seen as the fastest card on the planet at the moment, so it can milk as much money from the "I don't care about the price of the GPU" buyers as possible.
Whether Nvidia has an answer to future AMD products or not remains to be seen, but the article you linked to was not very convincing to me.
In any case we all agree that nVidia opening up is very good news!
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 12:45 UTC (Tue) by lsl (guest, #86508) [Link]
You quote Charlie Demerjian on matters regarding Nvidia? On LWN? Seriously?
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 13:16 UTC (Tue) by khim (subscriber, #9252) [Link]
Why not? He knows a lot about nVidia troubles and even if he exaggerates a bit his information about them is usually accurate. Now AMD is another matter—there he tends to ignore some dangerous trends and it's where he can not be trusted.
The same approach can be used with Dan Dilger or any other fanboi: as long as you don't use him as source of information about Apple (where he tends to ignore all the potential problems) you can find many interesting things there.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 16:43 UTC (Tue) by rahvin (guest, #16953) [Link]
Don't get me wrong, I think nVidia is in trouble, but it's a long term trouble not a trouble that's going to happen in a year or even three. This trouble is Intel eating away at the bottom of the market. It's hard to make money and be successful when the guy selling the CPU's begins integrating your product. Their other ventures (HPC and Tegra) have been the less than stellar successes predicted.
Those are the reasons nVidia is in trouble, not the weekly "I hate nvidia" rant by Charlie.
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 3:58 UTC (Wed) by malor (guest, #2973) [Link]
I don't know why he has such a bee in his bonnet about that company, but the man does not seem to be in the same reality the rest of us are, where NVidia is generally shipping cards that outperform its rival, while costing a fair bit less to make.
AMD's much stronger in compute in this generation, but from a gaming perspective, which is the largest market for these cards, meh, big deal. Meanwhile, NVidia provides actual gaming performance that's as good or better on a much smaller -- and therefore cheaper, and more profitable -- chip.
Yet, Demerjian was frothing about terrible the 6XX series was going to be, and then how awful the 7XX series was going to be.
The man is not credible. You shouldn't link him.
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 10:21 UTC (Wed) by khim (subscriber, #9252) [Link]
Demerjian's fun to read, but every single time, every single one, he's there predicting disaster for NVidia, and with one notable exception, they've shipped perfectly acceptable products every time.
Really? What kind of “disaster” he predicted that failed to materialize? Bumpgate? GT300 woes? Tegra 1/2 woes? GF100 woes? Or Tegra3 non-woes? Or maybe GK104 blameshifting? Or, I don't know, Tegra 4 problems?
If you'll read his articles and compare them with what actually happened you'll see that he's usually pretty accurate, but that sometimes people expand the troubles he describes to unrealistic proportions. When Demerjian's talks about “nVidia's Tegra 1 & Tegra 2” problems they expand it to “nVidia's Tegra problem” and counter with Tegra 3, when he talks about “nVidia's trouble with mobile Tegra 4 line” they counter with bunch of tablet announces (not even releases so far—only couple of tablets and nVidia Shield were actually released) and when problems with GF100 are announced they counter with GTX 480 which does not use all 16 SMs!
Demerjian may underestimate the power of nVidia's PR but his description of nVidia's technical problems are usually quite accurate. Too bad he does not do the same service for AMD.
I don't know why he has such a bee in his bonnet about that company, but the man does not seem to be in the same reality the rest of us are, where NVidia is generally shipping cards that outperform its rival, while costing a fair bit less to make.
And that is the power of PR I'm talking about.
Meanwhile, NVidia provides actual gaming performance that's as good or better on a much smaller -- and therefore cheaper, and more profitable -- chip.
Really? In which world 360mm² of GTX 560 are smaller then 255mm² of HD 6870? Or 221/294mm² of GTX 680 is smaller then 212mm² of HD 7870? Only in latest generation nVidia achieved smaller via bifurcation of their chips—which has it's own problems.
The man is not credible.
Well, yeah. If you'll carefully scan everything he write about nVidia, ignore pieces where he correctly wrote about nVidia woes and also pieces where he plain out says the short story is that Nvidia (NASDAQ:NVDA) will win this round on just about every metric, some more than others then yes, you can piece together story of his unworthiness. But you can do such spin with more-or-less any author out there.
NVIDIA to provide documentation for Nouveau
Posted Sep 26, 2013 15:09 UTC (Thu) by tjc (guest, #137) [Link]
I don't think Linus' petulant finger had much to do with this.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 8:07 UTC (Tue) by rengolin (guest, #48414) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 16:28 UTC (Tue) by mathstuf (subscriber, #69389) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 8:21 UTC (Wed) by tdz (subscriber, #58733) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 13:19 UTC (Wed) by drag (guest, #31333) [Link]
Nvidia cares that people's Nvidia Linux systems boot with the same reliability and features that you can get from other graphics cards.
If they have to work around Linux KMS fuck-ups in their binary driver due to the fact that the Linux devs can't quite reverse engineer things correctly then that will make life for them and their customers harder then it needs to be.
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 20:25 UTC (Wed) by tdz (subscriber, #58733) [Link]
If it's not for Steam, I could imaging that they want support for Wayland without committing resources for maintaining a KMS driver. Supporting nouveau with documentation is the next best option then.
NVIDIA to provide documentation for Nouveau
Posted Sep 27, 2013 14:35 UTC (Fri) by Lovechild (guest, #3592) [Link]
If they inplement KMS support in their driver they will at least subject that part to the GPL2 clause relating to derived work. Effectively meaning at least the parts KMS support touches would have to be under the GPL2 like the Linux kernel. Nvidia really don't want that, likely for legal reasons. E.g. they might not be absolutely sure all their code base is licensed as to allow them to open source it, in cases of code that comes along with buying another company. The answer might simply be a complicated, expensive "we don't know for sure, better not".
Button line expect nvidia to be able to play this many ways. Initially it might allow them to easily run on modern Linux distributions with their existing code. Long term it might allow them to move some parts more in the open if that makes sense for them (e.g. the way Intel's Graphics drivers work in many ways)
NVIDIA to provide documentation for Nouveau
Posted Sep 27, 2013 15:47 UTC (Fri) by Wol (subscriber, #4433) [Link]
And they said it was just great being able to debug the ENTIRE stack, and FIX the problem rather than just work round a problem in someone else's code.
Cheers,
Wol
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 8:43 UTC (Tue) by Duncan (guest, #6647) [Link]
Meanwhile, whatever the reason, it's welcome. Perhaps one of these days nVidia can come off my purchase-blacklist. AMD/Radeon (and Intel, but they seem to only do embedded graphics) might get some competition! =:^) (Tho I was stuck on the Radeon r2xx generation for several graphics generations, for similar reasons. =:^( But that's a few generations in the past now, and with this news, perhaps I'll be able to say it's generations in the past for nVidia as well in a few years. =:^)
Now if only "Sony, The rootkit people (tm)", would properly apologize as well (with "properly" including doing something of a similar order to what they robbed from their users to restore what was lost in both that incident and when they took Linux away as a Playstation option, as well)... maybe it could come off the blacklist too. Not that I'm really expecting it, but change DOES seem to be in the air in so MANY areas I wouldn't have expected a few years ago, these days... (Resisting the temptation to further off-topic enumerate!)
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 12:59 UTC (Tue) by Wol (subscriber, #4433) [Link]
Last I looked at their stuff, you're looking at fancy prices in the £K region for fancy stuff, nothing in the consumer £50-£200 range.
Cheers,
Wol
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 13:20 UTC (Tue) by khim (subscriber, #9252) [Link]
Matrox made a wrong turn many years ago: it refused to license GPU chips and produced all the cards in house. This reduced it's market reach, which in turn implied that it had not way to compete with ATI and nVidia. It's swan song wan Parhelia which was pretty cool card for video work, but was meh for gaming. And they have nothing more modern thus of course they left the consumer market.
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 14:27 UTC (Wed) by tjc (guest, #137) [Link]
Valve has been taking about open game systems. NVIDIA is fast, but not open, and Intel is open but not fast enough. This solves the problem (in theory).
2013: The year pigs started flying?
Posted Sep 24, 2013 8:17 UTC (Tue) by Zenith (guest, #24899) [Link]
And now support by both AMD and NVIDIA for the open source graphics drivers?
It seems increasingly less relevant having to dual-boot your PC to Windows to play games and "get stuff done". I'm impressed! It was always a not-so-secret hope of mine, but realistically I didn't expect it to happen this soon.
2013: The year pigs started flying?
Posted Sep 24, 2013 8:58 UTC (Tue) by Otus (subscriber, #67685) [Link]
> to play games and "get stuff done".
Yeah, I stopped using Windows completely early this year, when the Windows 8 preview ran out of time. I've actually played *more* games since then, due to all the good Linux games in this year's Humble Bundles and Weekly Sales.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 9:01 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 12:28 UTC (Tue) by lkundrak (subscriber, #43452) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 9:36 UTC (Tue) by Felix.Braun (guest, #3032) [Link]
So, while this will certainly be helpful to understand the workings of nvidia cards it might take a while before the nouveau driver catches up with nvidias (by all accounts excellent) proprietary offering.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 9:48 UTC (Tue) by Otus (subscriber, #67685) [Link]
> effect this change. However, it must be pointed out that it has taken a
> *long* time for Radeon drivers to catch up featurewise based on the
> documentation alone.
And it's not even documentation alone: AMD has people working on the open drivers.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 9:47 UTC (Tue) by moggers87 (guest, #86573) [Link]
How long until they demand Nouveau run the source code through a C preprocessor? :P
I hope my snide comment turns out to be just that. It would be nice to consider NVidia cards again.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 9:59 UTC (Tue) by rvfh (guest, #31018) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 15:12 UTC (Tue) by HelloWorld (guest, #56129) [Link]
Well, are they? Mesa is limited to OpenGL 3.2 (instead of 4.4) and Nouveau's performance doesn't begin to approach that of nvidia's driver.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 15:26 UTC (Tue) by mpr22 (subscriber, #60784) [Link]
nvidia's own driver is written by people with rather better access to hardware information than has historically been the case for the Nouveau development effort. It is not surprising - nor enlightening about the relative competence of the two drivers' developers - that there is a disparity between them in favour of the internally developed driver.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 15:33 UTC (Tue) by rvfh (guest, #31018) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 15:43 UTC (Tue) by higuita (guest, #32245) [Link]
Mesa is limited to OpenGL 3.2, but already have many features from above versions implemented. it stil have a big backlog of TODO items, still recovering of years of slow developing and lack of developers, but now, with paid developers from various companies, it manage to reduce that backlog by a huge amount.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 16:48 UTC (Tue) by rahvin (guest, #16953) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 19:28 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 20:21 UTC (Tue) by rahvin (guest, #16953) [Link]
No.What a well thought out and comprehensive reply. Galium3d is:
Gallium3D is a framework intended to ease the programming of device drivers for 3D graphics chipsets by splitting the graphics device driver into three parts. This is accomplished by the introduction of two interfaces: Gallium3D State Tracker Interface and the Gallium3D WinSys Interface. The three components are calledhttp://en.wikipedia.org/wiki/Gallium3D
Gallium3D State Tracker – each graphical API by which a device driver is being addressed has its own State Tracker, e.g. there is a Gallium3D State Tracker for OpenGL and a different ones for Direct3D or GLX. Each State Tracker contains an implementation of the Gallium3D State Tracker Interface, and is unique, this means is shared by all existent Gallium3D device drivers.
Gallium3D hardware device driver – this is the actual code, that is specific to the underlying 3D graphic accelerator chip, but only as far as the Gallium3D WinSys Interface allows. There is a unique Gallium3D hardware device driver for each available graphics chip and each implements the Gallium3D State Tracker Interface as well as the Gallium3D WinSys Interface.
Gallium3D WinSys – is specific to the underlying kernel of the operating system and each one implements the Gallium3D WinSys Interface to interface with all available Gallium3D hardware device drivers.
Whether or not AMD is assisting in the development of the hardware device driver for AMD hardware of Galium3D has little bearing on the entirety of Galium3D. This hardware driver has almost no code reuse with other hardware. This is because the device driver portion is a relatively small part of the entirety of Galium3D though it is a very important part. As I said, the last I saw the bulk of the Galium3D development is being funded by VmWare (I believe to advance their goal of desktop virtualization, though I could never find official company statements acknowledging it). Though hardware vendors have provided some assistance to development of the small graphics driver portion there is far more to G3D than just the hardware driver.
The whole point of the G3D setup is to abstract the hardware. This is where the bulk of the work in G3D is. Yes you still need hardware drivers that talk the hardware's language but the abstraction allows you to build the pipeline and interface with hardware independence. It is my understanding that the state tracker and winsys portion of the driver compose the vast majority of G3D with the hardware driver composing essentially just shim between the hardware and G3D. Last I saw none of the graphics OEMs except for intel had paid for development time on the state tracker or winsys. I haven't looked for a year so maybe that's changed (and google wasn't helpful, probably because my google-fu is week) but I would be surprised if much has changed on the G3D development front.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 21:09 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]
And it's also well-known that Intel does NOT use Gallium3D infrastructure at all. They prefer to use their own completely custom infrastructure.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 22:13 UTC (Tue) by SEJeff (guest, #51588) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 22:16 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]
GEM is the kernel-level interface. And in fact, other drivers _also_ use it. Except Intel implements GEM directly and other drivers use TTM (Translation Tables Mapping) instead.
There's a similar story with Mesa - there's a 'classic mesa' (drivers directly implement OpenGL spec) and Gallium3D (common infrastructure is used for OpenGL and drivers simply translate the resulting TGSI stream). And Intel is the only major remaining 'classic' Mesa user.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 23:42 UTC (Tue) by airlied (subscriber, #9104) [Link]
Tungsten Graphics wrote the original, consumed into the VMware, I think since the initial import the biggest contribution to it was an independent who wrote the GLSL to TGSI translator.
Other contributors are Marek who worked on radeon in his spare time and is now employed my AMD, and myself at Red Hat.
That layer is under constant development, a lot of it isn't done by VMware anymore, VMware are currently focused on the llvmpipe sw renderer pipe driver code and their closed direct3d implementations from what I can see.
Also a lot of work is required to write a gallium 3D driver its not trivial code to map to hw as you think,
Apart from all that there is also a gallium video decoding layer using vdpau that AMD has contributed a lot of, a gallium compute interface for OpenCL that AMD and VMware (initially) along with independents put a lot of work into.
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 7:28 UTC (Wed) by gioele (subscriber, #61675) [Link]
Is the amount of functionality brought by the independent state trackers enough to justify the investment in writing Gallium 3D drivers instead of classic Mesa drivers?
Once you write a Gallium 3D driver for your HW, what do you get "for free" from the rest of the Gallium 3D infrastructure?
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 7:57 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 9:25 UTC (Wed) by airlied (subscriber, #9104) [Link]
Just a lot less boilerplate and cut-n-pasting all over the place.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 19:26 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]
Nouveau's performance is really hobbled by the inability to do video card reclocking. In effect, Nouveau always works in the lowest power mode which kinda beats the purpose of a high-end videocard :(
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 16:22 UTC (Tue) by flussence (subscriber, #85566) [Link]
But we'll have to wait and see.
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 16:29 UTC (Tue) by yokem_55 (subscriber, #10498) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 16:38 UTC (Tue) by flussence (subscriber, #85566) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 17:01 UTC (Tue) by mjg59 (subscriber, #23239) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 20:42 UTC (Tue) by rahvin (guest, #16953) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 20:44 UTC (Tue) by mjg59 (subscriber, #23239) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 22:38 UTC (Tue) by rahvin (guest, #16953) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 24, 2013 22:43 UTC (Tue) by mjg59 (subscriber, #23239) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 7:23 UTC (Wed) by paulj (subscriber, #341) [Link]
Unless you mean that, ultimately, Secure Boot is intended to disallow users from running arbitrary code on the hardware, and allow only code limited to approved distributors to be run?
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 9:20 UTC (Wed) by lsl (guest, #86508) [Link]
The kernel can't reasonably perform such checks before letting an user space driver access the graphics hardware (and with it, the entire system).
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 12:13 UTC (Wed) by farnz (subscriber, #17727) [Link]
It all depends on the bootloader you're using, though. I can easily imagine that Red Hat and SuSE enterprise customers are planning to use bootloaders that check the signature of the next thing they load, so that there's a chain of blame all the way through the system from power on to running kernel that lets them trace the sign-off on any exploitable code (and thus work out if there's something they could do differently to avoid an exploit of their employee's CAD workstations or whatever).
I'd expect such customers to follow James Bottomley's guide to replacing all keys trusted by the firmware with ones under the customer's control, so it wouldn't matter that you can get the LF bootloader that's been signed by Microsoft's key, as that key is not trusted by the firmware.
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 15:18 UTC (Wed) by PaXTeam (guest, #24616) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 26, 2013 18:48 UTC (Thu) by farnz (subscriber, #17727) [Link]
That's why I referred to a chain of blame, not a chain of trust - there's a good chance that the firmware isn't secure enough to be trustworthy. If that's the case (e.g. because it executes code signed by a Microsoft key when you've replaced that with your own key), the chain of blame ends at the firmware, and hence at the manufacturer.
NVIDIA to provide documentation for Nouveau
Posted Sep 26, 2013 19:45 UTC (Thu) by PaXTeam (guest, #24616) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 26, 2013 20:06 UTC (Thu) by mjg59 (subscriber, #23239) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 26, 2013 21:35 UTC (Thu) by PaXTeam (guest, #24616) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 26, 2013 21:42 UTC (Thu) by mjg59 (subscriber, #23239) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 29, 2013 0:42 UTC (Sun) by PaXTeam (guest, #24616) [Link]
also you keep saying what the removal of the MS key means but you don't explain why the UEFI code to accomplish this can be so much more trusted than trusting what the MS key will sign.
NVIDIA to provide documentation for Nouveau
Posted Sep 29, 2013 5:03 UTC (Sun) by mjg59 (subscriber, #23239) [Link]
Secure Boot is the same. It's possible that the UEFI code *is* hostile to us. Secure Boot is irrelevant here - hostile firmware can modify our OS even without Secure Boot being involved. But the firmware is produced by one of a range of different firmware vendors, and has in turn been modified by our system vendor. The probability that the NSA (or any other state agency) has a backdoor that exists in every firmware implementation is slim - there's too many people who have access to the source code (including random board vendors in Taiwan) to be able to guarantee secrecy.
However, the security of the firmware is irrelevant if you don't believe that Microsoft's key can be trusted. If your firmware trusts Microsoft's key then the NSA (or some other hostile body with access to Microsoft's key) can sign a bootloader that your firmware will trust and then use that to compromise the rest of your OS. Removing Microsoft's key removes that avenue of attack. Someone who wants to compromise your system can no longer simply go to Microsoft. They instead have to identify the specific firmware that you're running, locate a back door or vulnerability and then deliver an attack that's specifically tailored to you. Removing Microsoft's key doesn't make it impossible for someone to attack your boot process, but it does make it harder. That seems like an improvement in security.
The source code to AMI's Secure Boot implementation is out in the wild, thanks to Jetway leaving it on an insecure FTP site. I'm sure someone could do a reasonable audit.
NVIDIA to provide documentation for Nouveau
Posted Oct 1, 2013 13:07 UTC (Tue) by PaXTeam (guest, #24616) [Link]
2. Secure Boot (and its key management in particular) was proposed here to solve the problem of not booting untrusted code, i.e., the entire trust was placed in these keys all the while ignoring the fact that the UEFI code is in the same 'trust domain'. i'm glad you actually agree with me that separating the two is non-sensical.
3. your statement about the NSA's capabilities requires justification. some food for thought: backdooring doesn't require source code (and especially not permanent source changes). backdooring doesn't require the cooperation of firmware producers (also the food chain is longer than that). backdooring can be targeted. etc.
4. the security of the firmware becomes relevant *exactly* when it comes to key management. how else would you know whether the firmware does as asked (removes the MS key for good) or just pretends to do so but still accepts some blob containing some secret magic signed by the supposedly revoked key? one more time: you *cannot* separate the trust in UEFI code from the trust in the keys it manages. so any 'improvement in security' based on removing the MS key is just a feeling at best, not actual security.
5. availability of some source code on the net has exactly zero relevance to the code running as your machine's UEFI firmware. you can audit it all you want, it won't give you all the backdoors that could exist in the actual binary stored in flash (and to be honest, it'd be rather dumb to risk exposing anything of this sort in this kind of source code anyway).
NVIDIA to provide documentation for Nouveau
Posted Oct 1, 2013 15:26 UTC (Tue) by mjg59 (subscriber, #23239) [Link]
2. Secure Boot places the root of trust in the firmware, so yes, if you can't trust the firmware then you can't trust anything above that. But like I said, that's true even without Secure Boot.
3. There are at least 4 common firmware implementations that were independently developed. They're built with different compilers. This code is distributed to a much larger number of board vendors, each of whom then rebuilds it with their own choice of compiler.
Could a security agency compromise all of these? It's theoretically possible, but it doesn't seem like the easiest avenue of attack. The number of firmware implementations is larger than the number of operating systems that run on top of them - backdoor Windows and Linux and you have the same benefits for much less effort. That's not to say that firmware is secure and trustworthy, or that individuals won't be targeted, just that Secure Boot probably isn't the easiest avenue of attack.
4. Why would you do it that way? It'd be far too easy for a user to verify - remove the Microsoft key, check whether Windows boots. As you suggest, the obvious thing to do would be to have some additional embedded key that's checked regardless of whether or not the Microsoft key is present. So sure, removing the Microsoft key doesn't secure you against a security agency who's managed to compromise your firmware. But it *does* protect you against attacks where someone's found an exploit in something that was signed by Microsoft. Reducing your attack surface is an improvement in security.
5. So someone should just rebuild that source code and check whether it matches the binaries that Jetway ship. Matching obviously doesn't guarantee the absence of a backdoor, but a failure to do so would be a pretty strong indication that something's up.
NVIDIA to provide documentation for Nouveau
Posted Oct 1, 2013 21:14 UTC (Tue) by PaXTeam (guest, #24616) [Link]
second, if you have the ability to force arbitrary microcode updates on your target then you're already root there for all intents and purposes, so you have easier ways to backdoor their system.
2. but according to local wisdom here Secure Boot is supposed to give us, well, a secure boot process if only we used our own keys. turns out we're no better off than trusting trust once again.
3. have you seen the Snowden leaks? do you know how many companies got compromised and/or compelled into cooperation by the NSA and other agencies? so yes, i'm not exactly impressed by '4 common firmware implementations', it's a very *small* industry actually (and what does building with different compilers matter? nothing?). in fact, if i were the NSA, i would have my men planted there long ago and the 'how do i compromise them' question would simply become 'when and what do you want me to do?'. as for which is more numerous, i bet there're more different vmlinux and heck, even ntoskrnl images out there than UEFI firmware updates.
4. that's not how it'd work, obviously a Windows boot despite (supposedly) not having the MS key would be a dead giveaway. however it's possible to still accept code signed by the (supposedly removed) MS key if there's an additional condition - no need for an extra key at all, just some embedded secret that only the backdoor owner would know (and whoever else reverse engineers it of course). in fact MS would not even have to be complicit here, they'd just sign such an image in good faith without being aware of the secret payload that'd trigger the 'accept this despite being signed by the removed MS key' logic in the backdoored UEFI firmware.
as for 'an exploit in something that was signed by MS' you probably didn't mean that, but rather an exploitable bug as i find it unlikely that an actual exploit embedded in the to-be-signed code would pass their processes whereas bugs (exploitable or not) slip by all the time. with this understanding it seems now that the worry about the MS key is not that someone abuses it to sign something bad (which is what i was going about before) but that otherwise well meaning code gets signed and then exploited due to its bugs. this is a legitimite concern and removing the MS key would indeed help here... except this problem applies equally well to any other key as well and considering where MS stands with its SDLC and other processes in the industry (read: mostly above everyone else) i think the users are worse off trusting anybody else's keys, key signing processes and software development capabilities than those of MS. perhaps a sad piece of truth for free software but as far as i'm concerned, this is the reality. so if the advice here is still that users should become their own CA and use their own keys for Secure Boot then my bet is that the likes of the NSA (and even less resourceful actors) will still have a field day owning their systems.
5. just a few points above you were bringing up different compilers as one of the reasons why universal backdooring would be so much harder for powerful and skilled actors (it isn't, but that's not the point here) and now you're suggesting that much less resourceful end users should try to gain confidence in their firmware by trying to second guess the exact toolchain and build environment their vendor used. sorry, this doesn't add up to a good argument ;).
NVIDIA to provide documentation for Nouveau
Posted Oct 1, 2013 22:23 UTC (Tue) by raven667 (subscriber, #5198) [Link]
NVIDIA to provide documentation for Nouveau
Posted Oct 2, 2013 18:28 UTC (Wed) by mjg59 (subscriber, #23239) [Link]
But Secure Boot isn't about protecting us from the firmware. It never has been. It's about limiting the set of objects that your firmware will run. Now obviously if a sufficiently powerful actor has leaned on your firmware vendor then they may be able to run arbitrary code on your firmware, but why bother? They could just have the firmware include some SMM code that'd trigger in specific circumstances and modify arbitrary addresses in your running OS.
Obviously Secure Boot does nothing to protect you against such actors, but that doesn't mean it adds nothing to security. Microsoft have signed literally hundreds of binaries. Fedora have signed significantly fewer than that, and all the ones signed by Fedora have also been signed by Microsoft. Removing the Microsoft key and only trusting the Fedora one clearly improves security, if only because you'll no longer be able to boot the Ubuntu grub that'll happily boot unsigned kernels. Perhaps you weren't aware that Microsoft is effectively the global signing authority for UEFI binaries?
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 16:05 UTC (Wed) by mjg59 (subscriber, #23239) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 23:05 UTC (Wed) by dlang (guest, #313) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 25, 2013 23:07 UTC (Wed) by mjg59 (subscriber, #23239) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 26, 2013 2:32 UTC (Thu) by dlang (guest, #313) [Link]
not all systems that are deployed as servers have IMPI
trading a system that requires root access to do thing for a system that puts it's console on the network exposted to attackers (especially where that console is 'secured' by vendor proprietary code) doesn't seem like a win to me.
IPMI
Posted Sep 26, 2013 15:06 UTC (Thu) by tialaramex (subscriber, #21167) [Link]
Sure, it's totally acceptable to choose no lights out management if you have 24/7 hands-on. The 24/7 hands-on people are physically present and meet that constraint.
The practice of calling a cheap desktop PC in a closet a "server" has plenty of other problems long before you get to remote management.
We have drifted far off topic.
NVIDIA to provide documentation for Nouveau
Posted Sep 26, 2013 15:13 UTC (Thu) by mjg59 (subscriber, #23239) [Link]
NVIDIA to provide documentation for Nouveau
Posted Sep 26, 2013 22:48 UTC (Thu) by jmorris42 (guest, #2203) [Link]
> presence) be able to do whatever they want.
Nope. Physical presence does not equal ownership. We circulate laptops as library material. Do they get to do whatever they want? Oh heck no. And if the security tape over the screws is tampered with we fine em to cover our time reauditing the system.
How about a lab computer for library patrons. They are sitting at the console, so they install a new OS? Not on my systems they ain't, at last not without a screwdriver and some way to distract the staff.
NVIDIA to provide documentation for Nouveau
Posted Sep 27, 2013 4:43 UTC (Fri) by mjg59 (subscriber, #23239) [Link]
NVIDIA hiring
Posted Sep 24, 2013 20:04 UTC (Tue) by ncm (guest, #165) [Link]
was that I could not seriously consider them, given their attitude
toward the Free software world. If other potential applicants
have expressed similar misgivings, they might have twigged that
publishing documentation would be a very cheap way to expand
the pool of applicants -- or at least to attract attention.
NVIDIA hiring
Posted Oct 4, 2013 18:17 UTC (Fri) by elanthis (guest, #6227) [Link]
If your hypothesis were true, Microsoft wouldn't be the largest software company in the world, nor would most of these other top 10 companies be the top 10: http://en.wikipedia.org/wiki/List_of_the_largest_software...
The most highly skilled and qualified people tend to go where the money is. Certainly there are people who have other priorities (I've so far avoided MS even though I know I'd be getting paid almost 3x as much as I do in game development, because I love game development), but those people are a minority.
NVIDIA hiring
Posted Oct 7, 2013 21:18 UTC (Mon) by nix (subscriber, #2304) [Link]
I 100% guarantee you that NVIDIA has no trouble with finding qualified applicants for their software development just because of some Free-software purists balking at the company. I have more than a few friends who work or worked at NVIDIA these days. The biggest problem they (and many other software companies) have these days is that the US has a shortage of experienced developers and getting VISAs for foreign workers is a very slow process (often taking around 6 months between when a company decides to hire a person and when that person can actually show up to their first day of work).Er, yeah. That would be why NVIDIA has sizeable development going on in other places (heck, I walked right past their Cambridge, UK office the other day). It's not restricted to hiring in the US!
NVIDIA to provide documentation for Nouveau
Posted Oct 2, 2013 19:06 UTC (Wed) by intgr (subscriber, #39733) [Link]
http://www.botchco.com/agd5f/?p=58