Announcement

Collapse
No announcement yet.

NVIDIA's Working On A New Driver Architecture?

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

  • NVIDIA's Working On A New Driver Architecture?

    Phoronix: NVIDIA's Working On A New Driver Architecture?

    When going over the mailing list messages from the past few days regarding concerns over NVIDIA's fence sync patches for X.Org Server 1.10, one of the statements by NVIDIA's James Jones indicates that they are working on a new driver architecture. What though could this new driver architecture hold in store?..

    http://www.phoronix.com/vr.php?view=ODg3NQ

  • #2
    nVidia's driver work pretty well for me.

    Maybe a framebuffer driver so that my VT's are nice and fast, and switching to them is fast as well? (Would make me very happy)

    Maybe a nicer, more friendly installer than integrates in a more friendly fashion with the distro package management?

    Faster is always nice!

    (inb4 oss/documentation/KMS/gallium3D/etc)

    And i can bet the moment Wayland gets any traction in actual use rather than just conjecture then nvidia will put out a driver for it.

    Comment


    • #3
      huh

      I thought KMS was more of a religious or political issue than a technical one. I understand KMS to be something that nVidia simply cannot be reasonably expected to provide in the near future, given that probably 90% of all the IP used in their hardware and software probably isn't even owned by them, but people more like the team behind abominations like Poulsbo.

      Comment


      • #4
        I wouldn't be surprised if the new driver architecture they are talking about would also support (or at least bring them much closer to supporting) Optimus.

        Comment


        • #5
          It is the 260 drivers. People at nvnews.net are having tons of problems with them, which indicates that they are a work in progress.

          Comment


          • #6
            Sounds a lot more than they're just slowly refactoring their existing driver. Not at all uncommon in any large project. New "architecture" is implemented by writing the supporting code for the new design and then slowly switching over all users of the old APIs to the new ones, in as modular and piecemeal a fashion as possible. Just did something similarly over the last week for a game data serialization system, where the old version put too much logic into the area loader instead of in the game object factories. I didn't just drop in a whole new loading system; I added support and features and moved logic over the course of about 20 commits or so. Multiply the size of that little sub-project and the number of code commits by 100 (or more) and that's likely what the NVIDIA guys are dealing with.

            Originally posted by ethana2 View Post
            I thought KMS was more of a religious or political issue than a technical one.
            There are strong technical benefits to the idea of kernel mode setting. The specifics of how it is done is fairly irrelevant, though. So long as the kernel can trigger NVIDIA's mode setting without calling to user space, and so long as userspace apps like Plymouth can trigger the mode changes, everyone should be fairly happy. Everyone would be happier still though if NVIDIA could just fit into the existing infrastructure.

            Comment


            • #7
              Originally posted by ethana2 View Post
              I thought KMS was more of a religious or political issue than a technical one. I understand KMS to be something that nVidia simply cannot be reasonably expected to provide in the near future, given that probably 90% of all the IP used in their hardware and software probably isn't even owned by them, but people more like the team behind abominations like Poulsbo.
              Your understanding is severely lacking then.

              KMS is necessary if you want to be able to have good performance, stable drivers, and get rid of the batshit insane X Windows driver model.

              Comment


              • #8
                Sounds a lot more than they're just slowly refactoring their existing driver.
                Sounds to me like they want to get away from maintaining a Linux drivers based on a old version of the Window's driver code base. So they have to pull down code from a newer verison of Windows, figure out how to make it compile in Linux, then shoehorn it into your kernel with a updated 'GPL shim'.

                My guess is that this is related to how Microsoft forced Nvidia to stop putting their code into the NT kernel and forced them to move to a userland graphics drivers for Windows 7 and Vista. This required very substantial changes to the driver.

                I expect that until recently they were backporting improvements from Vista to XP. And then from XP to Linux. Now they want to figure out how to get Vista's userland driver back into the Linux kernel with as little effort as possible.

                I don't have the time right now to look it up. I would not be surprised that the hardware and features that the Linux driver lacks is very similar to what XP lacks versus Windows 7 in terms of support.

                Just a guess.

                Comment


                • #9
                  Originally posted by drag View Post
                  Sounds to me like they want to get away from maintaining a Linux drivers based on a old version of the Window's driver code base. So they have to pull down code from a newer verison of Windows, figure out how to make it compile in Linux, then shoehorn it into your kernel with a updated 'GPL shim'.

                  My guess is that this is related to how Microsoft forced Nvidia to stop putting their code into the NT kernel and forced them to move to a userland graphics drivers for Windows 7 and Vista. This required very substantial changes to the driver.

                  I expect that until recently they were backporting improvements from Vista to XP. And then from XP to Linux. Now they want to figure out how to get Vista's userland driver back into the Linux kernel with as little effort as possible.

                  I don't have the time right now to look it up. I would not be surprised that the hardware and features that the Linux driver lacks is very similar to what XP lacks versus Windows 7 in terms of support.

                  Just a guess.
                  That very well could be the size of it and hopefully this change will help bring the Linux nvidia blob on a par with Windows eventually

                  Comment


                  • #10
                    Perhaps I missed it, but does the current nvidia driver provide any facility for run-time resolution/orientation/multi-monitor adjustments? As a laptop user, lack of this feature alone makes the driver completely worthless to me.

                    Comment


                    • #11
                      Originally posted by myxal View Post
                      Perhaps I missed it, but does the current nvidia driver provide any facility for run-time resolution/orientation/multi-monitor adjustments? As a laptop user, lack of this feature alone makes the driver completely worthless to me.
                      Should do... The nVidia settings applet does this for me.....

                      Comment


                      • #12
                        Originally posted by ethana2 View Post
                        I thought KMS was more of a religious or political issue than a technical one. I understand KMS to be something that nVidia simply cannot be reasonably expected to provide in the near future, given that probably 90% of all the IP used in their hardware and software probably isn't even owned by them, but people more like the team behind abominations like Poulsbo.
                        You are dead wrong - KMS is anything but political.
                        KMS is required in-order to ship root-less X.org (read: X.org with no suid). Without KMS, Xorg requires root-access in-order to load and configure the driver(s).
                        As it stands X.org is a fairly big source of privilege escalation exploits.

                        As for the "nVidia simply cannot" part, neither you nor me have any means to make this assertion as neither of us have access to their code. Never the less, nVidia doesn't have technical reason not support KMS (beyond resource issues), as nouveau already supports it.

                        - Gilboa
                        DEV: Intel S2600C0, 2xE52658V2, 32GB, 4x2TB + 2x3TB, GTX780, F21/x86_64, Dell U2711.
                        SRV: Intel S5520SC, 2xX5680, 36GB, 4x2TB, GTX550, F21/x86_64, Dell U2412..
                        BACK: Tyan Tempest i5400XT, 2xE5335, 8GB, 3x1.5TB, 9800GTX, F21/x86-64.
                        LAP: ASUS N56VJ, i7-3630QM, 16GB, 1TB, 635M, F21/x86_64.

                        Comment


                        • #13
                          Originally posted by kayosiii View Post
                          Should do... The nVidia settings applet does this for me.....
                          Does the app make adjustments on-the-fly though (which is what I mean by run-time? Last time I saw it (6 months ago) it was basically a beefed-up xorg.conf editor frontend and any adjustments beyond resolution changes required restarting X.

                          Comment


                          • #14
                            Originally posted by myxal View Post
                            Does the app make adjustments on-the-fly though (which is what I mean by run-time? Last time I saw it (6 months ago) it was basically a beefed-up xorg.conf editor frontend and any adjustments beyond resolution changes required restarting X.
                            Seems to work that way for me I use it when I hook my laptop up to an external screen It can do this without requiring an X restart. It can be used to modify your X config settings on startup. But other than that everything works live.

                            Comment


                            • #15
                              @ myxal and kayosiii: Yes, the nvidia-settings gui application shipped with the driver does on-the-fly stuff like multi-montior setups.

                              As a side note, if you need a command-line utility that is more convenient and functional (for people like me), checkout this awesome tool called "disper": http://willem.engen.nl/projects/disper/ .

                              Comment

                              Working...
                              X