Status of Ubuntu support for Lenovo ThinkPad X13s

I just upgraded to your linux - 6.11.0-14.15~x13s1 kernel, @juergh. Thanks for all your work on this!

I am still having one issue. When I set up my x13s with the Ubuntu installer I encrypted my ssd. When I type in my password to decrypt the drive, about half the time I am dropped into some initramfs prompt instead of it going to the screen with my username on it for me to log into my system.

I really don’t know if this is helpful or not, but in the aarch64 laptop matrix someone said they were trying to address some encryption issue in Debian. Here is the link to the message they wrote. https://matrix.to/#/!wBGAxqBlmcgDIRjsJf:matrix.org/$BCMbYHJhOEazp5FHlrV0zJmaRVJYLOvlpdkaXU7PPEY?via=matrix.org&via=fedora.im&via=catgirl.cloud

Hi @juergh, I just upgraded my kernel to the one in proposed, linux-image-unsigned-6.11.0-14-generic, and this issue related to logging in after decrypting my ssd has seemingly gone away, at least after three successive attempts.

@libredood Huh? Which proposed? We don’t have -14 in oracular-proposed.

1 Like

@juergh my bad, it looks like I installed 6.11.0-13.14 from apt (i assume from proposed, but I could be wrong) and I installed your 6.11.0-14-generic by downloading and installing it manually from here: Ubuntu Concept - X13s : “Ubuntu Concept” team

linux-image-6.11.0-13-generic/oracular-updates,oracular-security,now 6.11.0-13.14 arm64 [installed,automatic]
linux-image-unsigned-6.11.0-14-generic/now 6.11.0-14.15~x13s1 arm64 [installed,local]

sorry about the confusion.

