Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Graphics Red Hat Software X Linux

Open Source 3D Nvidia Driver Is Ready For Fedora 13 160

An anonymous reader writes "Red Hat has already been using the Nouveau X.Org driver in Fedora for providing display and 2D support, but with their next release (Fedora 13) they will be making open-source 3D acceleration readily available to those using Nvidia graphics cards. Red Hat has packaged the Nouveau 3D driver in Fedora 13 and what makes it interesting — besides being an open source 3D driver that was written by the community by reverse engineering Nvidia's closed-source driver — is that it's one of the first drivers to use the Gallium3D driver interface. Phoronix has tested out this Gallium3D driver for Nvidia GPUs in a Fedora 13 daily build and found it to run with a variety of OpenGL games, with benchmarks being included that compare it to Nvidia's official driver. The performance is far from being on the same stage as Nvidia's official Unix driver."
This discussion has been archived. No new comments can be posted.

Open Source 3D Nvidia Driver Is Ready For Fedora 13

Comments Filter:
  • Benchmarks (Score:3, Insightful)

    by revengebomber ( 1080189 ) on Wednesday February 17, 2010 @06:50PM (#31177596)
    I know it's not a professional project, nor built on any real technical documentation, but I hardly think that an OS should be distributed with a driver that gets 32fps running Quake 3 on a Geforce 9. Can anyone tell me: better or worse performance than using a 3dfx card under Linux?
    • Re:Benchmarks (Score:5, Insightful)

      by Hatta ( 162192 ) on Wednesday February 17, 2010 @06:53PM (#31177646) Journal

      If you have to choose between shipping an open source driver that only does 2d, and an open source driver that does 2d well and 3d poorly which would you choose? People still have the choice to install the official Nvidia driver that they've always had. So this is a good step forward. If it's enough for Compiz, and can do kernel mode setting (which Nvidia's driver won't do), then it'll please a lot of people.

      • Re:Benchmarks (Score:5, Insightful)

        by Anonymous Coward on Wednesday February 17, 2010 @07:31PM (#31178128)

        I am one of those people and I'm very pleased with nouveau. I don't run games on linux very much (outside of teg and dosbox) but I would like KMS and a bling desktop. I get both of these on my 8800gt with a free driver which is now just a kernel option away! Nouveau FTW!

    • Re: (Score:3, Informative)

      So? The NVidia driver doesn't support xrandr. I know it's only a professional project, but I hardly thing that a company should distribute a driver which can't even change screen resolution using the standard tools.

      • Re: (Score:3, Informative)

        by Mad Merlin ( 837387 )

        The binary blob supports xrandr, but not xrandr 1.2. xrandr 1.2 adds a lot of nifty things like on the fly display rotation, but I can't say I've ever actually used any of them.

        • by lougarou ( 34028 )

          # wtf? with the binary blob:
          here$ cat /etc/X11/xorg.conf
          Section "Device"
                  Identifier "nVidia Corporation GeForce 8600 GTS rev 161"
                  Driver "nvidia"
                  BusID "PCI:1:0:0"
                          Option "RandRRotation" "on"
          here$ xrandr -o 1
          (turns his head to the right)

      • by Hatta ( 162192 )

        I use xrandr to change the resolution of my GTS 250 all the time.

      • So? The NVidia driver doesn't support xrandr.

        False. It doesn't support KMS (Kernel Mode Setting) so you have to set the video mode after the kernel has posted. Meaning you don't get a seamless boot display, boo hoo. I have a GTS 240 which AFAIK is not supported by any driver (that may have changed in the last five weeks, where I've not been at that computer, because I've not been in that country) and xrandr works fine on it with the driver I'm using.

        Now on the other hand, xrandr isn't working on my EEE 701 with Jolicloud Linux (aka a somewhat fucked-o

        • xrandr works fine on it with the driver I'm using.

          False. You can't use xrandr to enable/disable/setup multiple screens, so it does not work fine.

    • Re:Benchmarks (Score:4, Insightful)

      by Mad Merlin ( 837387 ) on Wednesday February 17, 2010 @07:07PM (#31177846) Homepage

      Would you prefer 0 fps?

    • A better question (Score:2, Interesting)

      by ElusiveJoe ( 1716808 )

      Is it better than using a software 3D stack? Because I have a feeling that nothing is really accelerated.

    • Re: (Score:2, Insightful)

      by Anonymous Coward

      Microsoft doesn't ship with any drivers they created with GForce9 cards. Should they stop shipping today, or should they recall (like Toyota) all the software they made and dont' ship again till all the problems are fixed? Why do people assume that microsoft makes all the software they make (instead of getting all their software made by other people). We won't even start to talk about reverse engineering and an utter derth of technical documentation. You reverse something as technical as a whole family

    • Didn't have it for Quake3, but for Quake2 my old Voodoo3-2000 card (AGP, 16mb ram) I was getting arond 90fps ... this was in '98 and '99...

  • Quick Questions (Score:5, Interesting)

    by Monkeedude1212 ( 1560403 ) on Wednesday February 17, 2010 @06:51PM (#31177610) Journal

    Suppose I wanted to get into writing drivers -

    1) What are the things I'd need to know? Languages, Theory, Techniques

    2) What are the things I'd require? Testing environment, IDE if applicable, Development kits, etc

    3) Any Reading material? A beginners guide, reference material, that kind of stuff.

    • Re:Quick Questions (Score:4, Informative)

      by mrphoton ( 1349555 ) on Wednesday February 17, 2010 @07:03PM (#31177796)
      clearly your post was a joke, but a serious answer to your question would be Linux Device Drivers: http://lwn.net/Kernel/LDD3/ [lwn.net] Understanding the linux kernel: http://oreilly.com/catalog/9780596000028 [oreilly.com] I found both books fantastic and well worth a read, they will take you from knowing C to developing drivers for the linux kernel.
      • Re: (Score:3, Informative)

        by arielCo ( 995647 )

        clearly your post was a joke

        Not necessarily. Ever said "when I grow up I wanna..." without a clue as to what it would take? You still have that option as a grownup, with perhaps a better chance of making it since you make your own decisions :)

      • Also probably worth a read is some operating system design stuff. I'm not sure how much of it is covered in the suggested books (they're both on my reading list) so it might be redundant, but driver land is full of things like synchronization (semaphores/mutexes/locks etc), memory management issues (depending on the interrupt level you may not be able to access data on other memory pages because you are at a higher level of priority than the VMM), interrupts and interrupt levels etc. etc.

        Thinking about it,

    • by PolygamousRanchKid ( 1290638 ) on Wednesday February 17, 2010 @07:09PM (#31177896)

      Copy the Ethernet driver code, and use it as a base.

      Seriously, that's what the folks told me before I wrote a device driver for an ATM network adapter.

      Don't even look at the Token Ring driver code, I was told.

      I could imagine the same holds for writing graphics card device drivers.

      That glass of Sake, and a talk from your manager about the Divine Wind will be all that you need to set off about your task.

      Oh, and the headband with the red dot.

      • Re: (Score:3, Funny)

        by DeadCatX2 ( 950953 )

        Copy the Ethernet driver code, and use it as a base.

        Nonono. You're supposed to use the Toaster sample as a base.

      • by selven ( 1556643 )

        Don't even look at the Tolkien Ring driver code, I was told.

        Sage advice...

      • by mikael ( 484 )

        Uh, the device driver is supposed to act as the implementation between the interface of the hardware and the interface of the data communication layer. Any software layers above aren't supposed to see any difference between a ATM network and an Ethernet or Token Ring network. All they need to know is the function calls to send a block of data to a specified network address, read back blocks of data representing addressed data packets, set various settings and read back statistics.

    • by Ruie ( 30480 )
      Writing graphics card drivers is a way to get closer to the hardware. They have many interesting gadgets (like PLLs) that give a taste of interfacing with a real world.

      For 3d drivers, I recommend reading a book on OpenGL, downloading Noveau code and reading it. Lurk on the mailing list for a few weeks and then ask developers for a simple task to help with. Test with your applications and report bugs with as much information as possible. Try fixing the bugs yourself.

    • Re:Quick Questions (Score:5, Interesting)

      by MostAwesomeDude ( 980382 ) on Thursday February 18, 2010 @02:25AM (#31180884) Homepage

      1) C. You should also be familiar with compiler theory, data structures, bus layouts, and all the various arcane weirdness around arches, especially x86.

      2) Nothing special. Most of the programs we use for testing are games, since they have the best stress tests and because we target real use-cases. The exception is piglit, which is a conformance test.

      3) The code. AMD and Intel have released some docs, but frankly, you will need to read the code.

      Good luck. This is tough stuff.

  • I remember at Intel those silly locked up books detailing the trade secrets. We have constrained bits flying through constrained hardware to make a game. Anyone looking in from the outside will wonder what game we are all playing for this state of affairs!

    I don't think we'll get either religion or IP out of the way before the Singularity hits anyway.

  • As a PC owner with a polarized projector setup, I'm mush more interested in ATI's Catalyst 10.3 coming out in March that will have 3D support in the stereoscopic sense. http://www.tomshardware.com/reviews/catalyst-eyefinity-radeon,2559-2.html [tomshardware.com] (Yes, I know it's offtopic. It still makes me giddy and I don't have anyone else to tell.)
  • by Anonymous Coward

    ...what the f&(£ is wrong with the one that selected the quotes to be put at the end of the page?

    "It's today!" said Piglet. "My favorite day," said Pooh.

    Oh god. Captcha: forest. FML. I think I'm gonna go drown myself in a pot of honey. Thx CowboyNeal.

  • by drinkypoo ( 153816 ) <martin.espinoza@gmail.com> on Wednesday February 17, 2010 @08:48PM (#31178818) Homepage Journal

    Does Nouveau support the graphics chip in the Xbox yet? I'd really love to be able to run XBMC on Linux on Xbox rather than running it on the Xbox OS on the Xbox.

  • Awesome (Score:3, Interesting)

    by quantaman ( 517394 ) on Wednesday February 17, 2010 @10:06PM (#31179366)

    I'm actually pretty impressed, I didn't expect they'd be this successful getting a development community and a working driver going. I'm curious as to the stability, I noticed there was one issue with the fonts in the review. Personally stability would be the big selling point for me, I've had issues with the proprietary drivers in the past and it would be great if there was a highly dependable open source driver I could count on.

    On a related topic does anyone know the state of the open source ATI driver? I saw a phoronix article claiming it was more popular than the proprietary one [phoronix.com] but other than that I don't know what it has for performance or features. It would be interesting to compare since the ATI made the specs available.

    • by Yaa 101 ( 664725 )

      It depends on what ATI card you have, recently I bought a motherboard (ASUS M4A78-EM - Phenom II) with an integrated HR3200, I can tell you that all 3 ATI drivers perform bad.
      The driver that runs best (better said least bad) on it is the 2D only ATI driver, the RadeonHD driver does not run at all and the FireGL (proprietary) crashes all the time and does not run 3D either.
      I had to get my old Nvidea 6600 out of the closet (with which I did not yet try Nouveau), it does run 3D and GL without any trouble and r

    • On a related topic does anyone know the state of the open source ATI driver?

      As of about a week ago, FreeBSD imported versions of Mesa3D, libdrm, and RadeonHD drivers recent enough to enable 3D on my Radeon 3600. This is on a work desktop so I haven't tried many games on it, but KDE's compositing works perfectly for me as of today. I can only assume it would work as well on Linux.

  • Soooo, I don't care if the Free driver is slower. I'd be happy if it works and doesn't crash. Presently I'm forced to use the VESA driver.
  • With multi-core ARM SoC chips on the horizon, have we FOSS drivers for X?

    Were nvidia to use similar interfaces to their desktop cousins, they could steal the jump on the competition via nouveau.

  • Yes, reverse-engineering a driver *is* expensive, but when you compare it to the man-years of labor Red Hat has spent due to the binary blob writing random crap all over physical memory causing weird crashes, or merely investigating the possibility of the binary blob writing random crap all over physical memory for any given crash, it suddenly makes a lot of sense. Sure, the Nvidia driver is fast, but it's written with the philosophy that it's more important to be fast than correct, to the point where they

Any sufficiently advanced technology is indistinguishable from a rigged demo.