<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/a-libweston-based-compositor-for-automotive-grade-linux-mmycybdgy" -->

---
title: A libweston-based compositor for Automotive Grade Linux
description: Collabora describes the creation of agl-compositor, a new libweston-based Wayland compositor built specifically for Automotive Grade Linux (AGL). The...
canonical: https://daily.dev/posts/a-libweston-based-compositor-for-automotive-grade-linux-mmycybdgy
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: A libweston-based compositor for Automotive Grade Linux | daily.dev
og:description: Collabora describes the creation of agl-compositor, a new libweston-based Wayland compositor built specifically for Automotive Grade Linux (AGL). The...
og:url: https://daily.dev/posts/a-libweston-based-compositor-for-automotive-grade-linux-mmycybdgy
og:image: https://api.daily.dev/og/posts/mmYcYBdgY.png
og:image:alt: A libweston-based compositor for Automotive Grade Linux
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# A libweston-based compositor for Automotive Grade Linux

**[Collabora Blog](https://daily.dev/sources/collabora)** · 12 min read · 0 upvotes · 0 comments

## Summary

Collabora describes the creation of agl-compositor, a new libweston-based Wayland compositor built specifically for Automotive Grade Linux (AGL). The motivation was to replace the unmaintained ivi-shell and wayland-ivi-extension with a cleaner architecture using xdg-shell and custom private protocol extensions. The compositor separates the shell UI from the compositor process, supports Qt, Chromium (via WAM and Ozone), and now GTK/GDK toolkits. It includes a stateful policy engine with allow-all, deny-all, and Role Based Arbitration (RBA) modes to enforce driver distraction mitigation rules. Remote output streaming via the remoting-plugin and Waltham protocol enables scenarios like projecting navigation onto an instrument cluster. The design is intentionally minimal to encourage community contribution and customization, with future plans for better abstraction layers and reuse of weston's upstream testing framework.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.collabora.com/news-and-blog/news-and-events/a-libweston-based-compositor-for-automotive-grade-linux.html>

## Questions this post answers

### Why did Automotive Grade Linux replace ivi-shell with a custom compositor?

AGL replaced ivi-shell because it was not maintained upstream, and the wayland-ivi-extension added unnecessary abstraction complexity. The new agl-compositor is built on libweston and libweston-desktop, uses the standard xdg-shell protocol, and implements custom private Wayland protocol extensions for AGL-specific needs — avoiding the need to maintain a long-term fork of weston.

_Engineers navigating automotive Linux graphics stack decisions track upstream vs. fork trade-offs on daily.dev._

### How does the agl-compositor handle remote output streaming to instrument clusters?

The agl-compositor loads the remoting-plugin (shared with weston) to stream display buffers to remote outputs. A separate plugin handles input events sent back from the remote display using Waltham, a Wayland-like protocol that operates over the network. This enables scenarios like overlaying a navigation app between the speedometer and tachometer in a car's instrument cluster.

_Developers building multi-display automotive Linux systems find relevant graphics stack coverage on daily.dev._

### How does the agl-compositor policy engine control which clients can use private Wayland extensions?

The agl-compositor includes a stateful policy engine that defaults to an allow-all policy. A deny-all policy retrieves a client's SMACK label and compares it against a static list before permitting interface binding. A third model, Role Based Arbitration (RBA), is an external off-the-shelf policy. Vendors can also hook in custom policies, all aimed at satisfying driver distraction mitigation requirements.

_Teams shipping AGL-based products can follow policy engine and compositor developments on daily.dev._

## Similar posts on daily.dev

- [Bringing Wayland Support to Avalonia](https://daily.dev/posts/bringing-wayland-support-to-avalonia-6zfwy0f8s) · Avalonia UI Blog · 1 upvotes · 0 comments
- [Exploring the Fragmentation of Wayland, an xdotool adventure](https://daily.dev/posts/exploring-the-fragmentation-of-wayland-an-xdotool-adventure-jtuqhvmvy) · Lobsters · 0 upvotes · 0 comments
- [Wayland Developers Target June For Weston 16 Release](https://daily.dev/posts/wayland-developers-target-june-for-weston-16-release-mrda2udkh) · Phoronix · 0 upvotes · 0 comments
- [Ubuntu’s old Unity desktop remade in Wayfire and Libadwaita](https://daily.dev/posts/ubuntu-s-old-unity-desktop-remade-in-wayfire-and-libadwaita-jgh0abp3u) · omg\! ubuntu\! · 1 upvotes · 0 comments

---

Tags: [#linux](https://daily.dev/tags/linux)

[View this post on daily.dev](https://daily.dev/posts/a-libweston-based-compositor-for-automotive-grade-linux-mmycybdgy)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"A libweston-based compositor for Automotive Grade Linux","url":"https://daily.dev/posts/a-libweston-based-compositor-for-automotive-grade-linux-mmycybdgy","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/a-libweston-based-compositor-for-automotive-grade-linux-mmycybdgy"},"datePublished":"2026-08-11T08:55:08.629Z","dateModified":"2026-08-11T09:24:20.098Z","description":"Collabora describes the creation of agl-compositor, a new libweston-based Wayland compositor built specifically for Automotive Grade Linux (AGL). The...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4c9742eb2e9bca95b4018ef35d07bca8?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4c9742eb2e9bca95b4018ef35d07bca8?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Collabora Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Collabora Blog","logo":"https://media.daily.dev/image/upload/s--ZGZ0FjqS--/f_auto,q_auto/v1786438306/logos/collabora?_a=BAMAMicg0","url":"https://daily.dev/sources/collabora"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/a-libweston-based-compositor-for-automotive-grade-linux-mmycybdgy","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"linux","timeRequired":"PT12M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Collabora Blog","item":"https://daily.dev/sources/collabora"},{"@type":"ListItem","position":3,"name":"A libweston-based compositor for Automotive Grade Linux"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/a-libweston-based-compositor-for-automotive-grade-linux-mmycybdgy#faq","mainEntity":[{"@type":"Question","name":"Why did Automotive Grade Linux replace ivi-shell with a custom compositor?","acceptedAnswer":{"@type":"Answer","text":"AGL replaced ivi-shell because it was not maintained upstream, and the wayland-ivi-extension added unnecessary abstraction complexity. The new agl-compositor is built on libweston and libweston-desktop, uses the standard xdg-shell protocol, and implements custom private Wayland protocol extensions for AGL-specific needs — avoiding the need to maintain a long-term fork of weston. Engineers navigating automotive Linux graphics stack decisions track upstream vs. fork trade-offs on daily.dev."}},{"@type":"Question","name":"How does the agl-compositor handle remote output streaming to instrument clusters?","acceptedAnswer":{"@type":"Answer","text":"The agl-compositor loads the remoting-plugin (shared with weston) to stream display buffers to remote outputs. A separate plugin handles input events sent back from the remote display using Waltham, a Wayland-like protocol that operates over the network. This enables scenarios like overlaying a navigation app between the speedometer and tachometer in a car's instrument cluster. Developers building multi-display automotive Linux systems find relevant graphics stack coverage on daily.dev."}},{"@type":"Question","name":"How does the agl-compositor policy engine control which clients can use private Wayland extensions?","acceptedAnswer":{"@type":"Answer","text":"The agl-compositor includes a stateful policy engine that defaults to an allow-all policy. A deny-all policy retrieves a client's SMACK label and compares it against a static list before permitting interface binding. A third model, Role Based Arbitration (RBA), is an external off-the-shelf policy. Vendors can also hook in custom policies, all aimed at satisfying driver distraction mitigation requirements. Teams shipping AGL-based products can follow policy engine and compositor developments on daily.dev."}}]}
```

