Insurgency performing bad on brand new install compared to Mint 20

Hi, I recently installed Manjaro XFCE on my brand new SSD I just picked up. I was using Mint 20 on a standard 5400rpm HDD before that, and I’ve been playing games on it just fine. After doing some basic setup like updating all packages and some of my most used prgrams on Manjaro (never used Arch btw) I installed Insurgency. I use an Intel HD 4000, and all the drivers for it were already installed. I also installed lutris and “gamemode” which uses some optimizations to make games run better. Furthermore, I also increased the priority of the Insurgency process as far as I could to make my CPU focus on that game almost exclusevely. All of this was standard on Mint 20, the game ran around 40-60 with some drops to 20-30 when things got intense, but it was playable. Now on Manjaro, I get 60 indoors, and instantly drop to 10-20 outside, but it’s a different kind of lag, it’s not just low FPS, the game feels sluggish, almost as if my guy was running on mud or quicksand, it feels slowed down but also not smooth, so the FPS definitely dropped. I don’t get it, is there something I’m missing to make games run ok? (The game load infinitely faster thanks to the SSD tho, it’s amazing).

Doesn’t mint run on kernel 5.4 now ? Might even be 5.5. You could try using a different kernel and see if that makes a difference, 5.4 is a lts in manjaro

As is unclear yet where the issue relies, i moved it to #support:gaming

Yes Mint was on 5.4, I’m on 5.8 with Manjaro.

Ok I managed to fix the issue. Apparently I had to set my CPU governor to “performance”. I installed the “auto-cpufreq” package with:

sudo pacman -S auto-cpufreq

Then I made it change the governor depending on usage by running

auto-cpufreq --live

And boom, the game is running even better than it was on Mint, no framedrops and a consistently high framerate. Couldn’t be happier.

1 Like

Do you use feral gamemode? Its in the repos and seems to help a lot especially with any throttling issues

It’s the first thing I installed lol. It’s the “gamemode” package right? I set it to enabled on lutris, and also put it as a launch command “gamemoderun”. Btw… while Insurgency seems to run basically as good as I could reasonably expect given my hardware, I installed another game that is having similar issues and doesn’t seem to get fixed by the cpu governor thing… It’s called ISLANDERS, same deal, ran fine on Mint, is running slow as hell on Manjaro. I have recorded a video, for some reason it runs even worse without recording, so maybe the issue is not that apparent on the video. You can see the framerate on the top right, let me tell you that it’s widely innacurate. It’s reporting 30-40fps, but it feels like low 20s when recording, and low 10s when not recording. This is so weird… Video: streamable dot com/cg14in

tlp … (manjaro has this by default) ?
Also … any idea whether mint was using xf86-video-intel or modesetting?
Do you know which you are using now ?

You could probably do with including

inxi -Fazy

Cuz … also compositor, DE … speaking of, are you comparing the same DEs ?
Same goes for kernels ?
Also … what about the security mitigations - the ones that hit intel performance by 30% ?

You’ll need to be a bit more explanatory. I don’t know what tlp is, neither the modesetting or xf86-video-intel.

I was using Mint Cinnamon, but I ended up installed XFCE on it, now I’m using Manjaro XFCE, so yes, same DE. Kernels are different. It was 5.4 on Mint and 5.8 on Manjaro. Don’t know about security mitigations. I still have the Mint installation on another drive, could always boot into it to do more testing, so tell me what you want to know to get to the bottom of this. In the meantime, ere’s the output of the command you gave me:

System:
  Kernel: 5.8.6-1-MANJARO x86_64 bits: 64 compiler: N/A 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.8-x86_64 
  root=UUID=e304984c-59e6-496b-9a2c-451d403b30ed rw quiet apparmor=1 
  security=apparmor udev.log_priority=3 
  Desktop: Xfce 4.14.2 tk: Gtk 3.24.20 info: xfce4-panel wm: xfwm4 
  dm: LightDM 1.30.0 Distro: Manjaro Linux 
Machine:
  Type: Laptop System: LENOVO product: 23492D1 v: ThinkPad T430 
  serial: <filter> Chassis: type: 10 serial: <filter> 
  Mobo: LENOVO model: 23492D1 serial: <filter> UEFI [Legacy]: LENOVO 
  v: G1ET93WW (2.53 ) date: 03/08/2013 
