Skip to content

majestic lite: is WebRTC intended for 8 MB NOR devices? (+37% since April) #2344

Description

@bneigher

Is WebRTC intended for the lite majestic variant on 8 MB NOR?

Not a bug report — a sizing question, with measurements, from someone who may
simply be holding it wrong.

majestic.<family>.lite has grown 37% since April:

2026-04-22    685,672 B
2026-08-15    811,176 B   (+125,504)
2026-08-29    938,548 B   (+127,372)

Section-level, the last step is .text +86,084 and .rodata +34,712. The new
dynamic symbols identify it fairly clearly:

mbedtls_ssl_conf_dtls_srtp_protection_profiles
mbedtls_ssl_get_dtls_srtp_negotiation_result
mbedtls_ssl_conf_dtls_cookies
mbedtls_ssl_conf_export_keys_ext_cb
evhttp_send_reply_chunk_with_cb, evdns_base_load_hosts, ...

plus strings /ws/webrtc, Adapt bitrate to WebRTC viewers. So: DTLS-SRTP and
libevent-based signalling — a WebRTC stack.

The question. On a gk7202v300 with 8 MB NOR, the rootfs partition is 5632k.
For devices whose video transport is external (ours is a separate agent speaking
WebTransport/QUIC; others use RTSP into an NVR, or RTMP), that WebRTC stack is
dead weight — but it is not optional: BR2_OPENIPC_MAJESTIC defaults to "lite",
we are already on it, and majestic is a prebuilt binary so we cannot configure the
feature out. The published alternatives are ultimate (larger) and fpv (a
reduced build we cannot use — we need the full audio and encoder pipeline).

Is WebRTC in lite deliberate for 8 MB devices, or would a variant without it
make sense — something like lite-nowebrtc? I am happy to be told this is the
intended direction and that 8 MB NOR is simply reaching end of life; that is a
perfectly good answer and I would rather know than guess.

For context, not as a complaint: we absorbed it. Upstream's base actually
shrank 464K in the same window, but every byte came from files we already
trimmed locally (libnl*, jshn, jsonfilter, libblobmsg_json,
libjson_script), so it bought us nothing while majestic's growth cost us in
full. We have since reclaimed 64k by shrinking the kernel partition (the uImage
measured 1,883,236 / 1,883,236 / 1,883,228 across three consecutive nightlies, so
1920k was over-provisioned). That gives us roughly one more cycle at the current
rate.

Asking because if the answer is "a no-WebRTC lite is reasonable", that likely
helps every 8 MB NOR device, not just ours.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions