Announcement

Collapse
No announcement yet.

Steam Survey Reports The Latest Linux Gaming Marketshare For October

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

  • #41
    Originally posted by Weasel View Post
    But nobody uses those hence Linux desktop sucks.
    Please note I do use those functions. So its not nobody. It rare people who have a history on with ELF systems for a long time know about them.

    But those frameworks are sitting in Linux not used anywhere near as much as they should be. Both DT_FILTER and DT_AUXllIARY exist for stubbing over the system differences.

    Third party applications makers want distributions to agree. Distributions are not going to agree. So you end up with never ending chicken and egg. At least valve with steam runtime has worked out they need to provide a run-time.

    The existence of DT_FILTER and DT_AUXllIARY means third party application developers could all sit around a table agree to create a set of highly compact .so files using DT_FILTER to mask over most of the require distributions differences and end up less than 5 megs to ship covering all the common libraries. Each .so filter for a .so file is under 4kb uncompressed. Please note these shims would still be a runtime. Yes you would need different set of shims for different distributions. Heck distributions in time might start making the shims of applications are always shipping with them.

    Yes the shim work is something different application making groups could share between each other its not like this stuff would need to be internal secret stuff.

    See the way to break this chicken and egg is to understand what ELF allows and getting the third party application makers to put up a unified front.

    DT_FILTER .so files can make a newer version of glibc behave like a older one right down to exported default functions.

    Weasel as you said windows shims for compatibility. DT_FILTER and DT_AUXllIARY exist for shimming.

    You said distributions should keep old libraries around they are not going to. They will keep at best 1 version of library containing all versions using versioned symbols and from that using DT_FILTER you can then make multi versions that function like all the different versions of that library exactly. Less than 4kb a version by this form of stub emulation. See the compression hidden in the versioned symbol system now. Lets not keep unmaintained libraries when stub/shimming newer version of library to look like older version of library works.

    The big reason Linux desktop suxs:
    1) Absolute conflicts that you need libcapsule to deal with.
    2) Shim system designed into the ELF format is basically totally unused.
    3) Attempting to apply other platform build solutions to Linux without understand how SUN in fact designed it to work.
    4) No agreement on packaging.

    Is there anything wrong the the ELF format absolutely no. Is there need for education on what the ELF format can do and how it should be used hell yes. We have been stuck because people have been saying ELF cannot do a stack of things when it can and not having a clue how it designed to work.
    Last edited by oiaohm; 02 November 2018, 10:22 AM.

    Comment


    • #42
      Originally posted by Weasel View Post
      Sorry but Rolling Releases are horrible for users who want stability (as in few changes) and not have an update randomly crap out, or ruin our workflow and end up missing deadlines. Rolling Releases are a terrible concept except for developers who use them in VMs or as testing machines.
      You completely missed the point.

      I thought it was damn obvious that I was using "Rolling" as a generic term for "an up-to-date, non-LTS based, OS" that included everything from Android releases, standard Ubuntu 6 month releases, Windows 10, OSX, Arch/Antergos/Gentoo, etc. Every single one of those has a chance that updates every few months could break legacy software and change our workflows as we adapt; unlike an LTS OS where the most you'll get (ideally) is bug fixes and point releases every 4 to 6 years with the breakage and adaptation risks.

      Standardized 3rd Party Runtimes are a way to negate that. Developer targets runtime, runtime targets Random OS, Random OS end users don't have to worry about stuff breaking as Random OS updates and gets new stuff. End users get to use the new stuff and developers get a stable, long term platform to work from, everybody wins.

      Comment


      • #43
        Originally posted by ssam View Post
        The survey does not trigger if you are beta.
        Yeah. You need to have good game. Become an Alpha male. Then it will trigger.

        Comment


        • #44
          Originally posted by skeevy420 View Post
          You completely missed the point.
          No I didn't, see below.

          Originally posted by skeevy420 View Post
          Standardized 3rd Party Runtimes are a way to negate that.
          There's no need to negate anything since Rolling Release is a broken model by design. Your solution with runtime exists due to a problem created by an idiotic model called Rolling Release. (LTS distros are also semi-rolling in this way)

          Originally posted by skeevy420 View Post
          Developer targets runtime, runtime targets Random OS, Random OS end users don't have to worry about stuff breaking as Random OS updates and gets new stuff. End users get to use the new stuff and developers get a stable, long term platform to work from, everybody wins.
          Nope.

          Developer targets runtime. Runtime is part of OS. Random US updates gets shiny new stuff but NEVER removes the old libs. Never. It may change the old libs internally (but not externally) so that they use the new libs and are just wrappers, so they become tiny. That's ok though.

          Basically, the model followed by... the Linux kernel... and Wine... and most of Windows userland (most, not all, but it's huge). You know, sane platforms.

          tl;dr: Extend, never replace. What the fuck is this obsession with removing from Rolling Release heads? Sickening.

          That's called a sane platform.

          Comment


          • #45
            Originally posted by oiaohm View Post
            Third party applications makers want distributions to agree. Distributions are not going to agree. So you end up with never ending chicken and egg. At least valve with steam runtime has worked out they need to provide a run-time.
            Solution is easy to anyone with half a brain: take away the global namespace or whatever else that distros use. Make it impossible to be used, literally.

            This will force their hand.

            Really it's not so god damn difficult.

            Comment


            • #46
              Originally posted by Weasel View Post
              There's no need to negate anything since Rolling Release is a broken model by design. Your solution with runtime exists due to a problem created by an idiotic model called Rolling Release. (LTS distros are also semi-rolling in this way)
              I guess Windows is broke by design since 10 uses a rolling release model now even though you claim ---

              Originally posted by Weasel View Post
              Basically, the model followed by... the Linux kernel... and Wine... and most of Windows userland (most, not all, but it's huge). You know, sane platforms.
              So which is it with Windows? Is or isn't it a sane platform. It is and isn't using your own definitions and words.

              Originally posted by Weasel View Post
              Developer targets runtime. Runtime is part of OS. Random US updates gets shiny new stuff but NEVER removes the old libs. Never. It may change the old libs internally (but not externally) so that they use the new libs and are just wrappers, so they become tiny. That's ok though.
              I wasn't aware that Steam was an Arch Linux product or that Wine is made by Ubuntu. Steam and Wine are clearly not part of the OS. It's up to the maintainers of the OS to ensure that the runtime works on said OS. Are you really this dense?


              Originally posted by Weasel View Post
              tl;dr: Extend, never replace. What the fuck is this obsession with removing from Rolling Release heads? Sickening.
              Remove what? Seriously? What did I suggest be removed? Other than saying feature A being updated to 2.0 might not be backwards compatible with 1.0 after an update...which goes back to the LTS vs non LTS debate...which, in reality, doesn't even belong there because if 2.0 breaks 1.0, complain to the developer who let it break and not the OS maintainers for doing what's necessary to keep everything working.

              Comment


              • #47
                Originally posted by Weasel View Post
                No I didn't, see below.

                Developer targets runtime. Runtime is part of OS. Random US updates gets shiny new stuff but NEVER removes the old libs. Never. It may change the old libs internally (but not externally) so that they use the new libs and are just wrappers, so they become tiny. That's ok though.
                And by not removing old libs you are entering into security and maintaince hell

                Extend, never replace.
                Extend and sometimes replace. (never says never)

                That's called a sane platform.
                That might be sane platform if we have 100 times more developers, 100 times more users and 100 antiviruses
                Last edited by dungeon; 02 November 2018, 02:12 PM.

                Comment


                • #48
                  Originally posted by Weasel View Post
                  I wasn't even talking about ELF but the userspace lib devs on Linux breaking API/ABIs so often and distros not packaging older libraries which should be mandatory. I also don't care about SUN's ELF format since this is about Linux.

                  Cool you have new lib version, keep the old one. As Linus said, "Preferably forever". If you think that's bloated, then make it a shim over the new library to reduce its footprint. End of story.

                  You see, Wine doesn't remove DLLs that are used by apps. So until the fucking Linux userspace does that, you've no argument.
                  One of these days you must show us all those magic 3:d party user space libs on Windows that never change API/ABIs (would be interesting considering that the vast majority of 3:d party libraries are cross platform). Yes the OS bundled libraries like WIN32 is mostly stable (but far from 100%) but the fact is that very single non trivial application and game on Windows either bundles tons of libraries or links statically, that is just the name of the game.

                  That said I'm with you 100% that library writers should take better care with ABI forward compatibility (I do with all the libraries that I write) and people should look more at how e.g glibc is built since it maintains full forward compatibility (which cannot be said for the libc version in Windows unless you are Microsoft [or you compile with GCC]). Where we do not agree is on the fact that Windows is this magically land where such things never happen.

                  Comment


                  • #49
                    Originally posted by skeevy420 View Post
                    I guess Windows is broke by design since 10 uses a rolling release model now even though you claim ---
                    It's one of the reasons that Windows 10 is such a mess, yes.

                    Originally posted by skeevy420 View Post
                    So which is it with Windows? Is or isn't it a sane platform. It is and isn't using your own definitions and words.
                    W10 is rolling release but only on the OS, not the platform, unlike Linux. At least not its Win32 platform, I don't care about any other (.NET or UWP or whatever).

                    But even here Rolling Release is a disaster. Look people really hate breaking updates that come with this rolling release bullshit.

                    I've never seen a Windows OS ever be flamed so hard for breaking people's stuff on updates, it's obvious why. Internet is full of these horror stories. Thankfully never experienced them since I never touched Windows 10 on a real machine.

                    Originally posted by skeevy420 View Post
                    I wasn't aware that Steam was an Arch Linux product or that Wine is made by Ubuntu. Steam and Wine are clearly not part of the OS. It's up to the maintainers of the OS to ensure that the runtime works on said OS. Are you really this dense?
                    I'm not sure I understand your point here? I'm saying that the OS should provide a sane and stable runtime just like Wine (or Steam) does.

                    Yes, currently it's better to target Wine than to target the OS's runtime, which is pretty funny. Basically it tells you that the OS's runtime is garbage.

                    The even more funny thing is that you have no problem with this at all and find it perfectly normal.

                    Originally posted by skeevy420 View Post
                    Remove what? Seriously? What did I suggest be removed? Other than saying feature A being updated to 2.0 might not be backwards compatible with 1.0 after an update...which goes back to the LTS vs non LTS debate...which, in reality, doesn't even belong there because if 2.0 breaks 1.0, complain to the developer who let it break and not the OS maintainers for doing what's necessary to keep everything working.
                    Sigh. You must be one of those people who think that gtk2 and gtk3 are the same library, just "updated". Here's a tip: consider the major version of a library as part of its name.

                    So you must think that gtk2 is a completely different library than gtk3. It's not compatible because, well, they're two different libraries.

                    Removing old library version = removing a different library.

                    Like I said I don't care if you shim gtk2 and wrap it around gtk3 or whatever, but don't fucking remove it or its interface. It's that simple.

                    Comment


                    • #50
                      Originally posted by dungeon View Post
                      And by not removing old libs you are entering into security and maintaince hell
                      Nope, nobody forces you to use it. If something does happen to use the older library, it means it wouldn't even start otherwise. App that fails to load is worse than app with the nastiest vulnerability in existence.

                      Comment

                      Working...
                      X