Lenovo ThinkPad X395 - ArchWiki

# Lenovo ThinkPad X395

From ArchWiki
Jump to navigation Jump to search

Related articles

- Ryzen
- Laptop
- Laptop/Lenovo
- Lenovo ThinkPad T495s
- TrackPoint
- Power management

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

## BIOS

Warning: A failed BIOS firmware update can render your motherboard inoperable; proceed at your own risk

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

Category:

- Lenovo