Announcement

Collapse
No announcement yet.

NVIDIA's PRIME Helpers Are Ready For Linux 3.9

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

  • #16
    Originally posted by GreatEmerald View Post
    Which makes zero difference, as the kernel as a whole is GPL.
    It matters for the shim layers. The shim layers have to be open source to meet the requirements of the GPL, but the pieces of software that interact with shim layers can then be closed source since there's a middle-man. The PRIME helper's are such a shim layer. Remember, the kernel isn't under a by-the-book GPLv2. Its GPLv2 with exceptions that supersede the GPLv2

    Comment


    • #17
      Originally posted by GreatEmerald View Post
      Which makes zero difference, as the kernel as a whole is GPL.
      Then why are you able to run non-GPL software on your Linux box?

      Comment


      • #18
        Originally posted by Ericg View Post
        It matters for the shim layers. The shim layers have to be open source to meet the requirements of the GPL, but the pieces of software that interact with shim layers can then be closed source since there's a middle-man. The PRIME helper's are such a shim layer. Remember, the kernel isn't under a by-the-book GPLv2. Its GPLv2 with exceptions that supersede the GPLv2
        Yes, that's true, but then the layer must be non-GPL, and so it can't be a part of the kernel. So I can't see what the patches here achieve. GPL-compliant software can already use DMA-BUF without issues.

        Comment


        • #19
          Originally posted by GreatEmerald View Post
          Yes, that's true, but then the layer must be non-GPL, and so it can't be a part of the kernel. So I can't see what the patches here achieve. GPL-compliant software can already use DMA-BUF without issues.
          This is about allowing the closed source drivers to interact with shared buffers in order to achieve Optimus (Nvidia) or Enduro (AMD). You can have non-GPL code in the kernel, thats not an issue. Thats why BSD licensed code can be incorporated into the kernel. Its traditional though to put everything under the GPL, but for some things--by design-- that doesnt work like these shim layers. So the shim layers themselves follow the BSD licensing rules or whatever license they are under.

          Thats why Linus said "The kernel will always be GPLv2" He wasn't making a promise, he was stating a fact. Thanks to the fact that copyright assignment isnt forced, in order to change the license of the kernel as a whole The Linux Foundation would have to get the "Ok." From every single person who has ever committed one piece of code to the kernel and the code they didnt get an "Ok" for would have to be rewritten by someone who was giving their "Ok"

          Comment


          • #20
            Originally posted by Ericg View Post
            This is about allowing the closed source drivers to interact with shared buffers in order to achieve Optimus (Nvidia) or Enduro (AMD). You can have non-GPL code in the kernel, thats not an issue. Thats why BSD licensed code can be incorporated into the kernel. Its traditional though to put everything under the GPL, but for some things--by design-- that doesnt work like these shim layers. So the shim layers themselves follow the BSD licensing rules or whatever license they are under.
            Huh, really? Individual files can override the global license? Then what's the point of having a global license to begin with? And what does "relicensing the kernel" even mean in that case? After all, if a code file is under BSD, and people want to relicense the kernel to BSD, then it's not really relicensing for that particular code file...

            Comment


            • #21
              Originally posted by GreatEmerald View Post
              Huh, really? Individual files can override the global license? Then what's the point of having a global license to begin with? And what does "relicensing the kernel" even mean in that case? After all, if a code file is under BSD, and people want to relicense the kernel to BSD, then it's not really relicensing for that particular code file...
              Its the same point of having exceptions and EXPORT_SYMBOL / EXPORT_SYMBOL_GPL you don't necessarily WANT everything to be affected by the viral nature of the GPL. Sometimes you WANT things to be able to freely interface with the kernel without necessarily being open source.

              Think of the X server.

              KMS is a GPL interface, The X Server is MIT licensed. We have closed source drivers though because they replace the GPL parts with their own code and then interface through the X server.

              Comment


              • #22
                Proprietary drivers are not viable.
                We have some now, and but we shouldn't have them in the future.
                They're not viable, the drivers must be open source.

                Comment


                • #23
                  Originally posted by uid313 View Post
                  Proprietary drivers are not viable.
                  We have some now, and but we shouldn't have them in the future.
                  They're not viable, the drivers must be open source.
                  While I agree drivers should be opensource, thats not the current reality. We have to work within bounds and realities of...well, reality. Intel is open source and doing great. Radeon is shaping up nicely aside from power management and video decoding, Nouveau....is a mess. Though hopefully the open source Tegra code will give some insights into the general design of Nvidia hardware and therefore give the Nouveau devs a boost.

                  Comment


                  • #24
                    Originally posted by Ericg View Post
                    While I agree drivers should be opensource, thats not the current reality. We have to work within bounds and realities of...well, reality. Intel is open source and doing great. Radeon is shaping up nicely aside from power management and video decoding, Nouveau....is a mess. Though hopefully the open source Tegra code will give some insights into the general design of Nvidia hardware and therefore give the Nouveau devs a boost.
                    Thank you for using the word "reality". People here need to be reminded of that. They might not listen, or be capable of listening, but they still need to be reminded.

                    Responisble Thinking FTW!

                    Comment


                    • #25
                      Originally posted by GreatEmerald View Post
                      Huh, really? Individual files can override the global license? Then what's the point of having a global license to begin with? And what does "relicensing the kernel" even mean in that case? After all, if a code file is under BSD, and people want to relicense the kernel to BSD, then it's not really relicensing for that particular code file...
                      It's typical for projects to have a copyright license at the top of every single file. The kernel isn't exceptional in that regard. Any code that's brought in to the kernel can be whatever license you want, as long as it is compatible with the rest of the kernel - which means it has to be compatible with GPLv2 since everything else in there is less restricting.

                      The "global" license, doesn't really exist. It's just a shorthand for saying, this is the most restrictive licenses we have in there, so everything else has to comply with it.

                      The kernel graphics drivers, for example, are all BSD licensed, so that they can be ported over to other OS's more easily if anyone wishes to do so.

                      Comment


                      • #26
                        When you combine BSD code with GPL code (as happens in the kernel), it becomes GPL. The combined work *must* be under GPL. The reason why non-GPL programs can use the kernel is because of exceptions, not because parts of the kernel don't use the GPL.

                        As I mentioned earlier (but no one seemed to notice), you wouldn't be able to run non-GPL software on Linux otherwise.

                        Comment


                        • #27
                          Originally posted by RealNC View Post
                          When you combine BSD code with GPL code (as happens in the kernel), it becomes GPL. The combined work *must* be under GPL.
                          Well, sort of. The code that is linked together becomes GPL at that point. However, the source files can still be BSD. Or, dual-licensed BSD and GPL if that is what you prefer to think of it as. But for this argument, linking the nvidia drivers into a compiled kernel, you are correct.

                          Comment


                          • #28
                            Originally posted by GreatEmerald View Post
                            Yes, that's true, but then the layer must be non-GPL, and so it can't be a part of the kernel. So I can't see what the patches here achieve. GPL-compliant software can already use DMA-BUF without issues.
                            The GPL is a viral licence, when you compile it, all of that binary is GPL. The only exception is the bright line towards normal system calls.

                            The PRIME layer allows drm drivers to expose an ioctl which can pass objects from GEM to a dma_buf file descriptor. An ioctl is a fairly standard way to present a system call to interact with hardware that is difficult to access though more standard system calls.

                            Prime itself really isn't a shim per say, but should be safe to implement within a shim that enables a proprietary driver. Whereas a shim that exposed dma_buf directly is in legally dangerous territory.

                            Comment


                            • #29
                              Originally posted by asdx
                              So Nvidia got away with their blob and optimus on Linux after all, without contributing anything when it comes to Free software, FOSS and Linux itself.

                              Crap.

                              When are people going to start defending and demanding freedom (Free Software) and not just demand close-source solutions like this one that Nvidia is providing?

                              This is really disappointing.

                              Nvidia is destroying what made Linux so great in all these years and you guys are like "Horraay! We'll have our optimus!".

                              You guys are idiots.
                              Wah, watch out, the Linux/GPL haters crowd is around!

                              But yeah, pretty interesting move isn't it? I mean as a follow up they could simply create such constructs for any kernel API they need access to and laugh at Linus and all the other stupid kernel devs and their GPL kernel pipe dream.

                              Welcome to the real world!

                              Comment


                              • #30
                                Originally posted by asdx
                                Why do you refer to me as a Linux/GPL hater? I don't hate Linux or the GPL, in fact, I'm against the blob.

                                Fuck the "real world".
                                I didn't mean you but the posters on the first page, should have been more explicit I guess...

                                Comment

                                Working...
                                X