Announcement

Collapse
No announcement yet.

Nouveau For Open-Source NVIDIA In Mesa 8.0 Is Mixed

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Nouveau For Open-Source NVIDIA In Mesa 8.0 Is Mixed

    Phoronix: Nouveau For Open-Source NVIDIA In Mesa 8.0 Is Mixed

    After looking last week at the ATI/AMD Radeon Gallium3D performance under Mesa 8.0 and comparing its performance to Mesa 7.11 and the closed-source AMD Catalyst driver, along with the LLVMpipe driver performance, we're now focusing upon the Nouveau Gallium3D implementation that seeks to provide open-source NVIDIA hardware support. This comparison is pitting Nouveau in Mesa 8.0 against Mesa 7.11 and the official NVIDIA Linux driver.

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Michael, could you post the frequencies of the card as reported by nouveau in the kernel logs ? Really, this *is* important.

    FYI, the 8600GTS performs well *because* it runs at the same frequency with nouveau as with the blob. I know that since I have the same card at home
    This is however only valid on low-end cards and never the case on higher cards or on geforce 200+ where there are different performance level and the highest one is never the default one.

    I hope we can talk about that at FOSDEM and we should have our reclocking code for geforce 8/9 merged with timing management by then. Nva3-c0 is also on the way but will require a little more time.

    Comment


    • #3
      Oh, and I forgot to tell that the work towards mesa 8 in Nouveau is really recent and haven't been thouroughtly tested on all cards we have, even by Nouveau devs.

      If any enthusiast user was to test it when the beta comes out and some bugs are still present, please show up on IRC and report it.

      Comment


      • #4
        I think VDrift should never be benchmarked since it always yields controversial results and afaik it uses non-standard stuff.

        Comment


        • #5
          Originally posted by M?P?F View Post
          Michael, could you post the frequencies of the card as reported by nouveau in the kernel logs ? Really, this *is* important.

          From here you can click on any of those links to get the logs that have been auto-captured - http://openbenchmarking.org/system/1...BY-MESA80NOU33
          Michael Larabel
          https://www.michaellarabel.com/

          Comment


          • #6
            grep for the lazy

            GF 8600GTS:
            [ 15.974436] [drm] nouveau 0000:03:00.0: 1 available performance level(s)
            [ 15.974440] [drm] nouveau 0000:03:00.0: 0: core 675MHz shader 1458MHz memory 1008MHz fanspeed 100%
            [ 15.974451] [drm] nouveau 0000:03:00.0: c: core 675MHz shader 1458MHz memory 1008MHz voltage 1300mV

            GF 9500GT:
            [ 15.846547] [drm] nouveau 0000:03:00.0: 1 available performance level(s)
            [ 15.846551] [drm] nouveau 0000:03:00.0: 3: core 550MHz shader 1350MHz memory 400MHz fanspeed 100%
            [ 15.846561] [drm] nouveau 0000:03:00.0: c: core 400MHz shader 800MHz memory 399MHz

            GF 9800GT:
            [ 15.832138] [drm] nouveau 0000:03:00.0: 1 available performance level(s)
            [ 15.832141] [drm] nouveau 0000:03:00.0: 3: core 660MHz shader 1625MHz memory 950MHz fanspeed 100%
            [ 15.832153] [drm] nouveau 0000:03:00.0: c: core 399MHz shader 810MHz memory 399MHz voltage 1000mV

            I saw similar results on my 8600M GT, when set to highest perf level I got 90%+(sometimes up to 98%) of the blob performance (openarena), so kudoz to the nouveau team.

            Comment


            • #7
              Originally posted by Michael View Post
              From here you can click on any of those links to get the logs that have been auto-captured - http://openbenchmarking.org/system/1...BY-MESA80NOU33
              Thanks, here is what we have:

              8600GTS:
              [ 15.414194] [drm] nouveau 0000:03:00.0: 0: core 675MHz shader 1458MHz memory 1008MHz fanspeed 100%
              [ 15.414206] [drm] nouveau 0000:03:00.0: c: core 675MHz shader 1458MHz memory 1008MHz voltage 1300mV
              So current perflvl == only perflvl available (ie, the only one the blob will use). Good. Nouveau = 96% of the blob

              9500GT:
              [ 15.449991] [drm] nouveau 0000:03:00.0: 3: core 550MHz shader 1350MHz memory 400MHz fanspeed 100%
              [ 15.450002] [drm] nouveau 0000:03:00.0: c: core 400MHz shader 800MHz memory 399MHz
              Memory is at the right speed, but core and shader are too slow. That shouldn't change a lot of things and doesn't explain the performance difference with the blob. ~= 68% of the blob

              9800GT:
              [ 16.114845] [drm] nouveau 0000:03:00.0: 3: core 660MHz shader 1625MHz memory 950MHz fanspeed 100%
              [ 16.114859] [drm] nouveau 0000:03:00.0: c: core 399MHz shader 810MHz memory 399MHz voltage 1000mV
              Whaouh, memory is 2.3 times slower than on the blob. Some linear adjustment (that is valid on my nv86) tell that this would lead to 80fps in doom3 compared to 107 with the blob. Not bad! That's about 75% of the blob

              GTX 460:
              I'll assume this is the same as mine since I can't retrieve the logs:
              boot: Core 50MHz Memory 135MHz Shader 101MHz
              Maximum: Core 715MHz Memory 1800MHz Shader 1430MHz
              That's a 13.3 factor! If we extrapolate, that would mean around 106 fps in the doom3 test. I haven't checked the linearity of performance compared to memory speed on this card though. I'll get to it when we do memory reclocking on nvc0. Anyway, that does about 62% of the blob performance.

              Conclusion: Not sure why the 8600GTS works that good, but we can say that the gallium driver is at least 60% as fast as the blob at equal frequency. That's not bad but can definitely be improved, indeed.

              Edit: That's assuming the drivers all do the same thing like antialiasing and so on, of course.
              Last edited by MuPuF; 16 January 2012, 09:20 AM.

              Comment


              • #8
                Basically benchmarking is easy with nouveau as long as you can switch the performance level to the fastest one. I benchmarked nouveau last year and saw that immediately with my test cards that the clock speed must be different. Would be certainly nice when this could be done dynamically. I think it crashed sometimes with a forced change, but that was several month ago. At least you usually dont have to worry about vsync slowing down benchmarks. I would certainly use nvidia binary for those newer cards as those support vdpau as well, but for oss fans and maybe for optimus support (?) they could be really interesting.

                Comment


                • #9
                  Originally posted by Kano View Post
                  Would be certainly nice when this could be done dynamically. I think it crashed sometimes with a forced change, but that was several month ago.
                  Finally found a working solution for fully stable reclocking about 2 weeks ago. It is on its way to be merged into the nouveau tree and will be part of Linux 3.4 along with memory timing management on geforce 8/9 and maybe on geforce 200/300 too.

                  Comment


                  • #10
                    Originally posted by M?P?F View Post
                    Finally found a working solution for fully stable reclocking about 2 weeks ago. It is on its way to be merged into the nouveau tree and will be part of Linux 3.4 along with memory timing management on geforce 8/9 and maybe on geforce 200/300 too.
                    AWE
                    SOME!

                    You the man!

                    Comment

                    Working...
                    X