Skip to content

Releases: agentsco-lab/itemgrid

Release list

item/grid 0.2.0

Choose a tag to compare

@iverbovoy iverbovoy released this 09 Oct 21:14

item/grid 0.2.0 is the first release under this name: the desktop program that looks after a connected Surface Duo running Linux. 0.1.0 was Cradle; this is the same program five days on, renamed with the repository (itemgrid, itemgrid-gui), published with item 0.2.1 and under MIT.

Until 1.0, item/grid is an experiment, as item is. It writes to the phone's partitions by the safety rules learned on one Duo, as checks in its core - but it has been used on one phone, the owner's, from one Linux computer. Keep your own backups of boot_a, boot_b and misc from TWRP before you let it write anything.

What is in 0.2.0

The window is a table

  • The Duo drawn as it is held - the hinge and the gravity from the phone's sensors (duo-motion, run on the phone over ssh), its screen live from item's mirror - on a table of squares, drawn on the GPU. Its words in the table's own squares: the phone's number in the club, item's version, the battery, the link.
  • The menu as lines on the table: updates (item's version, fresh or newer here; the update), stock (the way back to the phone's Android), settings (the lines' colour and width, the grid, the rim, the light, a lamp under the phone); the developer's line when Developer Mode is on. A job told on the table too: its name, its stage, minutes left.
  • Night and day by a press on the word: the squares turn over in a wave. The table's parts can be dragged into place; the eye drawn back with the wheel.
  • Over Wi-Fi the Duo is drawn shut and still, looked at each 30 s; on the cable it comes to life. Nothing done at the computer for 10 min, the phone is let go. A Surface Duo 2 is told apart and said so: item for it comes later.

The phone

  • The club's numbers (00001, 00002, ...) claimed quietly by the serial's hash: no token, no site. Written onto the phone once per its boot.
  • item put on a Duo coming from stock Android in one wipe: the bootloader, TWRP from RAM, the release image, by the rules - a boot image is written to a slot only once it booted Linux from RAM on that phone. Back to stock Android for good (android go), and Linux again from the whole-system backup. The questions before erasing read on the table, then confirmed - no typed number.
  • install --keep-files keeps home, Wi-Fi, the time zone, the PIN. The bootloader asked gently: settled, retried, never a command on an unanswered one.

For working on it

  • itemgrid-mcp: an MCP server that starts the window on a screen of its own (Xvfb) and lets Claude Code look at it and try it with a real pointer.
  • One Debian package, itemgrid_0.2.0_amd64.deb, with the window's AppArmor profile (WebKit's sandbox on Ubuntu 24.04).

Installing

A Linux computer with GTK 4.12 and libadwaita 1.5 or later, WebKitGTK 6.0, ssh; adb and fastboot for the phone's other modes.

sudo apt install ./itemgrid_0.2.0_amd64.deb

Or from the tree: cargo build --release, then itemgrid and itemgrid-gui from target/release/. The phone: a Surface Duo on Droidian 102 with the port 0.22.0 and item 0.2.1 (agentsco-lab/item), on the USB cable (172.16.42.1) or over Wi-Fi once the cable has shown its key.

Known

  • Tried on one phone and one computer, the owner's (Ubuntu 24.04).
  • The table's updates and stock lines hold one thing each; the rest of what the command line does (backups, slots, RAM boot, logs) is not on the table yet.
  • The whole-system backup and the way back from Android need TWRP's image on the computer.