Skip to main content

HTML-to-screen compiler for Raspberry Pi and embedded Linux: scene markup -> drm_screen layer commands + RGBA bitmaps

Project description

drm_composer

Stateless scene-to-screen-command compiler. Parses a declarative HTML-like scene, rasterizes elements to RGBA bitmaps, and emits commands for drm_screen.

Python package: drm_composer.

drm_composer  →  drm_screen  →  drm-display
 scene → cmds     layers →         frame →
 + RGBA bitmaps   composited       DRM/KMS
                  frame            pixels
  • Parses screen / layer / box / text / img / raw-buffer
  • Resolves layout (x, y, w, h, z, visibility)
  • Rasterizes to RGBA bitmaps
  • Translates layers into drm_screen commands

It holds no screen state, does not blend the final frame (that's drm_screen's compositor), and does not know DRM/KMS (that's drm_display).

Documentation

  • SYNTAX.md — complete screen-HTML reference: every element, every attribute, accepted value formats, and behaviour. Start here to write scenes.
  • outline.md — the design and where this package sits in the stack.

Install

pip install drm-composer    # also pulls in drm-screen and drm-display

Installing drm-composer brings the whole rendering chain with it — one install gets you HTML → screen.

Part of the drm_stack

Each package installs and runs on its own:

Package Role
drm-composer screen-HTML → layer commands · this package
drm-screen layers → composited frame
drm-display frame → DRM/KMS pixels

Full stack, bootstrap, and integration demo: drm_stack.

License

GPL-3.0-or-later (see LICENSE). Use it freely under the GPL. For proprietary/closed use that cannot comply with the GPL, a separate commercial license is available — contact Carsten Bund carstenbund@gmail.com.

Dependencies are permissive (BSD/MIT) and installed separately; their notices are in THIRD_PARTY_LICENSES.md.

Project details


Download files

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

Source Distribution

drm_composer-0.1.1.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

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

drm_composer-0.1.1-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file drm_composer-0.1.1.tar.gz.

File metadata

  • Download URL: drm_composer-0.1.1.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for drm_composer-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2b7d43203950bb166225e7c3bd83a0b47226312787e8fb309cc179e4bb216fd3
MD5 1105fb6ca92c88f36a779f5d20969857
BLAKE2b-256 5ad0a82eb30b662899a634fd3f5b2014654127b3751adddd4b205aa0462a08d6

See more details on using hashes here.

File details

Details for the file drm_composer-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: drm_composer-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for drm_composer-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aff647208a8c105d9d0053160fa5ecbd80c1ccda5e73dbf80505e895ab413ec7
MD5 4330ca91e0d949bf4f757b81a8400225
BLAKE2b-256 e4b6aef3db4d8635002952173c5d70f8e9244d16ae684e90edfa2c65f1aa6129

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 Pingdom Monitoring Sentry Error logging StatusPage Status page