How did you boot up? I’m also from mainland China, using an SFA14-11, X elite X1E78100, and 32GB of RAM. I passed the Thinkpad T14s device tree to the grub cmd in Ubuntu 25.10, but it won’t boot. During boot, I get the error:
“mount: mounting efivarfs on /sys/firmware/efi/efivars failed: operation not supported.”
Here’s my grub.cfg code:
set timeout=3
loadfont unicode
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
set cmdline=
smbios --type 4 --get-string 5 --set proc_version
regexp "Snapdragon.*" "$proc_version"
if [ $? = 0 ]; then
# Work around a Snapdragon X firmware bug. cutmem is not allowed in lockdown mode.
if [ $lockdown != "y" ]; then
cutmem 0x8800000000 0x8ffffffffff
fi
# arm64.nopauth works around 8cx Gen 3 firmware bug
cmdline="clk_ignore_unused pd_ignore_unused"
fi
menuentry "Try or Install Ubuntu" {
set gfxpayload=keep
linux /casper/vmlinuz $cmdline --- quiet splash console=tty0 noefi acpi=off
devicetree /boot/x1e78100-lenovo-thinkpad-t14s.dtb
initrd/casper/initrd
}
# menuentry 'Boot from next volume' {
# exit 1
# }
# menuentry 'UEFI Firmware Settings' {
# fwsetup
# }
Same laptop but my fans spin up only when the CPU temps hit 95 degrees. Your best bet for now is write scripts that limit the maximum frequency when running heavy workloads and the temperature gets too hot. The various temperature sensors are in /sys/class/hwmon and you can set the maximum and minimum frequencies per core cluster by writing to /sys/devices/system/cpu/cpufreq/policy"$i"/scaling_max_freq and /sys/devices/system/cpu/cpufreq/policy"$i"/scaling_min_freq where “$i” is 0,4 or 8.
Here’s a script I wrote to do it:
#!/bin/sh
min=“$1”; max=“$2”;
awk -v min=“$min” -v max=“$max” ’
function set_freq(mini,maxi){
for(i=0;i<12;i+=4){
print “echo " mini " > /sys/devices/system/cpu/cpufreq/policy” i “/scaling_min_freq” | “/bin/sh”; close(“/bin/sh”)
print “echo " maxi " > /sys/devices/system/cpu/cpufreq/policy” i “/scaling_max_freq” | “/bin/sh”; close(“/bin/sh”)
}
}
function error_msg(msg){
print msg; exit 0;
}
BEGIN{
min_gt_max=“Minimum frequency greater than maximum frequency!”
if(min ~ /^[0-9]* $/ && max ~ /^[0-9]$/){
min < max ? set_freq(min,max) : error_msg(min_gt_max)
}else if(min ~ /^[0-9] *MHz $/ && max ~ /^[0-9] *MHz *$/){
min=gensub(" *MHz *“,”“,“g”,min)*10^3
max=gensub(” *MHz *“,”",“g”,max)*10^3;
min < max ? set_freq(min,max) : error_msg(min_gt_max)
}else{
error_msg(“Invalid combination of arg formats or minimum and/or maximum frequency args!”)
}
}
’
I don’t know if anyone else had the same issue, but for me the scmi-cpufreq module wasn’t loading, leading to a high CPU frequency (even in sleep) and high battery usage. Doing a modprobe scmi-cpufreq did it for me.
@alexvinarskis@tobhe i know work has been completed to upstream driver support for Snapdragon and specifically UX3407QA hardware into the main Linux kernal and via your boot image, but it’s a little hard to ascertain the current status. Especially with regard to firmware availability without needing to dual boot, audio support, etc.
I wondered if you could give a quick summary of the experience on this device as of now?
It looks like HDMI support as well as some other bits and pieces are still WIP according to Alex’s GitHub. I’m personally about to pull the trigger on this laptop so long as there is some level of support and stability in the Ubuntu kernal.
I’m in the same boat. I purchased my SP11 last year with the goal of moving to Linux within a year. That was unfortunately overly optimistic. And sorry, I haven’t looked into any Linux VM options.
I just came here to say this, I made it force load on boot and the system has been surprisingly happier with temps staying more in check. @rstallmanstoefluff thank you for the script, I’ll implement it in the future if needed but for now it was the tip it seemed I at least needed to find a root cause of a seemingly bigger issue(the driver not loading).
I’ve successfully installed Ubuntu 25.10 on my Asus Vivobook S15 and doing fine so far. I had to install the x1e-settings package, so that things like the battery indicator worked as intended. But internal audio still isnt woking and I cant even find the speaker in the device-tree.