cypress-io / cypress

Fast, easy and reliable testing for anything that runs in a browser.
https://cypress.io
MIT License
46.43k stars 3.14k forks source link

Ubuntu 24.04: MESA: error: ZINK: vkCreateInstance failed (VK_ERROR_INCOMPATIBLE_DRIVER) #29521

Open MikeMcC399 opened 1 month ago

MikeMcC399 commented 1 month ago

Current behavior

Cypress outputs garbage errors running on a headless Ubuntu 24.04 LTS GitHub-hosted runner:

MESA: error: ZINK: vkCreateInstance failed (VK_ERROR_INCOMPATIBLE_DRIVER) glx: failed to create drisw screen

The test is however successful.

Desired behavior

Cypress should not output error messages which do not apply to a headless situation. Vulkan is only used when there is a GPU. On a headless system there is by definition no GPU active.

Test code to reproduce

https://github.com/MikeMcC399/github-action/blob/test/ubuntu-24-04/.github/workflows/example-basic.yml

  basic-ubuntu-24:
    runs-on: ubuntu-24.04
    timeout-minutes: 10
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Cypress tests
        uses: ./
        with:
          working-directory: examples/basic
          build: npx cypress info

Cypress Version

First reported on version 13.9.0 Still reproducible on version 13.11.0

Node version

v20.8.1 v20.13.1

Operating System

Ubuntu 24.04 LTS

Debug Logs

https://github.com/MikeMcC399/github-action/actions/runs/9090855358/job/24984379805#step:3:349

  cypress:server:cypress scaling electron app in headless mode +0ms
MESA: error: ZINK: vkCreateInstance failed (VK_ERROR_INCOMPATIBLE_DRIVER)
glx: failed to create drisw screen

Other

jennifer-shehane commented 1 month ago

Should probably do the same as https://github.com/cypress-io/cypress/pull/29278 and expand the logic to strip these out.

MikeMcC399 commented 1 month ago

@jennifer-shehane

  • Should probably do the same as #29278 and expand the logic to strip these out.
jennifer-shehane commented 1 month ago

@MikeMcC399 True, we did make some progress on the Electron 28 upgrade, so it might come first.