Lenovo IdeaPad Duet Chromebook (google-krane)

From postmarketOS Wiki
Note This device is supported as part of a generic port. Refer to Google Kukui Chromebook (google-kukui) for installation instructions and more information.
Lenovo IdeaPad Duet Chromebook
Lenovo IdeaPad Duet Chromebook running postmarketOS
Lenovo IdeaPad Duet Chromebook running postmarketOS
Manufacturer Lenovo
Name IdeaPad Duet Chromebook
Codename google-krane
Released 2020
Type detachable
Hardware
Chipset MediaTek MT8183
CPU 4x 2.0 GHz ARM Cortex-A73, 4x 2.0 GHz ARM Cortex-A53
GPU ARM Mali-G72 MP3 (Bifrost) @ 800 MHz
Display 1920x1200 (16:10) IPS, 224 PPI
Storage 64/128 GB eMMC
Memory 4 GB LPDDR4X
Architecture aarch64
Software
Original software ChromeOS
Original version ? (Linux 5.10)
postmarketOS
Category community
Pre-built images yes
Unixbench Whet/Dhry score 4375.6
Generic port Google Kukui Chromebook (google-kukui)
Features
Internal storage
Works
Battery
Works
Screen
Works
Touchscreen
Works
Keyboard
Works
Touchpad
Works
Stylus
Works
Multimedia
3D Acceleration
Works
Audio
Works
Camera
Broken
Connectivity
WiFi
Works
Bluetooth
Works
Miscellaneous
FDE
Works
USB OTG
Works
HDMI/DP
Broken
Sensors
Accelerometer
Works
Magnetometer
Works
Ambient Light
Works


Users owning this device

  • AlleM43 (Notes: Intermittent work on getting mainline Coreboot running)
  • Bonfire
  • Comcloudway (Notes: SKU176, 64GB eMMC)
  • Deathmist (Notes: SKU176, 128 GB eMMC, fake digitizer w/ 1 touchpoint max)
  • EspiDev (Notes: SKU0, 64 GB eMMC, Plasma Mobile)
  • Fann (Notes: CT-X636F 4/128 - GNOME, battery life is on par with ChromeOS, KDE and GNOME are laggy, phosh not)
  • JulianGro (Notes: Plasma Mobile, main device used for school, USI-pen)
  • JustinSUF (Notes: SKU176, 128 GB eMMC)
  • KenOokamiHoro
  • LongnoseRob (Notes: pmOS (edge), UI: gnome)
  • Medusa (Notes: Borrowed from one of our contributors, working on u-boot/mainline)
  • Neko (Notes: Running Ultramarine with KDE)
  • Pomoke (Notes: 64GB eMMC)
  • TheSame (Notes: Main tablet; KDE pmOS, USI, keyboard)
  • WeirdTreeThing (Notes: SKU176, 128GB eMMC, no keyboard.)


Screen

Screen rotation works via accelerometer but is stuck +/- 90 degrees.

You might be able to offset it, by creating an udev rule (/etc/udev/rules.d/61-cros-ec-accel.rules). To get it working properly, you have to swap the x and y values, as well as inverting the x-axis:

Create the following file:

# nano /etc/udev/rules.d/61-cros-ec-accel.rules

Insert the following text:

ACTION=="remove", GOTO="sensor_end"
 
SUBSYSTEM=="iio", KERNEL=="iio*", SUBSYSTEMS=="platform", 
  ATTRS{modalias}=="platform:cros-ec-accel", 
  ENV{ACCEL_MOUNT_MATRIX}="0, 1, 0; -1, 0, 0; 0, 0, -1", 
  GOTO="sensor_end"

LABEL="sensor_end"

Touchpad

The touchpad may require a large amount of pressure in order to detect cursor movement. To increase its sensitivity, you can add the following libinput quirk:

Create the following file:

# mkdir /etc/libinput
# cd /etc/libinput/
# nano local-overrides.quirks

Insert the following text:

[Touchpad pressure override]
MatchUdevType=touchpad
MatchName=Google Inc. Hammer
AttrPressureRange=20:10

Cameras

Cameras are currently non-functional, due to lack of MTK DIP driver in mainline.

They do get detected with few devicetree patches (along with lens actuator and EEPROMs), but patch from MediaTek hasn't been merged, as they couldn't agree on creating DMA buffers.

Getting it to work would require significant effort, as it would have to be re-written accordingly to current kernel ABI.

https://lwn.net/ml/linux-media/7f8cb8c7-cbf2-40c9-ac8f-c3c9b97919d7@molgen.mpg.de/


USI-pen

Gnome

The cursor position is correctly displayed only in portrait orientation. To make the USI-pen work correctly in any orientation, do the following (source):

Create the following file:

# mkdir /etc/libwacom
# nano /etc/libwacom/google-krane.tablet

Insert the following text:

[Device]
Name=hid-over-i2c 27C6:0E30 Stylus
ModelName=
DeviceMatch=i2c:27c6:0e30
Class=ISDV4
Width=5.35433
Height=8.54331
IntegratedIn=Display;System
Styli=@generic-no-eraser

[Features]
Stylus=true
Touch=false

And also supplement or create a file:

# nano /etc/libinput/local-overrides.quirks
[Google Chromebook Krane Stylus Digitizer]
MatchUdevType=tablet
MatchDeviceTree=*krane*
MatchBus=i2c
ModelChromebook=1
AttrPressureRange=1100:1000

After all this is done, execute this and reboot:

# libwacom-update-db

After that, the digitizer should take into account the screen rotation, and also, the digitizer settings menu will appear in the Gnome settings.

Screen tweaks

Phosh

If you don't want to set the screen orientation and the scale new, after every reboot:

# cd /usr/share/phosh/
# nano phoc.ini

Insert the following text:

[output:DSI-1]
rotate = 270
scale = 1.5

Reboot.

Gnome

In the latest versions of Gnome there is no option to select other display scales than 100% and 200%. You can enable intermediate options that are multiples of 25%, do so:

$ gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"

pbsplash at boot

The pbsplash works in portrait mode during boot, regardless of the actual orientation of the device. If you are confused by this, you can switch to the option of showing the boot log, which happens in landscape mode (source):

# nano /etc/deviceinfo

Edit the appropriate line, preserving your parameters if they exist:

deviceinfo_kernel_cmdline_append=" PMOS_NOSPLASH console=tty1"

And rebuild the boot kernel image:

# mkinitfs

Desktop Environment

Phosh

When the keyboard is connected, you can switch between "Docked" and "Undocked" from the quick settings. When you disconnect the keyboard, phosh automatically transitions into "Undocked" mode, automatically maximizing all of your windows. To allow free form windows, you can run the following command:

$ gsettings set sm.puri.phoc auto-maximize false

To switch back to auto-maximized windows run:

$ gsettings set sm.puri.phoc auto-maximize true

See also