Announcement

Collapse
No announcement yet.

Lessons For Developers In Porting Games To Linux

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

  • #61
    Originally posted by mrugiero View Post
    Just a thought. If you will bundle the library, maybe static linking is a better option, if possible. It's probably better performance wise, and enables you to run an extra optimizer pass and stripping unused library functions, which both helps size and performance.
    No, for closed source, static linking is very bad. Once it's statically linked, it's part of the program. That means additional license issues, and most importantly, doesn't allow you to update the libraries after release. For example, if UT2004 was statically linked, its sound wouldn't work in any way on current Linux. But since it wasn't, swapping out the ancient OpenAL library with OpenAL Soft makes it work flawlessly.

    Comment


    • #62
      Originally posted by GreatEmerald View Post
      No, for closed source, static linking is very bad. Once it's statically linked, it's part of the program. That means additional license issues, and most importantly, doesn't allow you to update the libraries after release. For example, if UT2004 was statically linked, its sound wouldn't work in any way on current Linux. But since it wasn't, swapping out the ancient OpenAL library with OpenAL Soft makes it work flawlessly.
      Good point, didn't think about that.

      Comment


      • #63
        Originally posted by kacperpl1 View Post
        I think its that ubuntu SDL got special treatment to support steam and if other distros want to run steam they need to get compatibile. It works on ubuntu and steam - it no brainer for us, developers, here. I can only assume that going some distro independent SDL would take more time at this moment.

        Leszek won't waste time on ideology talk, so if you want to ask something it'll better be a tech question - then I'll try to persuade him to answer.
        What kind of "special treatment" (aka patches) do you mean? Because I installed an openSuse RPM of SDL2 on my Fedora 17 system, and Steam has been working perfectly with it.
        The library is still under heavy development with daily patches, so it might be that Debian's version is simply outdated?

        Comment


        • #64
          Ask Leszek about that. I dont feel competent to say anything for sure here, I'm just unrealscript coder

          You could be right about debian version being outdated though. I could only guess that getting required SDL version to work under debian was too much work, while ubuntu got ready for it to support steam.

          Comment


          • #65
            I don't think Ubuntu's SDL2 got any "special treatment". Valve had to choose a distro to base thier efforts off of, and since Ubuntu is the most popular one, they chose it. Why don't you ask Valve about that?

            Damn, my posts don't appear instantly, they need to go through moderation... ~~'

            Comment


            • #66
              Originally posted by kacperpl1 View Post
              I'm just unrealscript coder
              Oh, hey, me too! Although I code in UE2 UnrealScript for the most part.

              Comment


              • #67
                Not sure what the difference is, but Debian testing ships libsdl2 rc1-1: http://packages.qa.debian.org/libs/libsdl2.html (it was recently updated).

                Since it's not out as stable SDL release yet, I'm not sure why would anyone target it for production purposes already. Targeting it while in development is fine of course, since it's going to be released soon enough.

                UPDATE: Ubuntu package looks exactly the same to me: http://packages.ubuntu.com/search?se...ywords=libsdl2 unless there is some "special treatment" there indeed. If Valve prefers Ubuntu as a target, it doesn't mean everyone should follow suit IMHO, since the claim that "Ubuntu is the most popular distro" is more of a PR, than a solid evidence that it's the most used distro in practice. And even if it is the most used in reality, its not used more than all other distros by a big margin, so singling it out doesn't look like a good option, so I disagree with Valve's approach here.
                Last edited by shmerl; 23 June 2013, 02:24 PM.

                Comment


                • #68
                  So far every steam game I've tried has run just fine on gentoo. So long s I use the steam runtime everything seems to work perfectly. As long as that continues to be true, I don't have a problem with game developers and valve targeting Ubuntu.

                  Comment


                  • #69
                    Originally posted by IneQuation View Post
                    But SDL2 is pretty sweet and I made a mistake by saying you can't do multithreaded rendering in the slides. The thing is, I looked at the SDL2 docs early in development of the port and I couldn't find any information about context sharing. It's only been a couple of weeks ago that I actually happened to look at the headers in the source and found out I was wrong - it was simply undocumented. I traced the feature to a commit that Sam Lantinga made back in May 2012 I think, but the documentation wiki is still way behind the code.
                    That's good to know. SDL1.2 has been around for a long long time. If anything is going wrong on SDL 2, I don't know how long we will have to wait till it's fixed.
                    =)

                    If anything is wrong, I hope to be something missing, then we could just wait for SDL 2.1.

                    Originally posted by IneQuation View Post
                    I'm preparing another talk which will be exclusively about SDL2 where I will address and correct this, as well as present all of SDL2's cool features to other professional developers.
                    Looking forward to your next talk.

                    Comment


                    • #70
                      Originally posted by duby229 View Post
                      So far every steam game I've tried has run just fine on gentoo. So long s I use the steam runtime everything seems to work perfectly. As long as that continues to be true, I don't have a problem with game developers and valve targeting Ubuntu.
                      On Gentoo the Steam runtime is disabled by default... But let me have a quick look if there are any patches applied to its SDL 2 library (from the steam overlay) ... nope. The only Steam related thing in the ebuild is this one:
                      Code:
                      create_symlink_for_steam() {
                      	cd ${D}/usr/$(get_libdir)
                      	ln -s libSDL2.so.2.0.0 libSDL2-2.0.so.0
                      }
                      So maybe that's the "special treatment" ?

                      Comment

                      Working...
                      X