Repository navigation
feat(drivers): agent-desktop on Linux, on an X11Driver base the reference driver shares - #516
Conversation
…ence driver shares Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s version, which a checkout builds from Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ns the driver's folder Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
| if request.param == "linux": | ||
| _fake_x11(monkeypatch) |
There was a problem hiding this comment.
Linux session values go unchecked
The new Linux cases never set or check DISPLAY, XAUTHORITY, DBUS_SESSION_BUS_ADDRESS, or XDG_RUNTIME_DIR. Removing these names from KEPT would still pass the tests, even though the child process could lose access to the desktop or AT-SPI.
Set distinct values in the Linux fixture and assert that the fake child receives them. Keep the existing assertion that excludes the control token.
Prompt To Fix With AI
This is a comment left during a code review.
Path: tst/unit/drivers/agent_desktop_driver_test.py
Line: 93-94
Comment:
**Linux session values go unchecked**
The new Linux cases never set or check `DISPLAY`, `XAUTHORITY`, `DBUS_SESSION_BUS_ADDRESS`, or `XDG_RUNTIME_DIR`. Removing these names from `KEPT` would still pass the tests, even though the child process could lose access to the desktop or AT-SPI.
Set distinct values in the Linux fixture and assert that the fake child receives them. Keep the existing assertion that excludes the control token.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
There was a problem hiding this comment.
Fixed in b7631b2: the fixture sets each of DISPLAY, XAUTHORITY, DBUS_SESSION_BUS_ADDRESS and XDG_RUNTIME_DIR, and test_a_call_reaches_a_server_of_its_own_headed_when_the_setting_says_with_none_of_the_drivers_environment asserts the fake server receives all four on Linux and none of them on macOS.
…y and bus, and not on macOS Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
agent-desktop now runs as a computer driver on an X11 desktop on Linux (amd64 and arm64), as well as on macOS. It's the second driver the Cua Driver Bench can run on Linux, beside cua-driver.
agentenv_protocol.computer._x11.X11Driver, behind a newx11extra (mss, python-xlib). This mirrorsMacOSDriveron macOS. The reference driver becomes a thin subclass, and agent-desktop builds on the same base.agent-desktopandagent-desktop-linux-clipboard-owner) per arch.agent-desktop mcpsays and lists exactly what macOS's does (the same instructions and 67 tools), so onemcp.jsonpins both.Testing
FD-5306
🤖 Generated with Claude Code


Confidence Score: 5/5
The PR appears safe to merge; the previous test-coverage finding is addressed.Summary
The PR adds Linux support for
agent-desktopand moves the reference driver's X11 code into the sharedX11Driverbase.Diagram
%%{init: {'theme': 'neutral'}}%% flowchart TD Reference[ReferenceDriver] --> X11[X11Driver] Linux[AgentDesktop on Linux] --> X11 Mac[AgentDesktop on macOS] --> MacBase[MacOSDriver] Linux --> MCP[agent-desktop MCP tools] Mac --> MCPReviews (2) · Last reviewed commit: "test(drivers): agent-desktop's server ge..." · Reviewed by Greptile