Lenovo ThinkSmart View ROM/OS Development

FK is just available on android unfortunately. Im going to be testing out @miniconfig’s remote assist display integration one of these days but if u feel adventurous, you could try that instead of chromium.

Hey Folks, not usually one to post like this but i need some help or a nudge in the right direction. I’ve followed all the steps in the windows installation guide and can complete the flashing procedure. when i reboot at the end of the guide the device reboots flashing lenovo like you stated, then i see the postmarket screen. finally i get to what appears to be a android lock screen with text saying swipe up to unlock. problem is the touch input doesn’t seem to work. am i missing something silly? Thanks in advance.

Did you flash a mismatched set of (lk2nd, userdata) images?

The same thing happened to me when I compiled a lk2nd from git over a month ago, and flashed it to a device that was using a rootfs phosh image from around June 2024

The boot sequence is device bootloader → lk2nd → linux kernel: in the 1st step, the hardware panel selection is given by the bootloader to lk2nd, in the 2nd step lk2nd boots the kernel using /boot/extlinux/extlinux.conf which mentions “fdt /apq8053-lenovo-cd-18781y.dtb”

In lk2nd git log, commit 055f10ffe5382bb382dfd52f31b9b24729fddc51 changed how the dtb format to refer to the panel in Aug 2024, but a DTB compatibility problem doesn’t make much sense because the dtb /boot/apq8053-lenovo-cd-18781y.dtb is on /boot from userdata1 (/dev/mmcblk0p51 used by the device mapper, check dmsetup ls --tree) while lk2nd is on the EDL boot (/dev/mmcblk0p21 given /dev/disk/by-partlabel/)

However, I solved my problem just by flashing an older lk2nd (less TBW, better for the eMMC that flashing userdata) using a 300kb image from thinksmart so it’s as if the .dtb from /boot was ignored and the one from the boot partition used instead?

On the June 2024 image, the /boot/apq8053-lenovo-cd-18781y.dtb is about 65145 b with the md5sum 42d71c3bf3b7b1ae3cc10007477f581e while a 2025 dtb is slightty bigger (65531) and has the md5sum 60326c220ada4705f05627b1a7dc768a

After decompiling the dtb files to dts using dtc, then doing a diff, I saw many small differences, including the key one mentioned in 055f10ffe5382bb382dfd52f31b9b24729fddc51 for touchscreen@38 and touchscreen@48

I still don’t understand precisely why the touchscreen issue happened, or if the dtb could be ignored, but somehow flashing the old lk2nd fixed the touchscreen problem, so you may want to try this silly fix!

hi ran into a similar touch screen not working problem when flashing with latest images, can you confirm which combo you used

@FelixKa I’d like to put some more effort into looking to see if we can benefit from your hard work on the Lenovo Smart Display 8 too, since it shares such close hardware with the TSV, and is widely available.

Am I right in understanding that the image in this post is a “minimal” one (I downloaded it and it’s only 140mb?!)
When we looked into the testing your original image on the SD8 a while back it was too large to fit the SD8, since it uses the A & B partitions so they were half the size.
I’m wondering if it’s worth me giving it a shot with this smaller image, or is it not that straight forward?

I guess maybe I should have read through this thread fully before jumping with both feet into the Lineage OS port. I’ve got four of the ThinkSmart Views and when they first turn on, they are perfect. Load HA frontend, look great, are responsive, and feel like the perfect choice! However, half a day later they are not unlocking, WiFi won’t reconnect, or the camera feeds stop … well feeding.

It sucks to have what seems like purpose made hardware, with excellent software, that just falls on its face due to the OS.

Plus, it feels really stupid to have an atom echo next to each one, when the ThinkSmart has a microphone array and nice sized speaker in it.

It seems like there are more than a few people trying to find a Linux OS that runs on Qualcomm Snapdragon CPUs. This thread below seems to be the most informative I’ve found that is recent.

I feel this is more trouble than it’s worth and long term nonsupportable.

A simple pi with touchscreen running Linux with HA in browser might be more flexible and sustainable.

