Linux on Lenovo IdeaPad Duet 3i tablet - good enough!

Published Dec 1, 2021. 7 minutes to read.
Tagged with Linux.

For some time now I have been looking for a decent Linux-capable portable as a daily carry-around that could fill the gap between a phone and a traditional laptop.

Unsurprisingly so, this turned out much harder than I initially thought. To date (December 2021) there exists only a single tablet tailored to Linux that meets my requirements, albeit, running a custom operating system with plenty of work to be done, and having to run a custom Linux distribution with no guarantee of maintenance - well, it is a bit of a blocker for me personally.

After some careful digging I found number of people having limited success with Lenovo IdeaPad Duet 3i, Duet 3 version originally shipped with Windows Home S.

Not willing to just throw cash out of a window (haha!) for the sake of an experiment, I opted for the base model rocking Celeron N4020 with 4GB of RAM and 64GB of built in storage - plenty for my intended use case of basically having this device serve as intermediate between my phone and a full size laptop when needing to deal with on-call and emergencies. Realistically, I only ever would need this to do some very light web browsing, as SSH client, perhaps some light Ansible stuff, but nothing much more than that. And this device at this specification should be more than enough to fulfill this role. And it definitely is.

As far as the hardware goes, the tablet (sorry Lenovo - it is not a laptop, no matter how hard you market it as such) has a fairly decent 10.3” screen with 1920x1200 resolution, ships with a 45w power brick, has front and rear facing cameras (2+5MP) usable enough for having a Google Meet call on the go. The selfie cam is also located at the top bezel of landscape mode, which is a really nice touch. Intel AC9560 provides for WiFi and I kind of suspected it would be working out of the box with pretty much any relatively new kernel - which turned out to be true. We also have Bluetooth 5.0 available.

And then there is the included keyboard cover. Simply put - it is usable, but not spectacular. To be perfectly fair, none of the attached keyboards I have tested so far for this device class are any better - save for better trackpad, not even the $300 Magic Keyboard for 2021 iPad Pro. TL;DR the keyboard is fine, but do not expect writing novels on the go on it either.

On to the Linux!

The device ships with a very basic BIOS screen you can access by pressing Fn + F1 OR F2 on the keyboard - still don’t know which, but continuously bashing both seems to do the trick. Happy to see this technique survive the test of time, thanks Lenovo! In BIOS you get your usual stuff, such as ability to set admin password to lock down the device, your usual boot settings (UEFI/classic, secureboot), but not much more than that.

I tested this device with 2 distros to start with - Elementary OS, and standard Ubuntu 20.04. I wanted to try Elementary simply because the UI is a bit more light weight than standard GNOME3, and the design is a tad more touch friendly. Unfortunately, Elementary still suffers from not-so-great settings center and administering some settings like screen resolution is still a pain, so I just gave up. To be fair, it would probably work just fine, with minor tinkering.

The things that work out of the box

On with Ubuntu then. A minimal install of 20.04 LTS works close to optimal out of the box. WiFi, cameras, Bluetooth, all the standard things works just fine. The tablet is immediately usable. That’s that. I have not tested built in support for external screens yet, however, outputs are detected correctly so you should be able to attach external screens using a type-c to something (???) adapter fairly easily.

The things that need tinkering

Couple of things need some minor adjustments to make the tablet behave. One of the most important ones is you will need to install a kernel image. As of now, Ubuntu 20.04 ships with kernel 5.11 that does not seem to have the proper binary blobs for graphics (Intel UHD 605) support, and this causes the tablet to not be able to change screen brightness and exit suspended state. This however is easily fixable by installing 5.4 kernel, and adding some minor tuning parameters.

To sum it up, you will need to set up 5.4 kernel (or newer, but with i915 binary blobs). 5.11, 5.13 will not do, and you will need to update grub config and add some params for better experience and to deal with backlight issues.

I used these options for /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="fbcon=rotate:1 i915.enable_dpcd_backlight=1 acpi_osi=\"!Windows 2015\" acpi_backlight=video"
GRUB_GFXMODE=1200x1920

The first option tells kernel to rotate the video, and the rest are there to deal with backlight issues. The second option tells GRUB to use the right resolution for the GRUB menu and such.

Do not forget to run update-grub after setting the options above.

You might also want to rotate the screen to landscape in login screen. Start an Ubuntu session as normal, and then, simply copy the ~/.config/monitors.xml file to /var/lib/gdm3/.config folder. After a reboot, everything should be sorted.

Some people on the interwebs have reported issues with suspend on this device e.g. resume from suspend resulting in a black screen and requiring a hard reset. This issue seems to be purely graphics related and is fixed by setting up kernel 5.4 and above kernel options in GRUB. While testing this with the original 5.11 kernel I did indeed experience this issue, however, the machine correctly suspends and resumes and the actual issue is that screen fails to power up after suspend.

The things that don’t work, and are likely to never work

Automatic screen rotation. Simply accept the fact that your tablet is permanently in landscape. Or in portrait, if you are weird like that.

The screen will not auto-dim or suspend when closing the keyboard cover. This might be fixable, but I just don’t care much for that so that’s fine.

Conclusions

For what it is - a tablet not designed to run Linux, it seems to be able to run Linux quite wonderfully. Short of a few minor issues above, everything kind of falls into places.

I do have to note performance of this device is fairly … not great? The dual-core Celeron N4200 simply is not capable enough to support anything even remotely tasking. You will be able to watch YouTube if that’s your thing, Netflix also works just fine, but don’t expect this to serve as an actual replacement for an actual… well laptop. If possible, consider opting for the 8GB model with Pentium Silver N5030. In theory, it should give you slightly more umpf per buck - I might just do it myself eventually.

My goal with this device was and is having something I can throw in my backpack and carry around, not an actual daily driver - XPS 13 fills that need quite well. That being said, for light use, email, docs, and such - it is fine, and usable. Just keep your expectations level and don’t expect this to outperform something like Galaxy Tab or an iPad - it won’t. But then again, maybe it does not need to either.

If you do consider buying this device, be VERY careful about the specs you choose - there is another IdeaPad Duet 3 (thanks Lenovo, that makes sense) with ChromeOS and using MediaTek CPU - they are not the same thing. If you want to set up Linux, you have to opt for the Intel-based device.

© Matīss Treinis 2022, all rights, some wrongs and most of the lefts reserved.
Unless explicitly stated otherwise, this article is licensed under a Creative Commons Attribution 4.0 International License.
All software code samples available in this page as part of the article content (code snippets and similar) are licensed under the terms and conditions of Apache License, version 2.0.