Lenovo ThinkPad X395
The Lenovo ThinkPad X395 is a 13,3 inch ultraportable based on the AMD Ryzen Pro family of processors. As of kernel Linux 5.6.11-arch1-1, all hardware components available for testing work out-of-the-box.
# dmidecode -t system
Manufacturer: LENOVO Product Name: 20NLCTO1WW Version: ThinkPad X395 ... SKU Number: LENOVO_MT_20NL_BU_Think_FM_ThinkPad X395 Family: ThinkPad X395
| Component | Functioning |
|---|---|
| Microcode | Yes |
| AMDGPU | Yes |
| Webcam | Yes |
| Keyboard backlight | Yes |
| Touchpad | Yes |
| TrackPoint | Yes |
| Wireless | Yes |
| Ethernet | Yes |
| Bluetooth | Yes |
| Audio | Yes |
| Fingerprint Reader | Not tested |
| MicroSD Card Reader | Not tested |
Contents
BIOS
BIOS firmware updates are provided directly by Lenovo, available in the form of an OS-agnostic BIOS Update Bootable ISO image; to update you BIOS firmware, follow the instructions in the README file therein. In particular, notice that you do not need to follow any of the instructions at Flashing BIOS from Linux.
CPU and GPU
The Lenovo ThinkPad X395 contains an AMD Ryzen CPU and a dedicated AMD Radeon Vega Mobile GPU. You can retrieve the precise models as follows:
$ lscpu | awk -F ": *" '/Model name/{print $NF}'
AMD Ryzen 5 PRO 3500U w/ Radeon Vega Mobile Gfx
$ lspci | awk -F ": *" '/VGA compatible controller/{print $NF}'
Advanced Micro Devices, Inc. [AMD/ATI] Picasso (rev d2)
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.189483] microcode: CPU0: patch_level=0x08108102 [ 1.189491] microcode: CPU1: patch_level=0x08108102 [ 1.189511] microcode: CPU2: patch_level=0x08108102 [ 1.189518] microcode: CPU3: patch_level=0x08108102 [ 1.189521] microcode: CPU4: patch_level=0x08108102 [ 1.189528] microcode: CPU5: patch_level=0x08108102 [ 1.189538] microcode: CPU6: patch_level=0x08108102 [ 1.189545] microcode: CPU7: patch_level=0x08108102 [ 1.189581] 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: 43 bits physical, 48 bits virtual
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 23
Model: 24
Model name: AMD Ryzen 5 PRO 3500U w/ Radeon Vega Mobile Gfx
Stepping: 1
Frequency boost: enabled
CPU MHz: 1310.488
CPU max MHz: 2100.0000
CPU min MHz: 1400.0000
BogoMIPS: 4193.61
Virtualization: AMD-V
L1d cache: 128 KiB
L1i cache: 256 KiB
L2 cache: 2 MiB
L3 cache: 4 MiB
NUMA node0 CPU(s): 0-7
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, STIBP disabled, 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 syscall nx mmxext fxs
r_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fm
a cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignss
e 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate sme ssbd sev ib
pb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf xsa
veerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vms
ave_vmload vgif overflow_recov succor smca
GPU
Follow the instructions at AMDGPU#Installation and Hardware video acceleration#ATI/AMD. If you installed the package libva-utils, you can verify that hardware video acceleration is enabled as follows:
$ vainfo
vainfo: VA-API version: 1.7 (libva 2.7.1)
vainfo: Driver version: Mesa Gallium driver 20.0.6 for AMD RAVEN (DRM 3.36.0, 5.6.11-arch1-1, LLVM 10.0.0)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
Example raw output of glxinfo:
$ glxinfo -B
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: X.Org (0x1002)
Device: AMD RAVEN (DRM 3.36.0, 5.6.11-arch1-1, LLVM 10.0.0) (0x15d8)
Version: 20.0.6
Accelerated: yes
Video memory: 2048MB
Unified memory: no
Preferred profile: core (0x1)
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
VBO free memory - total: 1982 MB, largest block: 1982 MB
VBO free aux. memory - total: 2890 MB, largest block: 2890 MB
Texture free memory - total: 1982 MB, largest block: 1982 MB
Texture free aux. memory - total: 2890 MB, largest block: 2890 MB
Renderbuffer free memory - total: 1982 MB, largest block: 1982 MB
Renderbuffer free aux. memory - total: 2890 MB, largest block: 2890 MB
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 2048 MB
Total available memory: 5120 MB
Currently available dedicated video memory: 1982 MB
OpenGL vendor string: X.Org
OpenGL renderer string: AMD RAVEN (DRM 3.36.0, 5.6.11-arch1-1, LLVM 10.0.0)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.0.6
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.0.6
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.0.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
Input devices
Follow the instructions at libinput#Installation. The list of available input devices can be retrieved as follows:
# libinput list-devices | awk '/Device/{$1=""; print $0}'
Power Button Video Bus Power Button Lid Switch Sleep Button HD-Audio Generic HDMI/DP,pcm=3 HD-Audio Generic HDMI/DP,pcm=7 HD-Audio Generic HDMI/DP,pcm=8 Integrated Camera: Integrated C HD-Audio Generic Mic HD-Audio Generic Headphone AT Translated Set 2 keyboard ETPS/2 Elantech Touchpad ETPS/2 Elantech TrackPoint ThinkPad Extra Buttons
Power button
Works out-of-the-box.
Lid switch and resume from suspension
Works out-of-the-box.
Integrated webcam
The Webcam works out-of-the-box.
$ lsusb
... Bus 004 Device 004: ID 04f2:b6d9 Chicony Electronics Co., Ltd ...
Keyboard
Keyboard backlight works out-of-the-box and so do the media keys (with the exception of the XF86Keyboard key which does not seem to send any event at all).
ETPS/2 Elantech Touchpad
The touchpad works out-of-the-box and can be configured with xorg-xinput, see libinput for details. For example, the following commands enable tapping, natural scrolling, and middle button emulation (three-finger tap), respectively:
$ xinput set-prop 'ETPS/2 Elantech Touchpad' 'libinput Tapping Enabled' 1 $ xinput set-prop 'ETPS/2 Elantech Touchpad' 'libinput Natural Scrolling Enabled' 1 $ xinput set-prop 'ETPS/2 Elantech Touchpad' 'libinput Middle Emulation Enabled' 1
ETPS/2 Elantech TrackPoint
The signature ThinkPad TrackPoint; works out-of-the-box, see TrackPoint for details.
ThinkPad Extra Buttons
These are the three physical buttons above the touchpad, designed to be used in conjunction with the TrackPoint; they work 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}'
Intel Corporation Wireless-AC 9260
Ethernet controller
Works out-of-the-box.
$ lspci | awk -F ": *" '/Ethernet controller/{print $NF}'
Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
Bluetooth controller
Works out-of-the-box, see Bluetooth for details.
$ lsusb
... Bus 004 Device 002: ID 8087:0025 Intel Corp. ...
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] Raven/Raven2/Fenghuang HDMI/DP Audio Controller Advanced Micro Devices, Inc. [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller
Storage
$ lspci | awk -F ": *" '/Non-Volatile memory controller/{$1=$2="";print $0}'
Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
Battery and power management
No battery issues have been experienced, see Power management and TLP for further information.
$ upower -i /org/freedesktop/UPower/devices/battery_BAT0
native-path: BAT0
vendor: SMP
model: 5B10W139
serial: 1404
power supply: yes
updated: Sat 09 May 2020 16:13:59 CEST (37 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: charging
warning-level: none
energy: 49 Wh
energy-empty: 0 Wh
energy-full: 49 Wh
energy-full-design: 48.01 Wh
energy-rate: 2.512 W
voltage: 13.02 V
percentage: 100%
capacity: 100%
technology: lithium-polymer
icon-name: 'battery-full-charging-symbolic'
History (charge):
1589033638 100.000 charging
History (rate):
1589033638 2.512 charging
1589033581 2.630 charging
Raw list(s) of hardware components
See Ubuntu on Lenovo ThinkPad X395 for a complementary list of hardware components.
$ lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Root Complex 00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 IOMMU 00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge 00:01.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 PCIe GPP Bridge [6:0] 00:01.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 PCIe GPP Bridge [6:0] 00:01.4 PCI bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 PCIe GPP Bridge [6:0] 00:01.7 PCI bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 PCIe GPP Bridge [6:0] 00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge 00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Internal PCIe GPP Bridge 0 to Bus A 00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 61) 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] Raven/Raven2 Device 24: Function 0 00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 1 00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 2 00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 3 00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 4 00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 5 00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 6 00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 7 01:00.0 Network controller: Intel Corporation Wireless-AC 9260 (rev 29) 02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0e) 03:00.1 Serial controller: Realtek Semiconductor Co., Ltd. Device 816a (rev 0e) 03:00.2 Serial controller: Realtek Semiconductor Co., Ltd. Device 816b (rev 0e) 03:00.3 IPMI Interface: Realtek Semiconductor Co., Ltd. Device 816c (rev 0e) 03:00.4 USB controller: Realtek Semiconductor Co., Ltd. Device 816d (rev 0e) 04:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader (rev 01) 05:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Picasso (rev d2) 05:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Raven/Raven2/Fenghuang HDMI/DP Audio Controller 05:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor 05:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Raven USB 3.1 05:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Raven USB 3.1 05:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor 05:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller
$ lsusb
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 004 Device 004: ID 04f2:b6d9 Chicony Electronics Co., Ltd Bus 004 Device 003: ID 05e3:0610 Genesys Logic, Inc. 4-port hub Bus 004 Device 002: ID 8087:0025 Intel Corp. Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub