Lenovo IdeaPad Duet 3 (google-wormdingler)

From postmarketOS Wiki
Note This device is supported as part of a generic port. Refer to Google Trogdor Chromebook (google-trogdor) for installation instructions and more information.
Lenovo IdeaPad Duet 3
Manufacturer Lenovo
Name IdeaPad Duet 3
Codename google-wormdingler
Released 2021
Type tablet
Hardware
Chipset Qualcomm Snapdragon 7c
CPU 2x Kryo 468 Gold + 6x Kryo 468 Silver
GPU Adreno 618
Display 2000x1200 IPS
Storage 64/128 GB
Memory 4/8 GB
Architecture aarch64
Software
Original software ChromeOS
postmarketOS
Category testing
Pre-built images no
Mainline yes
Generic port Google Trogdor Chromebook (google-trogdor)
Features
USB Networking
Works
Internal storage
Works
SD card
Battery
Works
Screen
Works
Touchscreen
Works
Keyboard
Works
Touchpad
Works
Stylus
Partial
Multimedia
3D Acceleration
Works
Audio
Works
Camera
Broken
Connectivity
WiFi
Works
Bluetooth
Partial
Modem
Mobile data
Miscellaneous
FDE
Works
USB OTG
HDMI/DP
Sensors
Accelerometer
Partial
Hall Effect
Works


Users owning this device

  • Connorplayer123 (Notes: Using pmOS with GNOME, 8GB RAM, 128GB eMMC, and its my daily driver!)
  • Geofferey (Notes: Testing device port)
  • Jasedxyz (Notes: Running pmOS)


Audio

Audio defaults to a non-existent headset due to mismatched alsa UCM configs.

Screen

Screen Rotation

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"

Default the screen to portrait on boot in GNOME

Add the following configuration file for GDM:

/var/lib/gdm/.config/monitors.xml

<monitors version="2">
  <configuration>
    <logicalmonitor>
      <x>0</x>
      <y>0</y>
      <scale>1</scale>
      <primary>yes</primary>
      <monitor>
        <monitorspec>
          <connector>DSI-1</connector>
          <vendor>unknown</vendor>
          <product>unknown</product>
          <serial>unknown</serial>
        </monitorspec>
        <mode>
          <width>2000</width>
          <height>1200</height>
          <rate>60.000</rate>
        </mode>
      </monitor>
    </logicalmonitor>
  </configuration>
</monitors>

Disable iio-sensor-proxy (sacrifices auto rotation):

rc-update del iio-sensor-proxy

USI Stylus

The USI stylus that comes with the Duet 3 functions correctly only in default portrait orientation. The axis does not rotate with the display under Wayland. Other USI styli e.g. the one included with Coachz are currently non-functional with the Duet 3.

Bluetooth

Some devices such as gamepads do not work out of box with the default kernel Bluetooth configuration. Required inlining of rfkill + core Bluetooth features instead of modules, even with modules loaded gamepad did not work.

For Bluetooth keyboard and mice to work you must manually load the uhid kernel module via modprobe/insmod or add it to the /etc/modules file.