AMD Thinkpad L14 Gen 3 Ryzen 7 PRO 5875U with Qubes 4.2.0

Installing Qubes 4.2.0

Installation with Ventoy multi-boot USB failed. Switching to the conventional method succeeded without problems. Previous attempts with 4.1.1 succeeded with issues and failed.

Please let me know ASAP if there’s anything you want me to test before I start using this laptop seriously.

As mentioned previously, the L14 would be a valuable addition to the community-recommended list.

Thank you to @Scumbag for leading the way with the L14 and to all the developers who helped with Qubes 4.2.0!

Tests

Edit: See more thorough tests below.

  1. WiFi - works
  2. Sleep - works, but the WiFi kernel module needs to be reloaded
  3. Trackpoint and touchpad - work
  4. Built-in audio - works
  5. Audio jack - works
  6. USB audio device - unknown; does not work, but I’m not sure I’m testing it correctly
  7. Microphone - works
  8. Webcam - works
  9. Fans - almost silent most of the time
  10. TPM - untested: I disabled this in the BIOS; I may try re-enabling tomorrow to see what happens
  11. sys-usb - works
  12. Keyboard special function keys work
  13. Keyboard backlight - n/a, my model has no backlight (indicated by no backlight symbol on the spacebar)

I’ll update software, restart, and test more features tomorrow.

Auto-generated HCL report
---
layout:
  'hcl'
type:
  'Notebook'
hvm:
  'yes'
iommu:
  'yes'
slat:
  'yes'
tpm:
  'unknown'
remap:
  'yes'
brand: |
  LENOVO
model: |
  21C6S08E00
bios: |
  R1YET49W (1.26 )
cpu: |
  AMD Ryzen 7 PRO 5875U with Radeon Graphics
cpu-short: |
  FIXME
chipset: |
  Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne Root Complex [1022:1630]
chipset-short: |
  FIXME
gpu: |
  Advanced Micro Devices, Inc. [AMD/ATI] Barcelo [1002:15e7] (rev d1) (prog-if 00 [VGA controller])
gpu-short: |
  FIXME
network: |
  Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0e)
  MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter [14c3:0616]
memory: |
  64302
scsi: |

usb: |
  2
certified:
  'no'
versions:
  - works:
      'yes'
    qubes: |
      R4.2.0
    xen: |
      4.17.2
    kernel: |
      6.1.62-1
    remark: |
      Tested, working out-of-the-box: WiFi, trackpoint, touchpad, built-in audio, audio jack, microphone, webcam, sys-usb, keyboard special function keys. Suspend works at least 1 time, but you need to restart sys-net for WiFi.
    credit: |
      Zaz Brown
    link: |
      https://forum.qubes-os.org/t/amd-thinkpad-l14-gen-3-ryzen-7-pro-5875u-with-qubes-4-2-0/23574
4 Likes

Testing suspend

1st suspend (using Xfce4 suspend button), and it worked very quickly. Some music I was playing restarted immediately upon power-up.

Unfortunately networking was then down. This is a problem I have had previously on Qubes. Usually I can resolve it by restarting NetworkManager and nm-applet on sys-net (I even have an alias for this); but in this case that didn’t work and I had to restart sys-net. After that, WiFi worked again.

2nd suspend (using lid switch): Worked flawlessly. WiFi reconnected within a couple of seconds.

3rd suspend (lid switch): WiFi did not connect (no interfaces show in nm-applet). I did nothing to fix it this time and suspended a 4th time:

4th suspend (lid switch): As always, very snappy resume. This time, sys-net was no longer running. No idea why. After restarting sys-net, WiFi worked.

5th suspend (lid switch, 10 hours): Battery down from 100% to 47%. Snappy resume, but same issue as 1st and 3rd time. Had to reboot sys-net to get it working again.

2 Likes

Thank you for HCL and additional information. Can you please also fill a detailed report based on this template:

Example of user providing the answers is here. The more information the better, it may be helpful to other users, thank you.

1 Like

Thank you! I will check that shortly.

Battery drained from 45% to 15% after 25min of Zoom call.

6th suspend (lid switch, many hours): Had to reboot sys-net to get it working again.

7th suspend (lid switch, ~20min): WiFi restarted with no issues. I did not verify the laptop was actually suspended.

It is able to scan for bluetooth devices successfully. I’ve updated the system and will reboot.

1 Like

I’ve since done many more suspends and reboots. I have had an issue two or three times where the WiFi stopped working and could not be restarted without rebooting the whole system; rebooting sys-net was not enough. On one occasion, I was no longer able to type in non-dom0 VMs; rebooting those VMs fixed it. It’s quite possible this was caused by me messing around with SALT configs, keyboard layouts, updates, etc.

Audio from phone to Qubes via bluetooth works, but is laggy and remains disconnected after suspend. HDMI works. More details to come today.

Installation

Basic Input

  • Keyboard - works
  • External USB mouse - works (notification pops up asking to connect to dom0)
  • External USB keyboard - works (connect to a VM via sys-usb tray icon)
  • Touch-pad - works
  • Touch-pad supports “tap as click” and scrolling with 2 fingers works - 2 finger scrolling works, tap as click untested
  • Display brightness change shortcuts - works
  • Sound volume shortcuts - works
  • Keyboard led and keyboard brightness change shortcuts - n/a; no backlight
  • Output of xinput --list from terminal of dom0 - bash: xinput: command not found
  • Check if keyboard and/or touchpad is PS/2 connected (how to check ) - keyboard works when sys-usb is powered off

Internet and bluetooth

  • Ethernet cable connection - works out of the box or actions were required? - works
  • Ethernet cable connection - speed - 15MB/s download, 5MB/s upload; did not benchmark on local network
  • Wifi connection - works out of the box or actions were required? - works
  • Wifi connection - speed, is reliable over the time? - seems reliable over time; 14MB/s download, 5MB/s upload; did not benchmark on local network
  • Bluetooth - works out of the box or actions were required? - works
  • Bluetooth - shows devices, connection process works, sound output or copying works. - works; can play audio from phone via Qubes speakers, but the quality was poor (laggy)

Suspend

  • Suspend/Resume works - works out of the box or actions were required? - works
  • Does resume breaks WiFi, if it does, how to recover it? - additional steps required: reload the mt7921e kernel module (this can be done automatically)
  • Does resume breaks Bluetooth, if it does, how to recover it? - faulty; reboot whole system (I have not attempted reloading a module yet)

There’s probably a better way to fix both.

Video [increase VCPU to the qube before test]

  • Fullscreen and windowed video playback of youtube - 720p/1080p/2K/4K in Firefox. Does it drop frames? - faulty? this played fine immediately after install, but after updating, it will only play for a split second in fullscreen and windowed mode
  • Video file playback of file using mpv/mplayer/smplayer - 1080p? Higher resolutions and bitrates? - mpv works; after seeking or pausing it will often fail to resume immediately (see output below), switching to Debian and running sudo apt install pulseaudio-qubes worked wonderfully
  • Multiple displays configuration works (using available DP/Thunderbolt, HDMI or other video ports) - USB-C untested. 4K display over HDMI worked after increasing VRAM.

Audio

  • Speakers (sound playback) (was sys-audio used?) - works; sys-audio was not used
  • Head-phones via 3.5" jack - works, automatically turns off speakers
  • Head-phones via USB-C - works, automatically turns off speakers (note that you connect this directly to the desired VM)
  • Sound output via HDMI - worked originally but broke some time later
  • Audio-optical (S/PDIF) output - n/a

Fans

  • Fans are silent on idle - works
  • Are fans noisier than on Windows/Linux?. If they are, was thankfan or similar software tried? - untested

Other

  • Have you tried running Windows 10 HVM qubes? - untested
  • Does CPU boost seem to be working properly? - works; ran while :; do :; done which increased CPU frequency in xenpm start 1 | grep "Avg"

Specs:

  • ThinkPad L14 Gen 3 (AMD) spec sheet
  • Display native resolution: 1920x1080
  • Maximum possible RAM memory - 64GB
  • CPU score: 16282
  • 5 USB buses (lsusb output below):
    1. QEMU tablet
    2. Bluetooth, left USB-A, left USB-C (not the one for charging)
    3. unknown
    4. camera, right USB-A, left USB-C for charging and data
    5. unknown
  • Internal TPM - 2.0, untested because I’m awaiting AMD support for verified boot; I disabled TPM before installing

Outputs

lsusb run in sys-usb with nothing plugged in

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd QEMU Tablet
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 0489:e0d8 Foxconn / Hon Hai Bluetooth Adapter
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 004 Device 003: ID 13d3:54aa IMC Networks [unknown]
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

mpv

 (+) Video --vid=1 (*) (h264 608x1080 30.000fps)
 (+) Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
libEGL warning: DRI2: failed to authenticate
[vo/gpu/opengl] Suspected software renderer or indirect context.
MESA: error: ZINK: failed to choose pdev
glx: failed to create drisw screen
failed to load driver: zink
[vo/gpu/opengl] Suspected software renderer or indirect context.
[vo/gpu/drm] VT_GETMODE failed: Inappropriate ioctl for device
[vo/gpu/drm] Failed to set up VT switcher. Terminal switching will be unavailable.
[vo/gpu/drm] Listing DRM devices with drmGetDevices failed! (No such file or directory)
[vo/gpu/drm] Failed to find a usable DRM primary node!
[vo/gpu/libplacebo] Found no suitable device, giving up.
[vo/gpu/libplacebo] Failed initializing vulkan device
libEGL warning: DRI2: failed to authenticate
[vo/gpu-next/opengl] Suspected software renderer or indirect context.
MESA: error: ZINK: failed to choose pdev
glx: failed to create drisw screen
failed to load driver: zink
[vo/gpu-next/opengl] Suspected software renderer or indirect context.
[vo/gpu-next/drm] Can't handle VT release - signal already used
[vo/gpu-next/drm] Failed to set up VT switcher. Terminal switching will be unavailable.
[vo/gpu-next/drm] Listing DRM devices with drmGetDevices failed! (No such file or directory)
[vo/gpu-next/drm] Failed to find a usable DRM primary node!
[vo/gpu-next/libplacebo] Found no suitable device, giving up.
[vo/gpu-next/libplacebo] Failed initializing vulkan device
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[vo/vdpau] Error when calling vdp_device_create_x11: 1
[vo/xv] No Xvideo support found.
MESA: error: ZINK: failed to choose pdev
glx: failed to create drisw screen
failed to load driver: zink
[vo/sdl] Using opengl
[vo/sdl] Warning: this legacy VO has bad performance. Consider fixing your graphics drivers, or not forcing the sdl VO.
No video PTS! Making something up. Using 30.000000 FPS.
AO: [pipewire] 48000Hz stereo 2ch floatp
VO: [sdl] 608x1080 yuv420p
Invalid video timestamp: 0.000000 -> 0.000000
AV: 00:00:14 / 00:00:14 (99%) A-V:  0.000

Exiting... (End of file)
2 Likes

That took a long time to put together, but I know my system better because of it. Better to iron out technical issues now instead of when you’re presenting to an audience.

It seems the only big issues are network devices going down on suspend and video playback. I’m planning on working on network devices next, but smooth video playback was an issue I was unable to fix on my last computer; I would appreciate advice on how to fix that.

2 Likes

Thank you for information!

About playback stopping in a second after start: it is almost always related to sound not being able to be passed to audio qube (dom0 by default). The vchan/sound buffer gets full and playback instantly stops.
Try the video file without audio track (e.g. remove it completely with ffmpeg).

1 Like

That’s awesome information!

I don’t have that problem with mpv. mpv works fairly smoothly unless I seek or pause, which triggers:

Audio/Video desynchronisation detected! Possible reasons include too slow
hardware, temporary CPU spikes, broken drivers, and broken files. Audio
position will not match to the video (see A-V status field).

Disabling audio using --aid=no removes this error message, but I still have the problem that the video will freeze for several seconds.

However, YouTube will never play for more than a split second unless I mute it, then it seems to work fine, including seek and pause.

Using i3 window manager and xrandr --output HDMI-1 --above eDP-1 --auto causes each kind of mouse click to fail in AppVMs, still works fine in dom0 and works fine after you remove the screen and run xrandr --auto.

Edited because after increasing VRAM, the mouse click issue with the second monitor went away.

