Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Mechrevo 14X Linux

This repository provides several fixes and tweaks to run Linux on MECHREVO 14X with Ryzen 7 8845HS.

Table of Contents

  1. Fixes
  2. Additional TUXEDO Drivers and TUXEDO Control Center Installation
  3. Cool Projects
  4. Development

Fixes

1. Fix artifacts/glitching/flickering on eDP Display

The issue is that the amdgpu driver has a bug that causes Panel Self Refresh (PSR) to malfunction. This problem only occurs on embedded displays with a resolution of 2880x1800 and Phoenix/Hawk Point graphics.

Related issue: https://gitlab.freedesktop.org/drm/amd/-/issues/3388

Solution: Add amdgpu.dcdebugmask=0x10 to the kernel parameters.

GRUB2

Edit:

/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="... amdgpu.dcdebugmask=0x10"

Update:

update-grub2

systemd-boot

Edit:

/boot/loader/entries/config.conf

options ... amdgpu.dcdebugmask=0x10

Update:

bootctl update

2. Fix Immediate Wakeup on Sleep

The issue likely occurs because the Embedded Controller (EC) is not functioning properly due to an ACPI/BIOS bug.

Solution: Add acpi.ec_no_wakeup=1 to the kernel parameters.

GRUB2

Edit:

/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="... acpi.ec_no_wakeup=1"

Update:

update-grub2

systemd-boot

Edit:

/boot/loader/entries/config.conf

options ... acpi.ec_no_wakeup=1

Update:

bootctl update

3. Fix keyboard issues after suspend/resume

Add i8042_nomux to your kernel parameters.

GRUB2

Edit:

/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="... i8042.nomux"

Update:

update-grub2

systemd-boot

Edit:

/boot/loader/entries/config.conf

options ... i8042.nomux

Update:

bootctl update

4. Fix RJ-45 not working

Install yt6801 driver. You can download the .deb from the TUXEDO repo

Additional TUXEDO drivers and TUXEDO Control Center installation

Since the MECHREVO 14X is based on the Tong Fang GX4HRXL board, similar to the TUXEDO InfinityBook Pro 14 Gen9, we can use TUXEDO drivers to get TUXEDO Control Center working.

tuxedo-drivers

This should work for any .deb-based distro with any kernel (it will probably also work on Fedora/Arch, etc.; you just need to deal with dependencies).

  1. Install the dependencies (for .deb based distros):
apt update && apt install -y curl git make gcc dkms devscripts debhelper dh-dkms linux-headers-$(uname -r)
  1. Download tuxedo-drivers:
git clone https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers.git && cd tuxedo-drivers/
  1. Apply patch to add MECHREVO as a vendor:
curl -L https://github.com/sund3RRR/Mechrevo14X-linux/raw/master/patches/add_mechrevo_vendor.patch | git apply
  1. Install drivers:
make package-deb && dpkg -i ../tuxedo-drivers_*.deb
  1. Reboot your system

TUXEDO Control Center

Just install the latest .deb from the TUXEDO repo. For Fedora/Arch, you might need to convert the package format to match your system package manager or build it from source.

Now you can adjust CPU clock, fan speed, disable CPU cores/SMT (just disable half the cores), and toggle Fn mode.

Cool projects

Development

Get DSDT

cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
iasl -d dsdt.dat

Load DSDT

iasl -tc dsdt.dsl
cp dsdt.aml /boot/acpi_override

Get manufacturer

dmidecode -s system-manufacturer

Decode WMI events

fwts wmi - > wmi.txt

Reverse-engineering

https://gist.github.com/w568w/b2fc5f9d1f4dff13efe751abec27b396

About

Fixes and tweaks for running linux on MECHREVO 14X

Resources

Stars

25 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors