dortania / OpenCore-Legacy-Patcher

Experience macOS just like before
https://dortania.github.io/OpenCore-Legacy-Patcher/
Other
12.2k stars 1.17k forks source link

AMD GCN GPUs and Chrome Rendering Issues #1145

Open khronokernel opened 1 month ago

khronokernel commented 1 month ago

An issue has been identified impacting Chrome 125+ and some Electron based applications (e.g. Discord) on AMD GCN 1.0 based GPUs. Issue occurs with heavy UI glitching and/or complete freezing. Latest versions of other major Chromium based browsers have so far been tested working, however it is not out of the question that the issue may occur on them later. Additionally, this issue may manifest on Electron applications as being unable to interact with the UI.

The issue is under investigation, however no ETAs for a fix can be provided. You may use the workarounds listed below.


Following hardware is impacted:

Issue manifests as follows:

Screenshot 2024-08-07 at 3 17 39 PM

Semi-automated workaround:

Patches Chrome and all Electron apps


Manual workarounds:

These have to be made per-app.

open /Applications/Google\ Chrome.app --args --use-angle=gl

After you've launched it and it is no longer glitching, you can navigate to chrome://flags/#use-angle and switch it to "OpenGL" to make OpenGL a permanent rendering backend.

Other options:

Electron apps:

Since Discord and other Electron based applications may not support setting flags, you may want to create an Automator app to launch them. Create a shell script in Automator with the proper path (in this case Discord), then save the app and use the icon you created to launch it.

open /Applications/Discord.app --args --use-angle=gl

Thank you to @Jazzzny and @ParaDoX1994 for detailing this report and work-arounds.

khronokernel commented 1 month ago

An experimental script has been developed to force the OpenGL renderer on Chrome and Chromium-based software such as Electron (includes software like Discord).


Prerequisites:


Usage:

Open Terminal and run the following (adjust electron_patcher.py to where it exists, ex. ~/Downloads/electron_patcher.py:

python3 electron_patcher.py
Screenshot 2024-08-11 at 6 42 00 PM