Skip to content

Releases

PlayThing 0.2.0-beta

PlayThing 0.2.0-beta Pre-release
Pre-release

Choose a tag to compare

@tatujan tatujan released this 23 Oct 01:01

Beta. I tested it on my Car Thing (S905D2, 512 MiB RAM, ST7701S panel); 0.1.0-beta.5 also works on a newer board revision (a user's report). Known issues: docs/known-issues.md. Use it at your own risk: read the warning in the README.

New in 0.2.0-beta

  • Apps. Droid-ify is the app store: it installs, updates, and removes apps without a prompt. An App manager shows the storage and the memory of each app; it can stop an app, clear its cache or its data, remove it, and clean up the caches of all apps (docs/apps.md).
  • ThingPod, an iPod-style music player: the knob is the click wheel. It plays the music on the Car Thing and on USB sticks, and the car stereo shows the title and the cover over Bluetooth (docs/thingpod.md). The image now has Android's media library (MediaProvider).
  • Home screen. The Apps tile opens an app drawer. A rotate button (next to the Bluetooth status) turns the screen in steps of 90 degrees, to landscape or portrait; the home screen has a portrait layout. While an iPhone is connected, the first press only shows a message: a rotation starts the CarPlay session again, and the iPhone can ask "Trust" again. A second press in 4 s rotates (docs/home-screen.md).
  • Fix: frozen screen after an app restart. When the app in front stopped and started again at once (for example after am force-stop), the screen could stop until a restart. Cause: the hardware composer gave Android the fence of the next frame instead of the fence of the shown frame (docs/graphics.md).
  • Fix: kernel panic in the fence driver (kernel patch 0008, docs/kernel.md). A restart of Android's display service could cause a kernel panic and a reboot.
  • Fix: screenshots and the rotation animation showed a stretched part of the screen (a SurfaceFlinger patch for the turned panel).
  • The boot script takes panel_type from the Car Thing's own U-Boot env (lcd_8 when the env has none), for units with another panel entry (docs/boot.md).
  • python3 flash.py diag also shows Android's bootloader message (misc) and the kind of file system on the stock data partition. The flash tool names Nocturne 4 and Mira (installed by Terbium) as other firmware that must be removed first.
  • Docs: USB audio adapters (docs/bluetooth-audio.md, "USB audio").
  • The system image and the boot area changed. An update keeps /data.

The full list of changes: CHANGELOG.md.

Android 9 on the Spotify Car Thing as a wired Apple CarPlay receiver, with DiPlay.

What you need

  • A Spotify Car Thing whose stock software runs from slot A
  • A USB-C hub with Power Delivery input and USB-A ports (tested: Anker 6-in-1), and a PD charger
  • A USB-C cable, and a Mac or a Linux computer with Python 3.8 or later, git, and libusb (macOS: brew install libusb). Windows is not supported.

First install

  1. Download plaything-0.2.0-beta.zip below, unzip it, and open a terminal in the folder plaything-0.2.0-beta.
  2. Disconnect the Car Thing. Hold presets 1 and 4 (the left and right ends of the top row), connect it directly to the computer, and release after about 3 seconds.
  3. Run python3 flash.py install, and push Enter at each question. The tool backs up the full eMMC first (about 6 minutes; keep the backups/ folder), and it tells you when to connect again with preset 4.
  4. When the tool says DONE, connect the Car Thing to the hub with the charger. PlayThing starts in about 1 minute.

If PlayThing or superbird-android is already installed: hold preset 4 while you connect, then run python3 flash.py install. On a Car Thing with the newer Spotify U-Boot, the tool asks for one more connection with preset 4.

Hold preset 1 while you connect to start the stock software at any time. The README in the folder has all the steps, the buttons, and what to do if something goes wrong.

In the zip

File Content
system.raw.xz, boot-area.img, manifest.json The image, with placeholders
flash.py, blobs.py The flash tool. It downloads the Mali GPU driver, the video decoder firmware, DiPlay 0.2.20, and Droid-ify 0.7.8 from their public sources, and checks their SHA-256.
kernel-source.tar.xz, aosp-gpl-source.tar.xz The source code of the GPL and LGPL parts
README.md, SHA256SUMS

SHA-256 of the zip: 6d8f990f32dc506f71f67548114f438436f91efb1ad94c4713e11238cf8d1dcd
SHA-256 of the finished image (after the tool adds the downloaded files): 7df717e160c194d11cca4e9f3f41735f54e299fdfb0cf4aa7450310fadcc4dd2

Thanks to DiPlay by shihabal3amri, which does the CarPlay work.

PlayThing 0.1.0-beta.5

Pre-release

Choose a tag to compare

@tatujan tatujan released this 18 Oct 21:55

Beta. I tested it on one Car Thing only (S905D2, 512 MiB RAM, ST7701S panel). Known issues: docs/known-issues.md. Use it at your own risk: read the warning in the README.

New in 0.1.0-beta.5

  • Display fix for Car Things with the stock software v8 (newer Spotify U-Boot, for example board revision 4). There, U-Boot applied a device-tree overlay at start that moves the display to another driver (DRM), so PlayThing's display could not start: the screen showed noise after the Spotify logo. The boot script now tells U-Boot to apply no overlay for PlayThing (only in RAM; the stock software is not changed).
  • python3 flash.py diag also lists the device-tree overlays of the Car Thing.
  • The system image is the same as in 0.1.0-beta.4; only the boot area changed. An update writes one block.

Android 9 on the Spotify Car Thing as a wired Apple CarPlay receiver, with DiPlay.

What you need

  • A Spotify Car Thing whose stock software runs from slot A
  • A USB-C hub with Power Delivery input and USB-A ports (tested: Anker 6-in-1), and a PD charger
  • A USB-C cable, and a Mac or a Linux computer with Python 3.8 or later, git, and libusb (macOS: brew install libusb). Windows is not supported.

First install

  1. Download plaything-0.1.0-beta.5.zip below, unzip it, and open a terminal in the folder plaything-0.1.0-beta.5.
  2. Disconnect the Car Thing. Hold presets 1 and 4 (the left and right ends of the top row), connect it directly to the computer, and release after about 3 seconds.
  3. Run python3 flash.py install, and push Enter at each question. The tool backs up the full eMMC first (about 6 minutes; keep the backups/ folder), and it tells you when to connect again with preset 4.
  4. When the tool says DONE, connect the Car Thing to the hub with the charger. PlayThing starts in about 1 minute.

If PlayThing or superbird-android is already installed: hold preset 4 while you connect, then run python3 flash.py install. On a Car Thing with the newer Spotify U-Boot, the tool asks for one more connection with preset 4.

Hold preset 1 while you connect to start the stock software at any time. The README in the folder has all the steps, the buttons, and what to do if something goes wrong.

In the zip

File Content
system.raw.xz, boot-area.img, manifest.json The image, with placeholders
flash.py, blobs.py The flash tool. It downloads the Mali GPU driver, the video decoder firmware, and DiPlay 0.2.20 from their public sources, and checks their SHA-256.
kernel-source.tar.xz, aosp-gpl-source.tar.xz The source code of the GPL and LGPL parts
README.md, SHA256SUMS

SHA-256 of the zip: ae9a700b01ca0e19b0059b1494e22222d785620d74be5a6e253104fbb395919d
SHA-256 of the finished image (after the tool adds the downloaded files): 283ed927abe91ea458a28106f57bb88d2c3a9a0d71873b6856976e62ef2e1cd6

Thanks to DiPlay by shihabal3amri, which does the CarPlay work.

PlayThing 0.1.0-beta.4

Pre-release

Choose a tag to compare

@tatujan tatujan released this 18 Oct 21:30

Beta. I tested it on one Car Thing only (S905D2, 512 MiB RAM, ST7701S panel). Known issues: docs/known-issues.md. Use it at your own risk: read the warning in the README.

New in 0.1.0-beta.4

  • python3 flash.py diag now replays the ext4 journal in memory (it still writes nothing). After a power cut, the newest file sizes are only in the journal, so 0.1.0-beta.3 could show the log files with 0 bytes. The result is the same as after e2fsck.
  • Since 0.1.0-beta.2, the flash tool supports Car Things with the newer Spotify U-Boot.
  • The images and the install steps are the same as in 0.1.0-beta.2.

Android 9 on the Spotify Car Thing as a wired Apple CarPlay receiver, with DiPlay.

What you need

  • A Spotify Car Thing whose stock software runs from slot A
  • A USB-C hub with Power Delivery input and USB-A ports (tested: Anker 6-in-1), and a PD charger
  • A USB-C cable, and a Mac or a Linux computer with Python 3.8 or later, git, and libusb (macOS: brew install libusb). Windows is not supported.

First install

  1. Download plaything-0.1.0-beta.4.zip below, unzip it, and open a terminal in the folder plaything-0.1.0-beta.4.
  2. Disconnect the Car Thing. Hold presets 1 and 4 (the left and right ends of the top row), connect it directly to the computer, and release after about 3 seconds.
  3. Run python3 flash.py install, and push Enter at each question. The tool backs up the full eMMC first (about 6 minutes; keep the backups/ folder), and it tells you when to connect again with preset 4.
  4. When the tool says DONE, connect the Car Thing to the hub with the charger. PlayThing starts in about 1 minute.

If PlayThing or superbird-android is already installed: hold preset 4 while you connect, then run python3 flash.py install. On a Car Thing with the newer Spotify U-Boot, the tool asks for one more connection with preset 4.

Hold preset 1 while you connect to start the stock software at any time. The README in the folder has all the steps, the buttons, and what to do if something goes wrong.

In the zip

File Content
system.raw.xz, boot-area.img, manifest.json The image, with placeholders
flash.py, blobs.py The flash tool. It downloads the Mali GPU driver, the video decoder firmware, and DiPlay 0.2.20 from their public sources, and checks their SHA-256.
kernel-source.tar.xz, aosp-gpl-source.tar.xz The source code of the GPL and LGPL parts
README.md, SHA256SUMS

SHA-256 of the zip: 7ec535f2794be9e0bd67964edd080da0cc8cdabc6e085192d08d34b48d614163
SHA-256 of the finished image (after the tool adds the downloaded files): 283ed927abe91ea458a28106f57bb88d2c3a9a0d71873b6856976e62ef2e1cd6

Thanks to DiPlay by shihabal3amri, which does the CarPlay work.

PlayThing 0.1.0-beta.3

Pre-release

Choose a tag to compare

@tatujan tatujan released this 18 Oct 17:20

Beta. I tested it on one Car Thing only (S905D2, 512 MiB RAM, ST7701S panel). Known issues: docs/known-issues.md. Use it at your own risk: read the warning in the README.

New in 0.1.0-beta.3

  • python3 flash.py diag (hold preset 4 while you connect): a diagnostic folder for problem reports. It writes nothing. Post its summary.txt; send its data/ folder (Android logs with device data) only privately.
  • Since 0.1.0-beta.2, the flash tool supports Car Things with the newer Spotify U-Boot.
  • The images and the install steps are the same as in 0.1.0-beta.2.

Android 9 on the Spotify Car Thing as a wired Apple CarPlay receiver, with DiPlay.

What you need

  • A Spotify Car Thing whose stock software runs from slot A
  • A USB-C hub with Power Delivery input and USB-A ports (tested: Anker 6-in-1), and a PD charger
  • A USB-C cable, and a Mac or a Linux computer with Python 3.8 or later, git, and libusb (macOS: brew install libusb). Windows is not supported.

First install

  1. Download plaything-0.1.0-beta.3.zip below, unzip it, and open a terminal in the folder plaything-0.1.0-beta.3.
  2. Disconnect the Car Thing. Hold presets 1 and 4 (the left and right ends of the top row), connect it directly to the computer, and release after about 3 seconds.
  3. Run python3 flash.py install, and push Enter at each question. The tool backs up the full eMMC first (about 6 minutes; keep the backups/ folder), and it tells you when to connect again with preset 4.
  4. When the tool says DONE, connect the Car Thing to the hub with the charger. PlayThing starts in about 1 minute.

If PlayThing or superbird-android is already installed: hold preset 4 while you connect, then run python3 flash.py install. On a Car Thing with the newer Spotify U-Boot, the tool asks for one more connection with preset 4.

Hold preset 1 while you connect to start the stock software at any time. The README in the folder has all the steps, the buttons, and what to do if something goes wrong.

In the zip

File Content
system.raw.xz, boot-area.img, manifest.json The image, with placeholders
flash.py, blobs.py The flash tool. It downloads the Mali GPU driver, the video decoder firmware, and DiPlay 0.2.20 from their public sources, and checks their SHA-256.
kernel-source.tar.xz, aosp-gpl-source.tar.xz The source code of the GPL and LGPL parts
README.md, SHA256SUMS

SHA-256 of the zip: dc5623572c98e8ca1371bbdcb6250ed247c20d217fd74ad929dd75cc22dcc1b0
SHA-256 of the finished image (after the tool adds the downloaded files): 283ed927abe91ea458a28106f57bb88d2c3a9a0d71873b6856976e62ef2e1cd6

Thanks to DiPlay by shihabal3amri, which does the CarPlay work.

PlayThing 0.1.0-beta.2

Pre-release

Choose a tag to compare

@tatujan tatujan released this 18 Oct 04:22

Beta. I tested it on one Car Thing only (S905D2, 512 MiB RAM, ST7701S panel). Known issues: docs/known-issues.md. Use it at your own risk: read the warning in the README.

New in 0.1.0-beta.2

  • The flash tool now works on Car Things with the newer Spotify U-Boot (with fip_a/fip_b in the partition table). Version 0.1.0-beta stopped on them with "STOPPED: the partition table is still the superbird-tool one". If that happened to you: keep your backups/ folder, hold preset 4 while you connect the Car Thing directly, and run python3 flash.py install from this version. The tool asks for one more connection with preset 4, checks the partition table, and then writes the image.
  • The tool writes only when the partition table of the Car Thing's own U-Boot has system_b where the tool writes. It detects the unplug by USB presence, and python3 flash.py check shows the full partition table.
  • The images are the same as in 0.1.0-beta.

Android 9 on the Spotify Car Thing as a wired Apple CarPlay receiver, with DiPlay.

What you need

  • A Spotify Car Thing whose stock software runs from slot A
  • A USB-C hub with Power Delivery input and USB-A ports (tested: Anker 6-in-1), and a PD charger
  • A USB-C cable, and a Mac or a Linux computer with Python 3.8 or later, git, and libusb (macOS: brew install libusb). Windows is not supported.

First install

  1. Download plaything-0.1.0-beta.2.zip below, unzip it, and open a terminal in the folder plaything-0.1.0-beta.2.
  2. Disconnect the Car Thing. Hold presets 1 and 4 (the left and right ends of the top row), connect it directly to the computer, and release after about 3 seconds.
  3. Run python3 flash.py install, and push Enter at each question. The tool backs up the full eMMC first (about 6 minutes; keep the backups/ folder), and it tells you when to connect again with preset 4.
  4. When the tool says DONE, connect the Car Thing to the hub with the charger. PlayThing starts in about 1 minute.

If PlayThing or superbird-android is already installed: hold preset 4 while you connect, then run python3 flash.py install. On a Car Thing with the newer Spotify U-Boot, the tool asks for one more connection with preset 4.

Hold preset 1 while you connect to start the stock software at any time. The README in the folder has all the steps, the buttons, and what to do if something goes wrong.

In the zip

File Content
system.raw.xz, boot-area.img, manifest.json The image, with placeholders
flash.py, blobs.py The flash tool. It downloads the Mali GPU driver, the video decoder firmware, and DiPlay 0.2.20 from their public sources, and checks their SHA-256.
kernel-source.tar.xz, aosp-gpl-source.tar.xz The source code of the GPL and LGPL parts
README.md, SHA256SUMS

SHA-256 of the zip: 34ddff744094a2e6a5bd22ca7c5a640d9fe7db1fca3fe3b088e567a9d0838d3b
SHA-256 of the finished image (after the tool adds the downloaded files): 283ed927abe91ea458a28106f57bb88d2c3a9a0d71873b6856976e62ef2e1cd6

Thanks to DiPlay by shihabal3amri, which does the CarPlay work.

PlayThing 0.1.0-beta

PlayThing 0.1.0-beta Pre-release
Pre-release

Choose a tag to compare

@tatujan tatujan released this 17 Oct 18:34

Use 0.1.0-beta.2. The flash tool of 0.1.0-beta stops on Car Things with the newer Spotify U-Boot ("the partition table is still the superbird-tool one"). The images are the same.

Beta. I tested it on one Car Thing only (S905D2, 512 MiB RAM, ST7701S panel). Known issues: docs/known-issues.md. Use it at your own risk: read the warning in the README.

Android 9 on the Spotify Car Thing as a wired Apple CarPlay receiver, with DiPlay.

What you need

  • A Spotify Car Thing whose stock software runs from slot A
  • A USB-C hub with Power Delivery input and USB-A ports (tested: Anker 6-in-1), and a PD charger
  • A USB-C cable, and a Mac or a Linux computer with Python 3.8 or later, git, and libusb (macOS: brew install libusb). Windows is not supported.

First install

  1. Download plaything-0.1.0-beta.zip below, unzip it, and open a terminal in the folder plaything-0.1.0-beta.
  2. Disconnect the Car Thing. Hold presets 1 and 4 (the left and right ends of the top row), connect it directly to the computer, and release after about 3 seconds.
  3. Run python3 flash.py install, and push Enter at each question. The tool backs up the full eMMC first (about 6 minutes; keep the backups/ folder), and it tells you when to connect again with preset 4.
  4. When the tool says DONE, connect the Car Thing to the hub with the charger. PlayThing starts in about 1 minute.

If PlayThing or superbird-android is already installed: hold preset 4 while you connect, then run python3 flash.py install.

Hold preset 1 while you connect to start the stock software at any time. The README in the folder has all the steps, the buttons, and what to do if something goes wrong.

In the zip

File Content
system.raw.xz, boot-area.img, manifest.json The image, with placeholders
flash.py, blobs.py The flash tool. It downloads the Mali GPU driver, the video decoder firmware, and DiPlay 0.2.20 from their public sources, and checks their SHA-256.
kernel-source.tar.xz, aosp-gpl-source.tar.xz The source code of the GPL and LGPL parts
README.md, SHA256SUMS

SHA-256 of the zip: 47f7b2ad9012dab8ebc783d6ab97fb2162ac1ddecffa80c1e55b3a5583218820
SHA-256 of the finished image (after the tool adds the downloaded files): 283ed927abe91ea458a28106f57bb88d2c3a9a0d71873b6856976e62ef2e1cd6

Thanks to DiPlay by shihabal3amri, which does the CarPlay work.