Battery:
  ID-1: BAT0 charge: 44.4 Wh condition: 47.5/47.5 Wh (100%) volts: 12.3/10.8 
  model: SANYO 45N1015 type: Li-ion serial: <filter> status: Unknown 
CPU:
  Topology: Dual Core model: Intel Core i5-3320M bits: 64 type: MT MCP 
  arch: Ivy Bridge family: 6 model-id: 3A (58) stepping: 9 microcode: 21 
  L2 cache: 3072 KiB 
  flags: avx lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 bogomips: 20759 
  Speed: 3049 MHz min/max: 1200/3300 MHz Core speeds (MHz): 1: 2802 2: 2193 
  3: 2463 4: 2350 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX unsupported 
  Type: l1tf mitigation: PTE Inversion 
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: conditional, RSB filling 
  Type: srbds status: Vulnerable: No microcode 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: Intel 3rd Gen Core processor Graphics vendor: Lenovo driver: i915 
  v: kernel bus ID: 00:02.0 chip ID: 8086:0166 
  Device-2: Acer Integrated Camera type: USB driver: uvcvideo bus ID: 3-1.6:6 
  chip ID: 5986:02d5 
  Display: x11 server: X.Org 1.20.8 driver: intel unloaded: modesetting 
  alternate: fbdev,vesa display ID: :0.0 screens: 1 
  Screen-1: 0 s-res: 1366x768 s-dpi: 96 s-size: 361x203mm (14.2x8.0") 
  s-diag: 414mm (16.3") 
  Monitor-1: LVDS1 res: 1366x768 hz: 60 dpi: 112 size: 310x170mm (12.2x6.7") 
  diag: 354mm (13.9") 
  OpenGL: renderer: Mesa DRI Intel HD Graphics 4000 (IVB GT2) 
  v: 4.2 Mesa 20.1.7 compat-v: 3.0 direct render: Yes 
Audio:
  Device-1: Intel 7 Series/C216 Family High Definition Audio vendor: Lenovo 
  driver: snd_hda_intel v: kernel bus ID: 00:1b.0 chip ID: 8086:1e20 
  Sound Server: ALSA v: k5.8.6-1-MANJARO 
Network:
  Device-1: Intel 82579LM Gigabit Network vendor: Lenovo driver: e1000e 
  v: 3.2.6-k port: 5080 bus ID: 00:19.0 chip ID: 8086:1502 
  IF: enp0s25 state: up speed: 1000 Mbps duplex: full mac: <filter> 
  Device-2: Intel Centrino Advanced-N 6205 [Taylor Peak] driver: iwlwifi 
  v: kernel port: efa0 bus ID: 03:00.0 chip ID: 8086:0085 
  IF: wlp3s0 state: down mac: <filter> 
Drives:
  Local Storage: total: 689.33 GiB used: 27.77 GiB (4.0%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/sda vendor: Kingston model: SA400S37240G size: 223.57 GiB 
  block size: physical: 512 B logical: 512 B speed: 6.0 Gb/s serial: <filter> 
  rev: 0107 scheme: MBR 
  ID-2: /dev/sdb vendor: Seagate model: ST500LM030-2E717D size: 465.76 GiB 
  block size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s 
  rotation: 5400 rpm serial: <filter> rev: SDM1 scheme: GPT 
Partition:
  ID-1: / raw size: 223.57 GiB size: 219.06 GiB (97.98%) 
  used: 27.77 GiB (12.7%) fs: ext4 dev: /dev/sda1 
Swap:
  Alert: No Swap data was found. 
Sensors:
  System Temperatures: cpu: 44.0 C mobo: 0.0 C 
  Fan Speeds (RPM): cpu: 2479 
Info:
  Processes: 226 Uptime: 4h 36m Memory: 7.46 GiB used: 3.03 GiB (40.6%) 
  Init: systemd v: 246 Compilers: gcc: 10.2.0 Packages: pacman: 1230 lib: 434 
  flatpak: 0 Shell: Zsh v: 5.8 running in: xfce4-terminal inxi: 3.1.05

TLP:

systemctl status tlp

TLP is a linux power management daemon - its for things like battery life (and CPU governors and such)
It generally comes by default on all manjaro installations … so you should probably take it into account.
https://wiki.archlinux.org/index.php/TLP


Mitigations (spectre, at al):

As in yes … you have those enabled (well … some anyways … some of the ‘fixes’ arent even available for your device). If you dont care, especially about high-level hacker gangs or state actors … you can recover a good chunk of speed by disabling those
(no …I dont technically recommend it … but its up to you)
See more here:
https://wiki.archlinux.org/index.php/Improving_performance#Turn_off_CPU_exploit_mitigations


Kernel:

This could have something to do with it … all I mean is for a more fair comparison you would need to compare the same. Its pretty easy to add/check … so you might want to. But otherwise if a newer kernel works… theres not technically anything wrong with that … though your particular hardware/setup might have its own opinions, as they always do.

Make sure it is properly installed and configured. Test with command gamemoded -t

command example
gamemoded -t
: Loading config
Loading config file [/usr/share/gamemode/gamemode.ini]
Loading config file [/etc/gamemode.ini]
: Running tests

:: Basic client tests
:: Passed

:: Dual client tests
gamemode request succeeded and is active
Quitting by request...
...Waiting for child to quit...
...Waiting for child to quit...
:: Passed

:: Gamemoderun and reaper thread tests
...Waiting for child to quit...
...Waiting for reaper thread (reaper_frequency set to 5 seconds)...
:: Passed

:: Supervisor tests
:: Passed

:: Feature tests
::: Verifying CPU governor setting
::: Passed
::: Verifying Scripts
:::: Running start script [notify-send -i preferences-desktop-gaming -t 2500 "GameMode started" && nvidia-settings -a '[gpu:0]/GPUPowerMizerMode=1']
:::: Passed
:::: Running end script [notify-send -i preferences-desktop-gaming -t 2500 "GameMode ended" && nvidia-settings -a '[gpu:0]/GPUPowerMizerMode=0']
:::: Passed
::: Passed
::: Verifying GPU Optimisations
::: Passed (gpu optimisations not configured to run)
::: Verifying renice
::: Passed
::: Verifying ioprio
::: Passed
:: Passed

: All Tests Passed!
/etc/gamemode.ini
[general]
; The reaper thread will check every 5 seconds for exited clients and for config file changes
reaper_freq=5

; The desired governor is used when entering GameMode instead of "performance"
desiredgov=performance
; The default governer is used when leaving GameMode instead of restoring the original value
defaultgov=schedutil

; GameMode can change the scheduler policy to SCHED_ISO on kernels which support it (currently
; not supported by upstream kernels). Can be set to "auto", "on" or "off". "auto" will enable
; with 4 or more CPU cores. "on" will always enable. Defaults to "off".
softrealtime=on

; GameMode can renice game processes. You can put any value between 0 and 20 here, the value
; will be negated and applied as a nice value (0 means no change). Defaults to 0.
renice=5

; By default, GameMode adjusts the iopriority of clients to BE/0, you can put any value
; between 0 and 7 here (with 0 being highest priority), or one of the special values
; "off" (to disable) or "reset" (to restore Linux default behavior based on CPU priority),
; currently, only the best-effort class is supported thus you cannot set it here
ioprio=0

; Sets whether gamemode will inhibit the screensaver when active
; Defaults to 1
inhibit_screensaver=1

[gpu]
; Here Be Dragons!
; Warning: Use these settings at your own risk
; Any damage to hardware incurred due to this feature is your responsibility and yours alone
; It is also highly recommended you try these settings out first manually to find the sweet spots

; Setting this to the keyphrase "accept-responsibility" will allow gamemode to apply GPU optimisations such as overclocks
;apply_gpu_optimisations=0

; The DRM device number on the system (usually 0), ie. the number in /sys/class/drm/card0/
;gpu_device=0

; Nvidia specific settings
; Requires the coolbits extension activated in nvidia-xconfig
; This corresponds to the desired GPUPowerMizerMode
; "Adaptive"=0 "Prefer Maximum Performance"=1 and "Auto"=2
; See NV_CTRL_GPU_POWER_MIZER_MODE and friends in https://github.com/NVIDIA/nvidia-settings/blob/master/src/libXNVCtrl/NVCtrl.h
;nv_powermizer_mode=1

; These will modify the core and mem clocks of the highest perf state in the Nvidia PowerMizer
; They are measured as Mhz offsets from the baseline, 0 will reset values to default, -1 or unset will not modify values
;nv_core_clock_mhz_offset=0
;nv_mem_clock_mhz_offset=0

; AMD specific settings
; Requires a relatively up to date AMDGPU kernel module
; See: https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#gpu-power-thermal-controls-and-monitoring
; It is also highly recommended you use lm-sensors (or other available tools) to verify card temperatures
; This corresponds to power_dpm_force_performance_level, "manual" is not supported for now
;amd_performance_level=high

[supervisor]
; This section controls the new gamemode functions gamemode_request_start_for and gamemode_request_end_for
; The whilelist and blacklist control which supervisor programs are allowed to make the above requests
;supervisor_whitelist=
;supervisor_blacklist=

; In case you want to allow a supervisor to take full control of gamemode, this option can be set
; This will only allow gamemode clients to be registered by using the above functions by a supervisor client
;require_supervisor=0

[custom]
; Custom scripts (executed using the shell) when gamemode starts and ends
start=notify-send -i preferences-desktop-gaming -t 2500 "GameMode started" && nvidia-settings -a '[gpu:0]/GPUPowerMizerMode=1'
end=notify-send -i preferences-desktop-gaming -t 2500 "GameMode ended" && nvidia-settings -a '[gpu:0]/GPUPowerMizerMode=0'

You should have All Tests Passed! message as a result, if not then fix your game mode installation.

I gave also my custom config file as an example, to show you GameMode can set the CPU governor and other settings (when it is properly passing all tests), You can see I have custom scripts specific to my Nvidia setup so don’t copy/paste my config file blindly, see the comments in the original file.

PS: maybe you have some desktop relate anti tearing : vsync setting messing with your games?

EDIT: it does the tests regarding your config file too so if you have no option enabled then it might not test and enabled everything.

1 Like

Yes all test passed. I don’t know about vsync or something like that. Where could I check?

Is it really that bad to disable those? I mean, is it something that happens often or has more than 1% chance of happening? Does Mint have this as well?

Well thats the funny thing … depending on mints update cycle, what it merged/pushed as a priority, and just your timing … it could be that your Mint didnt have them, while Manjaro does (like kernel 5.8).
So … I cant say for sure whether its a point of difference or not.
My Personal opinion is that if you arent worried about being targeted by a decently sophisticated group … then its in the 99 percentile of safe. But please skim some research and make up your own mind.

I’ll boot into mint and run the same command to see what’s there, I’ll post it here in a minute.

Just FYI - I am going to guess mint is running an old version of inxi …
You might need to do something like inxi -Fxxxza to get a similar output.
(well … thats if it even checks for the vulnerabilities at all … heh … depends on the version)

You might even need to employ a standalone tool:

So, it did print the vulnerabities, here’s the output:

System:    Kernel: 5.4.0-47-generic x86_64 bits: 64 compiler: gcc v: 9.3.0 
           parameters: BOOT_IMAGE=/boot/vmlinuz-5.4.0-47-generic root=UUID=a2a96f4f-e76d-4edb-816d-04f49de88023 ro quiet splash 
           Desktop: Xfce 4.14.2 tk: Gtk 3.24.13 info: xfce4-panel wm: xfwm4 dm: LightDM 1.30.0 Distro: Linux Mint 20 Ulyana 
           base: Ubuntu 20.04 focal 
Machine:   Type: Laptop System: LENOVO product: 23492D1 v: ThinkPad T430 serial: <filter> Chassis: type: 10 serial: <filter> 
           Mobo: LENOVO model: 23492D1 serial: <filter> UEFI [Legacy]: LENOVO v: G1ET93WW (2.53 ) date: 03/08/2013 
Battery:   ID-1: BAT0 charge: 44.4 Wh condition: 47.5/47.5 Wh (100%) volts: 12.3/10.8 model: SANYO 45N1015 type: Li-ion 
           serial: <filter> status: Unknown 
CPU:       Topology: Dual Core model: Intel Core i5-3320M bits: 64 type: MT MCP arch: Ivy Bridge family: 6 model-id: 3A (58) 
           stepping: 9 microcode: 21 L2 cache: 3072 KiB 
           flags: avx lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 20752 
           Speed: 3093 MHz min/max: 1200/3300 MHz Core speeds (MHz): 1: 1943 2: 1954 3: 3246 4: 2125 
           Vulnerabilities: Type: itlb_multihit status: KVM: Vulnerable 
           Type: l1tf mitigation: PTE Inversion 
           Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
           Type: meltdown mitigation: PTI 
           Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp 
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization 
           Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling 
           Type: srbds status: Vulnerable: No microcode 
           Type: tsx_async_abort status: Not affected 
Graphics:  Device-1: Intel 3rd Gen Core processor Graphics vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0 
           chip ID: 8086:0166 
           Display: x11 server: X.Org 1.20.8 driver: intel resolution: 1366x768~60Hz, 1366x768~60Hz 
           OpenGL: renderer: Mesa DRI Intel HD Graphics 4000 (IVB GT2) v: 4.2 Mesa 20.1.2 - kisak-mesa PPA compat-v: 3.0 
           direct render: Yes 
Audio:     Device-1: Intel 7 Series/C216 Family High Definition Audio vendor: Lenovo driver: snd_hda_intel v: kernel 
           bus ID: 00:1b.0 chip ID: 8086:1e20 
           Sound Server: ALSA v: k5.4.0-47-generic 
Network:   Device-1: Intel 82579LM Gigabit Network vendor: Lenovo driver: e1000e v: 3.2.6-k port: 5080 bus ID: 00:19.0 
           chip ID: 8086:1502 
           IF: enp0s25 state: up speed: 1000 Mbps duplex: full mac: <filter> 
           Device-2: Intel Centrino Advanced-N 6205 [Taylor Peak] driver: iwlwifi v: kernel port: efa0 bus ID: 03:00.0 
           chip ID: 8086:0085 
           IF: wlp3s0 state: down mac: <filter> 
           IF-ID-1: ztbpanzr43 state: unknown speed: 10 Mbps duplex: full mac: <filter> 
Drives:    Local Storage: total: 689.33 GiB used: 353.23 GiB (51.2%) 
           SMART Message: Required tool smartctl not installed. Check --recommends 
           ID-1: /dev/sda vendor: Kingston model: SA400S37240G size: 223.57 GiB block size: physical: 512 B logical: 512 B 
           speed: 6.0 Gb/s serial: <filter> rev: 0107 scheme: MBR 
           ID-2: /dev/sdb vendor: Seagate model: ST500LM030-2E717D size: 465.76 GiB block size: physical: 4096 B 
           logical: 512 B speed: 6.0 Gb/s rotation: 5400 rpm serial: <filter> rev: SDM1 scheme: GPT 
Partition: ID-1: / raw size: 246.09 GiB size: 241.23 GiB (98.02%) used: 181.41 GiB (75.2%) fs: ext4 dev: /dev/sdb4 
Sensors:   System Temperatures: cpu: 46.0 C mobo: 0.0 C 
           Fan Speeds (RPM): cpu: 2485 
Info:      Processes: 230 Uptime: 5m Memory: 7.46 GiB used: 1.41 GiB (18.9%) Init: systemd v: 245 runlevel: 5 Compilers: 
           gcc: 9.3.0 alt: 9 Shell: zsh v: 5.8 running in: gnome-terminal inxi: 3.0.38 

This is the only difference … in the Manjaro output it is
Type: itlb_multihit status: KVM: VMX unsupported


So … it seems that it is likely not a ‘point of difference’ … besides that in the case of manjaro (and I quote doc):

KVM is not vulnerable because Virtual Machine Extensions (VMX) is not supported.

Which I just assume has something to do with whether vbox is installed/used and similar.

PS … a thought has come to me.
XFCE compositor is notoriously troublesome.
Is it possible that it was either disabled … or even … since you replaced cinnamon with XFCE … that you never actually installed the XFWM compositor and continued to use mutter ?
(I am not even sure how that works … but its an interesting thought … you might want to check on your XFCE compositor in this case either way … just turn it off and play a thing for a test)

I just booted the game again (ISLANDERS) and it is indeed running at around 40fps as the counter shows. I would record to show, but this time it’s actually logical and the framerate drops when recording, so it wouldn’t do a good demo. It feels much, much smoother here, I don’t know what it is.

I’ll try to install the same kernel I have on Mint on Manjaro and see if that makes a difference.