Manjaro Freezing BAD

Brand new to Manjaro, bought a X220, and Im completely lost. I just want this thing to watch movies and browse websites and the browsers keep crashing (firefox, brave, palemoon), sometimes to the point where the whole laptop will freeze and I have to do a hard restart. Not sure what the hell is going on and I dont know how to even begin a process of elimination. Im hoping one of you nerds can help me out! Please treat me like Im retarded, Im not but I dont know any lingo and Im new to the community (trying to learn).

Hi there,
Start here:


  Kernel: 5.10.70-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.10-x86_64
  root=UUID=25bde324-5d84-4170-bd15-5934a0d0a321 rw quiet apparmor=1
  security=apparmor udev.log_priority=3
  Desktop: Xfce 4.16.0 tk: Gtk 3.24.29 info: xfce4-panel wm: xfwm 4.16.1 vt: 7
  dm: LightDM 1.30.0 Distro: Manjaro Linux base: Arch Linux
  Type: Laptop System: LENOVO product: 42872VU v: ThinkPad X220
  serial: <filter> Chassis: type: 10 serial: <filter>
  Mobo: LENOVO model: 42872VU serial: <filter> UEFI-[Legacy]: LENOVO
  v: 8DET74WW (1.44 ) date: 03/13/2018
  ID-1: BAT0 charge: 15.7 Wh (27.2%) condition: 57.7/57.7 Wh (100.0%)
  volts: 10.4 min: 11.1 model: SANYO 42T4861 type: Li-ion serial: <filter>
  status: Discharging
  RAM: total: 15.52 GiB used: 1.35 GiB (8.7%)
  RAM Report: permissions: Unable to run dmidecode. Root privileges required.
  Info: Dual Core model: Intel Core i5-2410M bits: 64 type: MT MCP
  arch: Sandy Bridge family: 6 model-id: 2A (42) stepping: 7 microcode: 2F
  cache: L2: 3 MiB bogomips: 18344
  Speed: 799 MHz min/max: 800/2900 MHz Core speeds (MHz): 1: 799 2: 798 3: 865
  4: 1044
  Flags: acpi aes aperfmperf apic arat arch_perfmon avx bts clflush cmov
  constant_tsc cpuid cx16 cx8 de ds_cpl dtes64 dtherm dts epb est flush_l1d
  fpu fxsr ht ibpb ibrs ida lahf_lm lm mca mce md_clear mmx monitor msr mtrr
  nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq pdcm pebs pge pln pni popcnt
  pse pse36 pti pts rdtscp sep ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp syscall
  tm tm2 tsc tsc_deadline_timer vme x2apic xsave xsaveopt xtopology xtpr
  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: Not affected
  Type: tsx_async_abort status: Not affected
  Device-1: Intel 2nd Generation Core Processor Family Integrated Graphics
  vendor: Lenovo driver: i915 v: kernel bus-ID: 00:02.0 chip-ID: 8086:0116
  class-ID: 0300
  Device-2: Chicony Lenovo Integrated Camera (0.3MP) type: USB
  driver: uvcvideo bus-ID: 1-1.6:5 chip-ID: 04f2:b217 class-ID: 0e02
  Display: x11 server: X.Org 1.20.13 compositor: xfwm4 v: 4.16.1 driver:
  loaded: 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: LVDS-1 res: 1366x768 hz: 60 dpi: 125 size: 277x156mm (10.9x6.1")
  diag: 318mm (12.5")
  OpenGL: renderer: Mesa DRI Intel HD Graphics 3000 (SNB GT2)
  v: 3.3 Mesa 21.2.3 compat-v: 3.0 direct render: Yes
  Device-1: Intel 6 Series/C200 Series Family High Definition Audio
  vendor: Lenovo driver: snd_hda_intel v: kernel bus-ID: 00:1b.0
  chip-ID: 8086:1c20 class-ID: 0403
  Sound Server-1: ALSA v: k5.10.70-1-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.19 running: no
  Sound Server-3: PulseAudio v: 15.0 running: yes
  Sound Server-4: PipeWire v: 0.3.38 running: yes
  Device-1: Intel 82579LM Gigabit Network vendor: Lenovo ThinkPad T520
  driver: e1000e v: kernel port: 5080 bus-ID: 00:19.0 chip-ID: 8086:1502
  class-ID: 0200
  IF: enp0s25 state: down mac: <filter>
  Device-2: Intel Centrino Wireless-N 1000 [Condor Peak] driver: iwlwifi
  v: kernel bus-ID: 03:00.0 chip-ID: 8086:0084 class-ID: 0280
  IF: wlp3s0 state: up mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
  broadcast: <filter>
  IP v6: <filter> type: dynamic noprefixroute scope: global
  IP v6: <filter> type: noprefixroute scope: link
  WAN IP: <filter>
  Message: No bluetooth data found.
  Message: No logical block device data found.
  Message: No RAID data found.
  Local Storage: total: 223.57 GiB used: 20.18 GiB (9.0%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: PNY model: SSD2SC240G1SA754D117-820
  size: 223.57 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
  type: SSD serial: <filter> rev: 0A scheme: MBR
  Message: No optical or floppy data found.
  ID-1: / raw-size: 223.57 GiB size: 219 GiB (97.96%) used: 20.18 GiB (9.2%)
  fs: ext4 dev: /dev/sda1 maj-min: 8:1 label: N/A
  uuid: 25bde324-5d84-4170-bd15-5934a0d0a321
  Alert: No swap data was found.
  Message: No unmounted partitions found.
  Hub-1: 1-0:1 info: Full speed (or root) Hub ports: 3 rev: 2.0
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Hub-2: 1-1:2 info: Intel Integrated Rate Matching Hub ports: 6 rev: 2.0
  speed: 480 Mb/s chip-ID: 8087:0024 class-ID: 0900
  Device-1: 1-1.3:3
  info: Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
  type: <vendor specific> driver: N/A interfaces: 1 rev: 1.0 speed: 12 Mb/s
  power: 100mA chip-ID: 147e:2016 class-ID: 0000
  Device-2: 1-1.6:5 info: Chicony Lenovo Integrated Camera (0.3MP) type: Video
  driver: uvcvideo interfaces: 2 rev: 2.0 speed: 480 Mb/s power: 200mA
  chip-ID: 04f2:b217 class-ID: 0e02
  Hub-3: 2-0:1 info: Full speed (or root) Hub ports: 3 rev: 2.0
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Hub-4: 2-1:2 info: Intel Integrated Rate Matching Hub ports: 8 rev: 2.0
  speed: 480 Mb/s chip-ID: 8087:0024 class-ID: 0900
  System Temperatures: cpu: 47.0 C mobo: N/A
  Fan Speeds (RPM): cpu: 1975
  Processes: 189 Uptime: 23m wakeups: 2 Init: systemd v: 249 tool: systemctl
  Compilers: gcc: N/A Packages: pacman: 1082 lib: 309 flatpak: 0 Shell: Bash
  v: 5.1.8 running-in: xfce4-terminal inxi: 3.3.08

I feel like a hackerman now… please help LOL

One thing I notice is you have no swap.
Is that on purpose? You need swap for when your RAM is full (and/or hibernation etc).
Though … you do have 16G of RAM … so its hard to believe it gets full.

Also I think you may have a BIOS update.

But maybe this has more to do with your old GPU…
One thing to check is maybe

sudo dmesg | grep -i drm


modinfo -p i915

I just learned what I swap is now, and I have no idea why I dont have one (great) lol. I’ll try to figure out how to update the BIOS and in the meantime here is what popped up for those commands

[    3.388912] systemd[1]: modprobe@drm.service: Deactivated successfully.
[    3.389267] systemd[1]: Finished Load Kernel Module drm.
[    4.704249] fb0: switching to inteldrmfb from VESA VGA
[    5.117918] [drm] Initialized i915 1.6.0 20200917 for 0000:00:02.0 on minor 0
[    5.316120] fbcon: i915drmfb (fb0) is primary device
[    6.329384] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device

and also

modinfo -p i915
modeset:Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int)
enable_dc:Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6; 3=up to DC5 with DC3CO; 4=up to DC6 with DC3CO) (int)
enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)
lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int)
panel_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP] (default: auto from VBT) (int)
vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel mode in the VBT (-2=ignore, -1=auto [default], index in VBT BIOS table) (int)
reset:Attempt GPU resets (0=disabled, 1=full gpu reset, 2=engine reset [default]) (uint)
vbt_firmware:Load VBT from specified file under /lib/firmware (charp)
error_capture:Record the GPU state following a hang. This information in /sys/class/drm/card<N>/error is vital for triaging and debugging hangs. (bool)
enable_hangcheck:Periodically check GPU activity for detecting hangs. WARNING: Disabling this can cause system wide hangs. (default: true) (bool)
enable_psr:Enable PSR (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int)
psr_safest_params:Replace PSR VBT parameters by the safest and not optimal ones. This is helpful to detect if PSR issues are related to bad values set in  VBT. (0=use VBT parameters, 1=use safest parameters) (bool)
enable_psr2_sel_fetch:Enable PSR2 selective fetch (0=disabled, 1=enabled) Default: 0 (bool)
force_probe:Force probe the driver for specified devices. See CONFIG_DRM_I915_FORCE_PROBE for details. (charp)
disable_power_well:Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int)
enable_ips:Enable IPS (default: true) (int)
fastboot:Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int)
load_detect_test:Force-enable the VGA load detect code for testing (default:false). For developers only. (bool)
force_reset_modeset_test:Force a modeset during gpu reset for testing (default:false). For developers only. (bool)
invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and subsystem device ID to, if your machine needs it. It will then be included in an upcoming module version. (int)
disable_display:Disable display (default: false) (bool)
mmio_debug:Enable the MMIO debug code for the first N failures (default: off). This may negatively affect performance. (int)
verbose_state_checks:Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions. (bool)
nuclear_pageflip:Force enable atomic functionality on platforms that don't have full support yet. (bool)
edp_vswing:Ignore/Override vswing pre-emph table selection from VBT (0=use value from vbt [default], 1=low power swing(200mV),2=default swing(400mV)) (int)
enable_guc:Enable GuC load for GuC submission and/or HuC load. Required functionality can be selected using bitmask values. (-1=auto, 0=disable [default], 1=GuC submission, 2=HuC load) (int)
guc_log_level:GuC firmware logging level. Requires GuC to be loaded. (-1=auto [default], 0=disable, 1..4=enable with verbosity min..max) (int)
guc_firmware_path:GuC firmware path to use instead of the default one (charp)
huc_firmware_path:HuC firmware path to use instead of the default one (charp)
dmc_firmware_path:DMC firmware path to use instead of the default one (charp)
enable_dp_mst:Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool)
enable_dpcd_backlight:Enable support for DPCD backlight control(-1=use per-VBT LFP backlight type setting [default], 0=disabled, 1=enabled) (int)
enable_gvt:Enable support for Intel GVT-g graphics virtualization host support(default:false) (bool)
mitigations:Selectively enable security mitigations for all Intel® GPUs in the system.

  auto -- enables all mitigations required for the platform [default]
  off  -- disables all mitigations

