RESOLVED WONTFIX 278277
REGRESSION(281888@main) [WebGL][macOS] WebGL on GitHub Action macOS-13 isn't working anymore
https://bugs.webkit.org/show_bug.cgi?id=278277
Summary REGRESSION(281888@main) [WebGL][macOS] WebGL on GitHub Action macOS-13 isn't ...
Max Schmitt
Reported 2024-08-17 10:16:38 PDT
After https://commits.webkit.org/281888@main WebGL isn't working anymore on GitHub Actions environments. Builds for macOS-14 seem to be working fine while macOS-13 WebGL isn't working. gl.createShader returns undefined. Debug output from the OS: ``` Run system_profiler SPDisplaysDataType 2024-08-17 17:12:05.828 system_profiler[6901:38703] Device PreExisted [00000001000002d7] Apple Paravirtual device Graphics/Displays: Apple Paravirtualized Graphics Device: Chipset Model: Apple Paravirtualized Graphics Device Type: GPU VRAM (Total): 64 MB Vendor: Apple (0x106b) Device ID: 0xeeee Revision ID: 0x0000 Metal Support: Metal 2 Displays: Display: Resolution: 1920 x 1080 (1080p FHD - Full High Definition) UI Looks like: 1920 x 1080 @ 30.00Hz Framebuffer Depth: 24-Bit Color (ARGB8888) Main Display: Yes Mirror: Off Online: Yes Connection Type: Internal ``` If you need anything else from our side, please let us know. Thanks!
Attachments
Kimmo Kinnunen
Comment 1 2024-08-19 01:05:22 PDT
Would you have commands with which I could create a VM that would be representative of the environment? Also command with which I can run binaries within the VM? Likely the virtualization in macOS 13 actions runner does not return a Metal device that would be compatible with current ANGLE Metal needs. It's unclear if this is macOS 13 specific or specific to the machines that run the mac OS 13 GitHub Actions.
Max Schmitt
Comment 2 2024-08-19 01:30:55 PDT
This issue originates from Playwright (web-testing automation framework: https://github.com/microsoft/playwright) which allows to automate WebKit. GitHub Action runners don't provide an idomatic way to connect to their GUI, so I observe the issue when trying to render on a canvas with WebGL and save the image or evaluate WebGL web platform APIs. I don't think that GitHub allows to re-create their environment locally, instead running official WebKit on macos-13 with GitHub Actions should surface this issue. Thinking e.g. about the macOS WebKit or Safari Web Platform Tests. Is there a guide on how to run them on macOS? Then I can run them on a compiled version of ours.
Kimmo Kinnunen
Comment 3 2024-08-19 02:03:48 PDT
> Is there a guide on how to run them on macOS? Then I can run them on a compiled version of ours. Please clarify: I don't understand to which the "them" refers to? I don't understand what "compiled version of ours" refers?
Kimmo Kinnunen
Comment 4 2024-08-20 02:07:53 PDT
Would you be able to run `system_profiler SPHardwareDataType` on the instance and paste the output here?
Max Schmitt
Comment 5 2024-08-20 02:59:54 PDT
Sorry for the late response, I was working on a reproduction, still on-going. Meanwhile re your comments: > I don't understand to which the "them" refers to? them was "WPT" - I had the hope that we can run WPT on such an environment quite easily, with maybe following some official WebKit docs which would reproduce this. > I don't understand what "compiled version of ours" refers? Playwright uses WebKit with a few patches on top and serves them to out customers. These patches are mostly in the Inspector area, so we can automate it better. While I'm able to reproduce it with that - in the ideal scenario I'm able to provide a reproduction with stock WebKit aka. MiniBrowser. `system_profiler SPHardwareDataType` output: ``` Hardware: Hardware Overview: Model Name: Mac mini Model Identifier: Macmini6,2 Processor Name: Unknown Processor Speed: 3.19 GHz Number of Processors: 1 Total Number of Cores: 4 L2 Cache (per Core): 256 KB L3 Cache: 12 MB Memory: 14 GB System Firmware Version: 1.00 OS Loader Version: 577.140.2~22 Serial Number (system): C02J6CC3G1HW Hardware UUID: 4203018E-580F-C1B5-9525-B745CECA79EB Provisioning UDID: 4203018E-580F-C1B5-9525-B745CECA79EB ``` Meanwhile, some notes to create a repro, maybe you have a trick for me which makes it easier: - 1. Initially I wanted to go with Safari Technology Preview - this one seems to be not available for macOS 13 anymore, only macOS 14 + 15 for now, so thats not an option. - 2. Then I tried WebKit build archive - these contain macOS-13 builds, but unfortunately not with WebDriver support. (Why WebDriver? I thought I can just navigate and take a screenshot there of the canvas in order to have a repro) - 3. Now I'm trying to use WebKit build archive builds, navigate to a site with webgl which then sends the rendered image back to a small http server in order to get some data back on GitHub Actions. Thank you!
Kimmo Kinnunen
Comment 6 2024-08-20 04:07:55 PDT
Strange, Macmini6,2 supports macOS Catalina (10.15) only (https://support.apple.com/en-us/102852). The ANGLE/Metal does not support this old devices, there's a minimum check for Macmini8,1..
Kimmo Kinnunen
Comment 7 2024-08-20 04:09:52 PDT
> - 3. Now I'm trying to use WebKit build archive builds, navigate to a site with webgl which then sends the rendered image back to a small http server in order to get some data back on GitHub Actions. Well, you might do that but I don't know what you gain.. If it doesn't work, it doesn't work.
Max Schmitt
Comment 8 2024-08-20 04:28:57 PDT
Yeah I think we'd live with it for now. I'll mark it as won't fix for now. Might be that GitHub Actions is using old infrastructure for macos-13. Looking at 14, they use something different: ``` Hardware Overview: Model Name: Apple Virtual Machine 1 Model Identifier: VirtualMac2,1 Model Number: VM0001LL/A Chip: Apple M1 (Virtual) Total Number of Cores: 3 Memory: 7 GB System Firmware Version: 10151.140.19 OS Loader Version: 10151.140.19 Serial Number (system): ZCTK96G3PG Hardware UUID: 34653552-4BB9-5694-B8DF-963D0C8B62AC Provisioning UDID: 0000FE00-8297A29315B0A882 Activation Lock Status: Disabled ```
Note You need to log in before you can comment on or make changes to this bug.