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).

See outline.md for the design.

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.0.tar.gz (19.3 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.0-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: drm_composer-0.1.0.tar.gz
  • Upload date:
  • Size: 19.3 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.0.tar.gz
Algorithm Hash digest
SHA256 849bfb6e381192398999ef540486cf1f77ce8ad8dad930ec50ca056474a6d00b
MD5 9f9e766373b2469d773728bbc30414aa
BLAKE2b-256 ec5eb5b80c94c290bb863821caf19448d02b358d47b364d76a65ba9cb3b6121c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: drm_composer-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 452c4e57c21ac35138f1893ffe51c7be05e1d870312854d12137c3d6f4dd00fb
MD5 64e729c9515cc07d995391b5d6ce2f5b
BLAKE2b-256 c40bbaea23bea401f3887ae733beb85eaef12a92b94607ab8ae6b422e58443d4

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