Mirror of github.com/ewanc26/channel-blue
  • C 88.2%
  • Makefile 11.8%
Find a file
Ewan Croft 6e6d856eed build: add release target that copies versioned bundle to Wii software dir
Versioned artifacts (channel-blue, meta, icon) are copied to
/Volumes/Storage/Wii software with a vX.X.X suffix derived from the
latest git tag, falling back to the short commit hash when untagged.
2026-07-10 04:30:47 +01:00
assets/fonts feat(render): add FreeType text rendering pipeline 2026-07-10 01:55:39 +01:00
data feat(render): add FreeType text rendering pipeline 2026-07-10 01:55:39 +01:00
source feat(render): add image decoding and texture cache 2026-07-10 02:11:12 +01:00
.gitattributes chore: add gitignore and gitattributes for devkitPro 2026-07-10 01:22:18 +01:00
.gitignore feat(render): add FreeType text rendering pipeline 2026-07-10 01:55:39 +01:00
AGENTS.md docs(agents): enforce atomic conventional commits 2026-07-10 01:22:10 +01:00
icon.png chore(hbc): add Homebrew Channel metadata 2026-07-10 01:22:35 +01:00
LICENSE docs(license): add AGPL-3.0-or-later 2026-07-10 01:22:27 +01:00
Makefile build: add release target that copies versioned bundle to Wii software dir 2026-07-10 04:30:47 +01:00
meta.xml chore(hbc): add Homebrew Channel metadata 2026-07-10 01:22:35 +01:00
README.md docs(readme): add project README 2026-07-10 01:22:38 +01:00

Channel Blue

A Bluesky client for the Nintendo Wii.

Browse your timeline, read posts, and compose replies — all from the comfort of
your couch, using the Wiimote and a USB keyboard. Built on the
AT Protocol via the
wolfram C SDK.

Status: Early development. The repo contains project scaffolding and
metadata; no source code has been committed yet.

Features

  • Browse your home timeline (reverse-chronological feed)
  • Read individual posts and threads
  • Compose posts and replies (USB keyboard input)
  • Like, repost, and follow
  • Avatar thumbnails
  • Session persistence on SD card

Requirements

Hardware

  • Nintendo Wii with Homebrew Channel installed
  • SD card (FAT16 or FAT32)
  • WiFi connection (802.11b/g)
  • USB keyboard (recommended for composing posts)

Software

  • devkitPro toolchain
    (devkitPPC, libogc)
  • Portlibs installed via dkp-pacman:
    • mbedtls (TLS for HTTPS)
    • freetype (font rendering)
    • libpng (image decoding)
    • zlib (compression)
  • wolfram C SDK (cross-compiled for
    PPC)

Building

# Install the devkitPro toolchain (https://devkitpro.org/wiki/Getting_Started)
# Then install portlibs:
sudo dkp-pacman -S wii-dev mbedtls freetype libpng zlib

# Build libwolfram for PPC (see wolfram repo for instructions)

# Build Channel Blue
make

The output is channel-blue.dol.

Installing

Copy the build output to your SD card:

sd:/
  apps/
    channel-blue/
      boot.dol       ← channel-blue.dol (renamed)
      meta.xml       ← from repo root
      icon.png       ← from repo root

Or deploy directly over WiFi:

wiiload channel-blue.dol

Then launch Channel Blue from the Homebrew Channel.

Controls

Wiimote Classic Controller Action
D-pad Up/Down Left stick Scroll timeline
A A Select / Open post
B B Back / Cancel
Plus R trigger Next page
Minus L trigger Previous page
Home Start Menu

A USB keyboard can be used to type post text.

Dependencies

Library Purpose License
wolfram AT Protocol / XRPC MIT
libogc Wii hardware abstraction Various
mbedTLS TLS/HTTPS Apache-2.0
FreeType Font rendering FreeType GPL/FTL
libpng PNG decoding libpng license
lwIP TCP/IP stack BSD

Roadmap

  • Makefile and hello-world DOL
  • Cross-compile mbedTLS and libwolfram for PPC
  • WiFi init + HTTPS connectivity to bsky.social
  • GX rendering pipeline (framebuffer, 2D quads, textures)
  • FreeType bitmap font atlas
  • Login screen and session persistence
  • Timeline view with cursor pagination
  • Post composition via USB keyboard
  • Social actions (like, repost, follow)
  • Avatar thumbnails
  • Error handling and WiFi retry logic

Contributing

See AGENTS.md for code style, technical philosophy, and
development workflow.

License

Channel Blue is licensed under the GNU Affero General Public License v3.0 or
later
— see LICENSE for the full text.

The wolfram SDK it links against is MIT-licensed. The AGPL's network
interaction clause applies to Channel Blue's own source code.