Announcement

Collapse
No announcement yet.

Feral's GameMode 1.2 Released For Optimizing Linux Gaming

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

  • Feral's GameMode 1.2 Released For Optimizing Linux Gaming

    Phoronix: Feral's GameMode 1.2 Released For Optimizing Linux Gaming

    For what just started out as a tool to ensure you are using the "performance" frequency scaling governor when running Linux games, Feral's open-source GameMode system tool has slowly been picking up some extra functionality...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    If I understood well, gamemode needs to be explicitly supported by games. Is there a list of such games?

    Comment


    • #3
      r1348 yes and no. There's a command that you can use to preload the library on unsupported games and it'll work on those. But ideally though it works best from what I understand if a game is compiled against it.

      Comment


      • #4
        Originally posted by TheCanadianBacon View Post
        r1348 yes and no. There's a command that you can use to preload the library on unsupported games and it'll work on those. But ideally though it works best from what I understand if a game is compiled against it.
        Correct - if a game is compiled against the GameMode library, then it will automatically be activated when the game is launched (if GameMode is installed). For games without support you can preload the library, e.g. by adding it to Steam launch options (see the documentation). Or, it can be manually activated from the command line (run: gamemoded -r).

        As for games that support it - Rise of the Tomb Raider and Thrones of Britannia do, as will all of our future releases.

        Comment


        • #5
          That's awesome. Love the addition of 'nice'. Thank you Feral

          Comment


          • #6
            Awesome stuff, thanks again Feral.

            I just tried it out and launched a game with two different kernels and ran

            $ systemctl --user status gamemoded

            4.17.7
            Code:
            Jul 21 08:07:06 ubuntu /usr/bin/gamemoded[2566]: Entering Game Mode...
            Jul 21 08:07:06 ubuntu /usr/bin/gamemoded[2566]: governor was initially set to [powersave]
            Jul 21 08:07:06 ubuntu /usr/bin/gamemoded[2566]: Requesting update of governor policy to performance
            Jul 21 08:07:06 ubuntu pkexec[4016]: pam_unix(polkit-1:session): session opened for user root by (uid=1000)
            Jul 21 08:07:06 ubuntu gamemoded[2566]: Setting governors to performance
            Jul 21 08:07:06 ubuntu /usr/bin/gamemoded[2566]: Setting scheduling policies...
            Jul 21 08:07:06 ubuntu /usr/bin/gamemoded[2566]: Renice value [0] defaulted to [4].
            Jul 21 08:07:06 ubuntu /usr/bin/gamemoded[2566]: Renicing client [4015] failed with error 13, ignoring.
            Jul 21 08:07:06 ubuntu /usr/bin/gamemoded[2566]: Setting client [4015] to SCHED_ISO failed with error 22, ignoring.
            4.17.6-liquorix
            Code:
            Jul 21 08:02:39 ubuntu /usr/bin/gamemoded[2410]: Entering Game Mode...
            Jul 21 08:02:39 ubuntu /usr/bin/gamemoded[2410]: governor was initially set to [ondemand]
            Jul 21 08:02:39 ubuntu /usr/bin/gamemoded[2410]: Requesting update of governor policy to performance
            Jul 21 08:02:39 ubuntu pkexec[28843]: pam_unix(polkit-1:session): session opened for user root by (uid=1000)
            Jul 21 08:02:39 ubuntu gamemoded[2410]: Setting governors to performance
            Jul 21 08:02:39 ubuntu /usr/bin/gamemoded[2410]: Setting scheduling policies...
            Jul 21 08:02:39 ubuntu /usr/bin/gamemoded[2410]: Renice value [0] defaulted to [4].
            Jul 21 08:02:39 ubuntu /usr/bin/gamemoded[2410]: Renicing client [28842] failed with error 13, ignoring.
            Any ideas what's happening at the end? Both seem to be giving errors.

            Comment


            • #7
              The vanilla kernel will be failing to set SCHED_ISO because that doesn't exist upstream, but presumably the Liquorix kernel does have it.

              Renicing will fail if your user doesn't have permission to raise priority, which will probably be the case by default. You need to configure /etc/security/limits.conf to allow your user to do so. It's mentioned in the README, perhaps that needs a mention in the man page as well.

              Comment


              • #8
                Just checked out the github. The code itself is nice. How it works is shit.
                I had hopes for this. Oh well, guess i'l have to make my own version.

                Comment


                • #9
                  Originally posted by aejsmith View Post
                  The vanilla kernel will be failing to set SCHED_ISO because that doesn't exist upstream, but presumably the Liquorix kernel does have it.

                  Renicing will fail if your user doesn't have permission to raise priority, which will probably be the case by default. You need to configure /etc/security/limits.conf to allow your user to do so. It's mentioned in the README, perhaps that needs a mention in the man page as well.
                  Ah, makes sense. Thanks for the quick response.

                  EDIT: Sah-weet, everything's working nicely with the Liquorix kernel.

                  I added the following to /etc/security/limits.conf:

                  myusername - nice -20

                  And now gamemode shows no errors (verified niceness via htop)
                  Code:
                  Jul 21 09:24:18 ubuntu /usr/bin/gamemoded[2440]: Entering Game Mode...
                  Jul 21 09:24:18 ubuntu /usr/bin/gamemoded[2440]: governor was initially set to [ondemand]
                  Jul 21 09:24:18 ubuntu /usr/bin/gamemoded[2440]: Requesting update of governor policy to performance
                  Jul 21 09:24:18 ubuntu pkexec[3283]: pam_unix(polkit-1:session): session opened for user root by (uid=1000)
                  Jul 21 09:24:18 ubuntu gamemoded[2440]: Setting governors to performance
                  Jul 21 09:24:18 ubuntu /usr/bin/gamemoded[2440]: Setting scheduling policies...
                  Jul 21 09:24:18 ubuntu /usr/bin/gamemoded[2440]: Renice value [0] defaulted to [4].
                  Last edited by perpetually high; 21 July 2018, 12:28 PM.

                  Comment


                  • #10
                    I'm sure this isn't new, but saw this in the gamemode.ini and had a nice chuckle. These guys rock I'm loving this latest Gamemode.
                    Code:
                    ; Gamemode will always reject anything in the blacklist
                    blacklist=HalfLife3
                              glxgears

                    Comment

                    Working...
                    X