Luis Chamberlain sent out the modules changes today for the Linux 6.6 merge window. Most notable with the modules update is a change that better builds up the defenses against NVIDIA’s proprietary kernel driver from using GPL-only symbols. Or in other words, bits that only true open-source drivers should be utilizing and not proprietary kernel drivers like NVIDIA’s default Linux driver in respecting the original kernel code author’s intent.

Back in 2020 when the original defense was added, NVIDIA recommended avoiding the Linux 5.9 for the time being. They ended up having a supported driver several weeks later. It will be interesting to see this time how long Linux 6.6+ thwarts their kernel driver.

  • 𝒍𝒆𝒎𝒂𝒏𝒏@lemmy.one
    link
    fedilink
    arrow-up
    322
    arrow-down
    4
    ·
    edit-2
    1 year ago

    Oh wow the comments on Phoronix for this one are bonkers.

    From what I understand (because it wasn’t clear to me from either of the TLDRs posted here) Nvidia’s proprietary graphics driver has been calling parts of the kernel that they shouldn’t be, because their driver is closed source.

    These seem to be parts of the kernel that another company may own patents to, but has only licensed it to the kernel for free use with GPL open source code only, i.e. closed source/proprietary code is not allowed to use it.

    Nvidia seems to have open sourced a tiny communication shim to try and bypass this restriction, so their closed source driver talks to the shim, and the shim talks to the restricted code in the kernel, that Nvidia does not have a license to use. This is a DMCA violation, hence why the Kernel devs are putting in preventions to block the shim, as far as I can see.

    I don’t understand the small minority of commenters there defending a la soulless corp Nvidia, who is blatantly in the wrong here. Some commenters have gone as far as to call the Linux kernel maintainers “zealots”, would not be surprised if they are alts for Nvidia devs…

    Edit: typo

    • 520@kbin.social
      link
      fedilink
      arrow-up
      91
      arrow-down
      3
      ·
      1 year ago

      Then isn’t the correct solution to sue Nvidia?

      It’s a legal issue with a legal solution.

      • Zardoz@lemmy.world
        link
        fedilink
        arrow-up
        84
        arrow-down
        1
        ·
        1 year ago

        Yeah probably, but Nvidia can afford lawyers and delays for years. Much longer than any oss group could afford

      • cobra89@beehaw.org
        link
        fedilink
        arrow-up
        30
        ·
        1 year ago

        So you want the company that licensed the patents to the Linux kernel for open source use to have to sue Nvidia for wrongly using their code? You want the company to have to spend a bunch of money suing Nvidia and possibly lose which would open the flood gates to more closed source code leeching off the Linux kernel?

        Yeah that’s going to make them want to keep licensing their IP to the Linux Foundation (which they’re probably doing for free).

        Or the maintainers can just submit a fairly simple patch to ensure that the kernel and the patents are being respected. Do you really think the first approach is the way to go?

        • 520@kbin.social
          link
          fedilink
          arrow-up
          10
          ·
          1 year ago

          Neither is having your copyright infringed. Neither is wasting volunteer manpower playing a technical game of cat and mouse

    • Tetsuo@jlai.lu
      link
      fedilink
      arrow-up
      75
      arrow-down
      3
      ·
      1 year ago

      Just a perspective on why people would support NVIDIA here:

      • They don’t believe in copyright law so they don’t mind whoever infringe on them. Especially since here it would make the proprietary driver work better.

      • They do care about copyright law but think having a working driver outweighs respecting them.

      Not my opinion here just saying that for some people usability trumps any other aspects.

      • Solar Bear@slrpnk.net
        link
        fedilink
        English
        arrow-up
        100
        arrow-down
        1
        ·
        1 year ago

        They don’t believe in copyright law so they don’t mind whoever infringe on them. Especially since here it would make the proprietary driver work better.

        I don’t believe in copyright law, but I especially don’t believe in partially enforced copyright law. Nvidia doesn’t get to use copyright to protect their proprietary code while infringing on the copyright of FOSS.

      • LeFantome@programming.dev
        link
        fedilink
        arrow-up
        7
        arrow-down
        1
        ·
        1 year ago

        Good read. I think the root is simply, don’t care about the rights of others if it is going to cost them something personally.

      • BaconIsAVeg@lemmy.ml
        link
        fedilink
        English
        arrow-up
        14
        arrow-down
        67
        ·
        1 year ago

        Also, some of us are using Nvidia because we rely on software that doesn’t work on AMD. I really enjoy using Linux, but if it’s going to make my life difficult I’ll go back to using Windows with WSL.

        I agree Nvidia should resolve the licensing issues, but man GPL zealots get a such a raging hard-on for anything Nvidia related it’s funny to watch.

        • Semperverus@lemmy.world
          link
          fedilink
          English
          arrow-up
          45
          arrow-down
          1
          ·
          1 year ago

          Them becoming raging zealots is kind of the only realistic way to defend the GPL though. If they don’t, it’s just going to get treated like toilet paper. I’d much rather have the angry hate mob than to be disrespected by big companies who can otherwise just get away with whatever they want.

          • BURN@lemmy.world
            link
            fedilink
            arrow-up
            3
            arrow-down
            46
            ·
            1 year ago

            And I’d like hardware that works, and proprietary drivers are really the only way that happens

              • Cynetri (he/any)@midwest.social
                link
                fedilink
                English
                arrow-up
                2
                arrow-down
                11
                ·
                1 year ago

                Not to knock on your point but the AMD drivers on Linux don’t support hardware video encoding unfortunately, so technically it’s not full-featured

                  • _cnt0@lemmy.villa-straylight.social
                    link
                    fedilink
                    arrow-up
                    2
                    ·
                    1 year ago

                    And you can simply get it from rpm fusion on fedora, and I’d guess something similar on manjaro. It’s just gone from the official fedora repositories for liability reasons. rpm fusion as a defacto standard for desktops/laptops was enabled there before that for what, like 99% of the installs?

                • Kevin@lemmy.ca
                  link
                  fedilink
                  arrow-up
                  6
                  arrow-down
                  1
                  ·
                  1 year ago

                  I take advantage of hardware video encoding on linux with amd’s open source drivers almost every day.

            • Nibodhika@lemmy.world
              link
              fedilink
              arrow-up
              16
              ·
              1 year ago

              Why do you think that? Companies can open source their drivers at will, in fact at this point NVIDIA is the only major player in GPU market who hasn’t done this, what do you think makes this particular hardware so special that needs a closed source driver when every other competitor doesn’t? In fact what could possibly be the reason for a driver to need to be closed source?

        • SkyeStarfall@lemmy.blahaj.zone
          link
          fedilink
          arrow-up
          39
          arrow-down
          1
          ·
          1 year ago

          Or maybe we should keep companies, which rake in billions of dollars, to a much higher standard??

          Nvidia could be better at open-sourcing their stuff. But they don’t. Blame them, not GPL.

        • priapus@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          38
          arrow-down
          1
          ·
          1 year ago

          It’s not going to effect you. No distro is going to ship a kernel that doesn’t work with the Nvidia driver, besides maybe some rolling ones, in which case you can just use the LTS kernel. This is drama between Nvidia and the rest of the kernel maintainers, and Nvidia will update their driver to deal with it, as they have done in the past.

          Shitting on people who care about FOSS because they don’t want to see massive companies get away with blatant copyright infringement is crazy.

          • BaconIsAVeg@lemmy.ml
            link
            fedilink
            English
            arrow-up
            3
            arrow-down
            5
            ·
            1 year ago

            3D rendering software using iRay. I’ve started trying to learn Blender, but I’ve still got thousands spent on assets and hardware which means I’m not going to run out tomorrow and pickup a new card. It all works fine under Wine, but the amount of Nvidia hate on here is just tiring.

            • Zucca@sopuli.xyz
              link
              fedilink
              arrow-up
              2
              ·
              edit-2
              1 year ago

              So you use iRay as the rendering engine for Blender? And (I’m assuming a lot here) iRay doesn’t use CUDA, OpenCL etc, but straight talks to the GPU via graphics drivers, thus having hardware depency for nvidia GPU?

      • LSlowmotion@lemm.ee
        link
        fedilink
        arrow-up
        13
        arrow-down
        2
        ·
        1 year ago

        Remind me of those who supports Red Hat for blocking sources and telling those who downstreams “code thief with no contribution to open source” lol.

        • LeFantome@programming.dev
          link
          fedilink
          arrow-up
          16
          arrow-down
          2
          ·
          1 year ago

          I did not “support” Red Hat but I was pretty vocally in opposition to most of the reaction to it. I found the willful inaccuracy and even flagrant dishonestly from the “community” close to disgusting at times. So, you may be including people like me in your comment.

          In this case, it seems very straight-forward that NVIDIA is in the wrong. Not just ethically but legally as well.

          My own read is that some of the people slamming Red Hat are defending NVIDIA now. Coming away from that experience, I the over-arching principle that many adhere to most is simply whatever is best for them. Red Hat was wrong because people felt entitled to something. The kernel devs are wrong ( and NVIDIA right ) because people feel entitled to something.

    • RickyRigatoni@lemmy.ml
      link
      fedilink
      arrow-up
      28
      arrow-down
      3
      ·
      1 year ago

      I don’t understand the small minority of commenters there defending a la soulless corp Nvidia, who is blatantly in the wrong here.

      They think they’re gonna get a free 4090 in the mail any day now.

    • lckdscl [they/them]@whiskers.bim.boats
      link
      fedilink
      English
      arrow-up
      11
      ·
      1 year ago

      Agree with your analysis, just pointing out that Phoronix forums have always been like this, or at least the tendency is to insult each other. Their culture is more toxic than any other Linux forums I’ve seen, maybe besides /g/.

    • 7u5k3n@lemmy.world
      link
      fedilink
      arrow-up
      8
      ·
      1 year ago

      I need to upgrade my computer soon… this crap makes me not want to go Nvidia again. (Running a looooong in the tooth 1060.)

      • ddh@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        9
        ·
        1 year ago

        Go ahead, I just ordered a new build specifically with a non-Nvidia card for the same reasons.

      • bitwolf@lemmy.one
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        The new 150$ range Amd cards are enticing. I could bring new life into my rx5500 htpc.

    • UnculturedSwine@lemmy.world
      link
      fedilink
      arrow-up
      7
      ·
      1 year ago

      Thanks for the ELI5. I read the article but had a hard time parsing the significance other than Nvidia proprietary drivers bad

    • UltraFiestaMango@lemmy.ml
      link
      fedilink
      English
      arrow-up
      15
      arrow-down
      22
      ·
      1 year ago

      But why is it a problem if they call on parts of the kernal they shouldn’t? is it just a privacy concern, does it also impact performance? i don’t understand

      • priapus@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        56
        arrow-down
        1
        ·
        1 year ago

        As the commenter stated, it is a copyright issue. Nvidia is not allowed to use this code in a proprietary driver.

          • webghost0101@sopuli.xyz
            link
            fedilink
            English
            arrow-up
            14
            arrow-down
            1
            ·
            1 year ago

            If they want to use that code legally they should make their code GPL but i doubt there proprietary code gets automatically overrules. I wish it did.

            I do wonder what would happen if someone would hack and leak Nvidia’s code under the defense that they thought Nvidia to be operating legally therefor assuming there code is GPL, I presume Nvidia would need to officially confess their crime as a legal defense that they never ment to open source their own code.

            • wim@lemmy.sdf.org
              link
              fedilink
              arrow-up
              30
              ·
              edit-2
              1 year ago

              Free Software Foundation, Inc. Vs Cisco Systems Inc. disagrees. The FSF sued Linksys for violating the license for GCC, libc etc.

              And they were forced in court to release all their WRT stuff under GPL, which is how OpenWRT got its start.

              • webghost0101@sopuli.xyz
                link
                fedilink
                English
                arrow-up
                15
                ·
                1 year ago

                Just the idea of nvidia being forced to open source there drivers makes me drool in sweet winners justice.

                But realistically, Nvidia feels like one of the more powerful corporations around do we stand a chance? I do hope FSF tries regardless.

                • wim@lemmy.sdf.org
                  link
                  fedilink
                  arrow-up
                  10
                  ·
                  edit-2
                  1 year ago

                  Linksys was part of Cisco. They had veryy deep pockets, but the FSF & SFC prevailed regardless.

                  I doubt the FSF or SFC will go after Nvidia, this has been a long standing issue and I haven’t heard about any lawsuits being brought because of it, even before Nvidia had more money than God.

              • ArbitraryValue@sh.itjust.works
                link
                fedilink
                English
                arrow-up
                4
                ·
                1 year ago

                They weren’t forced to do it. They did it as part of a settlement. The outcome if they had gone to trial and lost could well have been different.

                (Also how do you even violate the license for gcc while making a router?)

            • deong@lemmy.world
              link
              fedilink
              arrow-up
              8
              ·
              1 year ago

              There are lots of problems here. First, if you have to “hack” something to get the code, then it likely invalidates your own defense that you thought you were allowed to release it. Second, even if you can prove that nVidia knows that they should have to GPL their code, you still have no legal right to hack something to get it. If the hacking is illegal, then it’s illegal, even if it’s done to enable an otherwise legal activity.

        • planish@sh.itjust.works
          link
          fedilink
          arrow-up
          4
          arrow-down
          19
          ·
          1 year ago

          I don’t see how the copyright mechanism works here. The GPL has rules about linking to GPL code, enforced by the notion that the linked binary is a protected derivative work. Going and finding out where in memory some functions are and jumping to them is not going to create a derivative work.

          The Linux devs just have a rule about who they want to call these symbols and are trying to enforce it themselves.

        • ahornsirup@artemis.camp
          link
          fedilink
          arrow-up
          5
          arrow-down
          29
          ·
          1 year ago

          Which they technically didn’t. I’m sure Nvidia has a legal team that vetted their solution, they certainly have the money for it. At this point the “protection” against the proprietary driver is just anti-consumer.

          • priapus@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            14
            ·
            1 year ago

            And I’m sure Nvidia’s legal team knows that Linux is not going to take them to court for this because it isn’t worth it. Nvidia absolutely did violate the GPL, but they have the funds to avoid any legal trouble, hence why Linux goes this other router. I don’t see how this is anti-consumer, it will not significantly effect the consumer. Nvidia will simply have to update their driver like they did when these protections were first implemented.

      • patatahooligan@lemmy.world
        link
        fedilink
        arrow-up
        37
        arrow-down
        2
        ·
        1 year ago

        It is copyright infringement. Nvidia (and everyone writing kernel modules) has to choose between:

        • using the GPL-covered parts of the kernel interface and sharing their own source code under the GPL (a free software license)
        • not using the GPL-covered parts of the kernel interface

        Remember that the kernel is maintained by volunteers and by engineers funded by/working for many companies, including Nvidia’s direct competitors, and Nvidia is worth billions of dollars. Nvidia is incredibly obnoxious to infringe on the kernel’s copyright. To me it is 100% the appropriate response to show them zero tolerance for their copyright infringement.

        • fubo@lemmy.world
          link
          fedilink
          arrow-up
          9
          ·
          edit-2
          1 year ago

          To expand a bit:

          The GPL-only symbols restriction is there for the benefit of proprietary developers. It ensures that their work doesn’t become a “derivative work” of the kernel’s internals, by sticking to using only the published and documented interfaces. Using published APIs doesn’t make your work a legally derivative work of the system behind those APIs (i.e. the kernel).

          If your code needs to mess around in the kernel internals, it is very likely a derivative work of the kernel; which means you need the permission of the kernel authors if you want to publish that code legally.

          The only terms under which the kernel authors grant that permission are the terms of the GPL.

          By circumventing the GPL-only symbols restriction, Nvidia is demonstrating that their driver code needs to mess with kernel internals, not just the published APIs. And that means that it probably is a derivative work of the kernel. Which, in turn, means that those drivers must be published under the GPL in order to avoid violating the kernel copyrights.

          Basically: Linus drew a line in the sand and said “As long as you don’t step over this line, you’re not pirating the kernel by releasing proprietary drivers.” And Nvidia stepped over that line.

      • cobra89@beehaw.org
        link
        fedilink
        arrow-up
        10
        ·
        1 year ago

        Because the license for the patents that the Linux kernel is utilizing says that the code utilizing those patents must be open source. So therefore Nvidia is accessing those parts of the kernel illegally and against the license the Linux Foundation has. The Linux Foundation could lose the rights to use those patents if they’re not respecting the license.

    • bankimu@lemm.ee
      link
      fedilink
      arrow-up
      5
      arrow-down
      29
      ·
      1 year ago

      If it’s a dmca violation then sue them. Do not create software “defenses” and do not make my computer experience worse.

      • khi@lemmy.world
        link
        fedilink
        arrow-up
        18
        ·
        1 year ago

        With what money are they supposed to fight the multi billion dollar mega corpo exactly with dozens of lawyers??

        Also, if they fight this in court then that would mean less money for development thus making your experience even worse….

        • bankimu@lemm.ee
          link
          fedilink
          arrow-up
          3
          arrow-down
          25
          ·
          1 year ago

          Well then don’t! Revenge code which makes it worse for people who actually use Linux isn’t a way to do this.

          • Solar Bear@slrpnk.net
            link
            fedilink
            English
            arrow-up
            22
            arrow-down
            2
            ·
            1 year ago

            Nvidia shipping proprietary code is what makes it worse for people who actually use Linux. They should open source their driver.

          • priapus@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            16
            arrow-down
            2
            ·
            1 year ago

            Yeah just roll over and set a precedent for large companies to violate the kernel’s license! It’s so much easier!

    • knexcar@kbin.social
      link
      fedilink
      arrow-up
      16
      arrow-down
      71
      ·
      1 year ago

      Because we don’t care about open source drama, we want an operating system that just works™ with our existing graphics cards and doesn’t get in the way of gaming.

      • fluxion@lemmy.world
        link
        fedilink
        English
        arrow-up
        75
        arrow-down
        6
        ·
        edit-2
        1 year ago

        Then let Nvidia deal with this drama of their own making. Linux works as intended.

          • fluxion@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            1 year ago

            The user experience is based around audited, reviewed, open source software. Everything from the licenses, distro policies, and kernel maintainership is based around that model and it has benefitted users far more than if Linux was a mess binary blobs that do not interoperate with each other in a well-defined and transparent manner.

            AMD and Intel both manage just fine, along with hundreds of other companies supporting hundreds of other pieces of hardware on top of dozens of different CPU architectures. If Nvidia insists on being a special snowflake about this then it is 100% their problem.

      • odium@programming.dev
        link
        fedilink
        arrow-up
        62
        arrow-down
        1
        ·
        1 year ago

        From a legal perspective, nvidia has been illegally bypassing a software license by exploiting a loophole. Linux devs fixed the loophole.

        I don’t see why I would be annoyed at Linux devs in these circumstances.

      • Shertson@lemmy.world
        link
        fedilink
        arrow-up
        22
        arrow-down
        1
        ·
        1 year ago

        If that is the case, then you should be very happy to leave Linux for a proprietary OS that Nvidia works on and properly supports.

      • Bitrot@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        8
        ·
        1 year ago

        This thing exists.

        But you have to pay for it.

        Otherwise you might have to deal with the wishes of the people you aren’t paying.

      • priapus@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        10
        arrow-down
        2
        ·
        1 year ago

        It’s not going to effect 99% of users. Nvidia will update it as they have in the past. The large majority of distros use stable kernels by default, and it will be fixed before this makes it to one. You’re getting upset over something completely irrelevant to you.

        • knexcar@kbin.social
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          That’s a fair point, I’m not super familiar with how the Linux dev cycle works beyond “I download Mint or Ubuntu because I don’t feel like shelling out for Windows 10”.

          • priapus@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            4
            ·
            1 year ago

            Distros like Ubuntu and Debian (and by extension Mint) will have their own kernel and driver packages. They will test to ensure that the package combinations they are shipping will work. I am certain they would not ship and update without functional nvidia drivers. Nvidia will most likely update their driver to function with these new protection before this change reaches a stable kernel anyways.

          • Nibodhika@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            Just so we’re clear, you don’t feel like shelling for Microsoft but are okay to do so for NVIDIA? Don’t get me wrong, I also want a system that just works and I had never had a problem with using proprietary drivers, but if this doesn’t get “fixed” by the time that kernel becomes stable I’m switching to open source rather than keep an outdated kernel version, and I’m switching to AMD asap. Over a decade ago I switched to NVIDIA for a similar reason, and I discovered back then that it’s just not worth fighting against a proprietary driver that doesn’t co-operate with the system.

            • knexcar@kbin.social
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              I’m still rocking the Windows 10 education license I got for “free” through college, but once Microsoft deprecates it I’ll consider switching to Linux. I have a Nvida card I got a long time ago, and I’d prefer to keep using it if possible. I haven’t looked into upgrading yet but when I do I’ve got to shell out no matter what brand I pick.

              • Nibodhika@lemmy.world
                link
                fedilink
                arrow-up
                2
                ·
                1 year ago

                Depending on the card and your use case the open source drivers might be good enough, although more modern NVIDIA cards are clock locked to the proprietary driver. Nevertheless it’s almost a guarantee that NVIDIA will do something before this kernel goes live for any major distro.

                In short NVIDIA has been a crappy company in Linux support unfortunately until very recently they were the least worse option, but now with all of the other manufacturers open sourcing their drivers and not locking their GPUs NVIDIA is less and less appealing so the kernel developers can start to push back against their bullshit.

      • Solar Bear@slrpnk.net
        link
        fedilink
        English
        arrow-up
        6
        arrow-down
        1
        ·
        1 year ago

        Okay, then continue not caring as the people who do take care of things. Don’t worry your pretty little head about it.