System76 Oryx Pro

From ArchWiki
Jump to navigation Jump to search

Installation

The System76 Oryx Pro comes with two NVMe M.2 slots, as well as space for a 2.5" SSD/HDD. Booting from NVMe requires the use of EFI, while booting over SATA/AHCI does not. Typically EFI would be a safe-to-use method for this laptop overall.

Drivers

The System76 Oryx Pro has customized utilities and daemons that assist with running the Oryx Pro nicely under Linux. This includes driver (graphical, io, fan) configuration, firmware updates, and LED control.

System76 produces a distribution called Pop OS! which they install on their machines. This guide is meant to align drivers and graphical configurations with the style that Pop OS! chooses, which seems to be best for these configurations.

The collection of drivers can be found in the AUR.

system76-driverAUR

system76-dkmsAUR

system76-io-dkmsAUR

system76-firmware-daemonAUR

system76-powerAUR

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

Graphical

This system comes complete with an integrated (intel) and discrete (NVIDIA) graphics card. The external ports (DP over Mini-DP, DP over USB-C, HDMI) are tied to the discrete nvidia card. Some users have reported getting this to work right with Bumblebee.

When in doubt, remove bumblebee and install NVIDIA proprietary drivers.

Your mileage may vary if you are using a more complete DE like GNOME; this has only been tested with i3-wm.

Audio

Audio seems to work out of the box with a USB headset, however, it does not relay audio to the onboard speaker. This section needs to be feature complete with workarounds for any issues.

Suspend/Hibernate

Out of the box, Arch Linux does not resume a previously suspended or hibernated session. This section needs to be feature complete with workarounds for any issues.

Common Issues

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 mounting the device, system76-firmware-daemonAUR must be built from source (root not required) and modified to include `/efi` as a valid EFI mount point.

Note: There is a pull request to upstream the required change[1]

After building and installing the modified system76-firmware from source, system76-firmware-cli maybe run 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.