Jump to content

# ASUS ROG GX650P

From ArchWiki

Hardware | PCI/USB ID | Working?
--- | --- | ---
Bluetooth | `14c3:0616` | Yes
WiFi | `14c3:0616` | Yes
Ethernet | `10ec:8125` | Yes
GPU (NVIDIA) | `10de:2820` | Yes
GPU (AMD) | `1002:164e` | Yes
Speakers | `1043:1433` | Yes

This article or section does not follow the Laptop page guidelines.

Reason: Needs an accessibility section and a function keys section. (Discuss in Talk:ASUS ROG GX650P)

## Installation

Press the `Esc` key when the ROG logo appears to enter the laptop's UEFI. To boot into the installation medium, disable Secure Boot in the UEFI interface by deleting all related keys after backing up your keys. It is recommended to use a wired network during installation because wireless network connections can be non-trivial to deal with for now (see #Bluetooth and WiFi).

## Bluetooth and WiFi

Both the Bluetooth and WiFi on this device are supported by MediaTek mt7922, which is driven by `mt7921e`. As of kernel 6.4.2 in July 2023, two kernel patches and firmware updates are still required. First check you device with:

    $ lspci -k | grep --after-context=2 MT7922

    04:00.0 Network controller: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter
    	Subsystem: Foxconn International, Inc. MT7922 802.11ax PCI Express Wireless Network Adapter
    	Kernel driver in use: mt7921e
    	Kernel modules: mt7921e

It is likely that one will lack the line `Kernel modules: mt7921e` without further setup since the kernel module is not properly loaded.

Start with a fresh boot, i.e. completely shutdown your device and boot your device; one might encounter an error log similar to this in the journal:

    [59007.600714] mt7921e 0000:02:00.0: ASIC revision: 79220010
    [59010.889773] mt7921e 0000:02:00.0: Message 00000010 (seq 1) timeout
    [59010.889786] mt7921e 0000:02:00.0: Failed to get patch semaphore
    [59014.217839] mt7921e 0000:02:00.0: Message 00000010 (seq 2) timeout

It is recommended to patch to fix device init failed so that WiFi can work. Further, to support Bluetooth, another kernel patch should be applied.

Tip: One can refer to Kernel/Arch build system for instructions on how to apply kernel patches

## Speaker

Due to the insufficient amplifier setup (Cirrus Logic CS35L41) on Linux, the sound turned out to be tiny. Follow the guide on asus-linux and add quick with this kernel patch (for 6.4.2) to fix the issue. In general, one might need to

1. Dump ACPI table and patch SSDT
2. Install and load the SSDT patch with the corresponding boot-loader
3. Apply the aforementioned kernel patch

When all the problems have been solved, the log might look like this,

    # dmesg | grep cs35l41

    [    5.669095] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: Cirrus Logic CS35L41 (35a40), Revision: B2
    [    5.669886] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: Reset line busy, assuming shared reset
    [    5.721313] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: Cirrus Logic CS35L41 (35a40), Revision: B2
    [    5.741694] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: DSP1: Firmware version: 3
    [    5.741697] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: DSP1: cirrus/cs35l41-dsp1-spk-prot-10431433.wmfw: Fri 27 Aug 2021 14:58:19 W. Europe Daylight Time
    [    6.208691] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: DSP1: Firmware: 400a4 vendor: 0x2 v0.43.1, 2 algorithms
    [    6.209774] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: DSP1: 0: ID cd v29.63.1 XM@94 YM@e
    [    6.209777] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: DSP1: 1: ID f20b v0.1.0 XM@176 YM@0
    [    6.209779] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: DSP1: spk-prot: C:\[masked]\10431433_221125_V01_A0.bin

If there is a lack of some line, e.g. the firmware is not successfully loaded, one should check if the kernel patch is patched successfully.

Tip: One can find the patched and verified SSDT at ssdt_csc3551.dsl and follow the instruction to install.

## Recommendations

### ASUS Linux

ASUS Linux is a project that enhances ASUS laptops' user experience with a series of utils, including:

asusctl
  enables platform profile control, GPU mode switch, and BIOS control, etc.
supergfxctl
  enhances GPU mode switch

Note: More information can be find on ASUS Linux. It is recommended to read this page for novice.

### amd-pstate CPU performance scaling driver

Since amd-pstate driver is not enabled by default, instead, the legacy `acpi_cpufreq` driver is used. It is recommended to enable the new `amd-pstate-epp` driver since Linux 6.3 by adding kernel parameters `amd_pstate=active`. For more information to make maximum use of your CPU, refer to CPU frequency scaling.

## Known issues

- mini-led is not enabled if `amdgpu` is used even after this kernel patch, while booting with `AsusMuxDgpu` in `supergfxctl` works well.
- Booting with discrete GPU results in a black second display.
- The refresh rate under KDE with the Xorg backend is significantly low. Wayland is recommended for two screens, with DPI scales of 1.0 and 1.5, correspondingly.
- S0ix mode (see Power management/Suspend and hibernate) is not working.
- After upgrading to BIOS version 306 (released in 2023/07/19), the screen turns white in KDE and flash under Wayland. The solution is to add `amdgpu.sg_display=0` to kernel parameters.

## See also

- ASUS Linux home page: https://asus-linux.org/
- ASUS Linux blog on how to fix the cirrus amp issue: https://asus-linux.org/guides/cirrus-amps/
- GX650PI Hardware Probe: https://linux-hardware.org/?probe=ee5ef8132f

Category:

- ASUS

Hidden category:

- Pages or sections flagged with Template:Laptop style