Announcement

Collapse
No announcement yet.

Optimize Kubuntu for gaming with Steam and other games

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

    Optimize Kubuntu for gaming with Steam and other games

    Hello,

    Some may not know it, but there's a gamemode available for (k)ubuntu in the repositories made by the game publisher Feral.

    What it actually do is optimize the kubuntus settings including:
    • CPU governor
    • I/O priority
    • Process niceness
    • Kernel scheduler (SCHED_ISO)
    • Screensaver inhibiting
    • GPU performance mode (NVIDIA and AMD)
    • GPU overclocking (NVIDIA)
    • Custom scripts


    INSTALLATION FOR KUBUNTU 20.04 +

    Code:
    sudo apt install gamemode
    INSTALLATION FOR KUBUNTU 19.10 AND BELOW

    Code:
    sudo add-apt-repository ppa:samoilov-lex/gamemode 
    sudo apt install gamemode
    SETUP

    It's quite simple. Edit the game shortcut/menu and put gamemoderun in front of the execution command.

    example a steam game:

    Code:
    gamemoderun steam steam://rungameid/268500
    Enjoy!
    Last edited by Storm; Jul 11, 2020, 07:17 AM. Reason: Added for kubuntu 19.10 and before
    | AMD Ryzen 1700x 3.4 GHz | ASUS PRIME X370-A | 32 GB 2400 Mhz DDR4 |
    | ASUS Nvidia 1070 8 GB | SSD 250 GB | HDD 1 TB |


    My favourite place of all, is the closet in the hall

    #2
    Seems it was only added after 19.10 to the repos. 18.04 users gotta get through PPA or self build the package.

    Comment


      #3
      I'll add that into the little guide. Thanks for pointing it out.
      | AMD Ryzen 1700x 3.4 GHz | ASUS PRIME X370-A | 32 GB 2400 Mhz DDR4 |
      | ASUS Nvidia 1070 8 GB | SSD 250 GB | HDD 1 TB |


      My favourite place of all, is the closet in the hall

      Comment


        #4
        Do note that gamermode works automatically for a few specific games, notably ones ported to Linux by Feral.
        I do not see any noticeable differences on non-feral games, but of course ymmv.

        For AMD users, don't forget to upgrade to a newer Mesa, there are a number of PPAs that are useful for this.

        Comment


          #5
          My20.04 DE is running Nvidia GT 650M. I just tried it with the game I play the most, Minecraft. Using the latest launcher and MC version 1.16.2 with VSync OFF and maximum frame rate I noticed no significant difference in FPS or tick rate.

          My Steam games and Space Engine 0.98 are already lightening fast. What limits my game speed more than anything is the CPU temp of my i7, which will fry at 105C. I have it set to throttle down at 95C but rarely does it exceed 90C.
          "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
          – John F. Kennedy, February 26, 1962.

          Comment


            #6
            Nice idea, but the indicator is for Gnome shell only... ahh well.
            Well thats all for now, 3M

            Comment


              #7
              Hi
              Excellent writeup!
              Wish I could write things as simply as you!
              woodsmoke
              sigpic
              Love Thy Neighbor Baby!

              Comment


                #8
                Originally posted by ©TriMoon™ View Post
                Nice idea, but the indicator is for Gnome shell only... ahh well.
                What indicator?

                Comment


                  #9
                  The gnome-shell-extension-gamemode package...
                  I'm currently trying it with WarThunder but i see no diff..
                  Well thats all for now, 3M

                  Comment


                    #10
                    Originally posted by ©TriMoon™ View Post
                    The gnome-shell-extension-gamemode package...
                    I'm currently trying it with WarThunder but i see no diff..
                    But the gnome extension was not mentioned in the OP. Kinda useless for Plasma desktop use.
                    Installing the extension seems to pull in about 3/4ths of Gnome with it, as well. 154 packages worth. Heck, it doesn't even install gamemode as a dependency.....at least not on my system.




                    Code:
                    $ sudo apt install gnome-shell-extension-gamemode
                    ....
                    The following additional packages will be installed:
                      apg aptdaemon aptdaemon-data avahi-utils cheese-common enchant-2 evolution-data-server
                      evolution-data-server-common fprintd gcr gdm3 gir1.2-accountsservice-1.0 gir1.2-atspi-2.0 gir1.2-gck-1
                      gir1.2-gcr-3 gir1.2-gdesktopenums-3.0 gir1.2-gdm-1.0 gir1.2-geoclue-2.0 gir1.2-gnomebluetooth-1.0
                      gir1.2-gnomedesktop-3.0 gir1.2-graphene-1.0 gir1.2-gweather-3.0 gir1.2-json-1.0 gir1.2-mutter-6 gir1.2-nm-1.0
                      gir1.2-nma-1.0 gir1.2-polkit-1.0 gir1.2-rsvg-2.0 gir1.2-soup-2.4 gir1.2-upowerglib-1.0 gjs gkbd-capplet
                      gnome-control-center gnome-control-center-data gnome-control-center-faces gnome-desktop3-data gnome-keyring
                      gnome-keyring-pkcs11 gnome-menus gnome-online-accounts gnome-session-bin gnome-session-common
                      gnome-settings-daemon gnome-settings-daemon-common gnome-shell gnome-shell-common gnome-startup-applications
                      gnome-user-docs gstreamer1.0-clutter-3.0 gstreamer1.0-gl gstreamer1.0-pulseaudio language-selector-gnome
                      libcamel-1.2-62 libcanberra-gtk3-0 libcanberra-gtk3-module libcheese-gtk25 libcheese8 libclutter-1.0-0
                      libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0 libcogl-common libcogl-pango20 libcogl-path20
                      libcogl20 libcolord-gtk1 libebackend-1.2-10 libebook-1.2-20 libebook-contacts-1.2-3 libecal-2.0-1
                      libedata-book-1.2-26 libedata-cal-2.0-1 libedataserver-1.2-24 libedataserverui-1.2-2 libenchant-2-2
                      libfprint-2-2 libfprint-2-tod1 libgck-1-0 libgcr-base-3-1 libgcr-ui-3-1 libgdata-common libgdata22 libgdm1
                      libgee-0.8-2 libgeoclue-2-0 libgeocode-glib0 libgjs0g libgnome-autoar-0-0 libgnome-bluetooth13
                      libgnome-desktop-3-19 libgnomekbd-common libgnomekbd8 libgoa-1.0-0b libgoa-1.0-common libgoa-backend-1.0-1
                      libgraphene-1.0-0 libgsound0 libgstreamer-gl1.0-0 libgtop-2.0-11 libgtop2-common libgupnp-av-1.0-2
                      libgupnp-dlna-2.0-3 libgweather-3-16 libgweather-common libharfbuzz-icu0 libjavascriptcoregtk-4.0-18
                      libmediaart-2.0-0 libmozjs-68-0 libmutter-6-0 libnma0 libpam-fprintd libpam-gnome-keyring libphonenumber7
                      libprotobuf17 librygel-core-2.6-2 librygel-db-2.6-2 librygel-renderer-2.6-2 librygel-server-2.6-2
                      libstartup-notification0 libwebkit2gtk-4.0-37 libwhoopsie-preferences0 libwhoopsie0 libxklavier16 libyelp0
                      mousetweaks mutter mutter-common network-manager-gnome pinentry-gnome3 python3-aptdaemon
                      python3-aptdaemon.gtk3widgets python3-defer python3-macaroonbakery python3-nacl python3-protobuf
                      python3-pymacaroons python3-rfc3339 python3-tz rygel session-migration switcheroo-control system-config-printer
                      ubuntu-docs ubuntu-session ubuntu-wallpapers ubuntu-wallpapers-focal whoopsie-preferences xserver-xephyr
                      yaru-theme-gnome-shell yelp yelp-xsl zenity zenity-common
                    Suggested packages:
                      evolution gnome-orca gnome-software | gnome-packagekit gnome-user-share realmd libcanberra-gtk-module usbguard
                      chrome-gnome-shell gir1.2-telepathyglib-0.12 gnome-themes-standard-data gnome-backgrounds
                      gir1.2-telepathylogger-0.2 libenchant-2-voikko network-manager-openconnect-gnome network-manager-openvpn-gnome
                      network-manager-vpnc-gnome network-manager-pptp-gnome pinentry-doc python-nacl-doc rygel-playbin
                      rygel-preferences rygel-ruih rygel-tracker tumbler gnome-software ubuntu-wallpapers-karmic
                      ubuntu-wallpapers-lucid ubuntu-wallpapers-maverick ubuntu-wallpapers-natty ubuntu-wallpapers-oneiric
                      ubuntu-wallpapers-precise ubuntu-wallpapers-quantal ubuntu-wallpapers-raring ubuntu-wallpapers-saucy
                      ubuntu-wallpapers-trusty ubuntu-wallpapers-utopic ubuntu-wallpapers-vivid ubuntu-wallpapers-wily
                      ubuntu-wallpapers-xenial ubuntu-wallpapers-yakkety ubuntu-wallpapers-zesty ubuntu-wallpapers-artful
                      ubuntu-wallpapers-bionic ubuntu-wallpapers-cosmic ubuntu-wallpapers-disco ubuntu-wallpapers-eoan
                    [B]The following NEW packages will be installed:
                      apg aptdaemon aptdaemon-data avahi-utils cheese-common enchant-2 evolution-data-server
                      evolution-data-server-common fprintd gcr gdm3 gir1.2-accountsservice-1.0 gir1.2-atspi-2.0 gir1.2-gck-1
                      gir1.2-gcr-3 gir1.2-gdesktopenums-3.0 gir1.2-gdm-1.0 gir1.2-geoclue-2.0 gir1.2-gnomebluetooth-1.0
                      gir1.2-gnomedesktop-3.0 gir1.2-graphene-1.0 gir1.2-gweather-3.0 gir1.2-json-1.0 gir1.2-mutter-6 gir1.2-nm-1.0
                      gir1.2-nma-1.0 gir1.2-polkit-1.0 gir1.2-rsvg-2.0 gir1.2-soup-2.4 gir1.2-upowerglib-1.0 gjs gkbd-capplet
                      gnome-control-center gnome-control-center-data gnome-control-center-faces gnome-desktop3-data gnome-keyring
                      gnome-keyring-pkcs11 gnome-menus gnome-online-accounts gnome-session-bin gnome-session-common
                      gnome-settings-daemon gnome-settings-daemon-common gnome-shell gnome-shell-common gnome-shell-extension-gamemode
                      gnome-startup-applications gnome-user-docs gstreamer1.0-clutter-3.0 gstreamer1.0-gl gstreamer1.0-pulseaudio
                      language-selector-gnome libcamel-1.2-62 libcanberra-gtk3-0 libcanberra-gtk3-module libcheese-gtk25 libcheese8
                      libclutter-1.0-0 libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0 libcogl-common libcogl-pango20
                      libcogl-path20 libcogl20 libcolord-gtk1 libebackend-1.2-10 libebook-1.2-20 libebook-contacts-1.2-3 libecal-2.0-1
                      libedata-book-1.2-26 libedata-cal-2.0-1 libedataserver-1.2-24 libedataserverui-1.2-2 libenchant-2-2
                      libfprint-2-2 libfprint-2-tod1 libgck-1-0 libgcr-base-3-1 libgcr-ui-3-1 libgdata-common libgdata22 libgdm1
                      libgee-0.8-2 libgeoclue-2-0 libgeocode-glib0 libgjs0g libgnome-autoar-0-0 libgnome-bluetooth13
                      libgnome-desktop-3-19 libgnomekbd-common libgnomekbd8 libgoa-1.0-0b libgoa-1.0-common libgoa-backend-1.0-1
                      libgraphene-1.0-0 libgsound0 libgstreamer-gl1.0-0 libgtop-2.0-11 libgtop2-common libgupnp-av-1.0-2
                      libgupnp-dlna-2.0-3 libgweather-3-16 libgweather-common libharfbuzz-icu0 libjavascriptcoregtk-4.0-18
                      libmediaart-2.0-0 libmozjs-68-0 libmutter-6-0 libnma0 libpam-fprintd libpam-gnome-keyring libphonenumber7
                      libprotobuf17 librygel-core-2.6-2 librygel-db-2.6-2 librygel-renderer-2.6-2 librygel-server-2.6-2
                      libstartup-notification0 libwebkit2gtk-4.0-37 libwhoopsie-preferences0 libwhoopsie0 libxklavier16 libyelp0
                      mousetweaks mutter mutter-common network-manager-gnome pinentry-gnome3 python3-aptdaemon
                      python3-aptdaemon.gtk3widgets python3-defer python3-macaroonbakery python3-nacl python3-protobuf
                      python3-pymacaroons python3-rfc3339 python3-tz rygel session-migration switcheroo-control system-config-printer
                      ubuntu-docs ubuntu-session ubuntu-wallpapers ubuntu-wallpapers-focal whoopsie-preferences xserver-xephyr
                      yaru-theme-gnome-shell yelp yelp-xsl zenity zenity-common[/B]
                    I can tell the difference when playing Feral games, such as Shadow of the Tomb Raider and on an i5 8400 with a RX 480 gpu.
                    That game is demanding at higher settings. Older games I could not tell a difference.
                    Oddly I have not tried it with Metro Exodus, which is using Proton.

                    Comment


                      #11
                      Originally posted by claydoh View Post
                      Installing the extension seems to pull in about 3/4ths of Gnome with it, as well. 154 packages worth. Heck, it doesn't even install gamemode as a dependency....at least not on my system.
                      Code:
                      $ sudo apt install gnome-shell-extension-gamemode
                      ...
                      The following additional packages will be installed:
                      apg aptdaemon aptdaemon-data avahi-utils cheese-common enchant-2 evolution-data-server
                      evolution-data-server-common fprintd gcr gdm3 gir1.2-accountsservice-1.0 gir1.2-atspi-2.0 gir1.2-gck-1
                      gir1.2-gcr-3 gir1.2-gdesktopenums-3.0 gir1.2-gdm-1.0 gir1.2-geoclue-2.0 gir1.2-gnomebluetooth-1.0
                      gir1.2-gnomedesktop-3.0 gir1.2-graphene-1.0 gir1.2-gweather-3.0 gir1.2-json-1.0 gir1.2-mutter-6 gir1.2-nm-1.0
                      gir1.2-nma-1.0 gir1.2-polkit-1.0 gir1.2-rsvg-2.0 gir1.2-soup-2.4 gir1.2-upowerglib-1.0 gjs gkbd-capplet
                      gnome-control-center gnome-control-center-data gnome-control-center-faces gnome-desktop3-data gnome-keyring
                      gnome-keyring-pkcs11 gnome-menus gnome-online-accounts gnome-session-bin gnome-session-common
                      gnome-settings-daemon gnome-settings-daemon-common gnome-shell gnome-shell-common gnome-startup-applications
                      gnome-user-docs gstreamer1.0-clutter-3.0 gstreamer1.0-gl gstreamer1.0-pulseaudio language-selector-gnome
                      libcamel-1.2-62 libcanberra-gtk3-0 libcanberra-gtk3-module libcheese-gtk25 libcheese8 libclutter-1.0-0
                      libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0 libcogl-common libcogl-pango20 libcogl-path20
                      libcogl20 libcolord-gtk1 libebackend-1.2-10 libebook-1.2-20 libebook-contacts-1.2-3 libecal-2.0-1
                      libedata-book-1.2-26 libedata-cal-2.0-1 libedataserver-1.2-24 libedataserverui-1.2-2 libenchant-2-2
                      libfprint-2-2 libfprint-2-tod1 libgck-1-0 libgcr-base-3-1 libgcr-ui-3-1 libgdata-common libgdata22 libgdm1
                      libgee-0.8-2 libgeoclue-2-0 libgeocode-glib0 libgjs0g libgnome-autoar-0-0 libgnome-bluetooth13
                      libgnome-desktop-3-19 libgnomekbd-common libgnomekbd8 libgoa-1.0-0b libgoa-1.0-common libgoa-backend-1.0-1
                      libgraphene-1.0-0 libgsound0 libgstreamer-gl1.0-0 libgtop-2.0-11 libgtop2-common libgupnp-av-1.0-2
                      libgupnp-dlna-2.0-3 libgweather-3-16 libgweather-common libharfbuzz-icu0 libjavascriptcoregtk-4.0-18
                      libmediaart-2.0-0 libmozjs-68-0 libmutter-6-0 libnma0 libpam-fprintd libpam-gnome-keyring libphonenumber7
                      libprotobuf17 librygel-core-2.6-2 librygel-db-2.6-2 librygel-renderer-2.6-2 librygel-server-2.6-2
                      libstartup-notification0 libwebkit2gtk-4.0-37 libwhoopsie-preferences0 libwhoopsie0 libxklavier16 libyelp0
                      mousetweaks mutter mutter-common network-manager-gnome pinentry-gnome3 python3-aptdaemon
                      python3-aptdaemon.gtk3widgets python3-defer python3-macaroonbakery python3-nacl python3-protobuf
                      python3-pymacaroons python3-rfc3339 python3-tz rygel session-migration switcheroo-control system-config-printer
                      ubuntu-docs ubuntu-session ubuntu-wallpapers ubuntu-wallpapers-focal whoopsie-preferences xserver-xephyr
                      yaru-theme-gnome-shell yelp yelp-xsl zenity zenity-common
                      Suggested packages:
                      evolution gnome-orca gnome-software | gnome-packagekit gnome-user-share realmd libcanberra-gtk-module usbguard
                      chrome-gnome-shell gir1.2-telepathyglib-0.12 gnome-themes-standard-data gnome-backgrounds
                      gir1.2-telepathylogger-0.2 libenchant-2-voikko network-manager-openconnect-gnome network-manager-openvpn-gnome
                      network-manager-vpnc-gnome network-manager-pptp-gnome pinentry-doc python-nacl-doc rygel-playbin
                      rygel-preferences rygel-ruih rygel-tracker tumbler gnome-software ubuntu-wallpapers-karmic
                      ubuntu-wallpapers-lucid ubuntu-wallpapers-maverick ubuntu-wallpapers-natty ubuntu-wallpapers-oneiric
                      ubuntu-wallpapers-precise ubuntu-wallpapers-quantal ubuntu-wallpapers-raring ubuntu-wallpapers-saucy
                      ubuntu-wallpapers-trusty ubuntu-wallpapers-utopic ubuntu-wallpapers-vivid ubuntu-wallpapers-wily
                      ubuntu-wallpapers-xenial ubuntu-wallpapers-yakkety ubuntu-wallpapers-zesty ubuntu-wallpapers-artful
                      ubuntu-wallpapers-bionic ubuntu-wallpapers-cosmic ubuntu-wallpapers-disco ubuntu-wallpapers-eoan
                      [B]The following NEW packages will be installed:
                      apg aptdaemon aptdaemon-data avahi-utils cheese-common enchant-2 evolution-data-server
                      evolution-data-server-common fprintd gcr gdm3 gir1.2-accountsservice-1.0 gir1.2-atspi-2.0 gir1.2-gck-1
                      gir1.2-gcr-3 gir1.2-gdesktopenums-3.0 gir1.2-gdm-1.0 gir1.2-geoclue-2.0 gir1.2-gnomebluetooth-1.0
                      gir1.2-gnomedesktop-3.0 gir1.2-graphene-1.0 gir1.2-gweather-3.0 gir1.2-json-1.0 gir1.2-mutter-6 gir1.2-nm-1.0
                      gir1.2-nma-1.0 gir1.2-polkit-1.0 gir1.2-rsvg-2.0 gir1.2-soup-2.4 gir1.2-upowerglib-1.0 gjs gkbd-capplet
                      gnome-control-center gnome-control-center-data gnome-control-center-faces gnome-desktop3-data gnome-keyring
                      gnome-keyring-pkcs11 gnome-menus gnome-online-accounts gnome-session-bin gnome-session-common
                      gnome-settings-daemon gnome-settings-daemon-common gnome-shell gnome-shell-common gnome-shell-extension-gamemode
                      gnome-startup-applications gnome-user-docs gstreamer1.0-clutter-3.0 gstreamer1.0-gl gstreamer1.0-pulseaudio
                      language-selector-gnome libcamel-1.2-62 libcanberra-gtk3-0 libcanberra-gtk3-module libcheese-gtk25 libcheese8
                      libclutter-1.0-0 libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0 libcogl-common libcogl-pango20
                      libcogl-path20 libcogl20 libcolord-gtk1 libebackend-1.2-10 libebook-1.2-20 libebook-contacts-1.2-3 libecal-2.0-1
                      libedata-book-1.2-26 libedata-cal-2.0-1 libedataserver-1.2-24 libedataserverui-1.2-2 libenchant-2-2
                      libfprint-2-2 libfprint-2-tod1 libgck-1-0 libgcr-base-3-1 libgcr-ui-3-1 libgdata-common libgdata22 libgdm1
                      libgee-0.8-2 libgeoclue-2-0 libgeocode-glib0 libgjs0g libgnome-autoar-0-0 libgnome-bluetooth13
                      libgnome-desktop-3-19 libgnomekbd-common libgnomekbd8 libgoa-1.0-0b libgoa-1.0-common libgoa-backend-1.0-1
                      libgraphene-1.0-0 libgsound0 libgstreamer-gl1.0-0 libgtop-2.0-11 libgtop2-common libgupnp-av-1.0-2
                      libgupnp-dlna-2.0-3 libgweather-3-16 libgweather-common libharfbuzz-icu0 libjavascriptcoregtk-4.0-18
                      libmediaart-2.0-0 libmozjs-68-0 libmutter-6-0 libnma0 libpam-fprintd libpam-gnome-keyring libphonenumber7
                      libprotobuf17 librygel-core-2.6-2 librygel-db-2.6-2 librygel-renderer-2.6-2 librygel-server-2.6-2
                      libstartup-notification0 libwebkit2gtk-4.0-37 libwhoopsie-preferences0 libwhoopsie0 libxklavier16 libyelp0
                      mousetweaks mutter mutter-common network-manager-gnome pinentry-gnome3 python3-aptdaemon
                      python3-aptdaemon.gtk3widgets python3-defer python3-macaroonbakery python3-nacl python3-protobuf
                      python3-pymacaroons python3-rfc3339 python3-tz rygel session-migration switcheroo-control system-config-printer
                      ubuntu-docs ubuntu-session ubuntu-wallpapers ubuntu-wallpapers-focal whoopsie-preferences xserver-xephyr
                      yaru-theme-gnome-shell yelp yelp-xsl zenity zenity-common[/B]
                      Exactly that's why i didn't bother to install it either...
                      The WarThunder version im running is the native client not the steam one, maybe that's why i see no diff.
                      (Could also be my hardware ofcourse )
                      Well thats all for now, 3M

                      Comment


                        #12
                        Actually lutris pulls in a lot of gnome crap also.

                        Comment

                        Working...
                        X