Individual mitigations can be enabled by passing a comma-separated string,
e.g. mitigations=residuals to enable only clearing residuals or
mitigations=auto,noresiduals to disable only the clear residual mitigation.
Either '!' or 'no' may be used to switch from enabling the mitigation to
disabling it.

Active mitigations for Ivybridge, Baytrail, Haswell:
  residuals -- clear all thread-local registers between contexts

I still dont think SWAP is your issue … but we can take care of it.

Lets also assume you dont need hibernate, so we dont need to make it too big. (you can increase this later)
We will also use a swapfile … so you dont have to mess with partitions or anything.

The following are step-by-step instructions in the terminal.
Please copy each line and enter them, if you wish to create a 4GB SWAP file. Take care.

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

You may then check if its available and working:

swapon --show

If it is … then we can add a line to /etc/fstab to make it mounted/active every boot:
(you can use any editor here, but nano seems ubiquitous)

sudo nano /etc/fstab

And add a line (probably at the bottom)

/swapfile               none            swap            defaults,pri=-2 0 0

(you can reboot and check swap availability again … another command is inxi -Dj)


He isn’t using much ram to crash the system even without swap(though making a swap is good). The CPU is quite old, is that the bottleneck? (Though I’ve run manjaro on an i3 2nd gen myself without flaws.)
What you can do is turn on the browser and start a video, then post a screenshot of htop command output. You can close the command with Ctrl+C.

It is a known fact that mitigations has a noticable impact on the system performance.

So to rule that out do the following in a terminal

  1. Install the micro editor

     sudo pacman -S micro
  2. Open the grub default configuration

     sudo micro /etc/default/grub
  3. Locate the line reading

     GRUB_CMDLINE_LINUX_DEFAULT="quiet udev.log_priority=3"
  4. Amend the line to read

     GRUB_CMDLINE_LINUX_DEFAULT="mitigations=off quiet udev.log_priority=3"
  5. Then hit CtrlS CtrlQ to save and exit

  6. Rebuild grub configuration

     sudo grub-mkconfig -o /boot/grub/grub.cfg
  7. And reboot


When you are back - please test again