From c3dcaf9c44b5253b725a98a03896b952bfc071c5 Mon Sep 17 00:00:00 2001 From: NanoBot Date: Fri, 12 Jun 2026 16:16:10 +0200 Subject: [PATCH 1/2] Consider WAYLAND_DISPLAY for headed operation on Linux. --- packages/playwright-core/src/tools/mcp/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playwright-core/src/tools/mcp/config.ts b/packages/playwright-core/src/tools/mcp/config.ts index f1994e4ea0a37..275470f62e49e 100644 --- a/packages/playwright-core/src/tools/mcp/config.ts +++ b/packages/playwright-core/src/tools/mcp/config.ts @@ -127,7 +127,7 @@ export async function resolveCLIConfigForMCP(cliOptions: CLIOptions, env?: NodeJ const browser = await validateBrowserConfig(result.browser); if (browser.launchOptions.headless === undefined) - browser.launchOptions.headless = os.platform() === 'linux' && !process.env.DISPLAY; + browser.launchOptions.headless = os.platform() === 'linux' && !process.env.DISPLAY && !process.env.WAYLAND_DISPLAY; validateOutputDir(result.outputDir); From c43fb02d71644838ee463d8967ad9b0f6107d7e3 Mon Sep 17 00:00:00 2001 From: NanoBot Date: Fri, 12 Jun 2026 16:27:12 +0200 Subject: [PATCH 2/2] one more --- packages/playwright/src/mcp/test/testContext.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playwright/src/mcp/test/testContext.ts b/packages/playwright/src/mcp/test/testContext.ts index f073bb752e649..d3643bc9e1ff0 100644 --- a/packages/playwright/src/mcp/test/testContext.ts +++ b/packages/playwright/src/mcp/test/testContext.ts @@ -103,7 +103,7 @@ export class TestContext { if (options?.headless !== undefined) this.computedHeaded = !options.headless; else - this.computedHeaded = !process.env.CI && !(os.platform() === 'linux' && !process.env.DISPLAY); + this.computedHeaded = !process.env.CI && !(os.platform() === 'linux' && !process.env.DISPLAY && !process.env.WAYLAND_DISPLAY); } private async _enqueue(fn: () => Promise): Promise {