Announcement

Collapse
No announcement yet.

The Sad State Of GPU Drivers For BSD, Solaris

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

  • #11
    "The Sad State Of GPU Drivers For BSD, Solaris"

    Sad is that developers of xorg/wayland actually ASSUME that the host os is LINUX and then other xorg/wayland users (BSD/SOLARIS) has to port NEEDLESS stuff from LINUX kernel into their kernels just to make that shit work.

    Originally posted by liam View Post
    I wonder, if graphics is important to the *BSD kernel developers at all then they should try to standardize the parts of the kernel that interface with graphics with one another so that what few developers graphics stack has can make better progress. I have to imagine this has already been considered.
    There should be STANDARDIZED INTERFACE across ALL SUPPORTED OSes to implement (Linux/BSD/Solaris) that would be A LOT easier and more efficient, but sadly, it would not happen.
    Last edited by vermaden; 26 August 2011, 01:32 AM.

    Comment


    • #12
      Originally posted by vermaden View Post
      Sad is that developers of xorg/wayland actually ASSUME that the host os is LINUX and then other xorg/wayland users (BSD/SOLARIS) has to port NEEDLESS stuff from LINUX kernel into their kernels just to make that shit work.
      It's not sad, but it's natural. Afaik Wayland was started by the Red Hat developer, so he has no SINGLE reason to support non Linux OSes. The same about systemd, Pulse Audio etc.

      There should be STANDARDIZED INTERFACE across ALL SUPPORTED OSes to implement (Linux/BSD/Solaris) that would be A LOT easier and more efficient, but sadly, it would not happen.
      Again, it's not a Linux problem. If they want to catch up then they should follow Linux, but they have not enough manpower to do that, I guess.

      Comment


      • #13
        What a bunch of horse-hockey.

        Wayland can support any operating system that supports the standard APIs necessary to run it. If BSDs had decent drivers then Wayland support would be easy, but they don't.

        It's not the Linux developer's and the OpenGL stack developer's job to make sure that Solaris and FreeBSD stops sucking just in order to improve the performance and capabilities of their drivers. If Solaris or FreeBSD cannot or will not keep up then nobody (especially users) have any right to complain about them being left behind.

        kernel mode setting and proper memory management necessary to support DRI2 and modern graphics is not something that is Linux-only.. it's a requirement that is necessary for any operating system that wants to support modern hardware.

        Microsoft Windows made this same exact transition 10 years ago and only just now Linux is catching up to 1990/early 2000 era graphics.

        Comment


        • #14
          My impression has been that the driver stack is written to be OS-agnostic wherever possible, but since the graphics memory manager / command submission bits have to interact tightly with other kernel functions there doesn't seem to be any way to avoid the need to implement similar functionality specific to each new OS kernel design.

          The problem isn't so much that it's a huge amount of work AFAICS, but the skillset required is even more specialized than the rest of the graphics stack - probably fair to say that it's the one part of the stack which has to be nasty and complicated in order to let the rest of the stack be relatively clean and portable.
          Test signature

          Comment


          • #15
            I'm Andr?s from Spain. This is my first post, so hello everybody.

            Originally posted by cl333r View Post
            On desktops these OSes are to Linux what desktop Linux is to window$, so on desktops they don't count,
            You are right, Windows+MacOSX are 99% of desktops, so other os's don't count.

            Besides this will stimulate them to (finally!) push a lot harder to update their deprecated desktop crap.. sorry, don't mean to be rude, but as far as the desktop
            side is concerned - they are dinosaurs. Either get modern or die and stop complaining.
            This sounds very arrogant. Let's remember the history:

            An angry man from MIT began a free OS. Because he wanted to be easily used by everyone
            he made a UNIX compatible system (there were much software and UNIX skilled people). Another
            smart guy from Finland made a new kernel (just a hobby, won't be big and professional like gnu).
            He also made a UNIX style kernel. It seems they didn't mind to clone an obsolete OS (even the
            original UNIX developers where working on a more modern OS), probably because they wanted
            to run as much software as posible on them.

            I remember when I started using Linux in the late 90s. There wasn't 3D hardware support (except
            probably the tdfx voodoo driver that will be droped), not good scalable fonts and rendering, neither
            a good free web browser or a good office suite. Of course it had good server support and
            momentum. We wanted the web developers to do standard web pages (not ie only), the people and
            Government institutions to use standard documents that we could read and write. We wanted the
            hardware companies to release documentation. And we were happy with Loki porting games to
            Linux.

            Now the web war is won, the document formats issue is much better. Also there is GPU support.
            An OS with poor audio quality, no free OpenGL 3 and 4 drivers and less than 1% of the desktop
            don't want compatibility anymore. Now Linux have millions of developers (both kernel space
            and user space) changing interfaces frecuently. Whoever wants to be compatible try to catch
            Linux endless interfaces (now oss, now alsa, now ums, now kms, now gem/ttm, now dri, now dri2,
            now hal, now udev etc.). Linux killed the UNIX compatibility.

            This is the poor man who feels rich with a dollar. I feel so sad.

            Comment


            • #16
              Remaining compatible with other OS's is only useful when you get something in return

              What is it, exactly, that Linux gains by remaining compatible with the BSDs of the world today?

              POSIX support, of course, brings tangible benefits. But for graphics - KMS/TTM/GEM/DRI2? The BSDs bring almost nothing - and in return actively harms trying to get modern features working on Linux. So it makes perfect sense from their side.

              I can see why the BSDs aren't exactly happy about the fact they are being left behind, but the bottom line is that new hardware is allowing new functionality which wasn't possible 30 years ago, and it requires new code to keep up.

              Comment


              • #17
                Remaining compatible with other OS's is useful for people

                Originally posted by smitty3268 View Post
                What is it, exactly, that Linux gains by remaining compatible with the BSDs of the world today?
                Gains? For whom? Linux is not a person or a company. I hope it's not a religion with the "true god" or one
                OS to rule them all. I want gains for people (like me). Do you want Linux to kill all the OSs? I like choices,
                and Linux is one of the best ones. But has problems, will have more problems and some day will die,
                I want choices now and then.

                POSIX support, of course, brings tangible benefits. But for graphics - KMS/TTM/GEM/DRI2? The BSDs bring almost nothing - and in return actively harms trying to get modern features working on Linux. So it makes perfect sense from their side.
                Posix support has no benefits if there aren't other posix OSs. Graphics and sound incompatibility will
                kill other OSs (posix OSs). BSDs bring posix OSs choice. Linux will end like Windows, very compatible
                but only with himself (or worse because of Linux fragmentation).

                I can see why the BSDs aren't exactly happy about the fact they are being left behind
                Who is BSDs? BSDs feel nothing, it's people who choose BSDs. It's their choice.

                In my opinion, it will be bad for Linux in the long term:

                1- Linux is posix compatible (big point).
                2- Linux is n?1 UNIX OS.
                3- Linux kill other UNIXs.
                4- Posix don't matter anymore. Linux is a desktop (1% share) without compatibility.

                As an example, CAD software.

                MicroStation: Was a UNIX and MAC software. Since late 1998 is Windows only.
                CATIA: Was UNIX only (AIX, IRIX, SunOS and HP-UX). UNIX and Windows since 1998.
                Client is Windows only since 2008.
                AutoCAD: DOS from the begining, now Windows and MacOSX. If Autodesk ever thought
                about porting it to UNIX in the 80s and 90s, I don't think will do it in the future.
                Solid Edge: Windows only.
                SolidWorks: Windows only (cheaper than CATIA, also from Dassault).

                The hope of professional CAD software being ported to Linux was higher in 1998 than now.
                Of course share and UNIX compatibility of software without sound or graphics (like server
                and embeded) is good.

                Andr?s

                Comment


                • #18
                  Originally posted by andresdju View Post
                  Gains? For whom? Linux is not a person or a company.
                  ...
                  Who is BSDs? BSDs feel nothing, it's people who choose BSDs. It's their choice.
                  I'm obviously talking about the developers of those OSs. As well as the companies behind them, and the users. Everyone associated with them.

                  I hope it's not a religion with the "true god" or one
                  OS to rule them all.
                  Wherever did you get that idea?

                  I want gains for people (like me). Do you want Linux to kill all the OSs? I like choices,
                  and Linux is one of the best ones. But has problems, will have more problems and some day will die,
                  I want choices now and then.
                  No, i don't want everything else to die. But the fact is, in order for one to improve the others either have to keep up or live without the new stuff. Otherwise, aren't they really just clones? Staying the same? With no choice? Now you get to choose, do you want good graphics support? Then choose linux, if not then you can look at whether any of the BSDs are better suited for you and choose one of them. If Linux didn't evolve, the only choice would be between crappy graphics and more crappy graphics, and you'd still just have to choose based on other features.

                  Posix support has no benefits if there aren't other posix OSs.
                  Of course, but that's not going to happen. My point is that lots of apps use and rely on POSIX. Therefore it's important. How many apps rely on DRI1? Or KMS? Basically 1 -the graphics drivers, which have to be somewhat kernel specific anyway.

                  Graphics and sound incompatibility will
                  kill other OSs (posix OSs).
                  Why? I don't think anyone right now chooses BSD for it's graphics capabilities, do they? Why do you think it can't live on as a server OS?

                  BSDs bring posix OSs choice. Linux will end like Windows, very compatible
                  but only with himself (or worse because of Linux fragmentation).
                  Again, you're going crazy over the fact that the graphics APIs are changing. If the BSDs can't survive that, then maybe they really aren't strong enough to deserve it. You can't expect developers of another OS to keep your OS alive if it can't manage to do so itself. Personally, I don't see any reason this would kill the BSDs.

                  In my opinion, it will be bad for Linux in the long term:

                  1- Linux is posix compatible (big point).
                  And it still will be.
                  2- Linux is n?1 UNIX OS.
                  And it still will be.
                  3- Linux kill other UNIXs.
                  Ah, why exactly?
                  4- Posix don't matter anymore. Linux is a desktop (1% share) without compatibility.
                  Ok, here you really lose me. Even if the BSDs do die off, where do you think those users are going to go? You really think they'll all jump off into windows? Because I think it's far more likely they would instead transition into the much more similar Linux system - perhaps even create their own distro with a ports system, etc. Besides, Linux is already about 100 times the share that the BSDs have - i'm not sure they'd even notice that much.

                  As an example, CAD software.

                  MicroStation: Was a UNIX and MAC software. Since late 1998 is Windows only.
                  CATIA: Was UNIX only (AIX, IRIX, SunOS and HP-UX). UNIX and Windows since 1998.
                  Client is Windows only since 2008.
                  AutoCAD: DOS from the begining, now Windows and MacOSX. If Autodesk ever thought
                  about porting it to UNIX in the 80s and 90s, I don't think will do it in the future.
                  Solid Edge: Windows only.
                  SolidWorks: Windows only (cheaper than CATIA, also from Dassault).

                  The hope of professional CAD software being ported to Linux was higher in 1998 than now.
                  Of course share and UNIX compatibility of software without sound or graphics (like server
                  and embeded) is good.

                  Andr?s
                  The hope of pro CAD software being ported to Linux with the old graphics APIs was ZERO. Nada. Zip. With the new APIs, who knows. Maybe in a few years they will see that there is a modern graphics stack available that would be relatively easy to support. They certainly weren't going to support the old stack.


                  Your argument is essentially that Linux has to stick to just using OpenGL 1.5, because that's all the BSDs are capable of supporting. Ask yourself who that is really helping, and who it's hurting. New developers certainly aren't going to come to a platform that supports anything less than the GL 2.x support Macs do.

                  I will admit that the ALSA/OSS stuff probably was a bad move. Sometimes changes need to be made, but they should only happen when there is a good reason.
                  Last edited by smitty3268; 28 August 2011, 10:40 PM.

                  Comment


                  • #19
                    Originally posted by smitty3268 View Post
                    What is it, exactly, that Linux gains by remaining compatible with the BSDs of the world today?

                    POSIX support, of course, brings tangible benefits. But for graphics - KMS/TTM/GEM/DRI2? The BSDs bring almost nothing - and in return actively harms trying to get modern features working on Linux. So it makes perfect sense from their side.

                    I can see why the BSDs aren't exactly happy about the fact they are being left behind, but the bottom line is that new hardware is allowing new functionality which wasn't possible 30 years ago, and it requires new code to keep up.
                    How about PROPER implementation of hardware abstraction layer? Check this about FreeBSD's devd daemon: http://www.osnews.com/thread?459128

                    Linux had HAL, then udev, then these Udisk, Usomething 'thing' and it still does not work properly ... why not just copy the devd daemon, its BSD licensed remember?

                    Comment


                    • #20
                      Its not Linux vs BSD

                      Geeze, some people are really confusing stuff here. An average FreeBSD Desktop and a Linux Desktop share 99% of the code, so we in fact are one community and not 2. This is absolutely not compareable to Linux and Windows or something like that.

                      Now the way it used to be is that the 99% of the code that was shared were developed in a way that made it "just work" on Linux/*BSD/Solaris, because old shared interfaces (like POSIX) were used [1].
                      The Issue today is that Linux is growing much faster than the BSDs and that Linux-developers feel they need to evolve more quickly. This is, of course, understandable, and no one in the BSD-world despises Linux-people for that. One problem is that many of these changes are more fundamental than they used to be. They go against the concept of modularity and therefore start touching things all over the place.

                      Examples:
                      moving modesetting into the kernel and then requiring this interface
                      actually making a desktop interface depend on an init-system
                      making increasing levels of abstraction and making applications require the newest top-level abstraction layer (PULSE...)


                      In some parts these radical changes may be good from a technical POV, even if they break modularity. For KMS I would wager, this is the case. And obviously the BSDs want to catch up to this. Other stuff is really stupid and hurts choice inside the Linux world aswell (e.g. systemd).

                      The biggest issue from my POV, however is, that Linux people do not have clear plans of where they want to go, so its very hard to follow. There is lots of development that BSD people spend a year on porting, and then its already deprecated on Linux. Every sensible programmer should realise, this is not "fast evolution", but simply bad design. E.g. Hardware abstraction seems to change every year on Linux, its ridiculous. The sound situation is similar. I really can't understand how Linux with so many devs (compared to FreeBSD) cannot manage to implement a proper sound system. Sound has always "just worked" on any BSD system I ever touched, *ever*. All my Linux friends however keep telling about how bad ALSA is. And what do Linux people do about it? Keep adding abstraction layer after abstraction layer, instead of just replacing ALSA if it really sucks so badly (I personally can't say).

                      So the core issue is not BSD-people not wanting to port new developments, it is about them not wanting to port things the don't see as progress, or porting things, which they know will be outdated once done.

                      As always, I think sitting down, discussing things and making the plan together, would really improve the situation. If BSD-people spent less time porting and rewriting, they could maybe help with the real work of adding new hardware support, of fixing shared software, improving performance et cetera...


                      [1] I know this isn't completely true, as there was always some porting involved, but usually differences were not fundamental.

                      Comment

                      Working...
                      X