Lineageos is different then pmos thats talked about in this thread often. Its sad that it seems the driver of wifi is at fault.
I have commands to turn on the devices at motion and turn off at no motion, and this works and sometimes doesnt work, which is also frustrating. (But using lineageos such as yourself)

I did mitigate some issues with automate, a android app that allows automating the android system. To restart home assistant app if it crashed, sound server etc.
But it does seem like this device stays unstable forever.

Have you physically touched these Lenovo devices? The build quality and design is far superior to any hacked together Pi build. They have thick glass touchscreens, nice big good sounding speakers, microphone arrays with hardware noise/echo reduction, and a nice heft to them so they don’t move when you press the touchscreen.

It’d really be awesome if Home Assistant OS (HAOS) could add support for the snapdragon processors as that would enable devices like the ThinkSmart View, but also a lot of tablets and phones.

Yes

I have one. Great build but after years of custom android roms i learned only officially supported hardware works long term

Unlikely but getting Linux on one would be amazing. I’m gonna look into that

This is what pmos is. It’s a mobile-oriented alpine-based Linux distro.

@FelixKa @mattmon - A little update on the attempts to test PMOS on the Lenovo Smart Display 8.
I have figured out a pattern that seems to be able to get the device booting stock images again so have been playing with the minimal rootfs posted in this thread (as that fits in the flash of the SD8).
Flashing lk2nd and rootfs results in the device not booting, but also it doesn’t go straight to fastboot (almost like it’s tried to boot and got stuck). A subsequent reboot of the device does however drop me to fastboot.
I wonder if there is some subtle difference in the display hardware or something that causes this?

So I’ve attempted to get more access on the device by installing dead man’s debug ROM which I’ve managed to get installed ok. I now have adb access on the device and can install other APKs. Can you guys suggest anything helpful I can gather with this access (hardware info etc?) to help unlock getting PMOS booting?

I have got one more general question.
I can see that on official PMOS builds that are edge type some things does not work to compare with what is stated on the Lenovo ThinkSmart View (lenovo-cd-18781y) - postmarketOS Wiki
For example:

  • Audio
  • Waking up by touchscreen
    Is this connected to the nature of those images being on the edge or because there was change from OpenRC to systemD. I am testing from time to time edge images. The only thing that is missing for me is waking up by touchscreen.

Having the same problem. I’ve tried flashing the v24.12 stable image but I doesn’t boot and goes to the lk2nd fastboot mode.

Did anyone manage to get the rom dump here before it was removed ? - Interested to try this out on my google display which is already running custom rom by deadman

The performance on my Lenovos has been atrocious the past few months. At first, I thought it was just a webview problem, but swapping between multiple versions didn’t help at all. Eventually, I looked at system details and realized HA was hoovering up nearly all of the limited memory on the device.
I suspect it’s due to my extensive use of bubble cards and that I have wallpanel running through family photos every couple of minutes when they’re idle. I’m not really sure what to do other than creating a slimmed down dashboard for use only on the them, but I’d like a 1 for 1 experience across phones and other devices.

Can you use kiosk browser?
Had the same experience with the app and switching to that one took care of the memory issue.

1 Like

Which ROM are you using? There are several options.
I’m using Lineage and the performance isn’t bad - it is an old, underpowered device though with very limited RAM. I use quite a lot of custom cards and bubble card too. Are you up to date with the versions as quite a lot of work was done to speed them up.
For me, the biggest resource hog was running a camera feed from Frigate - I was originally running the high res feed which quickly broke performance. Switching to a low res sub stream sped things up a lot.

Moving to Fully Kiosk actually helped out a ton. IDK why I didn’t think to try it earlier. I’m kinda annoyed that they won’t do volume pricing for consumers and I’m not willing to pay full price X a dozen tablets around the house. The dashboards still aren’t as snappy as they were ~6 months ago, but it’s certainly better than what I was experiencing with the HA app.

@pgale I’m rolling with LineageOS and have tried numerous BubbleCard versions. Up until this morning when I upgraded to 3.0 beta, the latest I was using was one of the 2.5 beta releases.

This all makes me wish it was feasible to crack these open and solder some larger RAM onto the board.

You can get volume licensing. I have done. Just give them your ‘company name’ in the order page. Nothing says you can’t be a sole trader etc.