Announcement

Collapse
No announcement yet.

An Update On The OpenGL 3 Support In Mesa

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

  • #21
    Originally posted by RealNC View Post
    By driver model I mean a driver ABI. Driver ABIs exist on all major operating systems, except Linux.

    Let me clarify, because I'm not a hater
    "gkh and his purely political and utterly stupid stance "a stable aBI will never happen", are some of the most disgraceful things that could happen to linux on the desktop..." (c) http://linuxhaters.blogspot.com/2009/02/driving-me-insane.html

    you don't say...


    Originally posted by RealNC View Post
    Some people claim that all software should be Free and Open Source. Proprietary software should be banned from Linux. And proprietary drivers are "evil." Since they're evil, Linux should not provide a driver ABI (and it doesn't) and all drivers should be put into the kernel, without exception.

    What is a driver ABI? It's an interface that allows for writing binary drivers that work across kernel versions (like you can do on Windows, OS X, Solaris, and many others systems.) Linux lacks such an ABI, so vendors are forced to update their drivers on every kernel release and use internal kernel APIs that are not stable (= change between kernel versions.) Also, they are unable to interface properly with the kernel (DRM, KMS, whatever).
    you know, there is an Open and relatively Free systems called "*BSD" which have relatively stable ABIs and APIs and altogether very conservative but where GNU/Linux world stand entirely in strong Free/Libre ideology they are not and have more... "practical" stance such as yours.
    BUT here's the catch: no open and no closed source driver developers give a flipping fuck about them. i wonder why...


    Originally posted by RealNC View Post
    According to those people, this is a good situation since those drivers are evil and Linux not providing a driver ABI means those driver will stay problematic and therefore will force the vendors to open source their drivers.
    no. there is just no point in preserving API or, definitely, ABI if you can make it better in present situation.
    in contradiction to proprietary developers, opensource ones have almost full control over entire system they developing for and not just their part. with good reasoning _anyone_ can compel major changes in API, ABI of big project or even some changes in its workflow if resulting benefits outweigh the costs for most parties involved. and you don't have to posses billions of cash and an office in every part of the world for that.

    Originally posted by RealNC View Post
    And the user is the one who suffers (can't have GL3, can't play games at native speed, etc, etc.) The proprietary drivers have blindingly fast 3D, support for latest GL versions, etc. The free drivers don't. So obviously the argument that "the community" can write drivers that are on-par with the closed ones didn't work out.
    suffering much over lack of OGL3 ? strange, those newest games on Windows(r) released last 0-3 months doesn't have it either. in fact, they don't use even DX10. everything solely on OGL2.1 & DX9 plus some new extensions for few glamorous effects. (please, someone, tell them that fucking DOF, blur and such sucks and only waste GPU resources and stupidly cover their cheap-ass low-res textures since they decided not to give their artists time to properly finish their work)

    Originally posted by RealNC View Post
    I maintain the position that it's not important for the drivers to be free. It's important that they work. But they can't work unless the OS itself is friendly to binary drivers (Windows, OS X, etc), which Linux isn't. And it isn't because people claim that drivers should be open.
    again, you didn't pointed out any Open "binary-friendly OS". how are they doing there ? much alive ?

    Originally posted by RealNC View Post
    It's just brain damage if you ask me.
    yes, probably. and you should do something about it as soon as possible.

    Originally posted by RealNC View Post
    Give hardware vendors a proper interface to write their drivers and Linux will get a huge boost.
    fuck me ! but do it somewhere far away from Linux, thank you very much. i take open Ati/AMD, Nvidia, Intel driver over this in any day of the week.
    they maybe lack 1/2 or 1/4 of functionality _yet_ but they crap as much as 10 or 100 times less in your system.
    current record of uptime in my system for fglrx is 2 days, for xf86*/mesa about a month and this because i decided to update kernel and reboot. Nvidia blob could achieve same but it's still bugfixed by "if not 'too many' people are affected - fuck it" attitude. intel... they is just not too much to open, really. all their sweet stuff is in Linux world.

    Originally posted by RealNC View Post
    Why should I use Mesa if both AMD and NVidia have good GL implementations tweaked for their hardware? Why should I use the open drivers if the binary blobs would work just as well? Why should I update my kernel just to get a new version of the driver? I should only need to download the driver and install it, not replace the whole bloody kernel. People have problems with their hardware on Linux more often than not. A driver ABI would make everyone happy.
    trolling prick, like you ? no reason. you can happily continue downloading kernel stuff from web pages and put it in the heart of your system. and by the way, there are those famous Ati/AMD and Nvidia blobs which have all this functional and work in most of current distributions since they don't use bleeding edge. what the fuck else do you want ?

    when mesa was lacking OpenGL 2.1 support most trolls were sprinkling theirs spit all over the place because "this is what most application and specially games using". now it has but "THERE IS NO OGL3!!!!!". it's nice how they omit "which nobody, other than big-money animation studios, using" part.

    yes, those features important and must-have in overall but now we have
    1) very few highly qualified digital graphic professionals.
    2) those what we have prioritize quality of code and stability of work over speed of development (and speed in performance too - it's done properly, then it optimized).
    3) fucking gazillion of drivers and almost everything working right out the box, beside some heavily modified OEM bullshit with zero support from vendor (who, most likely, is not manufacturer) even on "target platform" (say: Windows(tm)).

    people who do that are fucking awesome, their work is fucking awesome and entire community relies on it. and they shown to be reliable so community can rest easily. but you, get sicker and die, please.

    Comment


    • #22
      Originally posted by RealNC View Post
      It's not my own use case. It's the use case of millions of people. Also, closed source drivers suck partly because there's no good ABI.
      Don't overestimate the linux market or think that peoples have the same use patern as yours, neither me or you have any clue on this.

      Originally posted by RealNC View Post
      If I just need to update my graphics driver, then I should be able to just update that, and only that. I don't see graphics drivers being bundled with my wi-fi drivers and filesystem drivers on other OSes....
      I prefer developing upstream with the kernel because there is a set of rules i have to follow and i know what's happening, it's far better to have a central place where code can be seen and reviewed that having everyone working in its git repo scattered around the web.

      Mac OSX update your wifi driver along the GPU one, in their central update thingy. Mac OSX is close to Linux in that Apple keep a close eye on all drivers and make sure everything run smoothly despite having a stable API. I think the integration of all driver and the consistent experience it gives to user is one of the reason Apple has a "good" OS (from technical pov i am told it has serious short coming but i never took a close look).

      Originally posted by RealNC View Post
      Binary drivers have their own memory manager.
      I am not talking about memory management from GPU point of view but the vm in the kernel, everything about virtual memory, paging, cache attribute, numa, ... all those things are very sensitive to GPU driver you can go look for nvidia requested vm features on BSD before making the nvidia blod available on those.

      Originally posted by RealNC View Post
      How can you say it's nonsense if you can take a look at the situation and see how much breakage there is? Linux doesn't really work because of that. The only thing that somewhat works is NVidia's blob, and it would work really great if there was an appropriate ABI.
      Linux have been working fine for me, and for a long time, of course i am not a gamer (can't even remember when was the last time i played a game).

      Originally posted by RealNC View Post
      Those are different operating systems and therefore have their own ABIs. The ABI in Windows 7 will stay as-is until Windows 8 comes around 4 years later. In Linux stuff breaks every other day.
      I have seen rumor that MS might consider faster release to keepup. I think one of the reason linux is successfull is because kernel bring new features and improvement on predictable schedule (there is a reasons linux is the king in super computer and others server stuff).

      Originally posted by RealNC View Post
      A stable ABI (at least stable for a few years) would be an inconvenience for kernel and X.Org devs, but a convenience for users and hardware vendors.
      As i said this is where we disagree, i believe in the long run stable ABI lead to more trouble than goods for end user. I think it gives crappy driver and unmaintained driver and would encourage more closed source driver (wifi, network, all stupid usb gadgets, ...) and for me it's exactly where i don't want to go.

      Also i don't think we would be helping the vendors that much, they would become careless.

      Anyway we have unstable ABI and it will stay that way for the better (at least i tried to convince you).

      Comment


      • #23
        I am using r600c for more than a year now on my HD3870. I used to be a hardcore gamer for many years, but not anymore for various reasons, most notably having a life, job,wife, and that most modern games suck, period. There are simply no games today that seem compelling for me to give them a portion of my time, i prefer learning a new programming language instead, much more interesting.

        r600c never failed me. It may not play all games or play them fast, but it gives me no headaches on my everyday work, unlike catalyst before it(even on Ubuntu). The few times i wanted to play a game(3 games ME2 Creed 2 Starcraft 2), i installed Win 7(there is a handy 30 day trial period), played(or simply tested) it, and then formated it again. Yeap, that simple. I prefer the hustle of formatting than the hustle of Wine. If there were a few more games i 'd like to play, i would buy a console instead. Gaming on PC makes no significant difference anymore...

        I would love to not have to do that. I would love the r600c to have a faster implementation plus GL3. But this is just a luxury feature for me. Although i want it, i am not bashing the devs for their efforts, they are doing everything they can and i am happy with their results. I am using their driver and will continue to use it no matter what. When the next games that interest me go out, i will play them on Win 7 again, and i will get back to Linux and radeon driver after that.

        Instead of bashing and complaining, see if you can help them. A few days back i decided to help them with feedback on their driver. Installed almost all games and apps on this page



        and updated the matrix with Mesa 7.9 results. It may not be code, but it is something... Everything helps.

        I have been silently watching Mesa mailing list and studying the code, in order to be able to contribute. Unfortunately i have a lot of work at this time, and soon i will join the army for some months, so my plan to contribute has to wait until next Christmas. But my thoughts so far are that it is not that difficult. It surely is a lot of work, but if most of us who know how to code could contribute just a tiny bit, this driver would be the best in no time. So many of us use Mesa, imagine for a moment if say a thousand users, professional coders or students, would contribute an hour of their time daily to this project. In a few months, it would become much better. It is not hard, it is just that most of us are lazy bastards.

        So quit bashing and start contributing, anything. Contribute code, contribute testing feedback, contribute documentation, anything. Just help make Linux better!

        Comment


        • #24
          Originally posted by RealNC View Post
          This was in response to various people claiming that the Linux driver model of requiring hardware vendors to open source their drivers and put them in the kernel is a good idea. When vendors don't do that, the next claim is that it's enough for them to open up their docs so that "the community will code the drivers and features."

          It doesn't look that way. Proprietary drivers support GL3 for ages now, while the open driver stack is still based on old, outdated specs. IMO this is proof enough that the Linux driver model is wrong and its supporters too. Otherwise the open graphics stack would have been feature complete years ago.
          No, they don't. Proprietary Intel drivers do not support OpenGL 3 (nevermind 4), proprietary Ati R500 / Nvidia 6x00/7x00 drivers do not expose OpenGL 3 features (even though they could) and Apple does not support OpenGL 3 at all. Snap out of it.

          OSS driver support has exploded since Ati released the docs. Just go install a 3-year-old distro and see what I mean.

          Comment


          • #25
            I can understand that some people are upset that games don't run as fast/well under WINE as they do under Windows, and that they are looking for scapegoats. It's a rather odd position to have, but it's also true that the open drivers are lagging behind proprietary ones, even if they are PERFECTLY usable for most everyday tasks and typically more stable than the blobs.

            But I don't understand how somebody can call for Linux to become mostly closed source, just so they can run games on WINE faster.

            There are two general purpose processors in your machine: the CPU and the GPU. they both have their memory, both need compilers to run software, need to allocate memory, optimise code on the fly, and do many other things.

            If you run a proprietary blob, then the closed-source part of the kernel is FAR bigger than the open-source part. It's not "just a little driver", it's a reimplementation of the kernel, no less. It compiles code into assembly, it allocates and manages memory, it optimises, it controls the second most powerful processor in your computer. And it's as open and transparent as Windows 7. Basically, you have a closed-source version of Linux, GCC, Mesa, and X.org running inside your kernel, although all kernel developers warn you against doing it.

            If you REALLY want to run an 80% closed system just so you can run closed source Windows games through WINE, then there are FAR better operating systems for you. Why run Linux in the first place? It's not a driver ABI you need, you need Cygwin so you get a shell under Windows, because that's what you're running essentially: Win API, DirectX, Windows drivers, Windows programs.

            The whole nature of Linux and open source software in general is that it evolves and doesn't stick to stable versions and stable ABIs to ease the use closed-source blobs. All open source software evolves in this way, and stable ABIs have NO use other than contaminating the kernel with closed blobs. Why stilt and slow down the development of OPEN software just to make a couple of closed-source developers happy?

            I don't get it.

            Comment


            • #26
              Pingufunkybeat nailed it.

              It puzzles me greatly, why people use Linux if they want to game? In an ideal world, gaming on Linux would be the same as on Windows, but we are not living in an ideal world...

              If gaming matters that much to you, then you should dual boot. It is that simple. Even if the opensource drivers surpass on speed and features the blobs, Wine still is slower than Windows. Plus Wine's current Dx10/11 situation is not optimal yet. Why use a substitute, when you can use the real thing?

              If a company wants to port a game on Linux, OpenGL 2.1 is fine for the next 1-2 years. You see, most if not all games are console ports, and they are stuck on an GL 2.1 level of features at the moment. That is why using Win Xp if you want to game might make more sense, you won't loose much in terms of effects but you will gain plenty in terms of performance. When the next generation of consoles shows up, then it will be a time for a newer GL.

              In any case, if all you do is gaming plus internet/office usage, then Windows are the better choice for you. You are not l33t if you are using Linux just for effect. When i was a student, most other students used various distros to show they are "hackers". Such ignorance is funny, you are not a professional and/or hacker just because you are using something non-mainstream... Simply using Linux is not making you more productive, or safer. You should only use Linux if you know what are the benefits to you, and if you know what these are, you won't complain about gaming.

              Comment


              • #27
                Originally posted by TemplarGR View Post
                Pingufunkybeat nailed it.

                It puzzles me greatly, why people use Linux if they want to game? In an ideal world, gaming on Linux would be the same as on Windows, but we are not living in an ideal world...

                If gaming matters that much to you, then you should dual boot. It is that simple. Even if the opensource drivers surpass on speed and features the blobs, Wine still is slower than Windows. Plus Wine's current Dx10/11 situation is not optimal yet. Why use a substitute, when you can use the real thing?

                If a company wants to port a game on Linux, OpenGL 2.1 is fine for the next 1-2 years. You see, most if not all games are console ports, and they are stuck on an GL 2.1 level of features at the moment. That is why using Win Xp if you want to game might make more sense, you won't loose much in terms of effects but you will gain plenty in terms of performance. When the next generation of consoles shows up, then it will be a time for a newer GL.

                In any case, if all you do is gaming plus internet/office usage, then Windows are the better choice for you. You are not l33t if you are using Linux just for effect. When i was a student, most other students used various distros to show they are "hackers". Such ignorance is funny, you are not a professional and/or hacker just because you are using something non-mainstream... Simply using Linux is not making you more productive, or safer. You should only use Linux if you know what are the benefits to you, and if you know what these are, you won't complain about gaming.
                Thats pretty close to my view/situation

                Btw I think I have figured why gaming on linux sucks.

                Its not linux fault, the technology is present.

                Also, if you remember DOS times, thats games that forced new hardware (and latter drivers) on DOS; not drivers coming first. So in old MS days, there was SAME situation as now in linux regarding lack of games, yet game-publishers and game-dev the reaction was totally opposite.

                Also, pretty most of FLOSS software has made it onto proprietary systems, yet very short amount of proprietary has made it onto opensource system.

                And, if you read recent situation with Locki and LGP (http://www.phoronix.com/vr.php?view=15063), they basically ported closed source software on linux.

                So they pretty much:
                - copy proprietary commercial attempt at linux,
                - much later,
                - much more unstable(mostly without official publishers support which resulted in more bugs than running wine version, with no extra cost),
                - AND for extra money(mention possibility to run ms version in wine as well if you already own it - for free),
                - and all this is done on platform that is at most global 5-8% desktop share(less,more does not matter much),
                - and they started wondering about all that piracy, which is standard (read NORMAL) thing with commercial+proprietary anyway, and introduce DRM

                Then - presto! They are out.


                Now if you look at all the professional AND opensource software for linux - it shares single point - it is all way tools, in no way a product. For grown-ups by grown-ups per se.

                Then look at this (from starcraft2 blizzard forums) about all those kids trying their best to reverse encrypted sc2 archive: http://sclegacy.com/forums/showpost....1&postcount=66
                "Quote:
                Originally Posted by Hav0x
                It's impossible to data-mine since the installer MPQs are in some sort of encrypted format. You also require an authentication key that the installer gets from blizzard but it doesn't exist yet since it's not the 27th. So no installing.
                ----
                Good, no spoilers and ruined surprises this way. =) "

                They have almost zero skills(as matter of contributing to code etc, ie nothing for GPL), they are much more glad to get result instead of working on it to get it their way, they have parents(hopefully with some money) to buy toys(or pirate it, if they dont). They are happy with all that closed source, windows-only, proprietary state.

                Its child software, by payed full-time programmers, that didnt make it on linux natively. And there are BIG troubles of adapting GPL model to development model, unless doing all differently. And just porting is actually senseless.

                I think its not about ABI, its not about opensource. Its about absence of good financial model, because without good financial model no software can exist(if you apply "money equals time").

                Just some thoughts.

                Comment


                • #28
                  LOL, ABIs are evil... that's why we recompile EVERYTHING when we get a new kernel? The reason we can update our kernels without recompiling everything that calls it is because we have somewhat stable ABIs.

                  The truth is stable ABIs are everywhere in a Linux OS (any OS really). They're in our .so files, our kernel, every where. Their only evil if you're in some way compatible with software not explicitly blessed by the holier than thou.

                  They're not a bad thing and they don't inherently make your software less stable. The reason developers don't like them is that there is a bit of overhead in the design process. If you're going to stick with an interface for a while, you want to make sure you have it right. At least mostly. In the absence of an ABI, it's not as important to have it right because you can just change it whenever you get it wrong.

                  Having a stable interface makes (or should make) you think more about your design. It places an emphasis on getting the overall design right the first time (or at least right enough for a while). I would think that fact alone would be interesting enough.

                  Comment


                  • #29
                    Yeah, but stable ABI *in the kernel* doesn't help anyone except three or four companies writing closed-source kernel drivers.

                    At least that's the reasoning the way I understand it. And why should the kernel developers make their own job harder when it comes to maintaining thousands upon thousands of free kernel drivers, just to make it easier on the developers who refuse to help with the kernel?

                    Kernel is a fast moving target. The way things are make it easier to keep all the kernel drivers running, EXCEPT a couple of binary blobs. Which no kernel developer likes in the first place.

                    Comment


                    • #30
                      Originally posted by crazycheese View Post
                      I think the only realistic thing that would happen is most of drivers start releasing as blobs. Stability wont improve, see windows bluescreens.
                      That's pretty much a thing of the past now. Windows grew up and became a real OS. It even allows for restarting or replacing drivers, including GPU ones, while the GUI is running without a restart or logout/login.

                      Hardware support will heavily decrease and no one will be able to make it work for unsupported kernel versions(just as with nvidia, esp. see nvidia optimus zero linux support). Aaand because of still-low linux desktop presence, barely ANY hardware vendor will join.

                      With non-supported kodak printer, the end argumentation was like - we invested much in windows and linux does not have this, and we feel like zero to improve it to our taste, so no support. Still they managed to release Mac driver. Which means they simply lie and simply dont care, regardless how open or closed the state is.

                      And if I read correctly, most of time when a blob got reverse-engineered, hackers discovered it being released as a blob for only one reason - very stupid implementation.
                      The effort (in other words, cost) required to write a binary driver for Linux is higher compared to systems that use a driver ABI. So some vendors won't bother writing one. The quality of the binary drivers of vendors who actually write binary Linux drivers would probably increase if they were offered an ABI.

                      Lower cost to support a platform means more support for that platform. You cannot really force vendors to offer source code and docs with Linux, because in order to do so you must be a force to be reckoned with. If sales of vendors are 95% Windows+Mac, then the rest can be ignored.

                      Comment

                      Working...
                      X