Please create an account to participate in the Slashdot moderation system


Forgot your password?
Graphics Open Source Linux

Open-Source NVIDIA Driver Goes Stable On Linux 231

An anonymous reader writes "The open source Nouveau driver, a reverse-engineered incarnation of NVIDIA's official proprietary driver for Linux, has reached its biggest milestone. The Nouveau driver is now being considered stable within the Linux kernel and leaving the staging area, with the pledge of a stable ABI. Phoronix has summarized the state of the Nouveau driver, which works fine if you don't care about performance or are fine with running hardware that's a few generations old."
This discussion has been archived. No new comments can be posted.

Open-Source NVIDIA Driver Goes Stable On Linux

Comments Filter:
  • by Anonymous Coward on Friday April 13, 2012 @09:03PM (#39681681) []
    I'm no engineer, not even a reverse engineer, but I'd probably start with a bus analyzer, gdb, and follow some kernel/driver debugging lists.
    Dear reader, feel free to tell me how wrong this approach is.

  • by Anonymous Coward on Friday April 13, 2012 @09:28PM (#39681859)

    Umm, IDA is available on Linux.

  • by Anonymous Coward on Friday April 13, 2012 @09:48PM (#39682019)

    We don't reverse engineer the code, we reverse engineer what is sent to the card. Linux can dump everything going through the PCIE bus, that's the so-called mmiotrace.

    We only reverse engineer by taking the binary driver as a blackbox, sending commands and seeing what comes out.

    Martin Peres - Nouveau developper

  • Tegra (Score:5, Informative)

    by tepples ( 727027 ) <{tepples} {at} {}> on Friday April 13, 2012 @10:03PM (#39682123) Homepage Journal

    2) buy someone elses (likely)

    And this is what NVIDIA has done. NVIDIA bought a license for ARM's CPU and built the Tegra SoC around it.

  • by gmack ( 197796 ) <> on Friday April 13, 2012 @10:12PM (#39682175) Homepage Journal

    The last time someone came up with a replacement for an Nvidia driver was for the ethernet drivers and Nvdia ended up discontinuing their own and contributing to the open source driver instead. If this happens again we are all better off.

  • by Anonymous Coward on Friday April 13, 2012 @11:45PM (#39682647)

    They gratuitously change the API's whenver they feel like BECAUSE people like nVidia exploit their work without sharing manuals (for the hardware customers /pay/ for). It's meant to DISCOURAGE closed-blob driver bullshit. []

  • by Anonymous Coward on Saturday April 14, 2012 @12:49AM (#39682955)

    For one thing, DMCA only fits if they actually implemented some type of protection scheme which may or may not be the case. In either case, this does not apply at all as the DRM isn't being broken. The blackbox driver is working as intended and not taken apart in any way, it's like trying to see how a car works without actually taking it apart by systematically doing what you normally would do anyways and recording it's response.

    Instead of running a program that sends a large set of commands to the driver and having it returns random responses, you send 1 specific command at a time and recording each response so you are able to reproduce it in their own driver.

    What they are doing, is basically mapping the interface (doorway as you will) to the blackbox driver. An interface can not be copyrighted (this has some precedence in court rulings and is done often like emulators). It's only illegal once you start copying either parts of the source code or machine code. If you copy the outside, the inside really doesn't matter in the greater scheme (though of course there are issues of performances and driver specific bugs)

    Yes, this is an insane amount of work and these people should be respected greatly especially if they are not being paid to help improve linux.

    (Different Anon)

  • by mupuf ( 2617831 ) on Saturday April 14, 2012 @05:50AM (#39683853) Homepage

    Ok, I created an account. It will be simpler for others to follow. Comparing me to Linus or Eric Raymond is really over-the-top. I'm just a PhD student who has been working on power management in nouveau for little more than 1.5 years.

    Anyway, the answers to your post are right, clean-room REing is legal. The shady part is for the firmwares that you have to decode in order to re-implement them. Fortunately, we know nvidia used a compiler to compile them. As we write them in asm only and don't use the same interface, I guess we are pretty covered.

    As for video decoding, nVidia though about us and added a "safe" for the encryption keys. So yes, we can re-implement video decoding (it is an on-going work, but it's ugly) but the compliance with hdcp will never come.

    As for software patents, we do our best not to do things covered by them but sometimes we have to. In this case, we think about the sane countries that could benefit our code (most of them are "sane" ;)).

    Lastly, nVidia said they would neither help nor hinder the project. If there is something they don't like, I'm sure they will let us know before going to court. If they wanted to go to the court, that would be one hell of a pain since they would have to sue individuals from many countries, mostly european.
    Most of us are students, that would be bad PR to sue us :D

UNIX is many things to many people, but it's never been everything to anybody.