Skip to content

MSI Titan GT77HX: driver packaging and Cooler Boost at 85C #11583

Description

@andyholst

Hardware

Component Detail
Model MSI Titan GT77HX 13VI
CPU Intel i9-13980HX (24C/32T)
dGPU NVIDIA RTX 4090 Laptop (AD103M, hybrid Optimus)
iGPU Intel UHD (display pipeline through iGPU)
Ethernet Killer E3000 (RTL8125B, 2.5GbE, PCIe)
WiFi Intel Wi-Fi 6E (CNVi, soldered)
Storage Samsung PM9A1 NVMe x2
Card Reader Realtek RTS5261
Thunderbolt Maple Ridge 4
EC MSI Embedded Controller (msi-ec-dkms-git)
Boot Limine (UKI) on Arch Linux

Problem

Cooler Boost — a binary EC flag for 100% fan duty — is never enabled by Silent or Auto fan curves. The EC keeps fans on a quiet RPM curve even when CPU/GPU exceed 85C. CoolerControl cannot PWM these fans (RPM-only), so it has no way to flip the flag.

Result: thermal throttling under sustained load (rendering, gaming, compile) because the firmware never escalates cooling.

What This Issue Needs

1. Driver Packaging (install/hardware/msi.sh)

Triggered by omarchy-hw-msi (detects MSI laptops via DMI):

Driver Package Why
EC sysfs msi-ec-dkms-git Cooler Boost, fan control, battery thresholds
Ethernet r8125-dkms Killer E3000 — r8169 has stability bugs, needs blacklist
Fan daemon coolercontrol Replaces thermald; can't PWM but can trigger Cooler Boost
GPU config nvidia-settings NVIDIA DPMS, power management
Battery thresholds via msi-ec Start 60% / end 80% for battery longevity

Design notes:

  • PCI detection reads from OMARCHY_PCI_DEVICES_PATH (sysfs), not lspci — avoids waking suspended GPUs on hybrid laptops (see PR Avoid lspci in favor of sysfs #11259)
  • r8169 blacklist is only written when r8125 is already loaded — avoids leaving the system without network

2. Cooler Boost Watcher (Titan GT77HX only)

omarchy-hw-msi-titan gates a dedicated systemd unit:

Threshold Action
CPU or GPU >= 85C, sustained >30s Cooler Boost ON (Extreme 100%)
Both <= 70C Cooler Boost OFF (Silent floor)
In between Hysteresis — no change (prevents rapid toggling)
  • A short spike above 85C does not enable Cooler Boost: the temperature must stay at or above 85C for more than 30 seconds (7 consecutive 5s polls). The sustain counter resets on any dip below 85C.
  • Verified live on a GT77HX 13VI: first >=85C under 32-thread load at t+13s, flag flipped off -> on at t+44s (31s sustained), all four EC fans ~2,100 -> ~4,900 RPM; flipped on -> off at the first poll at/under 70C during cooldown.

Polling: 5 seconds (configurable via MSI_COOLER_BOOST_INTERVAL)
Sustain window: 30 seconds (configurable via MSI_COOLER_BOOST_SUSTAIN)
EC path: /sys/devices/platform/msi-ec/cooler_boost
Unit: omarchy-msi-cooler-boost-watch.service
Guard: ConditionPathExists=/sys/devices/platform/msi-ec/cooler_boost

3. MSI Detection Coverage

The omarchy-hw-msi detector covers 14 MSI laptop families:

Family Segment
Titan Flagship gaming
Stealth Thin gaming
Raider High-performance gaming
Vector Creator/gaming
Crosshair Budget gaming
Summit Business
Creator Content creation
Modern Mainstream
Katana Budget gaming
Cyborg Budget gaming
Pulse Mid-tier gaming
Bravo AMD gaming
Alpha Entry gaming
Prestige Ultrabook

Excludes: Desktop boards (MEG, MAG, MPG) that report "Micro-Star International" as vendor but have board names in product_name only, not product_family.

Verification Checklist

Hardware-verified on GT77HX 13VI (the only MSI model available; 2026-09-16):

  • omarchy-hw-msi returns 0 on MSI Titan (GT77HX 13VI)
  • omarchy-hw-msi-titan returns 0 on GT77HX
  • r8125-dkms installed, r8169 blacklisted, r8125 in modules-load.d
  • coolercontrold running, thermald disabled
  • omarchy-msi-cooler-boost-watch service starts after multi-user.target (active + enabled)
  • Watcher flips Cooler Boost ON only after >=85C sustained >30s, OFF at <=70C (verified live: 31s sustained, fans ~2.1k -> ~4.9k RPM)
  • All tests pass: bash test/shell.d/hw-msi-test.sh && bash test/shell.d/msi-cooler-boost-test.sh (45 + 27 assertions)

Covered by stubbed unit tests only — not verifiable on the available hardware (no other MSI/non-MSI machines):

  • omarchy-hw-msi returns 1 on non-MSI laptops — stubbed DMI tests: ASUS, Dell, Lenovo, HP, Acer, Framework rejected; MSI desktops (MEG/MAG) rejected
  • omarchy-hw-msi-titan returns 1 on Stealth/Raider — stubbed DMI tests
  • install/hardware/msi.sh triggers only when omarchy-hw-msi passes — code read + stub tests
  • Watcher exits cleanly on non-Titan MSI hardware — stubbed DMI test (ASUS); verified it does not touch the EC
  • r8125 behavior on other MSI models — same driver path as this machine, not re-verified on other hardware

Scope Exclusions

  • RGB — Cherry MX keyboards on GT77HX are not supported by msi-perkeyrgb. The tool exits 0 with no effect. RGB must be a separate issue with explicit model support.
  • Other MSI laptops get driver packaging; only GT77HX gets the Cooler Boost watcher (specific EC layout).
  • GRUB — Omarchy uses Limine. No GRUB work in this issue.

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcompatibilityMake Omarchy work better on everything!

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions