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
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.
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.
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.