Lenovo IdeaPad Duet Chromebook (google-krane)

From postmarketOS
Note This page is supplementary to the Google Kukui Chromebook (google-kukui), refer to it before attempting to install postmarketOS.
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
Category community
Pre-built images yes
Original software ChromeOS
Original version ? (Linux 5.10)
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
Type Tablet
Generic port used Google Kukui Chromebook (google-kukui)
Unixbench Whet/Dhry score 4375.6
Features
Touchscreen
Works
Display
Works
WiFi
Works
FDE
Works
Mainline
Works
Battery
Works
3D Acceleration
Works
Audio
Works
Bluetooth
Works
Camera
Broken
Internal storage
Works
USB OTG
Works
Sensors
Accelerometer
Works
Magnetometer
Works
Ambient Light
Works
Misc
Keyboard
Works
Touchpad
Works
HDMI/DP
Broken
Stylus
Works


Users owning this device

  • 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)
  • JulianGro (Notes: 128 GB version, main device used for school, USI-pen)
  • JustinSUF (Notes: SKU176, 128 GB eMMC)
  • KenOokamiHoro
  • Medusa (Notes: Borrowed from one of our contributors, working on u-boot/mainline)
  • Neko (Notes: Plasma Mobile)
  • Pomoke (Notes: 64GB eMMC)
  • TheSame (Notes: Main tablet; Running pmOS (Gnome))
  • 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:

# sudo 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:

# sudo mkdir /etc/libinput
# cd /etc/libinput/
# sudo 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:

# sudo 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:

# sudo 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:

# sudo 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:

# sudo -i
# 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']"

See also