Table of Contents

Lenovo Thinkpad E495

Tony's Lenovo ThinkPad E495 Review

My laptop of choice since February 2020 has been a Lenovo Thinkpad E495. I'll write my general opinions on the components here as well as support under Linux

Specs

Hardware

My unit had the following specs at purchase:

Internals

I/O

My Upgrades

Review/Opinions

Display

Upgradability

Overall, surprisingly upgradable for a laptop in 2020, even has the extra 2.5“ drive slot and DIMM slot vs the T series. The only missing upgrade path is the battery. I wish Lenovo used a traditional 4/6 cell battery that could be easily replaced down the line, since LiPo cells do go bad eventually.

Keyboard

Keyboard layout

Trackpad & Trackpoint

Trackpoint Trackpad

Battery Life

Build

IO

Right side Left side

Linux Support

Not waking from suspend - OpenGL

This was the biggest initial issue I experienced.

Running KDE, when you would put the laptop to sleep, and woke it up, the screen wouldn't display anything. If you had an external monitor, it would display garbage then show a dark green colour. The backlight and all turn on fine, but it seemed like the GPU was crashing.

After going through kernel logs, I found that this was indeed the case. When the kernel would resume from suspend, the GPU driver would crash, resulting in the glitched screen.

Interestingly, if you put it to sleep again by closing the lid, then woke it again, it would work just fine. I have no idea why, but it would recover.

I also noticed that it was only happening when the compositor in KDE was enabled. (tip: toggle the compositor with ALT+SHIFT+F12).

Turns out it's an OpenGL issue. If you'd like to use compositing in KDE, open the compositor settings and switch to using XRender. It's CPU based, but still fast enough, and the wake from sleep issue should be resolved.

Ethernet not detected - kernel module

This is an issue where the ethernet port stops working after suspend. For some reason, it is also a kernel driver issue, but the fix is simple.

If your ethernet port is not being recognized, simply remove the Realtek kernel module and re-add it.

sudo rmmod r8169 && sudo modprobe r8169

This should fix the error.

Setting CPU profiles

To set the CPU power profile between performance and powersave, you can use the cpupower command provided in kernel tools.

sudo cpupower frequency-set -g performance

Where the -g is a power governor, the most common being 'performance', 'powersave' and 'ondemand'. Performance will turbo the CPU and run at max clock if it can. Powersave will try to drop the clock speed to save power, and ondemand is a mix, where the clock only ramps up if needed.

Random freezing and system hangs

I have found several issues with these AMD chips on Linux.

First, if you switch out the SSD to an SN 550, it randomly unmounts and you'll get I/O errors with no filesystem. I found a fix that I have documented here. I don't think this is specific to Lenovo, but it also never happened on my desktop to YMMV.

Next, there are tons of issues with the GPU. Yay. The last one I need to fix produces the following error logs:

amdgpu 0000:05:00.0: amdgpu: [gfxhub0] retry page fault (src_id:0 ring:0 vmid:3 pasid:xxxxx, for process Xorg pid xxxx thread Xorg:cs0 pid xxxx)
amdgpu 0000:05:00.0: amdgpu:   in page starting at address 0xxxxxxxxxxxxx from client 27
amdgpu 0000:05:00.0: amdgpu: VM_L2_PROTECTION_FAULT_STATUS:0x00301031
amdgpu 0000:05:00.0: amdgpu:          Faulty UTCL2 client ID: TCP (0x8)
amdgpu 0000:05:00.0: amdgpu:          MORE_FAULTS: 0x1
amdgpu 0000:05:00.0: amdgpu:          WALKER_ERROR: 0x0
amdgpu 0000:05:00.0: amdgpu:          PERMISSION_FAULTS: 0x3
amdgpu 0000:05:00.0: amdgpu:          MAPPING_ERROR: 0x0
amdgpu 0000:05:00.0: amdgpu:          RW: 0x0

If anyone has a fix for this one, please let me know! Leave a comment, or if I forgot to enable the talk pages, email tonytash (at) pm (dot) me.

This error results in graphics corruption on screen or just straight up freezes the whole system requiring a hard reboot. There are some potential fixes on Arch forums regarding firmware, but nothing concrete as of yet.

If you are on Arch, I seriously recommend the Zen or LTS kernel, they seem a lot better then the mainline kernel.

Another advice I can give is to disable compositing. In KDE, do not use OpenGL compositing, either disable it entirely, or, if you must have your eyecandy, use XRender, which is CPU based. Using i3 without compositing or KDE with XRender have proven to be more stable. Some GL apps like OBS still like to freak out and hang the system. Use Better, faster screen capture with kmsgrab instead for screen recording.

Squealing headphone output

When audio finishes playing, sometimes, an audible sine wave remains on the output. It sounds like the frequency of the last sample or something keeps playing. I don't have a fix for this yet, maybe there is an ALSA parameter.

Muting the system does mute the squealing sound as well, and sometimes, playing and pausing what was just playing again fixes the problem. Annoying with headphones though.

System not suspending

This is a recent one. As of April 2022, the Zen kernel with ArchLinux has a severe problem when you try to suspend/sleep the system. Normally, I suspend using

systemctl suspend

however, currently, this causes the system to wake up right after it suspends. On wake, the screen is black and the caps lock LED on the keyboard starts flashing.

The caps lock and scroll lock LED flashing is usually a sign of a kernel panic meaning that the Linux kernel has crashed.

I have not gotten useful logs or resolved this issue. A workaround is to use the LTS kernel, but that is susceptible to the GPU errors mentioned above…

Photos