Slashdot Mirror


Nouveau NVIDIA Driver To Enter Linux 2.6.33 Kernel

An anonymous reader writes "Not only is DRBD to be included in the Linux 2.6.33 kernel, but so is the Nouveau driver. The Nouveau driver is the free software driver that was created by clean-room reverse engineering NVIDIA's binary Linux driver. It has been in development for several years with 2D, 3D, and video support. The DRM component is set to enter the Linux 2.6.33 kernel as a staging driver. This is coming as a surprise move after yesterday Linus began ranting over Red Hat not upstreaming Nouveau and then Red Hat attributing this delay to microcode issues. The microcode issue is temporarily worked around by removing it from the driver itself and using the kernel's firmware loader to insert this potentially copyrighted work instead."

28 of 289 comments (clear)

  1. Re:I'm not an Avid Linux User... by Game_Ender · · Score: 5, Informative

    No it means that linux will ship with an open source alternative to the closed source Nvidia drivers.

  2. Re:Why not just use the Windows driver model.. by Wonko+the+Sane · · Score: 4, Insightful

    Because Nouveau works on a more architectures than Windows has ever been ported to.

  3. How does it compare with the other NVidia drivers? by Lord+Lode · · Score: 4, Interesting

    I'm a Linux user using the official binary NVidia drivers, they work good - very good even, many modern Windows games work in Wine without any performance loss.

    How do the Nouveau Nvidia drivers compare to the official ones? Do they have the same performance, no little annoying bugs or differences, etc...?

  4. What card to buy today? by Just+Some+Guy · · Score: 3, Interesting

    My Dell at work has an ATI RV635 card. You know: the one that might, someday, support 3D but hasn't yet in the couple of years it's been out? I switched from Ubuntu Karmic to Fedora Core 12 a couple of weeks ago to see if the experimental drivers worked, but ended up with a non-working X.

    If I want to buy a card that has working accelerated 3D today - not next week, not "maybe if I download a hack from North Korea that might work or might catch fire" - so I can do basic stuff like get smooth compositing in KDE, what should I get? Again, this is going into my computer at work, so $500 gaming cards are right out. I'm positive I can get the hardware guy to order a reasonably priced card for me (and another for himself) if it'll work on Linux, though.

    BTW, let me preemptively say that I'm not gonna Google it. There are 5,000,000 outdated and spurious reports. I'd much rather discuss it with a group of peers than try to decode what some kid in Sri Lanka came up with.

    --
    Dewey, what part of this looks like authorities should be involved?
    1. Re:What card to buy today? by Sir_Lewk · · Score: 4, Insightful

      If you need/want to use a Free driver, get an older ATI card. I have a card in the R500 series and the Free 'radeon' driver works wonderfully for what I ask from it (urban terror and mplayer). Anything up to the R500's have good support atm, the R600/700 support is getting there...

      If you don't care about that, get an Nvidia card and use the non-Free driver. This option will also get you the best preformance.

      --
      "linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
    2. Re:What card to buy today? by gazbo · · Score: 3, Informative
      My work laptop has a GeForce 9600M GS (according to lspci) and once I installed the binary driver with a simple `yum install kmod-nvidia` it just worked. Dual screens with different resolutions set up fine with the nvidia utility (don't use the standard Linux display stuff) and performance on compositing is great. Only difference is I'm using Gnome not KDE.

      And I know fuck all about Linux, so it must work easily. I read nvidia cards worked well, and it certainly seemed to go smoother than the Radeon in my old laptop.

  5. Re:How does it compare with the other NVidia drive by Idiot+with+a+gun · · Score: 5, Insightful

    I'll agree with you, they work good, when they work. The problem with the official drivers is that they're a binary blob, thus most distributions (none I've ever seen) ship with them enabled. This is an issue if the default nv driver crashes your machine. Because of this, I'm going with ATI next time, I've heard they're way more Linux friendly now.

  6. Re:Why not just use the Windows driver model.. by rumith · · Score: 4, Insightful

    Now if NVidia cards would work on those architectures, too :-)

  7. Re:How does it compare with the other NVidia drive by binarylarry · · Score: 4, Informative

    The official closed source driver creates a proprietary dependency on an otherwise open OS kernel.

    This irks some free software hippies and it also makes using Nvidia hardware on unsupported hardware platforms more difficult.

    --
    Mod me down, my New Earth Global Warmingist friends!
  8. This is great - sort of by ClosedSource · · Score: 3, Interesting

    I've often wondered why more reverse engineering isn't done to create Linux drivers rather than just complaining about the manufacturer of the hardware. The only unfortunate thing about this project is that Linux drivers already exist (according to other posts here).

    Wouldn't it be better to reverse-engineer hardware to create Linux drivers that don't exist?

    1. Re:This is great - sort of by Sir_Lewk · · Score: 4, Insightful

      Video drivers are generally considered the thing most lacking in linux. Last I heard/tried, USB wifi cards are a nightmare, but besides those, most high-profile hardware is pretty well supported. You'll always find the odd usb controlled nerf gun turret or whatnot that lacks a driver, but that's not really an issue for most people.

      Furthermore, it is in error to think that people reverse engineering video cards would otherwise spend their time reverse engineering other hardware. These people do not necessarily specialize in other sorts of hardware. In linux, more people working on A does not really mean less people work on B. It's not like there is a manager at the top assigning and moving people around from task to task.

      --
      "linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
    2. Re:This is great - sort of by RAMMS+EIN · · Score: 3, Interesting

      ``A modern graphics card, for example, is actually a complete computer. It's got RAM, a processor, a bunch of peripherals, a complete miniature operating system... and you don't even know what type of processor it is. A lot of peripherals work like this; a wireless card is typically an ARM processor with some RAM attached on one end to the radio and on the other to an I/O controller that talks to the computer.''

      The big difference here is that we usually think of as a computer typically has enough specifications published that you can program them, and there are really just a couple of flavors. By comparison, even though each wireless network card does pretty much the same things as the next one, they are usually programmed completely differently and we're not told how. We have standards and heaps of documentation when it comes to CPUs, but when it comes to graphics accelerators or wireless network cards, it's a mess of undocumented, proprietary, incompatible interfaces.

      --
      Please correct me if I got my facts wrong.
  9. Just for those who wonder... by Corporate+Troll · · Score: 5, Informative

    DRM in this context means Direct Rendering Manager and not Digital Rights Management

  10. Re:How does it compare with the other NVidia drive by icebraining · · Score: 3, Insightful

    Most people don't care about /. either, and here we are.

  11. Debugging advantage of a Free driver by tepples · · Score: 3, Informative

    You've probably paid for it with operating system crashes. Your time spent waiting for a reboot, re-creating lost work, and troubleshooting the failure is probably worth money. If a driver is Free (in the GNU sense), developers of the kernel and the X server can trace into it to see what's going wrong. Interactions with black boxes are much harder to debug.

  12. Reverse engineering by OzPeter · · Score: 3, Insightful

    Reverse engineering a complete video driver is an impressive feat. However it is a reactive process and not a proactive process. Presumably when NVidia changes their driver architecture (to suit future hardware) won't this all have to be done over from scratch?

    --
    I am Slashdot. Are you Slashdot as well?
    1. Re:Reverse engineering by gr8_phk · · Score: 3, Informative

      A number of reverse engineering tools were developed for the Nouveau effort. Some of that can be used for similar efforts with other hardware. Most of that can be used should a new graphics driver architecture come out of nVidia. I have often wonder how long it will take if the Nouveau status matrix gets a new column, for that new generation of card to get support. It's been like 3 years for all the existing ones.

    2. Re:Reverse engineering by martin-boundary · · Score: 3, Insightful
      You've actually got it backwards, this is indeed proactive. With an open source driver, whenever the Linux kernel (or Xorg etc) changes, the driver can be modified to still work. With a closed source driver, if change happens, your driver is effectively bricked. The problem is that Nvidia isn't here for the longhaul, at least nowhere near as long as open source.

      There are many reasons why Nvidia might stop updating a driver for a particular card: they might go out of business, they might refuse to support obsolete cards that they no longer sell, etc. So over time, even if you still own their hardware, it will stop working at full potential (or at all) with the latest Linux. You'd need to download a newer driver, and if that's no option, you'd need to buy youself a new card, or you'd need to refuse to upgrade your Linux etc.

      If you expect your hardware to always work with Linux, then with closed source you need Nvidia to react to all changes that may happen to keep your card working, whereas with an open source driver there's potentially millions of people who can be persuaded to keep your card working.

  13. Re:How does it compare with the other NVidia drive by socrplayr813 · · Score: 4, Interesting

    I've heard some absolutely nightmarish stories about getting ATI cards to work properly in Linux and they haven't gotten much better. In the most recent releases, they may have even gotten worse.

    They might be more Linux-friendly now than they were in the past, but that doesn't make them good. They're certainly nowhere near as Linux-friendly as Nvidia.

    --
    The confidence of ignorance will always overcome the indecision of knowledge.
  14. Re:Devil's advocate by Al+Dimond · · Score: 4, Insightful

    Because it's in the kernel of their operating system. Because the fact that the driver is not Libre prevents other desktop-related stuff from working because the one vendor doesn't care and nobody else can fix it. Here's an example:

    Using the gratis ATI driver, running two X servers on the card crashes the driver and leaves X and the card in an unusable state (you have to ssh into the box to reboot it cleanly). This has apparently been a bug in the ATI driver for ages. And because multiple X servers are used to implement "fast user switching", ATI's crap driver blocks fast user switching.

    This sort of bug would be fixed in a libre driver. It's 100% reproducible, incredibly annoying, and affects a feature in desktop environments with millions of users and thousands of developers. If I had the source code to ATI's driver I could probably fix this bug. But ATI doesn't care.

    It's impossible for the Linux kernel team and X.org to design interfaces and a good model for how kernel drivers should interact with userspace X drivers to provide rendering in a way that fits in with X's model when the two biggest GPU makers will just ignore it, write their own kernel modules and their own interfaces. With a Libre driver new X.org standards and interfaces would be adopted much quicker and the drivers would fit into the system better. Nvidia and ATI care about this for Windows (to some degree) and so their drivers fit well there. On Linux they don't. But lots of other people do care, and non-Libre drivers prevent them from doing anything about it.

  15. Re:I'm not an Avid Linux User... by LOLLinux · · Score: 3, Insightful

    The people who are using nvidia's driver obviously care about 3d performance otherwise they'd already be using the open source driver with 2d support. Also, I doubt nouveau has the hardware accelerated playback of mpeg-2, vc-1 and h.264 like the closed drivers.

  16. Re:Why not just use the Windows driver model.. by Anonymous Coward · · Score: 3, Insightful

    You clearly know nothing about writing drivers, let alone video drivers, for Windows.

    Windows video drivers do not "generally include kernel components". That's complete bullshit. The driver itself can be considered a "kernel component". But otherwise, any Windows graphics driver just implements a certain well-defined interface, and only calls certain well-defined kernel functions.

    There is nothing technical stopping the Linux kernel, the FreeBSD kernel, the Solaris kernel, the Mac OS X kernel, and whatever other popular x86 or x64 operating system you use from implementing similar interfaces. Many of the functions would just need to be stubs that do nothing.

    And "virtualization" does not mean what you think it means. There is absolutely no need to modify the machine code of the graphics drivers, let alone fake the hardware underneath it using software.

    Any restrictions would likely be imposed by licensing and ideology, rather than any technical obstacles.

    Please refrain from spouting out your pure bullshit in the future. Or at least try to write a Windows graphics driver before you pretend to know anything about them.

  17. Re:How does it compare with the other NVidia drive by LOLLinux · · Score: 5, Insightful

    Do you think any end user cares? The nvidia binary driver provides hardware accelerated playback of all high-def formats. The open source one doesn't. That's all that matters.

  18. Re:How does it compare with the other NVidia drive by Minwee · · Score: 5, Insightful

    It also causes my Inspiron 8200 to crash hard when I try to use ACPI functions. Nvidia has expressed no interest in fixing this bug and that pushes it from "mildly unacceptable to free software hippies and people with obscure unsupported hardware" to "completely useless crap masquerading as software".

    I'm not bitter about it but it's a good example of a problem which could easily be fixed in open source software, but can't even be touched in something as closed as the nvidia video driver.

  19. Re:How does it compare with the other NVidia drive by vadim_t · · Score: 3, Informative

    This irks some free software hippies and it also makes using Nvidia hardware on unsupported hardware platforms more difficult.

    It also irks people who noticed that a huge amount of devices didn't get 64 bit Windows drivers, because it was a lot more profitable to get people to buy new scanners, printers and webcams. Precisely thanks to this I now have a perfectly good color laser printer and scanner that my brother can't use anymore.

    Experience shows that if you trust the manufacturer will release updated drivers when they become needed, you're going to get screwed sooner or later. His new scanner (also made by Canon, guess he doesn't learn) looks nearly identical, and has pretty much the same specs. The only difference is that the light has been replaced with LEDs, but really he didn't gain anything from the new model.

  20. Re:How does it compare with the other NVidia drive by gmack · · Score: 4, Insightful

    I have had more luck now that the Open Source ATI driver added 3D accel support for my card. The official ATI drivers suck badly with barley working 32 bit drivers and mostly useless 64 bit support. The open source drivers actually make me like using my Dell Vostro again and it's actually to a point where I would rather use ATI than NVIDIA.

  21. Re:How does it compare with the other NVidia drive by Minwee · · Score: 4, Insightful

    So because the ACPI is a little buggy the software is complete crap? Never mind every other feature that the software has.

    Here is a lovely pastry. It was made with the finest butter, the flour was hand ground by monks, and it is served with cream and tiny bits of shaved chocolate.

    Oh, and it is also covered with sprinkles of bacillus anthracis which will cause you to die in agony after you eat it. But just look at all the other wonderful features it has!

    Don't you want to eat it? Sure the antrax does pose a teeny tiny little problem, but maybe you could just eat a little bit of it.

    (Or do we need a car analogy to explain the problem here?)

  22. Welcome new comer! by msimm · · Score: 3, Insightful

    I love posts like this because it demonstrates a dramatic (and frequent) misunderstanding. The idea seems to be (and I don't mean to fault anyone for this) that there's a great big general pool of Linux/driver developers that get together and decide what to do. We regularly see suggestions (like the one above) directed at how to make better use of this imaginary pool.

    But the truth is much of what gets done in terms of development is done by people like yourself, with interests of their own and probably more frequently then you imagine, on their own time. So while the project might not make sense to every possible user, particularly in the terms of some great imaginary directed labor pool, like many open source projects it's intended to scratch the developers own particular itch. And I don't know about you, but when I sit down to program in my free time I like to do something that I'm personally (preferably even passionately) interested in.

    --
    Quack, quack.