Repository navigation
Drop tint2 from the headful image - #513
Merged
Merged
Conversation
robertjamesprior
marked this pull request as ready for review
November 10, 2026 16:54
Contributor
Author
|
Picked chruffins to review: touched the changed code in |
chruffins
approved these changes
Nov 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
what
Drops the
tint2package from the headful image. Nothing in the current image starts it.why
When a session starts a panel, the strut that panel declares is subtracted from the screen and published as
_NET_WORKAREA, and a maximized window fills the work area rather than the screen. In one affected session the work area came back as0, 0, 960, 1080on a 1920 root, with the browser window maximized at960x1080+0+0and the panel as the only other client window (1920x28+0+0). The result is a browser covering half the display with the root background beside it, which is reported as the window arriving half width.This cannot be corrected from the window side: re-asserting the maximized state is a no-op on a window that is already maximized into the work area, so a window at 960 stays at 960. Removing the package removes the vector, and a session that tries to start a panel now gets a failed start instead of a resized work area.
rationale and compatibility
tint2was intentionally included in the original WebRTC/demo image as part of the old desktop-panel path. That path includedtint2_startup.shand panel configuration, but those legacy payloads were removed in #275. The current supervisor, wrapper, API, Chromium launcher, and live-view client do not start or referencetint2. The remaining package is legacy image content, not a current browser/session dependency.The compatibility risk is an external
process execworkload that startstint2directly by name. There is no in-repo client or documented runtime contract showing that dependency. If a panel is wanted back later, the alternative is shipping atint2rcwithstrut_policy = none, which keeps the panel and stops the reservation.verification
The geometry and work-area properties above were read from the affected session with
xwininfo,xprop -root _NET_WORKAREAandxprop -id <win> _NET_WM_STATE. The change itself is a package removal with no runtime code path; the check is that a panel start inside a session no longer reserves space. Existing public image checks are passing, including the headful build, launcher, live-view client, server tests, and security scans.release
kernel-images-privatebuilds the released images, so this needs the upstream sync PR or a cherry-pick into the private repo before it reaches a release. After the private image is built, canary it and verify that no panel process starts,_NET_WORKAREAremains full width, and live view, CDP, Playwright, screenshots, and process execution still work.Note
Low Risk
Image-only package removal with no in-repo runtime dependency; only risk is an undocumented external workload that explicitly launches tint2.
Overview
Removes the unused
tint2package from thechromium-headfulimage apt install list and documents why a session-started panel must not ship: tint2 declares an X11 strut that shrinks_NET_WORKAREA, so a maximized browser can land at half the root width with desktop background beside it—a geometry bug that cannot be fixed by re-maximizing the window.Nothing in the current image or supervisor stack starts tint2 (legacy panel path was dropped earlier); the change only removes the package so ad-hoc panel starts fail instead of corrupting the work area. External workloads that
exectint2 by name would lose that binary.Reviewed by Cursor Bugbot for commit d5613f5. Bugbot is set up for automated code reviews on this repo. Configure here.