Whole system freezes while playing Age of Empires IV

I have Nvidia GPU and using Steam proton to play Age of Empire 4 on the Manjaro. It works fine for some time but after sometime it freezes the system. I can’t

  • Exit game
  • See mouse movement
  • See keyboard inputs
  • Open TTY console from Ctrl + Alt + F3…

I can only press the power button and hard shutdown.

inxi -Fazzy
  Kernel: 6.6.19-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.6-x86_64
    root=UUID=44e25003-1f04-4d4c-ae58-396e08b83bc4 rw splash
  Desktop: KDE Plasma v: 5.27.11 tk: Qt v: 5.15.12 info: frameworks
    v: 5.115.0 wm: kwin_x11 with: krunner vt: 2 dm: SDDM Distro: Manjaro
    base: Arch Linux
  Type: Laptop System: ASUSTeK product: TUF Gaming FX505GT_FX505GT v: 1.0
    serial: <superuser required>
  Mobo: ASUSTeK model: FX505GT v: 1.0 serial: <superuser required>
    uuid: <superuser required> UEFI: American Megatrends v: FX505GT.311
    date: 02/08/2021
  ID-1: BAT0 charge: 24.6 Wh (51.8%) condition: 47.5/48.1 Wh (98.7%)
    volts: 10.9 min: 11.7 model: Simplo SDI ICR18650 type: Li-ion
    serial: <filter> status: discharging cycles: 41
  Info: model: Intel Core i7-9750H bits: 64 type: MT MCP arch: Coffee Lake
    gen: core 9 level: v3 note: check built: 2018 process: Intel 14nm family: 6
    model-id: 0x9E (158) stepping: 0xA (10) microcode: 0xF4
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
    L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB
    L3: 12 MiB desc: 1x12 MiB
  Speed (MHz): avg: 2100 min/max: 800/4500 scaling: driver: intel_pstate
    governor: powersave cores: 1: 2100 2: 2100 3: 2100 4: 2100 5: 2100 6: 2100
    7: 2100 8: 2100 9: 2100 10: 2100 11: 2100 12: 2100 bogomips: 62431
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Type: gather_data_sampling mitigation: Microcode
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
  Type: retbleed mitigation: IBRS
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
  Type: spectre_v2 mitigation: IBRS, IBPB: conditional, STIBP: conditional,
    RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort status: Not affected
  Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630] vendor: ASUSTeK
    driver: i915 v: kernel arch: Gen-9.5 process: Intel 14nm built: 2016-20
    ports: active: eDP-1 empty: none bus-ID: 00:02.0 chip-ID: 8086:3e9b
    class-ID: 0300
  Device-2: NVIDIA TU117M [GeForce GTX 1650 Mobile / Max-Q] vendor: ASUSTeK
    driver: nvidia v: 550.54.14 alternate: nouveau,nvidia_drm non-free: 545.xx+
    status: current (as of 2024-02; EOL~2026-12-xx) arch: Turing code: TUxxx
    process: TSMC 12nm FF built: 2018-2022 pcie: gen: 1 speed: 2.5 GT/s
    lanes: 16 link-max: gen: 3 speed: 8 GT/s bus-ID: 01:00.0 chip-ID: 10de:1f91
    class-ID: 0300
  Device-3: IMC Networks USB2.0 HD UVC WebCam driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-11:2 chip-ID: 13d3:56a2
    class-ID: 0e02 serial: <filter>
  Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 23.2.4
    compositor: kwin_x11 driver: X: loaded: modesetting,nvidia
    alternate: fbdev,nouveau,nv,vesa dri: iris gpu: i915 display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: eDP-1 model: Najing CEC Panda 0x0036 built: 2018 res: 1920x1080
    hz: 120 dpi: 142 gamma: 1.2 size: 344x194mm (13.54x7.64") diag: 395mm (15.5")
    ratio: 16:9 modes: 1920x1080
  API: EGL v: 1.5 hw: drv: intel iris drv: nvidia platforms: device: 0
    drv: nvidia device: 2 drv: iris device: 3 drv: swrast surfaceless:
    drv: nvidia x11: drv: iris inactive: gbm,wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: intel mesa v: 24.0.2-manjaro1.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel UHD Graphics 630 (CFL GT2)
    device-ID: 8086:3e9b memory: 15.11 GiB unified: yes
  API: Vulkan v: 1.3.279 layers: 5 device: 0 type: discrete-gpu
    name: NVIDIA GeForce GTX 1650 driver: nvidia v: 550.54.14
    device-ID: 10de:1f91 surfaces: xcb,xlib
  Device-1: Intel Cannon Lake PCH cAVS vendor: ASUSTeK
    driver: sof-audio-pci-intel-cnl alternate: snd_hda_intel, snd_soc_skl,
    snd_sof_pci_intel_cnl bus-ID: 00:1f.3 chip-ID: 8086:a348 class-ID: 0403
  Device-2: NVIDIA vendor: ASUSTeK driver: snd_hda_intel v: kernel pcie:
    gen: 2 speed: 5 GT/s lanes: 16 link-max: gen: 3 speed: 8 GT/s bus-ID: 01:00.1
    chip-ID: 10de:10fa class-ID: 0403
  API: ALSA v: k6.6.19-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 1.0.3 status: off with: wireplumber status: active
    tools: pw-cli,wpctl
  Server-3: PulseAudio v: 17.0 status: active with: pulseaudio-alsa
    type: plugin tools: pacat,pactl
  Device-1: Intel Cannon Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    modules: wl bus-ID: 00:14.3 chip-ID: 8086:a370 class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: ASUSTeK RTL8111/8168/8411 driver: r8169 v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 port: 3000 bus-ID: 03:00.0 chip-ID: 10ec:8168
    class-ID: 0200
  IF: enp3s0 state: down mac: <filter>
  IF-ID-1: br-1cd1e81597c2 state: down mac: <filter>
  IF-ID-2: br-51a58732b0f1 state: down mac: <filter>
  IF-ID-3: br-7b62b504cc9f state: down mac: <filter>
  IF-ID-4: br-8228f9b77496 state: down mac: <filter>
  IF-ID-5: br-cef851c49fd1 state: down mac: <filter>
  IF-ID-6: docker0 state: down mac: <filter>
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
  Device-1: Intel Bluetooth 9460/9560 Jefferson Peak (JfP) driver: btusb v: 0.8
    type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-14:3
    chip-ID: 8087:0aaa class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 0 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: see --recommends
  Local Storage: total: 1.38 TiB used: 390.77 GiB (27.7%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Micron model: 2200V MTFDHBA512TCK
    size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: P1MA0V4 temp: 43.9 C
    scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 870 EVO 1TB
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 3B6Q scheme: GPT
  ID-1: / raw-size: 185.24 GiB size: 181.28 GiB (97.86%)
    used: 81.48 GiB (45.0%) fs: ext4 dev: /dev/nvme0n1p3 maj-min: 259:3
  ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%)
    used: 288 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 283.38 GiB size: 277.87 GiB (98.06%)
    used: 119.05 GiB (42.8%) fs: ext4 dev: /dev/nvme0n1p5 maj-min: 259:4
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: yes
    compressor: zstd max-pool: 20%
  ID-1: swap-1 type: partition size: 7.81 GiB used: 534.6 MiB (6.7%)
    priority: -2 dev: /dev/nvme0n1p2 maj-min: 259:2
  System Temperatures: cpu: 57.0 C pch: 56.0 C mobo: N/A
  Fan Speeds (rpm): cpu: 2700
  Memory: total: 16 GiB available: 15.47 GiB used: 4.99 GiB (32.2%)
  Processes: 383 Power: uptime: 1d 3h 15m states: freeze,mem,disk
    suspend: deep avail: s2idle wakeups: 3 hibernate: platform avail: shutdown,
    reboot, suspend, test_resume image: 6.18 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 255 default: graphical
    tool: systemctl
  Packages: pm: pacman pkgs: 1932 libs: 423 tools: pamac,yay Compilers:
    clang: 16.0.6 gcc: 13.2.1 alt: 12 Shell: Bash v: 5.2.26 running-in: konsole
    inxi: 3.3.33

