Re-Engineering YouTube for the Living Room: Bringing "Chrobalt" to RDK
Re-Engineering YouTube for the Living Room: Bringing “Chrobalt” to RDK
tl;dr: Collabora partnered with Google's YouTube Cobalt and Device Partner Engineering teams to develop the inaugural RDK-based reference platform for their next-generation living room web engine.
If you navigate to the Settings App Version menu on your Smart TV's YouTube app, you might see a version string such as 25.lts.
This identifier refers to classic Cobalt, a lightweight, open-source engine for HTML5, CSS, and JavaScript. It was specifically engineered for embedded devices with limited resources, powering YouTube across various Set-Top Boxes (STBs) and Smart TVs.
Recently, Cobalt has undergone a fundamental architectural shift: the transition from classic Cobalt to Chrobalt (which is essentially Cobalt re-architected on top of Chromium).
As part of our commitment to accelerating the adoption of open source, Collabora has worked intimately with Google’s YouTube Cobalt and Partner Engineering teams. Together, we delivered the first-ever RDK-based Chrobalt reference platform for third-party hardware, providing a blueprint for OEMs and device partners globally.
The Evolution: From Cobalt to Chrobalt
In the past, deploying a full Chromium browser on low-power STBs was feasible impossible due to extreme constraints on CPU and RAM. To solve this, Google created Cobalt to provide a minimal subset of web standards optimized for lean resource consumption and media streaming.
The Architecture
Cobalt utilized an abstraction layer known as Starboard, which allowed SoC vendors and OEMs to port the YouTube experience to their specific silicon.
However, maintaining a standalone rendering and layout engine in the face of a rapidly evolving web is a monumental task. To solve this, Google merged Cobalt's logic with Chromium to leverage a standard-compliant rendering pipeline.
Comparison: Cobalt vs. Chrobalt
| Feature | Classic Cobalt | Chrobalt |
|---|---|---|
| Core Engine | Custom Lightweight Engine | Chromium Embedder |
| Standards | Minimal Subset | Modern Web Standards |
| Security | Manual Updates | Upstream Chromium Updates |
| Hardware Layer | Starboard | Starboard |
| Version Examples | 25.lts | 26.eap 27.lts |
The resulting Chrobalt (tracking Chromium milestones like 138+) offers a "best of both worlds" scenario:
- Modernity: Rapid security patches and new features from upstream Chromium.
- Efficiency: Low-footprint media pipelines and Starboard integration tailored for TV hardware.
While reference ports exist for Android and Desktop, a reference port for external device manufacturers was the missing piece of the puzzle.
Architectural Flow
Collabora’s Role: The RDK Reference Platform
For over a year, Collabora collaborated with Google to port, integrate, and stabilize Chrobalt on an RDK (Reference Design Kit) platform utilizing Amlogic chipsets. This serves as the foundational design for major partners like Samsung and LG.
We managed the entire lifecycle of validation and integration:
- Starboard Toolchain Modernization: We restructured legacy Starboard recipes within RDK Yocto layers and updated toolchains to support the modern C++ standards required by Chromium.
- Test Suite Integration: We combined Chromium unit tests with Starboard’s NPLB (No Platform Left Behind) conformance suite.
- YTS Certification: We ensured the platform passed the YouTube Test Suite (YTS) for 4K/UHD playback, DRM, and low-latency input.
- RDK Plugin Integration: Chrobalt was integrated into RDK’s modular architecture (including RDK7), ensuring memory sandboxing and unified A/V pipelines.
- Upstream Contributions: We pushed critical fixes back into the Cobalt/Starboard codebase.
Automation and the DAB Adapter
YTS runs are executed via the Device Automation Bus (DAB). Collabora co-authored the reference implementation of the dab-adapter using Rust.
// Conceptual snippet of the DAB adapter logic
fn handle_yts_command(cmd: Command) -> Result<Response, Error> {
let response = execute_on_starboard(cmd)?;
Ok(response)
}
We extended and refined this adapter on the Starboard platform to ensure that YTS runs were reliable and reproducible.
Recognition and Results
At the BlinkOn-21 Lightning Talks this April and the YouTube Device Partner Summit in Japan, the Chrobalt RDK Reference Platform was highlighted as a validated, production-ready path for next-gen living room deployments.
Special thanks to Andr Magalhães and Denis Shimizu for their contributions.
Accelerate Your Living Room Deployments
Whether you are utilizing a custom Linux platform or RDK, Collabora can help you implement YouTube or other embedded web experiences using Cobalt/Chrobalt.
Our Service Offerings:
- Custom Porting & Starboard Integration: Bringing Chrobalt to your proprietary SoC.
- YTS Certification: Helping you pass rigorous Google certification.
- Performance Tuning: Optimizing the relationship between memory and performance:
Reach out to us today to optimize your embedded web experience!