Hi Antonio,
here’s my cheatsheet for getting an Asus Vivobook S15 X1P42100 running with Ubuntu. Hopefully not too far out of date.
Asus Vivobook S 15 15.6" 3K OLED Laptop (Copilot+ PC) [512GB] -
Model# S5507QA-MA012W, P/N# 90NB14Q2-M005K0,
Processor - Qualcomm Snapdragon X Plus X1P42100 8 Core Processor
Graphics processor: Qualcomm Adreno GPU X1-45 280MHz, 1.7 TFLOPS
Neural Processor - Qualcomm Hexagon NPU up to 45 TOPS
Before you start, boot into Windows and run Windows Update to ensure you have the latest firmware. (Later we are going to copy it off the Windows partition to Ubuntu).
N.B. when shutting down, wait for keyboard lights to go from blue to white and then off.
To boot to UEFI Firmware Settings (aka BIOS) - 4 alternatives:
- hold F2 and press power on.
- hold ESC and press power on > Please select boot device: Enter Setup
- if in Windows 11: right click on Start, hold down the Shift key and click on Restart. This will take you to the Advanced Boot Menu. From there, navigate with tabs to Troubleshoot > Advanced options > UEFI Firmware Settings and click Restart.
- if in Windows 11, from an elevated CMD: shutdown -s -t 0 /fw
In BIOS:
Disable Wndows Bitlocker
Disable Secure Boot and quickboot
We first install Ubuntu 24.10 Concept using Jens Glathe’s 28 Feb 2025 image
Ubuntu_Desktop_24.10_VivobookS15_x1p42_6.14rc.img.xz at
https://drive.google.com/drive/folders/1sc_CpqOMTJNljfvRyLG-xdwB0yduje_O
Burn onto a USB-A drive - this is going to be your system disk, so a minimum 32GB size.
I have found the Vivobook S15 boots a USB 3.0 (5Gbps) drive but doesn’t see a USB 3.2 Gen 2 (10Gbps) drive as bootable
I used another Ubuntu system to burn this image onto your USB drive at /dev/sdX (where X is a, b, c etc. Use lsblk to check, but be careful, don’t get this wrong and overwrite your old disk!)
unxz <Ubuntu_Desktop_24.10_VivobookS15_x1p42_6.14rc.img.xz | sudo dd of=/dev/sdX bs=4M status=progress && sync
Note after you’ve burned the image on the USB drive, you have to mount it and edit the usb’s /etc/fstab as the labels’ final “t/T” are the wrong way around (not root241T and not BOOT241t). It should look like:
LABEL=root241t / ext4 discard 0 1
LABEL=BOOT241T /boot/efi vfat defaults 0 1
glathe’s images have a run-once copy_firmware.service that runs a script /usr/local/bin/fetch_vivobook_s15_fw.sh
I edit this to change 3 instances of "cp " to "cp -p " so dates of firmware it fetches from Windows 11 C: drive are preserved which helps you keep track of fw versions.
[In the weeks ahead, after Windows installs any firmware updates, boot into Ubuntu and re-run this script by hand to re-copy the firmware.]
Dismount and eject USB from old system, plug into Vivobook S15 USB-A port (can’t use USB-C).
To select a boot device, you generally can’t use UEFI Firmware Settings (aka BIOS), instead have to
press and hold ESC at reboot/power-on > Please select boot device: ubuntu (USB SanDisk 3.2Gen1)
[Of course due to brilliance of USB nomenclature, USB 3.2Gen1 is just plain old USB 3.0 and is thus bootable]
Originally at the grub menu, I would type e for edit and edit out the “quiet” in the grub command and ctrl-x to exit editing and start the boot. But I don’t think you have to do that any more.
This first boot up should run that once-off copy_firmware service and then reboot a second time.
From post-installation info at glath’s github linux_ms_dev_kit/wiki Bringing-up-the-SnapDragon-Dev-Kit-for-Windows-with-Linux-%E2%80%90-with-working-display#post-installation-tasks
sudo snap install gnome-42-2204 --channel adreno/stable
sudo snap install mesa-2404 --channel beta/kisak
sudo snap refresh
sudo apt update
sudo apt install --reinstall ubuntu-x1e-settings
I also do
cd /usr/lib/firmware/updates/qcom
ln -s x1e80100 x1p42100
so that these firmware files can be found when an upgrade does
update-initramfs -u -k all
Then upgrade from Ubuntu oracular 24.10 to Ubuntu plucky 25.04:
sudo apt update
sudo apt upgrade
sudo do-release-upgrade
This release upgrade installs the snap mesa-2404 to enable the GPU.
After the do-release-upgrade, need to re-add the Ubuntu Concept (arm64) repo:
sudo add-apt-repository ppa:ubuntu-concept/x1e
sudo apt update
sudo apt upgrade
This upgrades the mesa-2404 snap to the beta/kisak channel from 24.2.8-snap183 latest/stable to 25.1.6-snap186 latest/beta/kisak
After rebooting and on a weekly basis, check for @glathe’s latest kernel packages from
https://drive.google.com/drive/folders/1Lps5o3FXroAJFDiKj18vutJbC1uld49s
put them in e.g. ~/Downloads/6.16.0-jg-1 and
cd ~/Downloads/6.16.0-jg-1
sudo dpkg -i *.deb
And reboot
At this stage,
- If I attach a mouse via bluetooth or USB RF dongle, I can point and click in Firefox, but as soon as I scroll, it crashes. The touchpad scrolls just fine, and I can scroll in Chromium or Terminal without problems. Presumably a Firefox problem.
- As noted above, can’t boot with a USB 3.2 Gen 2 (10Gbps) drive, presumably a Vivobook BIOS problem.
- I haven’t worked out how to boot into
el2 to get /dev/kvm virtual machines running efficiently (VMs run but use qemu to emulate arm64 on arm64 - not v efficient).
- Nor have I found out how to use X1-45 GPU, or indeed, to find out if it is being used (
lshw shows graphics > product: msmdrmfb)
- Nor the Hexagon NPU
- No audio yet. Also battery indicator only works intermittently. Sometimes I have to reboot twice to get Wifi or just to get the boot to complete.
But it is a LOT more stable than a couple of months ago, a major advance. I had to compile Libreoffice the other day (to get a fix for a 5GB memory leak!). First attempt overheated and shutdown, second attempt (with the old “matchbox under notebook hinge” trick to allow better airflow) finished in 58 minutes with all 8 CPUs powering away.
Thanks, as always to the fantastic work of the team, especially @glathe and @tobhe .
Please let me know if you have any comments, criticisms or suggestions.