Steam Information


Numerous reports of crashes and freezes for that game, it’s only silver-rated on ProtonDB. Maybe try some of the suggestions there. Although it shouldn’t freeze the whole system.

Gentle shut down a suddenly hanged PC to minimize a chance of getting a broken filesystem and data loss:

:footprints: :footprints:

Lol now its not even running. Thanks, I will check.

How is the game started? With Intel or Nvidia card?

Working now, had to reboot after some upgrade. :facepalm:

NVIDIA TU117M [GeForce GTX 1650 Mobile / Max-Q] vendor: ASUSTeK

Yes, after reboot. Mouse works but game visuals freezes. I can hear audio but can’t see the menu.

Playing Games on 16 GB Memory, is that an option? Anyone else?

Absolutely. Of course it will depend on the game, but many games are doable even on half that, or even half again. I recall playing TeamFortress 2 on a Celeron with 4GB of RAM or possibly less.

I did think it could have been related - but they also have an ~8gb swapfile.
Though this could be enlarged.

People tend to conflate all the different things a game might need.

For example - something like Dwarf Fortress or Rimworld wont actually require much in terms of GPU.
But they can hog CPU and RAM rather heavily, especially depending on factors like world size, mods, and weather systems enabled.
While on the other hand there are games that require very few resources beyond a powerful GPU (flashy gfx, but few computations).

