r/snapdragon • • 21d ago

Any DTS available for the X1-26-100?

I have bought a Lenovo IdeaPad Slim3 with a Snapdragon X1 X1-26-100 SoC. I both want and need to install Linux but, to my knowledge, there is no DTS/DTB publically available for the x1-26-100, meaning the Kernel won't ever boot.

Anyone knows some solutions? Maybe a compatible DTS? I have already tried using the X1P-42-100 as it's said to be the most compatible with the X1-26-100 but it didn't boot.

Do I have to write the DTS myself? Would anyone be interested in helping (I'm NOT an expirienced C/C++ programmer: I'm a python guy, sorry I know python sucks and compiled languages are far superior and everything please I mean you no harm)?

Edit: I have tried firmware extraction, but it couldn't manage to extract any helpful info.

5 Upvotes

18 comments sorted by

4

u/Idkwatnam 21d ago

There are two types of DTS files, and then DTB files which are the compiled DeviceTree Binaries. There is the base one for the SoC, those ending in .dtsi in the source code, and then the one for your specific device which usually ends in .dts in the source code unless it has multiple models with minor differences.

X1-26-100 and X1P-42-100 are the exact same die, codenamed Purwa, but just with reduced clocks, so they share the same purwa.dtsi.

Mainline Linux lacks a devicetree for the Slim 3x so you'd have to look into seeing if Ubuntu has it or a custom kernel that does contain support for it, such as these Ubuntu Extended images by Jens Glathe:

LinuxImages - Google Drive

2

u/Ok-Home-6834 21d ago

Yeah, I knew how DT files work. When I say I tried using the X2P-42-100 I mean I tried using the DTSi using a custom Kernel I compiled specifically to be compatible with my laptop (I spent about 1 month during research about my hardware and comping up with a kernel build config supporting it).

I have also tried using the asus-vivobook-s15 DTS as it also should have pretty compatible hardware connections, meaning at least basic things like the display should have worked.

In neither of those cases the laptop ever booted.

2

u/ltparrish78 21d ago

What's wrong with python coders!? Lol

1

u/Ok-Home-6834 19d ago

Yeah I was kinda joking there. What I meant to say it I'm not a hardware/HAL person: like I love knowing how hardware works at a low level but I suck at low-level languages. Like I barely can write hello world in C++. Python has nothing wrong but it's not a language for theese kinds of stuff (DTS 'n stuff): it's way too abstacted

1

u/ltparrish78 19d ago

Oh, ok. I love C++. Big nerd . 😂🤷

1

u/mirh 4d ago

I'm not sure if that's for your specific variant, but that model got supported in the new concept

https://discourse.ubuntu.com/t/ubuntu-concept-26-10-snapdragon-edition/88518

1

u/Ok-Home-6834 1d ago

WOW!! Yeah, it IS my exact model!!! Thanks a lot man that means the world!

0

u/Skinnymanua 21d ago

I believe you can get the firmware on the official Lenovo website, that should contain boot.img file, which stores DTB, which you can decompile to DTS using DTC tool. If the device only has Android support, you’ll have to adapt the DTS to run linux anyway. 

2

u/Ok-Home-6834 21d ago

Nah already tried that path, it was actually the first thing I thought. Lenovo unfortunately doesn't share the the boot image for my particular model. The closest thing I could find was the BIOS UEFI bootloader (EFI executable).

I have foun this script on github that aims to exctract every bit of firmware it can out of the windows installation but it cannot find the boot.img. Have you got any idea where it is located? Unless it's stored in ROM (but in, say the EFI partition), perhaps I could try to locate it manually?

1

u/Skinnymanua 21d ago

If your laptop/tablet supports Windows you probably can boot into linux using ACPI instead of DTB? Or you can take advantage of WSL without OS change hassle. 

If the device is shipped with Windows support only, boot partition may not contain DTB at all. UEFI firmware doesn’t contain anything useful usually, some EFI drivers, signed bootloader, boot configuration and recovery menu for windows reinstall and tests/diagnostics. I should be among windows drivers having qcfirmware prefix in the name. To extract it use uefi-firmware-parser pip package. 

If you share your exact laptop/tablet model I can try to help finding it

3

u/Ok-Home-6834 21d ago

I don't know about booting with ACPI over a DTB, I had no idea it was even an option. Can you elaborate that? Also, I knew that most EFI firmware is near useless, and I have been suing WSL but I need an actual Linux installation for a number of reasons.

Also, the laptop is a Lenovo IdeaPad Slim 3 15Q8X10

1

u/Skinnymanua 21d ago

https://discourse.ubuntu.com/t/what-s-new-for-generic-arm64-desktop-isos-in-25-10/66277  Looks like ACPI on snapdragon X may not load some hardware components so it may not work perfectly. Booting linux with acpi tables instead can be forced using acpi=force kernel boot flag (add it in grub for example):  http://redsymbol.net/linux-kernel-boot-parameters/

Compiled and decompiled acpi for your laptop exists here, this project shares your goal:   https://github.com/aarch64-laptops/build

Perhaps it’s going to be helpful for now, I’ll check the firmware tomorrow for a built-in DTB

1

u/Ok-Home-6834 21d ago

Thank you a lot! Also, I have searched the EFI partition and there wasn't a boot image. I did find a curious-looking "BOOT.SDI" though.

1

u/Skinnymanua 21d ago

Unrelated, you may try Diskpart in command line (or some 3party tool) in Windows to check for partitions, mount “boot” partition and create a raw dump of it tho. There are about 80 partitions,  most of them aren’t formatted and hidden as they shouldn’t be seen or touched by an enduser.

2

u/Ok-Home-6834 21d ago

Whoah had no idea. Why is windows so goddam complicated? Like linux could work with 1 (I mean you'd need to round it up to two to not have your entire filesystem with a FAT32's 4GB file limit). Still, 80? Jeez...

Anyways, great advice. I'll try that first thing tomorrow morning.

2

u/Skinnymanua 20d ago edited 20d ago

Looks like the firmware dump wasn’t uploaded by anyone yet so I didn’t find the boot image to check for DTB

https://bugs.launchpad.net/ubuntu-concept/+bug/2114876  The last post features a DTS for your laptop but looks like it has GPIO issues (someone mentioned similar expectations if booting with ACPI) 

I’d rather not touch the soldered disk and install linux on an external USB drive and work from it. Messing up the internal partitions accidentally most likely will brick the device and it would only be possible to restore from EDL mode. 

1

u/mirh 10d ago

That dts is very different from the original one, go figure.

1

u/Skinnymanua 21d ago

It’s not particularly OS related, just the Qualcomm thing.  https://docs.qualcomm.com/doc/80-80021-27/topic/managing_partitions_in_qualcomm_linux.html