actions / runner-images

GitHub Actions runner images
MIT License
10.15k stars 3.06k forks source link

MacOS Safari: Unable to create basic Accelerated OpenGL renderer. #98

Closed raido closed 4 years ago

raido commented 4 years ago

Describe the bug

When trying to run Safari for Ember.js application tests, failure occurs with following error:

Unable to create basic Accelerated OpenGL renderer.
Unable to create basic Accelerated OpenGL renderer.
Core Image is now using the software OpenGL renderer. This will be slow.

Virtual environments affected

Expected behavior

To work and able to run browser instances without a problem with testem.js: https://github.com/testem/testem

Actual behavior

Try to run any HTML page as testem.js launch page.

only1chi commented 4 years ago

I am having the same error with macOS 10.15, while trying to run an android emulator.

image

Any solutions yet?

chuckatkins commented 4 years ago

I expect this is a technical limitation of macOS running in a VM: https://kb.parallels.com/124138 . For testing purposes shouldn't the software opengl implementation still work though? It wouldn't provide a great user experience for sure but this is automated testing.

github-actions[bot] commented 4 years ago

This issue has not had any activity for 45 days and will be closed in 45 days if there continues to be no activity.

raido commented 4 years ago

This is still an issue for me.

jt3k commented 4 years ago

same here

dmitry-shibanov commented 4 years ago

Hello @raido, thank you for your response, as I know macOS Catalina deprecated OpenGL, OpenCL and now they use Metal, possibly it's related to it. Could you please provide some small repro steps to confirm it ?

raido commented 4 years ago

I'll try to setup blank Ember.js app with Github Actions for repro.

ykaygisiz commented 4 years ago

I also have an same issue. I tried a lot of things, but nothing. I have Host Machine Windows 10, Guest Machine is MacOs Catalina 10.15.4. I couldn't Success to run Android Emulator. Copy/Paste, Drag&Drop doesn't work too. I thing all are related.

https://www.virtualbox.org/manual/ch14.html Mac OS X guests: Mac OS X guests can only run on a certain host hardware. For details about license and host hardware limitations. See Section 3.1.1, “Mac OS X Guests” and check the Apple software license conditions.

Oracle VM VirtualBox does not provide Guest Additions for Mac OS X at this time.

The graphics resolution currently defaults to 1024x768 as Mac OS X falls back to the built-in EFI display support. See Section 3.14.1, “Video Modes in EFI” for more information on how to change EFI video modes.

Mac OS X guests only work with one CPU assigned to the VM. Support for SMP will be provided in a future release.

Depending on your system and version of Mac OS X, you might experience guest hangs after some time. This can be fixed by turning off energy saving. Set the timeout to "Never" in the system preferences.

By default, the Oracle VM VirtualBox EFI enables debug output of the Mac OS X kernel to help you diagnose boot problems. Note that there is a lot of output and not all errors are fatal. They would also show when using a physical Apple Macintosh computer. You can turn off these messages by using the following command:

$ VBoxManage setextradata VM-name "VBoxInternal2/EfiBootArgs" " " To revert to the previous behavior, use the following command:

$ VBoxManage setextradata VM-name "VBoxInternal2/EfiBootArgs" "" It is currently not possible to start a Mac OS X guest in safe mode by specifying the -x option in VBoxInternal2/EfiBootArgs extradata.

AlenaSviridenko commented 4 years ago

Hi @raido! Are there any updates on the app with repro?

raido commented 4 years ago

@AlenaSviridenko Hi, here is the repro - https://github.com/raido/gh-actions-macos-repro/runs/670493883 :)

Darleev commented 4 years ago

@raido @ykaygisiz Hello, During the investigation of the issue, I find a cause of the issue reported: Safari opens confirmation windows in case of local tests. The same scenario appears to be using github agents. So, in other words we are waiting the confirmation in safari browser, but cannot accept it using command line tools. I believe that this is a security feature of Safari to avoid random apps running arbitrary local scripts. As far as I know, there is no way to disable this behavior when opening local files. I tried to find workaround or solution for the issue, but with no luck. In order to find a solution for the issue, I would like to suggest you to contact Apple support and ask them how to mitigate the issue. If additional information or assistance is required, do not hesitate to contact us, we will be glad to assist you.

raido commented 4 years ago

Hmm, I am not sure how user management etc. is done in VM images but if you have accepted the confirmation dialog once and Safari state is stored in VM image that's used, shouldn't it just work?

raido commented 4 years ago

Oh my, I now see that behaviour on my machine as well. It prompts for some reason for start.html file open window. It should not do that at all, something is off.

AlenaSviridenko commented 4 years ago

but if you have accepted the confirmation dialog once and Safari state is stored in VM image that's used

Unfortunately, no. VMs are reseting to the initial state after each build, and builds can be ran on different machines, so accepting dialog doesn't affect further builds. And even locally Safari asks for confirmation on each tests run, I believe because test files are generated in temp directory that is different on each run. image

raido commented 4 years ago

There is actually issue about this over here: https://github.com/testem/testem/issues/1387