Skip to main content

Gitzian

This package is a runtime client for Gitzian display hardware for supported Raspberry Pi devices.

The client receives the display stream over the network, drives the connected display, handles backlight and touch hardware, and forwards local input events.

Changelog

0.1.5

  • Added generic gamepad forwarding for common gamepads

Supported displays

Display Resolution Backlight Touch
TL021WVC02CT-B1323B 480x480 LM3630A CST826
TL032FWV01CT-I1440A 320x820 LM3630A FT6336U
TL040HDS30CT1-B1620A 720x720 LM3630A FT6336
TL040HDS20CT-B1502A 720x720 LM3630A FT6336

Supported Raspberry Pi models

Gitzian is intended to run on Raspberry Pi hardware with I2C and SPI enabled.

Recommended models:

  • Raspberry Pi Zero 2 W
  • Raspberry Pi 2
  • Raspberry Pi 3, tested with Model B
  • Raspberry Pi 4, tested with Model B
  • Raspberry Pi 5

Raspberry Pi Zero v1.1 is supported, but not recommended for displays larger than 360×360 because of weaker Wi-Fi performance. It is still usable for static or lower-bandwidth use, but not recommended for gaming or fluid video streaming.

Actual streaming quality depends on Wi-Fi quality, network latency, and available bandwidth.

Raspberry Pi setup

Enable I2C and SPI:

sudo raspi-config

Install basic build requirements:

sudo apt update
sudo apt install -y python3-dev build-essential

Raspberry Pi 5 GPCLK0 support

Raspberry Pi 5 requires the Gitzian GPCLK0 overlay package for proper display clock output.

sudo apt update
sudo apt install -y curl

curl -fsSL https://apt.gitzian.com/gitzian-archive-keyring.gpg \
  | sudo tee /usr/share/keyrings/gitzian-archive-keyring.gpg >/dev/null

sudo tee /etc/apt/sources.list.d/gitzian.sources >/dev/null <<'EOF'
Types: deb
URIs: https://apt.gitzian.com
Suites: trixie
Components: main
Architectures: arm64
Signed-By: /usr/share/keyrings/gitzian-archive-keyring.gpg
EOF

sudo apt update
sudo apt install -y gitzian-rp1-gpclk0-dkms

Install

pip install gitzian

First run

Create the default configuration:

gitzian-pi --init-config

Edit the config file:

~/.config/gitzian/client/default.ini

At minimum, set the network target for your Gitzian streaming server:

[network]
enabled = true
server_host = 10.77.0.4
server_port = 55556

Start the client:

gitzian-pi

Equivalent module form:

python -m gitzian

Use a custom config file:

gitzian-pi --config ./default.ini

Runtime commands

Runtime commands are typed into the terminal while Gitzian is running.

Command Description
help Show available runtime commands.
brightness Show the current brightness percentage.
brightness 0 Turn the display backlight off.
brightness 75 Set backlight brightness to 75%.
brightness off Turn the display backlight off.
brightness max Set backlight brightness to 100%.

When runtime debug tools are enabled in the config, these commands are also available:

Command Description
fps Show current frame-rate statistics.
fps run Print frame-rate statistics periodically.
fps stop Stop periodic frame-rate output.
input list List detected input devices.
input reload Reload input devices.

Configuration

The main config selects the display profile. The default mode is automatic:

[display]
config = auto

In automatic mode, Gitzian reads the FPGA firmware ID and resolves the display profile through the installed display manifest. Startup output shows the resolved display INI before display, backlight, and touch hardware are initialized.

Manual selection is also supported:

[display]
config = TL040HDS30CT1-B1620A.ini

A custom absolute INI path can be used for local development or unsupported hardware:

[display]
config = /home/gitzi/my_custom_display.ini

The display profile contains display-specific reset, panel init, I2C, backlight, and touch settings. Touch and backlight sections are optional for displays that do not provide them.

Network notes

Gitzian is a streaming client. Network connectivity to the configured Gitzian streaming server is required.

For secure use over the internet, use a private tunnel such as WireGuard.

Support

Website:

https://gitzian.com

For help, questions, or special requirements, contact:

marco [at] gitzian.com

There are no stupid questions. If you are unsure whether your setup is supported, ask.

License

This Python package is released under the MIT License.

See LICENSE for details.

Trademark notice

Raspberry Pi is a trademark of Raspberry Pi Ltd. This project is not affiliated with or endorsed by Raspberry Pi Ltd.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitzian-0.1.5.tar.gz (57.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitzian-0.1.5-py3-none-any.whl (71.3 kB view details)

Uploaded Python 3

File details

Details for the file gitzian-0.1.5.tar.gz.

File metadata

  • Download URL: gitzian-0.1.5.tar.gz
  • Upload date:
  • Size: 57.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for gitzian-0.1.5.tar.gz
Algorithm Hash digest
SHA256 c2677846bfc53ab1ed4d0195280a00a44bdf94bffbfb39ab8b767dbb7b175faf
MD5 a80271181c1e170776fc79059b74c1e8
BLAKE2b-256 d37c1badfca8e05672c02a6380f88ff1da127b76a46ee33b069fec7569b95285

See more details on using hashes here.

File details

Details for the file gitzian-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: gitzian-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 71.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for gitzian-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 98ffa36db12a575839b01bc26ffba833d821d21d7c499036f73d7dc4109068df
MD5 2b8509e7ae1737a4d7798a1dce67e114
BLAKE2b-256 92742b5122733a6fc373412319ca9c231706796efa283f2a0b2bb86352e97a0a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page