System76 Galago Pro galp3
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.
All necessary packages can be found in the AUR. It is recommended to install everything in the list below.
- AUR (needed for System76 switchable graphics)
- AUR (seems to be needed for things like audio to work right)
- AUR (required if you want to update your BIOS)
- AUR (required if you want to know when there is a BIOS update available)
(There are also "-git" versions of many of these packages, if you wish to stay bleeding edge.)
Once you have installed the above, you will need to tell your computer to use them.
Enable the following services with
systemctl enable: (source)
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
s76-i915-mkinitcpio.conffile, and a redundant (if you have
system76-driver_i2c-nvidia-gpu.conffile. As such, this step may be skippable, for the time-being.
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
To update your system to the latest firmware on the next boot, run
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.
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
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.