On resume from suspend, sys-net would show a page allocation failure and CPU Tainted: G

dmesg prior to fix

[ 1067.807736] mt7921e 0000:00:07.0: ASIC revision: 79220010
[ 1067.892557] mt7921e 0000:00:07.0: HW/SW Version: 0x8a108a10, Build Time: 20231120183400a

[ 1067.919520] mt7921e 0000:00:07.0: WM Firmware Version: ____000000, Build Time: 20231120183441
[ 1067.978287] kworker/0:1: page allocation failure: order:5, mode:0x40cc0(GFP_KERNEL|__GFP_COMP), nodemask=(null),cpuset=/,mems_allowed=0
[ 1067.978318] CPU: 0 PID: 1910 Comm: kworker/0:1 Tainted: G        W          6.1.62-1.qubes.fc37.x86_64 #1
[ 1067.978328] Hardware name: Xen HVM domU, BIOS 4.17.2 01/03/2024
[ 1067.978336] Workqueue: events mt7921_init_work [mt7921_common]
[ 1067.978350] Call Trace:
[ 1067.978356]  <TASK>

Fix

sudo rmmod mt7921e
sudo modprobe mt7921e

Fixes the problem.

As suggested by Suspend/resume troubleshooting, I did

echo "mt7921e" >> /rw/config/suspend-module-blacklist

Then I suspended and resumed, but WiFi doesn’t work. dmesg has the same error as before, followed by:

mt7921e 0000:00:07.0: register device failed

I tried,

sudo rmmod mt7921e

but this resulted in sys-net crashing. I repeated this with the same effect.

I tried suspend again, and this time ran:

sudo modprobe mt7921e
sudo rmmod mt7921e
sudo modprobe mt7921e

And it worked. I repeated that and it worked again.

Ultimately, I ended up removing mt7921e in /rw/config/suspend-module-blacklist and instead implementing this behavior manually:

Automated fix

/rw/config/qubes-bind-dirs.d/50_user.conf

binds+= ( '/etc/pm/sleep.d' )

/rw/bind-dirs/etc/pm/sleep.d/restart-network.sh

#!/bin/sh

case "${1}" in
	suspend|hibernate)
		sudo rmmod mt7921e
		;;
	resume|thaw)
		sudo modprobe mt7921e
		;;
esac

This ran into a lot of issues, so I fell back to just manually running sudo rmmod mt7921e && sleep 0.5 && sudo modprobe mt7921e

2 Likes

WiFi reconnects automatically with some additional configuration. The only major item left is video+audio playback. Do you know how to fix audio playback?

What else do I need to do to get this on the community-recommended list?

  1. This list is kind of outdated and does not reflect the current situation. You can see it only consist of outdated laptops and certified ones.
  2. Its rules are to strict, even laptops that require NO additional steps like you have with wifi, failed to get into it.

If/when the new extended compare/recommended list is created, this laptop can definitely hope to get there.

1 Like

For some reason,

qvm-features dom0 gui-videoram-min $(( (1920 * 3840) * 2160 / 1024 ))

Did not persist between reboots, so I added it to ~/.profile

Edit: Did not work, so I changed it to:

qvm-features dom0 gui-videoram-min $(( (1920 * 3840) * 2160 * 4 / 1024 ))

If it is not an expected behavior, you should report it on github issues.

Great that works without problems on 4.2! I’m still on 4.1, I have to see when I have time to upgrade. Maybe a clean install is better for the HCL/recommended list, but obviously that takes more time, so I’m not sure when I’ll have the time for that.

Checking CPU frequency does not work properly on Qubes for some methods.
Try xenpm start 1|grep "Avg freq"while doing something CPU intensive.

3 Likes

CPU boost works! Thank you.

1 Like

Thank you for all the info. I noticed: 25 min. zoom call - minus 30% battery. How is the battery time on average use approximately? Qubes is rather battery consuming,

It seems really good compared to my T450s with an old battery. On the L14, the battery seems to last 3-5 hours of use.

1 Like

That’s pretty good. I have seen often in tests that those AMD Ryzen 7 CPUs have better battery performance in general than comparable Intel CPUs (like Ryzen 7 7840HS vs i7-13700H).