Lenovo XiaoXin 15are 2020

From ArchWiki
Jump to navigation Jump to search

The XiaoXin-15ARE 2020 小新-15 2020(AMD 平台:ARE 版) is Lenovo's addition to the AMD Renoir based laptops. It is primarily sold in China, the most similar internationally sold model is the IdeaPad 5 15ARE.

Component Functioning
Microcode Yes
AMDGPU Partial
Wireless Partial
Bluetooth Yes
Webcam Yes
Screen Brightness Partial
Keyboard backlight Yes
Touchpad Partial
Audio Yes
Suspend Yes
Fingerprint reader No


UEFI

Before installing, disable Secure Boot in the BIOS. You can access the BIOS by pressing F2 at the Splash screen. The boot menu can also be accessed by pressing F12.

BIOS updates can be found here: 小新-15 2020(AMD平台:ARE版) 驱动列表 under the BIOS section. Only a Windows installer is provided and the current version (2020/6/24 as of the time of writing) cannot be extracted with innoextract.

Processor

The Lenovo XiaoXin 15 ARE 2020 contains an AMD Ryzen APU. You can retrieve the precise models as follows:

$ lscpu | awk -F ": *" '/Model name/{print $NF}'
AMD Ryzen 7 4800U with Radeon Graphics
$ lspci | awk -F ": *" '/VGA compatible controller/{print $NF}'
Advanced Micro Devices, Inc. [AMD/ATI] Renoir (rev c1)

CPU

It is strongly recommended to enable proprietary microcode updates, see Ryzen and Microcode for details. Successful enabling of microcode updates can be verified as follows:

$ dmesg | grep microcode
[    1.512299] microcode: CPU0: patch_level=0x08600102
[    1.512320] microcode: CPU1: patch_level=0x08600102
[    1.512345] microcode: CPU2: patch_level=0x08600102
[    1.512361] microcode: CPU3: patch_level=0x08600102
[    1.512388] microcode: CPU4: patch_level=0x08600102
[    1.512404] microcode: CPU5: patch_level=0x08600102
[    1.512435] microcode: CPU6: patch_level=0x08600102
[    1.512453] microcode: CPU7: patch_level=0x08600102
[    1.512477] microcode: CPU8: patch_level=0x08600102
[    1.512498] microcode: CPU9: patch_level=0x08600102
[    1.512521] microcode: CPU10: patch_level=0x08600102
[    1.512535] microcode: CPU11: patch_level=0x08600102
[    1.512558] microcode: CPU12: patch_level=0x08600102
[    1.512572] microcode: CPU13: patch_level=0x08600102
[    1.512575] microcode: CPU14: patch_level=0x08600102
[    1.512593] microcode: CPU15: patch_level=0x08600102
[    1.512689] microcode: Microcode Update Driver: v2.2.

Example raw output of lscpu:

$ lscpu
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   44 bits physical, 48 bits virtual
CPU(s):                          16
On-line CPU(s) list:             0-15
Thread(s) per core:              2
Core(s) per socket:              8
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       AuthenticAMD
CPU family:                      23
Model:                           96
Model name:                      AMD Ryzen 7 4800U with Radeon Graphics
Stepping:                        1
Frequency boost:                 enabled
CPU MHz:                         1922.650
CPU max MHz:                     1800.0000
CPU min MHz:                     1400.0000
BogoMIPS:                        3594.08
Virtualization:                  AMD-V
L1d cache:                       256 KiB
L1i cache:                       256 KiB
L2 cache:                        4 MiB
L3 cache:                        8 MiB
NUMA node0 CPU(s):               0-15
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Full AMD retpoline, IBPB conditional, IBRS_FW, STIBP conditional, RSB filling
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht sy
                                 scall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid ape
                                 rfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_
                                 lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoex
                                 t perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate sme ssbd mba sev ibrs ib
                                 pb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt
                                  xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru
                                  wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter p
                                 fthreshold avic v_vmsave_vmload vgif umip rdpid overflow_recov succor smca

GPU

X works natively with a current linux and xf86-video-amdgpu.

Screen Brightness

Currently, the AMDGPU kernel driver needs to be patched for brightness control to work correctly. linux-renoir-backlightAUR[broken link: package not found] and linux-renoir-backlight-headersAUR[broken link: package not found] provides a patched 5.7 mainline kernel and headers for this.

It should work fine for kernel 5.8 and newer.

Sound

Sound works with PulseAudio in linux out of the box.

Network and connectivity

Wireless controller

The wireless controller works out-of-the-box, see Network configuration/Wireless for details.

$ lspci | awk -F ": *" '/Network controller/{print $NF}'
Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter

Bluetooth controller

Works out-of-the-box, see Bluetooth for details.

$ lsusb
...
Bus 001 Device 003: ID 0bda:c123 Realtek Semiconductor Corp. Bluetooth Radio 
...

Audio

Works out-of-the-box, see Sound system for details.

$ lspci | grep Audio | awk -F ": *" '{$1=$2="";print $0}'
Advanced Micro Devices, Inc. [AMD/ATI] Device 1637
Advanced Micro Devices, Inc. [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor (rev 01)
Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller

Touchpad

The touchpad won't work out of the box most of the time. You need to unbind it from elants_i2c before binding it to i2c_hid.

Tip: Run the below commands by switching to root user (sudo su), as normal user will not have permission even with sudo
$ modprobe i2c_hid
# echo "i2c-ELAN0001:00" > /sys/bus/i2c/drivers/elants_i2c/unbind
# echo "i2c-ELAN0001:00" > /sys/bus/i2c/drivers/i2c_hid/bind

The module elants_i2c now needs to be blacklisted, so you don't have to unbind and bind each time

# echo "blacklist elants_i2c" | tee /etc/modprobe.d/touchpad.conf

Raw list(s) of hardware components

$ lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Root Complex
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Renoir IOMMU
00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
00:02.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge
00:02.4 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge
00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus
00:08.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 51)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 0
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 1
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 2
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 3
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 4
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 5
00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 6
00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 7
01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter
02:00.0 Non-Volatile memory controller: Micron/Crucial Technology P1 NVMe PCIe SSD (rev 03)
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Renoir (rev c1)
03:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device 1637
03:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor
03:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1
03:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1
03:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor (rev 01)
03:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller
04:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 81)
04:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 81)
$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 27c6:55a2 Shenzhen Goodix Technology Co.,Ltd. Goodix FingerPrint Device
Bus 003 Device 002: ID 0bda:c123 Realtek Semiconductor Corp. Bluetooth Radio
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 13d3:56ff IMC Networks Integrated Camera
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub