Razer Blade Pro (2019)

This page is a work in progress.

Prologue
The primary author of this text has an affinity for proper device-names and old-school network interface names, and finds systemd to be ... suitable for ...someone else. GRUB2 is ...interesting in the way a brand new rash is, and initrds are mostly not very interesting at all, other than for selfcontained recovery kernels. The reader may or may not find that the instructions below reflect these views. No apologies are offered.

BIOS/Firmware
If BIOS version 1.02 is installed, hold off upgrading a few seconds. There may exist a possibility to unlock a fair amount of options in the BIOS which may or may not be permanently hidden and locked, with later BIOS versions. This requires installing a modified BIOS, and installing a modified BIOS may or may not break your warranty (and your laptop). This section may possibly be expanded.

Booting the Gentoo Installer
Some quick notes:

Please disable Fast Boot. First in Windows, then shut down and do the same in the BIOS. (Hit F1 immediately/repeatedly after power on.) This is to limit the possibility that your Windows install becomes corrupted while we play around with stuff.

While in the BIOS, also disable Secure Boot, so booting from USB becomes possible. (If CSM also must be enabled is uncertain. If so, the interesting key to whack during POST becomes F12.)

The RBP17 has a spare M.2 slot. The BIOS will happily list EFI entries from one EFI partition on each boot medium. This permits having an untouched original NVME with the Windows install intact, and another device dedicated to Gentoo on the other. You will need a spare M.2 NVME device and a T5 Torx screwdriver. A heat transfer pad for the new NVME device is recommended, but not strictly required. Have a clean, dry, soft and well lit surface prior to opening the device. Take care not to scratch your brand new laptop, and make sure you know exactly where you put the screws.

The gentoo installer does not (at the time of writing) result in functional networking. (Neither wifi nor ethernet) Boot the installer with a well known usb wifi adapter plugged into the laptop for installing. Then grab a 5.4 kernel or better during installation.

UEFI boot from USB follows the same recipe for partitioning/GRUB as below.

Storage
Block storage is named /dev/nvme*something. No /dev/sda anymore.

Card reader
Unsure if supported by in-kernel driver yet.

Audio
A driver option is required for the HDA audio. Otherwise, the speakers will be mute.

Graphics
This is a working /etc/X11/xorg.conf, for use with x11-drivers/nvidia-drivers:

Hybrid graphics not yet verified. HDMI graphics/audio not yet verified.

Wifi
Use driver iwlwifi. Make sure latest linux-firmware is installed.

Ethernet
Realtek 8125 is supported by r8169 in kernel 5.4.0-rc7, possibly a few rcs earlier.

Bluetooth
Likely supported by btusb and firmware in latest linux-firmware. Untested at time of writing.

Keyboard
Audio control keys are exposed as both ACPI events and X11 keys. Ditto display backlight brightness. A Desktop Environment of choice may have prebuilt support for this. Do not make use of both mechanisms at the same time.

ACPI key events works independently of X11, but it is necessary to edit the relevant config file(s) for acpid.

Keyboard backlight keys works with no driver. This section to be expanded.

Touchpad
Rumor has it a certain minimum BIOS version for the touchpad is needed to work out of the box. This is a working /etc/X11/xorg.conf.d/70-synaptics.conf :

Sensors
This section to be expanded.

GRUB and UEFI
The installation handbook has plenty more details about GRUB and UEFI. The tl;dr version below deviates slightly from instructions in the link above.


 * Have a GPT partitioned NVME. (gdisk does the trick)
 * First partition should be of the order 100-200MB, type ef00.
 * Add swap, root (/) and /home partitions according to taste.
 * Format first partition as VFAT. (mkfs.vfat -F 32 /dev/nvme1n1p1verifythis )
 * mkswap for swap partition, mkfs.ext4 or mkfs.somethingelse for root and home.
 * Add partitions to /etc/fstab, first partition as '/boot'.
 * Execute:


 * 1) mount /boot
 * 2) mkdir /boot/grub
 * 3) grub-install --efi-directory=/boot

Verify that /boot/grub and /boot/EFI got a number of files and directories present.

Add the following lines to /etc/default/grub:

Now build a kernel, place it in /boot/, and ensure it is named vmlinux-*, vmlinux-* or kernel-*. Finally, create the GRUB2-config file:

grub-mkconfig -o /boot/grub/grub.cfg

Select kernel config options for homecooked kernels
If you want to configure your own kernel, a likely incomplete selection of relevant kernel config options follows: CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_R8169=y CONFIG_IWLWIFI=y CONFIG_IWLWIFI_LEDS=y CONFIG_IWLDVM=y CONFIG_IWLMVM=y CONFIG_HID_MULTITOUCH=m CONFIG_NVME_CORE=y CONFIG_BLK_DEV_NVME=y CONFIG_PERF_EVENTS_INTEL_UNCORE=y CONFIG_PCIEPORTBUS=y CONFIG_DRM_I915=m CONFIG_INTEL_PCH_THERMAL=y CONFIG_USB_XHCI_HCD=y CONFIG_MFD_INTEL_LPSS=y CONFIG_MFD_INTEL_LPSS_ACPI=y CONFIG_MFD_INTEL_LPSS_PCI=y CONFIG_INTEL_MEI=y CONFIG_INTEL_MEI_ME=y CONFIG_INTEL_MEI_TXE=y CONFIG_SATA_AHCI=y CONFIG_I2C_I801=m CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y CONFIG_MOUSE_PS2_SMBUS=y CONFIG_I2C_SMBUS=m CONFIG_THUNDERBOLT=y To be expanded...