System76 Galago Pro galp3

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Hardware PCI/USB ID Working?
GPU (Intel) Yes
GPU (NVIDIA) No
Audio Yes
Microphone Yes
Speakers Yes
Webcam Yes
Bluetooth Yes
Ethernet Yes
Wireless Yes
SD-card reader Yes
Fingerprint reader No

OEM software

System76 develops a special distribution (Pop!_OS) for their computers, and it comes with many tweaks and tools to ensure a seamless end-user experience. Arch does not have these out of the box; and unfortunately, sometimes their computers do not work right without them. Thankfully, it is possible to get the same first-class hardware support in Arch Linux that you have in Pop!_OS -- it just takes a little elbow grease.

Packages

All necessary packages can be found in the AUR. It is recommended to install everything in the list below.

Modules
Daemons
Other

(There are also "-git" versions of many of these packages, if you wish to stay bleeding edge.)

Settings

Once you have installed the above, you will need to tell your computer to use them.

Services

Enable the following services with systemctl enable: (source)

  • system76
  • system76-firmware-daemon
  • system76-power

Drivers

To make sure all drivers are being loaded correctly, run system76-driver-cli; this will automatically add necessary rules to /etc/modprobe.d, and execute mkinitcpio.

Note: However, as of 2021-04-06, this creates a malformed s76-i915-mkinitcpio.conf file, and a redundant (if you have system76-power.conf) system76-driver_i2c-nvidia-gpu.conf file. As such, this step may be skippable, for the time-being.

BIOS updates

To check your current BIOS version and whether there is a new version available, run firmware-manager as root. Keep in-mind that this is a GTK application, so you need to be running X or Wayland for it to run. (It has no CLI -- it does not even respond to --help.)

To update your system to the latest firmware on the next boot, run system76-firmware-cli schedule.

Suspend/hibernate

Out of the box, Arch Linux does not resume a previously suspended or hibernated session. To support hibernation, ensure that you have swap space equal to or greater than your system memory (RAM), and add "resume" to your /etc/mkinitcpio.conf file, per the instructions here.

NOTE: hibernation has yet to be tested on this device; but suspension seems to work... sometimes.

Troubleshooting

system76-firmware: EFI mount point not found

If using the new (replacement) EFI mount point /efi, ensure you have the mount present in etc/fstab. You may find the appropriate device to mount by using a combination of lsblk and fdisk -l.

# fdisk -l # List disks (one device will be designated as "EFI System")
# lsblk    # List devices and mount points, you should see the EFI system device, and confirm whether it is mounted/unmounted
# mount device /efi
#
# genfstab -U / # (optional) print fstab configuration for inclusion/merging into /etc/fstab

After doing the above, it might be a good idea to schedule a firmware update:

# system76-firmware-cli schedule

With grub

After scheduling a firmware update, ensure that GRUB is set to use the EFI partition like so:

# grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=grub
# cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak
# grub-mkconfig -o /boot/grub/grub.cfg

Restart to trigger the firmware update.