Reduce System76 Fan Noise

Here are some tips to cut down on Systemu76 laptop fan noise.

I have yet to find a perfect solution. The System76 Oryx Pro spins up too much and too loudly for my taste. I've done a few things to try and help.

Remove High CPU Process

If you're fan spins up, it's because something's hot. CPU is a likely candidate.

To see the CPU usage of the processes using the most, run top, which will produce some output:

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+
82780 jaketre+  26   6 2976940 374596 110388 S  18.9   0.9   5:11.70

The first call is a process id, PID. Go kill it: kill 82780.

Remove Turbo

Did you know that your laptop still has a turbo button? See if it's on by displaying your current power profile:

system76-power profile

It'll output something like this:

Power Profile: Balanced
CPU: 8% - 100%, Turbo
Backlight acpi_video0: 19/19 = 100%
Keyboard Backlight system76_acpi::kbd_backlight: 0/255 = 0%

(Turbo is on.)

To turn it off, set your profile to "battery", telling your little laptop to conserve energy:

system76-power profile battery


system76-power profile
Power Profile: Battery
CPU: 8% - 50%, No Turbo
Backlight acpi_video0: 19/19 = 100%
Keyboard Backlight system76_acpi::kbd_backlight: 0/255 = 0%

No turbo: brings the fan way down!

Use Integrated Graphics Only

The dedicated GPU can also be one of the biggest uses of fan.

See graphics options for your System76 wonder:

system76-power graphics --help

It will show you your options:

Query or set the graphics mode.

 - If an argument is not provided, the graphics profile will be queried
 - Otherwise, that profile will be set, if it is a valid profile

A reboot is required after switching modes.

Usage: system76-power graphics [COMMAND]

  compute     Like integrated, but the dGPU is available for compute
  hybrid      Set the graphics mode to Hybrid (PRIME)
  integrated  Set the graphics mode to integrated
  nvidia      Set the graphics mode to NVIDIA
  switchable  Determines if the system has switchable graphics
  power       Query or set the discrete graphics power state
  help        Print this message or the help of the given subcommand(s)

integrated is your lowest-power option. Set it:

system76-power graphics integrated

Monitor Your Heat

Fans come on in order to dissipate heat. To see what is producing heat, get the sensor readouts:

watch -d sensors
  • sensors will output the reading of all sensors

  • watch will refresh it every 2 seconds

  • -d will highlight the diffs

You'll get something like this:

Every 2.0s: sensors     thegrid: Tue Dec  5 14:56:49 2023

Adapter: ISA adapter
Package id 0:  +57.0°C  (high = +100.0°C, crit = +100.0°C)
Core 0:        +51.0°C  (high = +100.0°C, crit = +100.0°C)
Core 4:        +52.0°C  (high = +100.0°C, crit = +100.0°C)
Core 8:        +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 12:       +57.0°C  (high = +100.0°C, crit = +100.0°C)
Core 16:       +49.0°C  (high = +100.0°C, crit = +100.0°C)
Core 20:       +52.0°C  (high = +100.0°C, crit = +100.0°C)
Core 24:       +50.0°C  (high = +100.0°C, crit = +100.0°C)
Core 25:       +50.0°C  (high = +100.0°C, crit = +100.0°C)
Core 26:       +50.0°C  (high = +100.0°C, crit = +100.0°C)
Core 27:       +50.0°C  (high = +100.0°C, crit = +100.0°C)
Core 28:       +49.0°C  (high = +100.0°C, crit = +100.0°C)
Core 29:       +50.0°C  (high = +100.0°C, crit = +100.0°C)
Core 30:       +50.0°C  (high = +100.0°C, crit = +100.0°C)
Core 31:       +50.0°C  (high = +100.0°C, crit = +100.0°C)

Adapter: ACPI interface
CPU fan:        0 RPM
GPU fan:        0 RPM
CPU temp:     +57.0°C
GPU temp:     +50.0°C

Adapter: Virtual device
temp1:        +33.0°C

Adapter: PCI adapter
Composite:    +32.9°C  (low  = -273.1°C, high = +84.8°C)
                       (crit = +84.8°C)
Sensor 1:     +32.9°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +30.9°C  (low  = -273.1°C, high = +65261.8°C)
Adapter: ACPI interface
in0:          17.22 V
curr1:         0.00 A

How do you get your fan noise to come down?