Kurokomarioの日記

デジタルとリアルを旅する日々✈️

カテゴリー: MacOS

  • MacでVRChatを動かしたい!(失敗)

    MacでVRChatを動かしたい!(失敗)

    私はいつもWindows でVRChatをプレイしています。
    本当はすっかりメインPCになってしまった電力効率の良いMacでやりたいのですが、まあ、、、Mac版はありません。Windows版(Steam・Rift)かQuest版しかありません。

    先日、Apple WWDC2023で「Game Porting Toolkit」というものが発表されました。(略してGPTK)
    また開発中のツールなのですが、簡単に言うとMac上でWindowsゲームを動かせる!というものです。

    MacでWindows向けソフトを動かす手段はいくつかあるのですが、(Parallels Desktop, CrossOver, BootCamp(Intel Macのみ));

    2025/01/13追記
    現在では、「GeForce NOW」というクラウドゲーミングサービスがVRChatに対応しました。
    これにより、スマホでもPC(Windows / Mac)でもゲームできるようになりました。

    現時点では、VRモードは非対応とのこと。

    GeForce NOW
    日本ではnvidia公式版とau版を利用できます。
    どちらも有料です。(nvidia版で月額1,790円〜)
    au / UQユーザーだとau版で月額1,650円とちょっと安くなります。
    ※金額は変わるかもです
    無料プラン(au版だとPontaパス特典?)もありますが新規受付はしていないようです。
    無料版を前に試したことがありますが、順番待ちが凄くてまともに遊べませんでした。
    やっと遊べても制限時間があり、時間過ぎると再び順番待ちという。。。

    今回のツールはApple公式というのが最大の特徴で、
    Apple Siliconの性能を100%活かせる!
    とは変換処理があるため流石にいかないものの、最適化が進めばかなり安定して動くようになることは間違いないと思います。

    ターミナル.appを使用する方法が一般的ですが、Whisky.app(GitHub)を使った方法もあります。
    かなりお手軽にできるので、まずはWhiskyでやってみるのをお勧めします。

    今回はターミナルを使ったインストールを試してみました。

    私が試した中で動いたゲームは以下の通り。

    • Steam (steamwebhelperが応答しなくなることがある。)
    • 原神 (エラー出る時は修復&Persistentフォルダ削除で直る)
    • Only Up! (最低設定にすればそこそこ遊べる)
    • 黄昏ニ眠ル街
    • リトルウィッチノベタ

    動かなかったもの

    • VRChat (EAC-EOS関連でエラー?VRChat.exe本体の起動には成功)
      スクショはソフト終了させようとしたらフリーズしてUnityBugReporterが立ち上がったところです。
      Unity 2019.4.40f1というバージョンだということが判明。
      アバター・ワールド作成でのUnityは2019.4.31f1で本体も同じだろうと思っていたところ違かったのでビックリ。
    • Steam VR (VRChatと一緒に起動はしてくるが、アドオンエラー&Wine側で致命的エラーでまともに動かず)
    • リディー&スールのアトリエ (ランチャーは起動するがWine側で致命的エラー発生)
    • ヘブンバーンズレッド (全く起動せず)
    • ファイナルファンタジーXIV: 暁月のフィナーレ ベンチマーク
    • ファイナルファンタジーXVベンチマーク (本体exe直接起動で一応動いたが途中で落ちた)
    • BLUE PROTOCOLベンチマーク (エラー。本体exe起動でロード画面出たが進まず)

    2025/02/11追記:

    • 原神
      • HoYoPlayの表示がおかしい時は起動オプションlauncher.exe「-in-process-gpu」を使う
      • 通信エラー(デバイスの動作環境に異常が検出されました…エラーコード:10351-4001)が発生する場合はGenshinImpact.exe「-platform_type CLOUD_THIRD_PARTY_PC」でエラー出なくなった。

    目標としては、「VRChatをデスクトップモードで動かしたい」とします。
    本当はVRモードで動かしたいのですが、Meta QuestをMacにVRモードで接続するソフトやドライバーが無いためまず無理。

    WindowsではVirtual DesktopでVR可能ですが、Mac版ではデスクトップモードにのみ対応。
    Quest LinkはWindowsのみ。
    Virtual Desktop、Quest PC Appともにインストールを試みたが、途中でフリーズしインストールできず。(Quest PC Appは空き容量不足で検証できず)

    VRChatの実行を試みる

    まずは、以下のコマンドを使ってlaunch.exeを呼び出してみます。}
    私の環境でのコマンドと、実行ログを載せておきます。
    criticalそうな部分は太字にしています。

    MTL_HUD_ENABLED=1 WINEESYNC=1 WINEPREFIX=~/my-game-prefix /usr/local/Cellar/game-porting-toolkit/1.0.2/bin/wine64 'C:\Program Files (x86)\Steam\steamapps\common\VRChat\launch.exe'
    esync: up and running.
    0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
    0048:fixme:service:svcctl_EnumServicesStatusExW resume handle not supported
    
    Unhandled Exception:
    System.ComponentModel.Win32Exception (0x80004005): mono-io-layer-error (54447680)
      at System.ServiceProcess.Win32ServiceController.GetServices (System.String machineName, System.ServiceProcess.Win32ServiceController+SERVICE_TYPE serviceType, System.String group) [0x00054] in <aa1af3976ae1414a8ef735fc75da39e7>:0 
      at System.ServiceProcess.Win32ServiceController.GetServices () [0x0000b] in <aa1af3976ae1414a8ef735fc75da39e7>:0 
      at System.ServiceProcess.ServiceController.GetServices (System.String machineName) [0x00018] in <aa1af3976ae1414a8ef735fc75da39e7>:0 
      at System.ServiceProcess.ServiceController.GetServices () [0x00000] in <aa1af3976ae1414a8ef735fc75da39e7>:0 
      at launch.Program.Main (System.String[] args) [0x00062] in <2d521fa917b2485c99ed4c814635b657>:0 
    [ERROR] FATAL UNHANDLED EXCEPTION: System.ComponentModel.Win32Exception (0x80004005): mono-io-layer-error (54447680)
      at System.ServiceProcess.Win32ServiceController.GetServices (System.String machineName, System.ServiceProcess.Win32ServiceController+SERVICE_TYPE serviceType, System.String group) [0x00054] in <aa1af3976ae1414a8ef735fc75da39e7>:0 
      at System.ServiceProcess.Win32ServiceController.GetServices () [0x0000b] in <aa1af3976ae1414a8ef735fc75da39e7>:0 
      at System.ServiceProcess.ServiceController.GetServices (System.String machineName) [0x00018] in <aa1af3976ae1414a8ef735fc75da39e7>:0 
      at System.ServiceProcess.ServiceController.GetServices () [0x00000] in <aa1af3976ae1414a8ef735fc75da39e7>:0 
    

    MONO(.Net Framework関連)でエラーになってしまっているようです。

    続いて、start_protected_game.exe。(Windows実機でこちらでもVRCが起動することは確認済み)

    MTL_HUD_ENABLED=1 WINEESYNC=1 WINEPREFIX=~/my-game-prefix /usr/local/Cellar/game-porting-toolkit/1.0.2/bin/wine64 'C:\Program Files (x86)\Steam\steamapps\common\VRChat\start_protected_game.exe'
    esync: up and running.
    0024:fixme:module:dlopen_32on64_opengl32 loaded "/usr/local/Cellar/game-porting-toolkit/1.0.2/lib/wine/x86_32on64-unix/opengl32.dll.so" early @ 0x68857000
    0024: thread_get_state failed on Apple Silicon - faking zero debug registers
    00bc: thread_get_state failed on Apple Silicon - faking zero debug registers
    00c0: thread_get_state failed on Apple Silicon - faking zero debug registers
    0024:fixme:win:RegisterTouchWindow (00010048 00000003): stub
    0024:fixme:d3d:wined3d_guess_card_vendor Received unrecognized GL_VENDOR "Apple". Returning HW_VENDOR_NVIDIA.
    0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
    0024:fixme:d3d:wined3d_guess_card_vendor Received unrecognized GL_VENDOR "Apple". Returning HW_VENDOR_NVIDIA.
    0100: thread_get_state failed on Apple Silicon - faking zero debug registers
    0100:err:d3d:wined3d_check_gl_call >>>>>>> GL_INVALID_FRAMEBUFFER_OPERATION (0x506) from glClear @ /private/tmp/game-porting-toolkit-20230701-6371-16sqo69/wine/dlls/wined3d/context_gl.c / 2330.
    00c8:fixme:imm:ImeSetActiveContext (0x37a3f0, 0): stub
    00c8:fixme:imm:ImmReleaseContext (0000000000010020, 000000000037A3F0): stub
    0024:fixme:imm:ImmReleaseContext (00010048, 034EAA18): stub
    0024:fixme:msctf:ThreadMgr_ActivateEx Unimplemented flags 0x4
    0024:fixme:imm:ImeSetCompositionString Reading string unimplemented
    0024:fixme:imm:NotifyIME NI_CLOSECANDIDATE
    0024:fixme:imm:ImeSetActiveContext (0x34eaa18, 1): stub
    0104: thread_get_state failed on Apple Silicon - faking zero debug registers
    0104:err:kerberos:kerberos_LsaApInitializePackage no Kerberos support, expect problems
    0100:fixme:d3d:state_linepattern_w Setting line patterns is not supported in OpenGL core contexts.
    0100:fixme:d3d_shader:print_glsl_info_log Info log received from GLSL shader #5:
    0100:fixme:d3d_shader:print_glsl_info_log     WARNING: Output of vertex shader 'ffp_varying_texcoord' not read by fragment shader
    0108: thread_get_state failed on Apple Silicon - faking zero debug registers
    0108:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFA, 067EFEF8
    0104: thread_get_state failed on Apple Silicon - faking zero debug registers
    wine: Unhandled illegal instruction at address 00416CF7 (thread 0104), starting debugger...
    0104:err:seh:start_debugger Couldn't start debugger L"winedbg --auto 32 284" (2)
    Read the Wine Developers Guide on how to set up winedbg or another debugger

    一瞬、EACの起動画面が立ち上がるものの、すぐに落ちてしまいました。
    なぜか右下が日本語です(ロード中・・・59%)
    珍しい。

    errはd3d関連とkerberosというものをサポートしていないと書かれていますね・・・

    一番最後にはなぜかWineのデバッカーが開始できないというのも書かれています。

    EAC側のログファイルもあったため載せておきます。

    [14:44:05:224] [Windows] [EAC Launcher] [Info] Localization file loaded, using ja_ja.
    [14:44:05:225] [Windows] [EAC Launcher] [Info] Loading the following .json file: 'C:\Program Files (x86)\Steam\steamapps\common\VRChat\EasyAntiCheat\Settings.json'
    [14:44:05:227] [Windows] [EAC Launcher] [Info] ProductId: xxxxxxxxxxxxxxxxxx
    SandboxId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx DeploymentId: xxxxxxxxxxxxxxxxxx
    [14:44:07:344] [Windows] [EAC Launcher] [Info] Will attempt to use the following system font: 'C:\windows\Fonts\Meiryo.ttc'.
    [14:44:07:401] [Windows] [EAC Launcher] [Info] Embedded resources successfully loaded.
    [14:44:07:414] [Windows] [EAC Launcher] [Info] Will use the custom icon loaded off the disk.
    [14:44:07:875] [Windows] [EAC Launcher] [Info] Current progress: 0 (0/0).
    [14:44:07:877] [Windows] [EAC Launcher] [Info] Current progress: 0 (0/0).

    最初、Meiryoフォントが見つからないエラーが出ていたため、インストールしています。(何故必要?)
    特に問題なく動いているように見えます・・・

    最後にVRChat.exeを直接起動。

    MTL_HUD_ENABLED=1 WINEESYNC=1 WINEPREFIX=~/my-game-prefix /usr/local/Cellar/game-porting-toolkit/1.0.2/bin/wine64 'C:\Program Files (x86)\Steam\steamapps\common\VRChat\vrchat.exe'

    起動はしますが、アンチチートプログラムが動作していないため、オンラインに接続できません!惜しい・・・
    VRChat本体が起動できれば、あともう少しな感じがしますね!

    実際、アンチチートプログラムが実装される前は動いていたらしい。。。

    「M1macでも動きます」というような情報があるのはそのためです。
    (アンチチートプログラムは2022年7月に導入されました)

    続く・・・かも

    Macシステム・Wineに詳しい方がいらっしゃったら教えていただきたいです。。。

    VRC Macユーザー集会とかあってもいいかも?←どういう集会だよ

    今日の一曲

  • 【MacOS 12】Apple Musicや起動画面が英語になるのを直してみる

    【MacOS 12】Apple Musicや起動画面が英語になるのを直してみる

    使わない日は無い、Apple Music。

    何故か保存している曲が、徐々に徐々に、、、英語表記(ローマ字表記)になっていくという現象が日々侵食されているかのように発生しています。
    iPhone, iPadのみで使っていたときは発生しなかったのに・・・

    Macを使い始めてから発生し始めた現象の為、原因はMacにあると思いました。
    英語になった曲はiPhone, iPad版で見ても英語になってしまいます。

    ひとまず解決法を見つけたので、共有したいと思います。
    ついでに起動画面が英語になる問題も直します。

    記事執筆時バージョン: macOS Monterey 12.2.1

    一部が英語表記になっているミュージック.app

    「システム環境設定」を開く

    画面左上のリンゴマークのメニューからか、command⌘ + スペースキーで検索して開けます。

    システム環境設定.app

    一番上の段の右側にある「言語と地域」を開きます。

    システム環境設定.app ⇨ 言語と地域

    するとこのような画面になるかと思います。
    日本語に設定されている為、問題なさそうに見えますが、そこにあえて英語を追加します。

    「日本語」の下の方にある「+」(プラスマーク)をクリック。

    「追加する優先言語を選択」
    「English ー 英語」を選択。

    右下の「追加」ボタンをクリック。

    「最優先の言語を英語に変更しますか?」と聞いてくるので、「日本語を使用」をクリックします。

    「優先する言語」に「English」が追加されたことを確認。

    問題が発生していなくても、海外製アプリを使用するときに日本語が使用不可の場合、
    自動的に英語が優先になるので一応意味はあるかと思います。
    (英語だったら何とか頑張れば読めるし。そもそもアプリが日本語、英語ともにサポートしていない場合は効果ありません。)

    起動画面の言語変更は・・・

    日本語を選んだ際に右下に歯車マークが出る場合、起動画面(ログインウインドウ)が別言語で表示されているかと思います。
    (私の環境が知らないうちになってました)

    その場合は、歯車マークをクリックして「ログインウインドウに適用」をクリックします。
    これで起動画面にも反映されているはずです。

    ミュージックアプリの再認証

    さっきの方法で再起動しても良いのですが、一応ネット上で良く言われている「コンピュータの再認証」もやっておくと安心です。

    ミュージック.app ⇨ アカウント

    ミュージックを開き、メニューのアカウント、認証と進み「このコンピュータを認証…」をクリック。

    Apple IDとパスワードを入力

    ID、パスワードを入力して、右下の認証をクリックします。

    最後に再起動を忘れずに。

    ミュージック.app

    再起動させれば直っている、、、筈です。
    Macのウインドウスクショって、角丸になるし、しかも透過する影も付くし、ブログに載せると良い感じに見えるの良いね!

    今日の一曲。。。

  • MOTU M4のファームウェアアップデートしてみた (2.02, MacOS)

    MOTU M4のファームウェアアップデートしてみた (2.02, MacOS)

    オーディオインターフェース「MOTU M4」、密かに購入しておりました。
    メーカーは全く知らなかったのですが、結構古くからあるメーカーのようです。

    で、先日ふと製品のサポートページを見てみるとドライバーアップデート、と思いきやファームウェアアップデーターが更新されていました。
    というか、ファームウェア更新できるんかい!
    そこにビックリしました。少々高いだけありますね。

    というわけで、今回はファームウェアアップデートを実施してみます。
    特に意味はありませんが、MacOS上からやってみます。

    アップデーターのダウンロード

    https://motu.com/en-us/download/にアクセスし、自分の使用している製品を選択します。
    今回はM4です。

    ドライバーやら、ファームウェアやら出てきます。

    ファームウェアは各OSに対応したものがありますので、自分の環境に合ったものを右の「DOWNLOAD」をクリックしてダウンロードします。

    「MOTU M-Series Updater.app」ファイルがダウンロードされました。元々は「MOTU M-Series Updater (Mac).zip」です。
    (MacはZipファイルをダウンロードすると自動解凍される・・・??解凍前のzipはゴミ箱へ…まあ解凍、移動、削除の手間が減るから良いけど笑)

    ダウンロードしたアップデーターを起動してアップデート

    なんか勝手にウイルスチェック(?)されますが、開きます。

    で、開くのですが何やら様子が変です。

    No M-Series in update mode.」(M-Seriesがアップデートモードじゃないぜ)とのこと。アップデートモードがあるらしい。
    起動方法は、その隣に書いてあり、
    Hold MON on IN 2 and power on device.」(IN 2のMONを押したまんま電源を入れてけろ)とのこと。

    早速やってみます。

    こういうことだよね・・・?

    ヨイショ。。。

    おお!はじめてみる画面!
    起動画面に、「Update…」の文字が出てきました。
    そして、さっきのソフトを見てみると・・・

    来ました!!!アップデート可能になりました。
    私の持っている物は、バージョン2.00だったようです。
    「Update Now」をクリックして開始します。

    正確には測っていませんが、10秒ほどで終わったかと思います。

    無事アップデートが完了すると、自動的に再起動されアップデートモードは解除されます。

    うん、何も変わっておりません。

    ちなみに、アップデート後に「Reinstall Firmware」(ファームウェアを再インストール)することもできました。
    ファームウェアが破損したときにも、もしかしたら使えそうです。

    Up to date!

    たまーに、Mac環境でYouTubeが再生されなくなる時があるから、なおると良いなぁ。
    (M4以外のデバイスに音声出力を変更すると問題なく再生される。何なんだろうか)

    今日の一曲。