Announcement

Collapse
No announcement yet.

Linux Developers Still Reject NVIDIA Using DMA-BUF

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

  • Originally posted by bridgman View Post
    I really don't think anyone from AMD said this, even "years ago".

    What we did say was that (a) it would be the first generation where open source driver development started at about the same time as Catalyst development, and (b) it would be the first new GPU generation where we were planning to deliver open source driver support by launch time.



    No... if I said "in time" then I meant "in time". If I had meant something different I would have said something different.



    Again, some kind of link here would really help. The big deal with rv670 (HD3850) was the addition of double-precision support. The new process did support higher clocks but I don't remember any claim of 2x performance against HD2xxx. Maybe against r5xx ?


    For the HD3000 AMD said 2x GPGPU performance per flop against HD2000, because of the new architecture. Not 2x Shading performance (they are equal on shading). In what language you measure GPGPU performance anyway and regardless of my posts?

    Comment


    • Originally posted by pingufunkybeat View Post
      Correct.

      Google did a clean-room reimplementation of Java Virtual Machine, using the same API.
      That's what they say, but google clearly copied gpl code.

      What they can't do is link proprietary code against GPL code.
      Way to miss the point, the API in question can't be considered gpl code, legally. So Alan Cox's (and your, apparently) politically motivated rage against nVidia is rather impotent.

      Oh, and define link, the gpl doesn't.

      Comment


      • [SPAM]
        Originally posted by yogi_berra View Post

        Oh, and define link, the gpl doesn't.


        [/SPAM]


        ************************************************** ************************************************** *

        Maybe add a small opensource part to the driver just for doing this communication could work legally? :/

        Comment


        • Originally posted by yogi_berra View Post
          Way to miss the point, the API in question can't be considered gpl code, legally. So Alan Cox's (and your, apparently) politically motivated rage against nVidia is rather impotent.
          Have you read the lwn link I posted? It explains the situation quite well.

          API is API, but if you link against a GPL implementation of it, you're in trouble. You're welcome to make your own implementation, though, and nobody can stop you from doing that.

          That's why you can't copyright a stdio.h header, but if you link against a GPL implementation of libc, you are bound by the GPL. This is why glibc does not use the GPL. The kernel does.

          Oh, and define link, the gpl doesn't.
          The GPL talks about derived code. Like I said, the legality of combinint proprietary software with GPL software depends on what this exactly means.

          Many important kernel devs, starting with Linus, have a very clear opinion on this, and Nvidia is ignoring them because they have lots of legal muscle.

          Comment


          • Originally posted by pingufunkybeat View Post
            Many important kernel devs, starting with Linus, have a very clear opinion on this, and Nvidia is ignoring them because they have lots of legal muscle.
            Thats how you see it? I see it as two linux engineers at nvidia who were able to convince their boss to work on optimus. With any legal trouble, I bet their managers would tell them to drop it in a heart beat.

            Comment


            • Originally posted by boast View Post
              Thats how you see it? I see it as two linux engineers at nvidia who were able to convince their boss to work on optimus. With any legal trouble, I bet their managers would tell them to drop it in a heart beat.
              I pity those linux engineers. The problems with Nvidia drivers are not their fault.

              Comment


              • Originally posted by Rigaldo View Post
                I know exactly what fps is. You missed the point.
                No actually you missed the point, I wrote that it doesn't matter if you get 110 fps with open source drivers or 190 with proprietary drivers when the game still only needs to run at 30-60fps. In other words, as long as the open drivers can provide 30-60fps (depending on game) with acceptable levels of graphics then that's all that's needed to cater for the wider audience. Obviously there will be the hardcore gamers who want everything at maximum but really they won't switch to Linux anyway, heck they are probably not even on PC anymore as they've migrated to dedicated gaming consoles.

                Originally posted by Rigaldo View Post
                And I'll say it again, it DOESN'T MATTER if the performance is adequate, when it's significantly less than what the hardware has been proven to be able to give.
                Of course it does, that is what adequate means. If it is adequate for playing a game at full speed with a adequate level of graphics then that is perfectly acceptable for the majority of people playing games out there. Again the hardcore gamers are not what I'm talking about here. A good gaming experience goes far beyond the ability to crank up the graphics to 'MAXIMUM LEVEL! OVER 9000!'. The runaway success of things like the Humble Bundle where the majority of games doesn't come close to taxing even the open source drivers is a prime example of this.

                Originally posted by Rigaldo View Post
                So you "might be tempted" to use the software that will make that performance be adequate, and it's perfectly logical to use the right tool for the job.
                If you want to use the proprietary driver because you don't find the performance to be adequate then that's up to you, who is stopping you? If you are talking about 'optimus' then that's because NVidia has not seen it fit to release a proprietary driver for this hardware on Linux, which is not something that not being able to use DMABUF prevents, they are fully capable of implementing that functionality in their proprietary driver themselves, as they've done with all other kernel functionality they can't use due to being proprietary. The reason you don't have a proprietary optimus driver for Linux is that NVidia doesn't care about supporting optimus on Linux.

                And this will ALWAYS be the case with a company like NVidia which only supports proprietary drivers, you will be at their begging, they will CHOOSE which platforms you can or cannot run the hardware you BUY from them. It doesn't end with optimus, this will always be a problem. FreeBSD allows proprietary drivers to interact directly with kernel interfaces, yet it does not have optimus support, what gives?

                Again it has nothing to do with that, if NVidia _wants_ to support a platform they will. They want to support Linux on the professional level for HPC and 3D/SFX so they provide proprietary drivers for their cards which are used in those areas, they have no interest in Linux on the end user desktop so technologies like optimus is not on their agenda.

                Originally posted by Rigaldo View Post
                I'll go back to learning some C programming now ..
                (No, serisouly .. :P)
                As someone who has been programming in C (amongst other languages though) for 12 years that makes me happy to hear If you want a nice kickstart/learn-through-practical-examples experience I would suggest 'learn c the hard way', I wish I'd had something like this back when I started out: http://c.learncodethehardway.org/book/

                As the name implies there is very little hand-holding and depending on how new you are to programming you might want something more 'basic'.

                Originally posted by Rigaldo View Post
                **Btw, should I add, I don't know what you define as great visual quality, but my experience says you need pretty high end hardware to have it with open drivers.
                Yes this is indeed a subjective thing, but I'd wager as long as people think graphics look 'good' they will (in general) fully enjoy the game even though it doesn't reach the maximum level of detail it can muster on their hardware/drivers.

                Comment


                • Originally posted by yogi_berra View Post
                  That's what they say, but google clearly copied gpl code.
                  Yes and they were convicted of doing so, however those 9(!) lines of code was of such a generic nature that the judge said their (oracle's) claims where ridicoulus.

                  Originally posted by yogi_berra View Post
                  Way to miss the point, the API in question can't be considered gpl code, legally.
                  The API is not copyrightable, NVidia can implement this API a hundred times and no kernel dev wil raise an eyebrow. NVidia wants to link to AND USE the kernel developers GPL licenced CODE which makes NVidia's driver a derived work thus it is illegal for NVidia to do so from a proprietary driver.

                  You should try and understand the difference between an API and actual CODE. NVidia wants to use kernel CODE from their PROPRIETARY driver, this code has been marked as only legally linkable from GPL compatible code (EXPORT_SYMBOL_GPL) which means you cannot legally call it from PROPRIETARY code. NVidia is allowed to copy the API verbatim as many times they want, but they have to write THEIR OWN CODE.

                  Comment


                  • Originally posted by XorEaxEax View Post
                    No actually you missed the point, I wrote that it doesn't matter if you get 110 fps with open source drivers or 190 with proprietary drivers when the game still only needs to run at 30-60fps. In other words, as long as the open drivers can provide 30-60fps (depending on game) with acceptable levels of graphics then that's all that's needed to cater for the wider audience. Obviously there will be the hardcore gamers who want everything at maximum but really they won't switch to Linux anyway, heck they are probably not even on PC anymore as they've migrated to dedicated gaming consoles.


                    Of course it does, that is what adequate means. If it is adequate for playing a game at full speed with a adequate level of graphics then that is perfectly acceptable for the majority of people playing games out there. Again the hardcore gamers are not what I'm talking about here. A good gaming experience goes far beyond the ability to crank up the graphics to 'MAXIMUM LEVEL! OVER 9000!'. The runaway success of things like the Humble Bundle where the majority of games doesn't come close to taxing even the open source drivers is a prime example of this.


                    If you want to use the proprietary driver because you don't find the performance to be adequate then that's up to you, who is stopping you? If you are talking about 'optimus' then that's because NVidia has not seen it fit to release a proprietary driver for this hardware on Linux, which is not something that not being able to use DMABUF prevents, they are fully capable of implementing that functionality in their proprietary driver themselves, as they've done with all other kernel functionality they can't use due to being proprietary. The reason you don't have a proprietary optimus driver for Linux is that NVidia doesn't care about supporting optimus on Linux.

                    And this will ALWAYS be the case with a company like NVidia which only supports proprietary drivers, you will be at their begging, they will CHOOSE which platforms you can or cannot run the hardware you BUY from them. It doesn't end with optimus, this will always be a problem. FreeBSD allows proprietary drivers to interact directly with kernel interfaces, yet it does not have optimus support, what gives?

                    Again it has nothing to do with that, if NVidia _wants_ to support a platform they will. They want to support Linux on the professional level for HPC and 3D/SFX so they provide proprietary drivers for their cards which are used in those areas, they have no interest in Linux on the end user desktop so technologies like optimus is not on their agenda.


                    As someone who has been programming in C (amongst other languages though) for 12 years that makes me happy to hear If you want a nice kickstart/learn-through-practical-examples experience I would suggest 'learn c the hard way', I wish I'd had something like this back when I started out: http://c.learncodethehardway.org/book/

                    As the name implies there is very little hand-holding and depending on how new you are to programming you might want something more 'basic'.


                    Yes this is indeed a subjective thing, but I'd wager as long as people think graphics look 'good' they will (in general) fully enjoy the game even though it doesn't reach the maximum level of detail it can muster on their hardware/drivers.

                    I'll say again the fps thing. If in cases where on other OS you'd get 100 fps or whatever, you get 30-60 on Linux, then in cases you'd get 30-60 on that other OS you'd get significantly less on Linux. Ok? Thus, I wouldn't say it's adequate. In many cases the performance of opensource drivers is good enough, but also in many other cases it's not. And those cases seem to be many more than the other OS that would get more fps or proprietary drivers. Am I wrong here?
                    So if you have more cases where performance is not good enough, compared to what it could be, I'd call it not adequate.
                    I'm sure you agree that performance on open drivers, on average, is not as good as it could. And in my opinion, not as good as it should. Although I do understand the technical difficulties, to consider them good for daily usage, I'd like better performance in relation to hardware.
                    For me it's probably just power management that prevents me from using them. Video decode would be very welcome too. And in my usecase, granted the first condition was met(power management), the advantages would probably indeed outweigh the disadvantages. SO I have my hopes up regarding some news that there might be progress on this front ...
                    And I wouldn't say we're at the point where in most cases I'd recommend open drivers instead of closed ones to people new to Linux. At least from my perspective, which I find fairly justified.

                    Even though we might have disagreements, I'm glad we can talk without derailing too much, unlike in other cases.

                    Indeed, FreeBSD may not have optimus, but I think they have more reasons to give this support on Linux. In the end, Nvidia is indeed a company, not a charity or anything ..
                    While not pleasant, it's somewhat expected that they wouldn't care as much as for windows. Especially if they also don't have any OEMs complaining they can't get Optimus to work on their pre-installed Linux pcs ..
                    It's not good, but expected due to how things work. I might be wrong, but I care more about it being implemented that how it will be. I believe for myself that it's more likely or better to implement, even if in wrong way, and then do it better. Also I believe accepting the blob and bashing nvidia would bring us one step closer to nvidia open drivers than wishing them and the blob to die. I don't think it will be easy to give us open drivers by forcing(I think it'd be to tough to do so), but maybe if they are more involved in Linux they that they can have advantages actually from open. But this is how I see things.
                    Besides, even if it's implemented itcould help get more users, in other words more power to actually pressure them in the long run.
                    I can accept though that there are legal problems, and maybe I should mention, that I don't expect or want them to implement it if it indeed is against gpl etc.
                    I don't like the idea that "we'll prevent them cause we hate them" though.
                    Making it easier for them would obviously help implement features though. But yes, we should stay within what gpl says. I don't say to revert anything, just that no need to prevent them IF it's in agreement to what they're allowed to do(cause I get the impression some people would prevent them anyways).
                    Also I don't like that some people are so zealous about opensource, that they want to go against everything that's not open and generally deny it. I do believe that open is better, but we can't just erase everything else in a single fell swoop. And of course Nvidia aren't victims, I don't think anyone really said so, the victims are the users. And Nvidia is indeed at fault more or less, but I'd also blame some other people, who I believe could maybe have handled things a bit better in my opinion. Just a tiny little bit.
                    We shouldn't see them, or anyone else for that matter, as enemies in my humble opinion.


                    Btw, about Nvidia's support. I can't confirm much of this with benchmarks or anything so take with a grain of salt .. Or many ..
                    I've read various articles, comments etc regarding graphics performance under Linux, among other things, and the general idea I got is that both nvidia and amd blobs tend to give around the same performance between Windows and Linux(native apps). But fglrx has more random bugs and features missing/not implemented that well(this I can confirm .. -.-). Under Wine though, amd performance is worse or horrible for games, personally I can confirm 70%-80% performance losses in fps on average on some games I tried. Pretty bad, huh? Although the games were playable, there was a bit of lag on Stacraft II sometimes(even on lowest settings it wasn't all gone). I should note that there was barely any decrease in performance under heavy battles(4v4 clashing with hundreds of troops from all sides, and I don't have a high end laptop ), while on Windows in the same circumstances the screen would probably update every 1-2 seconds(that was while I played, so I can confirm) .. And generally, less heat was produced(always a good thing on a laptop. With radeon I didn't try though to say, but from what I've read it occasionally performs better than Catalyst with Wine .. xD Still less than windows though.
                    With Nvidia blob on the other hand(not confirmed by me from here on) it seems the performance under Wine often similar to Windows, even better on cases ..!
                    Granted you can have working video decode acceleration, it seems to me close to the best you could have on Linux, as things stand now(not as good as it should again, some bugs here and there, and some other stuff).

                    And I'd generally say, that their driver mostly works pretty well, from my experience too. Although I find both Nvidia's and AMD's installers pretty stupid. Ok, AMD needs a bit of command line(can't do much without amdconfig/aticonfig, the rest is all possible through only gui though, but generally faster on terminal), but Nvidia requires to completely shut down X and the display manager to install( manually) from what I remember from last time. xD
                    Other than that it's not so bad for Nvidia though .. As far as support goes. With Catalyst I get various glitches, mostly on fullscreen hardware accelerated windows of any sort(wine games, browser with flash video, fullscreen flash video, even lightdm with elementary theme, and more, all give some kind of graphical glitches, making features unusable in some cases).

                    I hope that the driver won't get too bloated if they add all the code for Optimus themselves though.


                    And thanks a lot for the recommendation regarding C programming, I'll certainly have a look at it.
                    I was learning a bit of gtk lately, but generally I'm not experienced on programming.

                    **Dear God, how did I end up writing so much again .. -.-
                    It must be those essay/language classes I had a couple years ago .... -.-

                    Comment


                    • IMO we're missing the point

                      This is one of the few multi-page threads I read completely before responding, and I haven't sees once asked the following question : "who is the target audience of Linux?" I don't have the answer, I only have my answer, so all that follows is my personnal view.

                      There is none. The point of Linux is creating a great product. When someone wants to use it for something, he is welcome to modify it as seen fit; with the GPL safety that those changes will go public. This has happened on more than once occasion, however Linux on servers/supercomputers comes first to mind. The changes went back to the main branch, and independent devs got interested and contributed too. Now we're seeing the same in the embedded space : DMA-BUF was created to address a specific need for ARM vendors. In the end it was designed more generically than was originally needed, and the enablement of dual graphic solutions is AFAIK more of a side effect. Thanks to the GPL (again) the work went back into the main branch.

                      Now NVidia dances in, wants to hook in but oh surprise, it's an internal interface, and you can't link against it from non-GPL code. (Admittedly, this has never been tried in court, but who would want that?). Why is this? because when communicating with the kernel via system calls (exempted from the GPL derived work clause), the kernel can (and will) assure some type of security. With internal interfaces, this protection is irtually impossible. The best described case in the mailing list is a bug that appears somewhere, but traces back into the black box that is the blob, this creates impossible to debug issues, and for people hit by them, an impression that linux is unstable (and that no one is willing to look into their issues). In the end, they are making a decision which should be good for the product.

                      To the users (of which I am a subset), well, sorry guys, the qualty of the product should be and is the primary concern; jeopardizing this for a vendor (granted popular) that doesn't play nice doesn't seem like a fair tradeoff.

                      This was very personal analysis of the situation, and one more thing :

                      I bought my GPU, and I want(should be able to) to use it how I want. Imagine you bought a dishwasher into which you weren't legally allowed to use Calgon tablets, only had to use Sun tablets. The notion of "owner" is slowly fading, all we are is a "licenced user". I say NO! I own it, I use it how I see fit.

                      Third time repeated : my view only.

                      Nvidia/fglrx blobs have no future in Linux.
                      Agreed, the way things are becoming more tightly integrated, controlling them from dozens of different places (vendors) is unsustainable.

                      Serafean

                      Comment

                      Working...
                      X