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