OpenCore Legacy Patcher(OCLP)を開発するDortania(ドルタニア)は8月11日、GitHubにてOCLPを利用しているMacうちAMD GCN(Graphics Core Next)アーキテクチャを使用するGPUを搭載するMacで特定のバージョン以降のGoogle ChromeやElectronベースのアプリケーション (例: Discord)で発生する描画の不具合が発生することを発表しました。
また同発表の翌日にあたる8月12日にはOpenGL レンダラーを強制する実験的なスクリプトが緊急リリースされ、Google ChromeやElectronベースのアプリケーションの問題の迅速な対処が可能になりました。
問題の概要
この問題の原因は、特定のレンダリング技術に起因している可能性が高く、特にGoogle Chromeの新しいバージョンでのデフォルト設定が影響していると考えられています。現在、開発者コミュニティではこの問題に対する恒久的な解決策を模索中ですが、現時点では正式な修正パッチは提供されていません。
問題が発生する恐れのある環境
この問題は、特に以下のAMD製GPUを搭載したMacで確認されています。
- AMD HD 7000シリーズ
- FirePro D300/D500/D700 (MacPro6,1)
- R9 M370X (MacBookPro11,5)
これらのハードウェアを使用しているユーザーは、Google Chrome 125以降やDiscordなどのElectronベースのアプリを使用中に、以下のような問題が発生する可能背があります。
- 重度のUIグリッチ: 画面表示が乱れ、操作が困難になる。
- アプリの完全なフリーズ: アプリケーションが応答しなくなり、再起動が必要になる。
これまでのところ、他の主要なChromiumベースのブラウザ (Microsoft Edge、Opera)は正常に動作しているとの報告がありますが、OCLPのプロジェクトリーダーであるミコラ氏(khronokernel)はこれらも将来的に同様の問題が発生する可能性があると警告しています。
この問題の暫定的な解決方法
OpenCore Legacy Patcherを開発するDortaniaは、この問題に対応するための緊急パッチをリリースしました。このパッチは、影響を受けるシステムにOpenGLレンダリングを強制することで、問題を回避する仕組みとなっています。
影響を受けているユーザーは、以下の手順に従うことで問題を回避することができます。
- Google Chromeの修正 (パッチを使用しない方法)
- Discord およびその他の Electron アプリケーション (パッチを使用しない方法)
- 実験的なパッチ (スクリプト)を使用して解決する方法
▼ Google Chromeの修正 (パッチを使用しない方法)
最も簡単な回避策は、Google Chromeを以下のコマンドを使ってターミナルから起動することです。
open /Applications/Google\ Chrome.app --args --use-angle=gl
このコマンドにより、Google ChromeはデフォルトのANGLEバックエンドの代わりにOpenGLを使用するようになります。また、これで問題が解決した場合Google Chromeの設定ページ(chrome://flags/#use-angle
)でOpenGLをレンダリングバックエンドとして恒久的に設定することも可能です。
- Google Chromeの起動を確認し、不具合が発生しないことを確認したらGoogle Chromeのアドレスバーに「chrome://flags/#use-angle」と入力します。
- “Choose ANGLE graphics backend”のプルダウンメニューから「OpenGL」に切り替えます。
▼ Electronベースのアプリケーション(Discordなど)の修正 (パッチを使用しない方法)
Electronベースのアプリケーションの場合にはUIを操作できなくなる問題が発現される可能性があることがあります。
ただしDiscord やその他の Electron ベースのアプリケーションはGoogle Chromeのようなフラグの設定をサポートしていない可能性があるためmacOSに搭載されている「Automator」を使用して操作を自動化する方法が紹介されています。
▼ 実験的なパッチ (electron_patcher)を使用して解決する方法
Electronベースのアプリケーションに関しては、ミコラ氏がGitHubで配布している実験的なスクリプト「electron_patcher.py」が利用可能です。このスクリプトを使うことで、これらのアプリでもOpenGLレンダラーを強制的に使用することができます。
electron_patcherの使用方法
- Python 3.11以上をインストール: まず、Pythonの最新版をインストールします。
- electron_patcher.pyのダウンロード: スクリプトをGitHubのGistからダウンロードします。
- スクリプトの実行: ターミナルを開き、以下のコマンドを実行します(パスはダウンロードした場所に応じて変更してください)
python3 ~/Downloads/electron_patcher.py
恒久的な解決策を模索中
現在、OpenCore Legacy Patcherの開発者コミュニティはこの問題に対する恒久的な解決策を模索中であり、正式な修正パッチの提供が待たれています。コミュニティのメンバーは、問題の発見とその対策に関して迅速に対応しており、ミコラ氏を中心に多くの有志がこの問題の解決に向けて貢献しています。
今後のアップデートでは、これらの問題に対する恒久的な解決策が組み込まれる可能性が高く、特に古いMacユーザーにとっては、安定した動作が再び実現することが期待されています。
まとめ
OpenCore Legacy Patcherを利用しているMacユーザーにとって、Google ChromeやDiscordなどのアプリケーションで発生しているUIグリッチやフリーズの問題は深刻な課題となっています。しかし、ミコラ氏を始めOpenCore Legacy Patcherの開発陣は早速対策に着手。暫定的な解決策としてelectron_patcher.py
が提供されています。
今秋に公開予定のmacOS Sequoiaサポートに向け開発が進められている中ですが、今後の開発にも注目が集まります。