You can quote multiple people in one post and edit already existing posts.
No need for multiple postings one after another.

Okay sorry my bad, I just check the requirement for that Game

Ohk, so I have narrowed down the problem to visuals and keyboard. After playing for 6 - 7 mins (at that time it worked fine), I can hear game audio and see the mouse movements, but can’t use keyboard.

Since I can’t minimise the game, so I had enabled the caps lock (there is a light on the key), and when game was working fine I could toggle that light (Caps ON/OFF) but when it froze, I couldn’t toggle the caps ON/OFF.

Is there better way to listen to logs for the problem, like listing to some log file before starting the game and all?

I’ll ask again, how is the game started? Do you run it on the Intel or the Nvidia card? HOW do you start the game? did you change anything in Steam launch option for the game? You have two video card and pretty sure it uses the first (Intel) by default if you do not add the proper launch option in the game properties in Steam. If hybrid profile for video driver is correctly installed, it should be:

prime-run %command%

how is the game started?

I am running the game from the library of Steam Runtime. On Manjaro, I have installed it via pacman -S steam. I am not adding anything in the steam launch options (Infact I am not sure how to do it correctly :smile: )

Do you run it on the Intel or the Nvidia card?
You have two video card and pretty sure it uses the first (Intel) by default if you do not add the proper launch option in the game properties in Steam.

Nope, when initially the game starts, I have confirmed from nvida-smi, it is running through nvidia. I am also running Xorg via GPU, this is where it seems problematic to me.

| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|    0   N/A  N/A       762      G   /usr/lib/Xorg                                   4MiB |
|    0   N/A  N/A     16751    C+G   ...Age of Empires IV\RelicCardinal.exe        107MiB |

But you have a hybrid system. It should usually be using the intel iGPU by default.

Please show us the state of your mhwd profile(s):
mhwd -li -l

Sure, here it is.

> Installed PCI configs:
                  NAME               VERSION          FREEDRIVER           TYPE
video-hybrid-intel-nvidia-prime            2023.03.23               false            PCI
     video-modesetting            2020.01.13                true            PCI
   network-broadcom-wl            2018.10.07               false            PCI

Warning: No installed USB configs!
> 0000:03:00.0 (0200:10ec:8168) Network controller Realtek Semiconductor Co., Ltd.:
                  NAME               VERSION          FREEDRIVER           TYPE
         network-r8168            2023.09.12                true            PCI

> 0000:01:00.0 (0300:10de:1f91) Display controller nVidia Corporation:
                  NAME               VERSION          FREEDRIVER           TYPE
video-hybrid-intel-nvidia-prime            2023.03.23               false            PCI
video-hybrid-intel-nvidia-470xx-prime            2023.03.23               false            PCI
          video-nvidia            2023.03.23               false            PCI
    video-nvidia-470xx            2023.03.23               false            PCI
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI

> 0000:00:02.0 (0300:8086:3e9b) Display controller Intel Corporation:
                  NAME               VERSION          FREEDRIVER           TYPE
video-hybrid-intel-nvidia-prime            2023.03.23               false            PCI
video-hybrid-intel-nvidia-470xx-prime            2023.03.23               false            PCI
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI

So, as stated, this should mean that everything runs on the intel and you use the nvidia with prime-run.

glxinfo | grep 'renderer string'
prime-run glxinfo | grep 'renderer string'

Similarly … to launch a game from steam on the nvidia you would edit the game launch options

Quick How-To Set Steam Launch Options

Steam has a special variable %command% so, assuming no other options, you would place exactly this:

prime-run %command%

And the game would run on the nvidia.

1 Like

Should I also enable this?

Only if you want to force a specific proton.
Which, as of now, we dont know if you do.
That option is unrelated to prime, nvidia.

Refer to the protondb link.
(for that and other launch options etc)

On the note of ‘versions of proton’ … I notice all the positive remarks on protondb for this title are from users with Proton-GE (glorious eggroll). Do with that what you will. It is unlikely to be the proton you are already using.
The package protonup-qt may be useful to you.
(it will allow you to select/apply proton versions for steam)