{"id":50754257,"url":"https://github.com/wheaney/udl_sink","last_synced_at":"2026-06-11T03:32:13.138Z","repository":{"id":354719442,"uuid":"1224822084","full_name":"wheaney/udl_sink","owner":"wheaney","description":"Sink to receive and parse data from the UDL driver built into the Linux kernel","archived":false,"fork":false,"pushed_at":"2026-05-13T05:11:58.000Z","size":53,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-13T06:38:28.022Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wheaney.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-29T17:00:49.000Z","updated_at":"2026-05-13T05:12:02.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/wheaney/udl_sink","commit_stats":null,"previous_names":["wheaney/udl_sink"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wheaney/udl_sink","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wheaney%2Fudl_sink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wheaney%2Fudl_sink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wheaney%2Fudl_sink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wheaney%2Fudl_sink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wheaney","download_url":"https://codeload.github.com/wheaney/udl_sink/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wheaney%2Fudl_sink/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34181554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-11T03:32:12.033Z","updated_at":"2026-06-11T03:32:13.133Z","avatar_url":"https://github.com/wheaney.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# udl_sink\n\nSink-side parser/decoder for the UDL command stream emitted by the Linux kernel driver.\n\n## Current scope\n\nThe first implementation pass focuses on the packet formats that show up in the current kernel damage path:\n\n- `WRITEREG` register writes\n- `WRITERAW8` raw sidecar writes for the 8bpp plane\n- `WRITERL8` repeated sidecar writes for the 8bpp plane\n- `WRITECOPY8` device-side copies within the 8bpp plane\n- `WRITERLX8` extended run-length packets for the 8bpp plane\n- `WRITERAW16` raw RGB565 damage writes\n- `WRITERL16` repeated RGB565 damage writes\n- `WRITECOPY16` device-side framebuffer copies\n- `WRITERLX16` extended run-length packets from `udl_transfer.c`\n\nThe sink now decodes into internal 16bpp and 8bpp device planes, applies the base-address registers for each plane, and composes the visible image from that state.\n\n- The existing caller-provided RGB565 framebuffer is still supported as a compatibility output.\n- An optional XRGB8888 output can be attached with `udl_sink_attach_xrgb8888_output()` to preserve full 24bpp reconstruction when the stream uses the 8bpp sidecar plane.\n- `udl_transport` now owns the reusable bulk-stream reassembly path so callers can feed transport-sized reads directly into the library.\n\nThe current kernel DRM driver in `udl_ref` still initializes only the 16bpp path, but the sink can now decode 24bpp-style command streams on the receiving side.\n\n## Build\n\n```sh\ncmake -S . -B build\ncmake --build build\nctest --test-dir build --output-on-failure\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwheaney%2Fudl_sink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwheaney%2Fudl_sink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwheaney%2Fudl_sink/lists"}