No worries. So I’m assuming you still have encryption issues with 6.11.0-14.15~x13s1 (per your comment Status of Ubuntu support for Lenovo ThinkPad X13s - #158 by libredood)?

Correct, I just verified that I am.

1 Like

Any perspectives of Bluetooth range getting fixed to work outside of the current small “1-room” radius? I’d just like to know if it’s worth waiting for a bit or if this is probably never going to happen.

and:

https://lists.ubuntu.com/archives/kernel-team/2024-November/155547.html

1 Like

Strange, in that bug report it says
“This bug was fixed in the package linux-firmware - 20240913.gita34e7a5f-0ubuntu2.2”
where I’m assuming by “bug” it means the poor range (bug report just says “performance” which is vague),
but I do have exactly that firmware installed and the bug is unchangedly still in existance:

$ apt-cache policy linux-firmware
linux-firmware:
Installed: 20240913.gita34e7a5f-0ubuntu2.2
Candidate: 20240913.gita34e7a5f-0ubuntu2.2
Version table:
*** 20240913.gita34e7a5f-0ubuntu2.2 500
500 http://ports.ubuntu.com/ubuntu-ports oracular-updates/main arm64 Packages
100 /var/lib/dpkg/status
20240913.gita34e7a5f-0ubuntu2 500
500 Index of /ubuntu-ports oracular/main arm64 Packages

As the bug description mentions, it also needs a kernel change which is on the ML but hasn’t landed yet.

1 Like

To get a temp kernel with the bluetooth patch:

$ sudo add-apt-repository ppa:ubuntu-concept/x13s
$ sudo apt install linux-image-unsigned-6.11.0-99-generic linux-modules-extra-6.11.0-99-generic

Reboot and verify that the new firmware is loaded:

$ sudo dmesg | grep 'QCA Download'
[ 13.306736] Bluetooth: hci0: QCA Downloading qca/hpbtfw21.tlv
[ 13.962393] Bluetooth: hci0: QCA Downloading qca/hpnv21.b8c
3 Likes

I get it twice. Is that bad?

$ sudo dmesg | grep ‘QCA Download’
[ 6.854190] Bluetooth: hci0: QCA Downloading qca/hpbtfw21.tlv
[ 7.500186] Bluetooth: hci0: QCA Downloading qca/hpnv21.b8c
[ 12.965696] Bluetooth: hci0: QCA Downloading qca/hpbtfw21.tlv
[ 13.618580] Bluetooth: hci0: QCA Downloading qca/hpnv21.b8c

Though Bluetooth seems to work fine :smiley:

Btw, using your ‘99’ kernel.

Hi all,

Firstly, thank you all so much for the work on the x13s. I’ve recently received a X13s and did some quick tests of Ubuntu 25.04 (Plucky Puffin).

After encountering some odd behavior, like the computer rebooting instead of powering off, I reinstalled Windows and installed all the updates from both the Windows update utility and the Lenovo Vantage program. It seems to have resolved the issues I encountered previously.

Now, I’d like to make a more permanent installation of Ubuntu. Is it better to use Ubuntu 25.04 or Ubuntu 24.10 Oracular?
Is there anything specific I should do aside from what is mentioned in the original post?
(EDIT: I’m asking specifically in the context of the x13s.)

Quick side note: @juergh, the links in the original post for Oracular now send you to Plucky Puffin. I can’t access the Mantic ISOs, the link seems to be broken.

Thanks a lot, everyone!

25.04 hasn’t been released yet and is in a constant state of flux and bugs, so unless you want to risk it eating your cat, destroying the ecosystem, etc. 24.10 is your best bet.

How that applies to the ThinkPad X13s, I don’t know.

That’s correct, Mantic (23.10) went EOL in July 2024, so you won’t be able to find it. The release following it (24.04) is an LTS, so you can easily find that.

Upgrading at a later date is no problem:

I installed 24.04 Ubuntu dual-booted with Windows 11, then installed Kubuntu Desktop and removed the Ubuntu packages.

Then I upgraded the Kubuntu 24.04 on the x13s to 24.10 as normal.

First without using ppa, but with the customised
/etc/initramfs-tools/initramfs.conf

Then with ppa, but without the unsigned kernels.

Everything works fine under Wayland!
The camera also works with Kamoso.

I made the following changes:
Change the line MODULES=most to MODULES=dep in
/etc/initramfs-tools/initramfs.conf
sudo update-initramfs -c -k 6.11.0-9-generic
Reboot to kernel 6.11.0-9-generic

sudo add-apt-repository ppa:ubuntu-concept/x13s
sudo apt update
sudo apt install ubuntu-x13s-settings
sudo reboot

sudo usermod -aG video $USER
sudo apt install pipewire-libcamera libcamera-tools libcamera-ipa
sudo usermod -aG kvm $USER

SORRY, camera WORKS! I forgot that my user’s groups weren’t auto-updated to reflect the video group addition, worked fine from a terminal after I forced the update via “su tjenare” ‘hack’…

$ wpctl status
PipeWire 'pipewire-0' [1.2.4, tjenare@ThinkPadX13s, cookie: xxxxxxxx]
Video
 ├─ Devices:
 │      48. ov5675                              [libcamera]
 │      57. Qualcomm Camera Subsystem           [v4l2]
 │      58. Qualcomm Camera Subsystem           [v4l2]
 │      59. Qualcomm Camera Subsystem           [v4l2]
 │      60. Qualcomm Camera Subsystem           [v4l2]
 │      61. Qualcomm Camera Subsystem           [v4l2]
 │      62. Qualcomm Camera Subsystem           [v4l2]
 │      63. Qualcomm Camera Subsystem           [v4l2]
 │      64. Qualcomm Camera Subsystem           [v4l2]
 │      65. Qualcomm Camera Subsystem           [v4l2]
 │      66. Qualcomm Camera Subsystem           [v4l2]
 │      67. Qualcomm Camera Subsystem           [v4l2]
 │      68. Qualcomm Camera Subsystem           [v4l2]
 │      69. Qualcomm Camera Subsystem           [v4l2]
 │      70. Qualcomm Camera Subsystem           [v4l2]
 │      71. Qualcomm Camera Subsystem           [v4l2]
 │      72. Qualcomm Camera Subsystem           [v4l2]
 │      73. Qualcomm Camera Subsystem           [v4l2]
 │      74. Qualcomm Camera Subsystem           [v4l2]
 │      75. Qualcomm Camera Subsystem           [v4l2]
 │      76. Qualcomm Camera Subsystem           [v4l2]
 │      77. Qualcomm Camera Subsystem           [v4l2]
 │      78. Qualcomm Camera Subsystem           [v4l2]
 │      79. Qualcomm Camera Subsystem           [v4l2]
 │      80. Qualcomm Camera Subsystem           [v4l2]
 │      81. Qualcomm Camera Subsystem           [v4l2]
 │      82. Qualcomm Camera Subsystem           [v4l2]
 │      83. Qualcomm Camera Subsystem           [v4l2]
 │      84. Qualcomm Camera Subsystem           [v4l2]
 │      85. Qualcomm Camera Subsystem           [v4l2]
 │      86. Qualcomm Camera Subsystem           [v4l2]
 │      87. Qualcomm Camera Subsystem           [v4l2]
 │      88. Qualcomm Camera Subsystem           [v4l2]
 │  
 ├─ Sinks:
 │  
 ├─ Sources:
 │  *  146. Built-in Front Camera              
 │  
 ├─ Filters:
 │  
 └─ Streams:
$ v4l2-ctl --list-devices
Qualcomm Camera Subsystem (platform:ac5a000.camss):
	/dev/video0
	/dev/video1
	/dev/video2
	/dev/video3
	/dev/video4
	/dev/video5
	/dev/video6
	/dev/video7
	/dev/video8
	/dev/video9
	/dev/video10
	/dev/video11
	/dev/video12
	/dev/video13
	/dev/video14
	/dev/video15
	/dev/video16
	/dev/video17
	/dev/video18
	/dev/video19
	/dev/video20
	/dev/video21
	/dev/video22
	/dev/video23
	/dev/video24
	/dev/video25
	/dev/video26
	/dev/video27
	/dev/video28
	/dev/video29
	/dev/video30
	/dev/video31
	/dev/media0

dualHD (usb-xhci-hcd.4.auto-1.1):
	/dev/media1
$ cam -l
[50:41:21.641217742] [1770180]  INFO Camera camera_manager.cpp:313 libcamera v0.3.1
[50:41:21.672310323] [1770183]  WARN CameraSensor camera_sensor.cpp:501 'ov5675 24-0010': Rotation control not available, default to 0 degrees
[50:41:21.672496561] [1770183] ERROR DmaBufAllocator dma_buf_allocator.cpp:116 Could not open any dma-buf provider
[50:41:21.672527132] [1770183] ERROR SoftwareIsp software_isp.cpp:91 Failed to create DmaBufAllocator object
[50:41:21.672533382] [1770183]  WARN SimplePipeline simple.cpp:532 Failed to create software ISP, disabling software debayering
Available cameras:
1: Internal front camera (/base/soc@0/cci@ac4c000/i2c-bus@1/camera@10)
$ cheese
[50:37:00.053905094] [1767491]  INFO Camera camera_manager.cpp:313 libcamera v0.3.1
[50:37:00.085403540] [1767528]  WARN CameraSensor camera_sensor.cpp:501 'ov5675 24-0010': Rotation control not available, default to 0 degrees
[50:37:00.085624203] [1767528] ERROR DmaBufAllocator dma_buf_allocator.cpp:116 Could not open any dma-buf provider
[50:37:00.085640921] [1767528] ERROR SoftwareIsp software_isp.cpp:91 Failed to create DmaBufAllocator object
[50:37:00.085646493] [1767528]  WARN SimplePipeline simple.cpp:532 Failed to create software ISP, disabling software debayering
** Message: 16:15:04.807: cheese-application.vala:222: Error during camera setup: No device found
$ qcam
[50:38:32.802202803] [1768495]  INFO Camera camera_manager.cpp:313 libcamera v0.3.1
[50:38:32.824961600] [1768505]  WARN CameraSensor camera_sensor.cpp:501 'ov5675 24-0010': Rotation control not available, default to 0 degrees
[50:38:32.825111225] [1768505] ERROR DmaBufAllocator dma_buf_allocator.cpp:116 Could not open any dma-buf provider
[50:38:32.825130339] [1768505] ERROR SoftwareIsp software_isp.cpp:91 Failed to create DmaBufAllocator object
[50:38:32.825135911] [1768505]  WARN SimplePipeline simple.cpp:532 Failed to create software ISP, disabling software debayering
[50:38:38.406204982] [1768495]  INFO Camera camera.cpp:1183 configuring streams: (0) 1296x972-SGRBG10_CSI2P
Failed to set viewfinder format

Ok this is really strange, after closing qcam (where the camera worked fine), I can now no longer use the cam again, in either cheese or qcam. Haven’t tried a reboot yet as this laptop is currently not supposed to reboot, some important stuff is in progress.

I don’t get it. You got the webcam working properly? I got video in qcam, but nothing else.

Yes I got the webcam’s live video in qcam, which I consider “working properly”.
But when I tried to start it a second time it suddenly didn’t work anymore, for no apparent reason. I did not reboot or do anything meanwhile, just quit qcam, restart qcam, suddenly no more picture.

@tjenare got the webcam to work in qcam as well, but I did not have your same issue, it is working every time right now (I will keep finger crossed)

I think it would be great to get it to work with a browser to at least use google meets or zoom in browser