Announcement

Collapse
No announcement yet.

The Challenge In Delivering Open-Source GPU Drivers

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

  • #31
    Originally posted by elanthis View Post
    Out of the box support is highly unlikely. You have to lead the release of the hardware by an absolute minimum of 6 months. More likely closer to a year. And that's of course ignoring the LTS distros that don't update their kernels or drivers for years at a time.

    A stable API would be much more useful. A stable ABI isn't so necessary, at least for FOSS drivers. Something like DKMS is more than sufficient; recompile the driver is the kernel is updated. Not super ideal, but it works. If installation CDs have a compiler on them and the system has enough temporary memory, it means you can even get a driver installed via USB stick or somesuch when your SCSI/RAID/SATA controller is missing the driver it needs to install. A stable API is sufficient to ensure that the user can grab a driver and install it on recent Linux distributions.

    A stable ABI would be most user-friendly, but is literally never ever going to happen. The Linux developers actively despise making users' life easy because it requires them to spend more than 2 seconds thinking about their kernel interfaces.
    First off, this is about the most sensible post in this whole thread. You put your finger on the issue correctly with the last sentence.

    That being said; the API does not need to be stable, it should evolve naturally. But it will automatically and naturally become more stable and future-proof if developers do spend more than 2 seconds thinking about their interfaces. Everything else comes from there, naturally, and almost painlessly (it is less painful than the current situation, that's for sure).

    Everybody could win, if only the supposedly more clued people would spend some time using that bigger brain that they are supposed to have. Or put differently: by continuing to refuse to work like this, those refusing only prove that they are not deserving of the status that they like to claim for themselves.

    Comment


    • #32
      Originally posted by zoomblab View Post
      Ah, the joy of "distro" dependency! Hannu said about that a long time ago.

      http://4front-tech.com/hannublog/?p=11
      Only if you don't know how to use git and make. Which is a pretty sad excuse.

      Comment


      • #33
        Originally posted by [Knuckles] View Post
        I think a good compromise would be if intel provided some backports for the most used distros

        Some backports for some distributions is rather limiting.

        What we need is driver developer provided backwards compatibility (with some features disabled) for some distributions: ideally, compatible with debian stable. The likes of Redhat, Canonical and SuSE can then do the rest of the work for their older enterprise releases (for which they get paid). The job of supporting such older infrastructure will also be overseeable in such a constellation.

        This way, every user can do one of the following to get drivers installed:
        1) install packages built by distribution maintainers, who also have an easy task, so updates are plenty and frequent
        2) build driver stacks from source for a reasonably current distribution
        3) spend some time on getting the code compatible
        4) buy support
        5) update infrastructure
        6) use a closed driver (for the sake of argument)

        Depending on different user classes, you can then start guessing at the numbers.

        Phoronix users:
        1) 5% -> 50%
        2) 10% -> 20%
        3) 5% -> 2%
        4) 5% -> 3%
        5) 25% -> 5%
        6) 50% -> 20%

        Other hobby users:
        1) 25% -> 60%
        2) 5% -> 10%
        3) 0% -> 0%
        4) 10% -> 5%
        5) 20% -> 5%
        6) 40% -> 20%

        Corporate users (admins doing the work):
        1) 30% -> 75%
        2) 20% -> 10%
        3) 0% -> 5%
        4) 20% -> 5% (little extra support needed for graphics drivers, but the support will be bought anyway for other issues)
        5) 10% -> 0%
        6) 20% -> 5% (most use intel hw anyway)

        (would be nice to collect real figures though)

        Guess what, those selling support will actually fare better:
        * the user experience will vastly improve
        * the market share will also improve (over time, we made a horrible impression so far)
        * the manpower needed to provide graphics driver support will be reduced and can be rerouted to do more useful things

        And, for graphics driver developers, there are the following advantages:
        * vastly increased userbase for recent code: better testing!
        * easier direct debugging: testing different versions of both driverstack and infrastructure is feasible
        * easier user debugging
        * less time spent dealing with bugs and support, more with development (but slightly more time will be needed there anyway)
        * more pressure for closed vendors to open up
        * bigger market share for free software

        All that takes is the willingness to state: "Yes, we support up to debian stable", and to make that happen. When given the ability, users will then provide loads of testing, and will make sure that such support is not broken easily.

        Comment


        • #34
          Originally posted by phoronix View Post
          Phoronix: The Challenge In Delivering Open-Source GPU Drivers


          http://www.phoronix.com/vr.php?view=ODk3MQ
          The link is broken. It does not link to the article.

          Comment


          • #35
            Originally posted by BlackStar View Post
            Only if you don't know how to use git and make. Which is a pretty sad excuse.
            No, it's not a sad excuse. It's an excellent excuse. Using a computer should be easy and intuitive. Like Mac OS and Windows.

            Expecting users to deal with Git and make is ridiculous.

            Comment


            • #36
              That's what distributions are for.

              Comment


              • #37
                Originally posted by pingufunkybeat View Post
                That's what distributions are for.
                Only rolling release ones. The rest needs to wait half a year or more, which makes users sooo happy.

                Comment


                • #38
                  Originally posted by elanthis View Post
                  Out of the box support is highly unlikely. You have to lead the release of the hardware by an absolute minimum of 6 months. More likely closer to a year. And that's of course ignoring the LTS distros that don't update their kernels or drivers for years at a time.
                  No, this is our job, and we blew it for Sandy Bridge. We're supposed to do development well ahead of product release, and make sure distros include the necessary code to get things working (we have separate teams to do development and aid distros in backporting, though most of them can handle it by themselves these days).

                  I could give you all sorts of explanations as to why this is (Sandy Bridge is a big architectural change, we made some mistakes in defining our development milestones, and we didn't work hard enough to get our changes backported), but really there's no excuse. Fortunately we've learned from this and are giving ourselves more time and planning better for Sandy Bridge's successor, Ivy Bridge.

                  As for a stable ABI, yes it would definitely help situations like this and make lives easier for distros, device manufacturers, and probably users. But it would make life harder for developers, and as we all know, open source development is driven by developers, and we're a whiny and lazy bunch. (Yes, this is a flippant remark, don't take it too seriously since I omit much of the complexity behind the "life harder for developers" part that has big implications for users, distros, and device manufacturers; it's a complicated issue.)

                  Comment


                  • #39
                    Originally posted by RealNC View Post
                    Only rolling release ones. The rest needs to wait half a year or more, which makes users sooo happy.
                    Surely, it's possible to update Mesa, X, and the kernel in a non-rolling distro, as long as it provides the relevant packages.

                    Comment


                    • #40
                      Originally posted by pingufunkybeat View Post
                      Surely, it's possible to update Mesa, X, and the kernel in a non-rolling distro, as long as it provides the relevant packages.
                      If it does then it's not a non-rolling distro, no?

                      Comment


                      • #41
                        Originally posted by pingufunkybeat View Post
                        Surely, it's possible to update Mesa, X, and the kernel in a non-rolling distro, as long as it provides the relevant packages.
                        I guess if updating your kernel so that you can upgrade a graphics driver never say broke your wifi then I guess that'd be quite good.

                        Comment


                        • #42
                          Originally posted by RealNC View Post
                          If it does then it's not a non-rolling distro, no?
                          No, not really.

                          You still need to do a complete re-install from time to time, because the undelying libraries tend to be stable and changing them requires a recompilation of everything that links against them.

                          Upgrading one or two packages is easy. Upgrading everything, starting with libc, is a lot more difficult, which is why distros prefer to package everything from scratch twice a year. The rolling distros a la Gentoo get to upgrade everything all the time and occasionally deal with the related fallout.

                          Comment


                          • #43
                            GNU/Linux on the Desktop: It is happening

                            I wanted to point out the success of GNU/Linux on the desktop despite the critics. In Oregon a number of companies and organizations have emerged to support desktop GNU/Linux. ThinkPenguin is selling fully support desktop GNU/Linux systems and accessories. You are going to see more people buying them who are average users.

                            People don't seem to realize that the average user has 10GB of data, checks his or her email and posts a few pictures on the web.

                            Most wouldn't even notice if 3D accelerated graphics were missing. About the only real benefit that 3d accelerated graphics give you is better battery life on laptops and the ability to watch video where cheap proccessors are used.

                            Desktop GNU/Linux systems are here. The Penguin Wee sold by ThinkPenguin is doing very well. It sells cheap and runs better than any comparable Microsoft or Mac system for a fraction of the cost. The cheapest decent GNU/Linux desktop system (the Penguin Wee) is about $250 with an Intel Atom Processor and 3d accelerated graphics vs $500 for the cheapest Microsoft Windows desktop computer at a typical store like Staples or a $1000 for a Mac. Used computers might sell for less, but not new ones that are comparable in terms of speed performance, and meet customers needs.

                            Assuming that the drivers are free. Binary blobs cause problems and it isn't just in GNU/Linux. Microsoft's ecosystem is full of dead printers, graphics cards, and other devices that no longer work. In fact many of those devices do work in GNU/Linux still because unlike in Microsoft Windows the drivers are free. Users aren't demanding the latest and greatest hardware. They are demanding systems that work.

                            Apple has marketed that image. Sadly they don't actually produce much of anything that works and users end up in the same cycle that is Microsoft Windows. Purchasing new hardware every other week shouldn't be a requirement. In Apple and Microsoft land it is.

                            These are the reasons GNU/Linux is succeeding on the desktop in the places where it is being heavily marketed.

                            The year of the GNU/Linux desktop is really just a perspectives game. No major company has succeeded yet small players are succeeding and making allot of $$ off it. Corporations like HP and Dell may eventually become disadvantaged by smaller players who are currently succeeding in the market with Desktop GNU/Linux.

                            Don't forget that there is also System76, Open-PC, and others who while may not have been successful at penetrating the masses have been selling systems and doing well with a technical audience.

                            The Open-PC project did an excellent job designing even if it can't fulfill the masses needs. If nobody is buying though I question the success of the project. I think that may have partly to do with a failure to market it though. No press release was ever done. Or it was done many many months before the actual release.

                            Comment


                            • #44
                              Originally posted by jari2 View Post
                              It sells cheap and runs better than any comparable Microsoft or Mac system for a fraction of the cost. The cheapest decent GNU/Linux desktop system (the Penguin Wee) is about $250 with an Intel Atom Processor and 3d accelerated graphics vs $500 for the cheapest Microsoft Windows desktop computer at a typical store like Staples or a $1000 for a Mac. Used computers might sell for less, but not new ones that are comparable in terms of speed performance, and meet customers needs.
                              Wow are you ever reaching there. The penguin wee is nothing but a base atom system. It doesn't give superior performance in linux, quite the opposite. Video drivers alone hamper the system where intel's windows blobs blow by the FOSS intel drivers. Also Apple has never made a system with that low of system specs (intel era). The very first mac mini with intel smokes any atom based system to date in performance, (even the original ones with the intel graphics IGP). For the same price of the Penguin Wee you can go out and many of the dirt cheap atom systems out there with windows included (which are usually dual core atoms to boot).

                              Comment


                              • #45
                                Originally posted by jari2 View Post
                                People don't seem to realize that the average user has 10GB of data, checks his or her email and posts a few pictures on the web.

                                Most wouldn't even notice if 3D accelerated graphics were missing. About the only real benefit that 3d accelerated graphics give you is better battery life on laptops and the ability to watch video where cheap proccessors are used.
                                This may be true for a certain narrowly-defined "average user", matching a specific demographic. I could take a wild guess at what that demographic might be, in the context of the rest of your post. Just for the sake of argument, let's say that you draw your conclusions about what the "average user" wants from personal experience, surveys, and indeed, in-depth statistics about what suburban, middle-aged, working-class users in Oregon expect out of a home personal computer.

                                Given these demographics, it is perfectly reasonable to expect that these users would not get very excited about their new computer, if it is functionally equivalent to their old one, but has new "whizzy" desktop effects, flashy new hardware-accelerated 3d games, and counterintuitive new desktop features like displaying all your windows on a cube, or as a mosaic. In fact, they might even have a negative reaction to these new features complicating a system that they already understand, and they would resist the change just for the sake of remaining in the familiar. I'd even go so far as to say that they probably want to continue using whichever computer operating system they are most accustomed to today, and will only change when they are absolutely forced to by hardware failure with a lack of replacement parts.

                                Now, let me paint a completely different picture of a different group of citizens, with completely different requirements. Take for example, young adults in their mid to late 20s, 30s, and early 40s. Middle-class working folks (some unemployed due to the economy) living all over the country. If they used computers when they were very young, they probably grew up on DOS or Windows 3.1. If they didn't start until they were in their teens, they might only know Windows XP, or Mac OS X.

                                But they have social reasons to be open-minded about change. Word of mouth is an extremely powerful marketing force, and everyone in this demographic cares about what's "cool" and new. So when something visually attractive like Android or iPhone or Windows Aero hits the market, this demographic is enthused, and the topic spreads like wildfire through social networks.

                                Maybe in 2001, this demographic would have matched the expectations of the one you have defined. But this is 2011. Everyone and their grandmother has a smartphone with "whizzy" hardware-accelerated window transitions, accelerated video and Flash, and games whose graphics detail is quite frankly remarkable considering the size of the device.

                                And then there's the desktop competition. Windows 7 and OS X are downright beautiful in their presentation and in the desktop accessories (like the Aero feature that lets you see all your windows zoomed out in a panel-like layout). Nearly every user interaction except typing text sets off an elaborate, detailed animation or transition to show the user that an operation is in progress, and to do so with fashion. Aesthetics matter.

                                In the 2010s, I'd argue that more and more users are starting to value what we deemed "eye candy" in the 2000s and earlier. Animations, transitions, dynamic / haptic feedback, advanced scene graphs.... none of this is really possible without 3d acceleration, unless you have a fairly powerful CPU -- and then the CPU is inefficient for this kind of graphics-intensive workload.

                                But it depends upon who your target market is in particular. There is no rigorous definition for "average user", only perspectives. Demographics, generalizations, surveys, statistics, personal experiences... it all comes into play when you are trying to capture and define what the average user wants.

                                You might think that it doesn't even matter what the average user wants, and that as long as you can market your offering to some substantial sub-market of the world, then you are successful as a business. That's fine, but it assumes the microcosm perspective. When analyzing a global movement like FOSS, it is more sensible to take the macrocosm perspective. The little successes found here and there tend not to affect the status quo of the companies and users who operate in the "mass market" segment, where dollar values are discussed in billions and user statistics are aggregated in tens of millions.

                                But when I say "average user", what I refer to would more precisely be defined as "The overwhelming majority of non-technical business and home computer users living in the industrialized nations of the world". Gathering conclusive factual data about the values of this large and diverse group of people is difficult if not impossible, so I won't claim I have the facts. I can just tell you that I think I have a fairly good pulse on what those within my own demographic care about, and from that I tell you that computers bereft of 3d acceleration would simply not be acceptable to those users. In fact, many of these users are picky about the extent of the 3d acceleration: gamers, a moderately small sub-class of the demographic defined above, care about whether the 3d acceleration is fast enough for animations and transitions to be "seamless" versus "jittery". They also care if the graphics stack is so poorly maintained as to fail to work properly with the applications they want to use (mostly games). In the case of most open source 3d drivers, the performance is still very, very poor for even the most basic games, and they still fail to run the vast majority of both native and emulated hardware-accelerated games.

                                So, conclusion? Go ahead and celebrate the victory of GNU/Linux systems in some limited demographic in Oregon, but keep in mind that on the larger scale, when factoring in especially the younger generation, the continued success of GNU/Linux is directly related to its ability to produce awe-inspiring, slick, hardware-accelerated graphics. It is becoming almost as essential as speedy internet access.

                                Comment

                                Working...
                                X