You might have one of the units that has a different screen.
Your Android kernel cmdline should tell you which screen the bootloader wants you to initialize:
Mainboards are practically identical, with differences in Flash memory. These models use different cameras and a different speaker amp (TAS5805M vs. TAS5782M) as well.
Some models use a 10" Screen instead of the 8" on this unit. These screens also use a different touchscreen IC (Goodix vs. Focaltech).
Quick update: I managed to get lk2nd somewhat working. I canāt access the fastboot mode of it, the device will crash into memdump mode (900e).
However, it does boot a kernel off the pmOS /boot partition (which from a device perspective lives on userdata) which is a big win. No more EDLing Kernel images to boot for testing.
I havenāt gotten the panel selection working yet. Also we have to hope that the touchscreen driver in mainline is the right one for this variant.
I unboxed the other two devices I had ordered to see whether I also have that variant, but mine are all the same (boyift8201 panels).
Also, I noticed that the device feels like three times snappier when booted via lk2nd. Instead of taking about a minute to fully boot Iām now getting about the same - if not better - boot times compared with Android. Also I didnāt notice any graphics glitches this time. Maybe time to give Gnome another try
Wasnāt expecting that, honestly. A very pleasant surprise.
Thanks for offering to send a device for testing. Iām hoping we can get it working without that being necessary.
I can provide an image later today that should have the panel selection working.
The only question mark for me is whether your configuration actually requires GPIO 95 (stock assigns it for backlight enable) and 100 (stock assigns that for panel external power supply) to be enabled. It is not required on my devices that have the boyift8201 panel configuration. The effect that would be seen if it was needed is simply that the screen might turn black sometime after bootloader initialization or wonāt come back on after it goes to sleep the first time.
If it is required it can be added. It doesnāt do anything on my devices that donāt need it, so itās not dangerous to just enable it for all devices.
With these new images youād simply have to flash the lk2nd.img to boot and the cd-18781y-rootfs.img to userdata using EDL and thatās it.
Once my entire work is upstreamed to pmOS you only ever have to use apk to update the system, including kernels. Or use pmbootstrap sideload if you build kernel packages locally. No more flashing required.
If youāre interested, the way panel and touchscreen selection works is this:
The deviceās bootloader already passes along the panel selection string in the kernel cmdline (thatās what we got from the dmesg output). Since itās now lk2nd that receives that cmdline and not the Linux kernel, lk2nd picks it up and uses it to identify which panel and touchscreen to activate (this is a mapping I made in lk2nd). The mainline dts for the device has a generic placeholder for the panel compatible string that gets replaced with the correct one (which is actually different from what stock uses due to mainline naming rules). It also has nodes for both touchscreen chips but both of them are status = "disabled". lk2nd will overwrite whichever touchscreen chip it wants to enable to status = "okay" and thatās that. Pretty nifty actually.
This has panel/touchscreen selection enabled. Sound output is enabled as well. I didnāt remove some of my debug messages from the speaker amp driver I am working on, so donāt worry about the messages in the kernel logs
Microphones donāt work yet, unfortunately.
But this image should be quite snappy and usable as is (minus the fact that you still manually need to disable hardware acceleration in Firefox for now).
Installation:
edl w boot lk2nd.img
edl w userdata lenovo-cd-18781y-rootfs.img
Username and password are pmos, just like the last image.
If you try it and it doesnāt work for you feel free to send me the dmesg output so I can take a look.
Been lurking for a while as things get more stable. Is the current effort on this thread just pmOS, or Android 11? There were some 11 rom images floating around, but most recent discussion seems focused on pmOS. Specifically looking for the voice assistant functionality that I saw on a video posted a while back.
Parallel efforts - this thread is mainly focused on pmOS. I have one running Android 11 and now thanks to Felix a second running pmOS.
The Android efforts are currently gaming focused and active over in the Retro Handhelds discord server, with deadman providing most of the images and updates. Iām using it to run Fully Kiosk for HA and once itās up itās great with motion detection working to turn the screen back on. The downside is somethingās still up with the wifi driver and it often panics and restarts at boot so it takes a few tries to get it back up. Android 8.1 is still the more stable and recommended path there (with itās own caveats). You can also use the snowboy wakeword plugin with tasker or automate that Endlessvoid put together.
pmOS just became way more viable so curious to see what weāre able to do with that. Also maybe a longshot but Iām hoping we could make use of the arm64 kernel with Android and update past 11 at some point as well. The Android kernel is still 3.18 and 32-bit.
My main motivation behind pushing forward with pmOS is that I assume it is going to stay viable for longer than Android on this device. This is mainly due to the fact that we can build the entire OS from source using a mainline kernel that will continue receiving updates. As of right now there are only 4 components that need a binary blob to function: Bluetooth, GPU, Speaker Amp and WiFi. And those blobs are OS independent. The speaker amp binary blob is technically not even firmware (as it isnāt software) but rather DSP configuration values (EQs and stuff) very specific to this device.
Porting the OS is certainly only one part. Creating a user experience to make this device worthwhile with Home Assistant would be the next step weād need to tackle. Iām hoping there may be a larger community that we can rally around that effort, because it would be adaptable to other devices than just the ThinkSmart View.
Nowā¦ If I could only get those dang Digital Microphones working
Thanks for posting the dmesg. It does look like you have the other display variant and the other panel driver is being loaded. May have to look into those GPIOs again. Iāll put together another kernel tonight for testing.