-
-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
macOS patches #11222
macOS patches #11222
Conversation
Cubeb has macOS native api support. Idk why it tries to build with pulse/alsa. |
It does build with PulseAudio and ALSA disabled, but it fails to initialize.
|
Try enabling AudioUnit |
If the .zip that |
For the controller support, if it's OS 12 then I believe that this is a known issue currently. Current short term fix is provided https://github.com/libsdl-org/SDL/issues/4923#issuecomment-966722634. |
libsdl-org/SDL#4923 (comment) working url |
Hey |
Question: |
@nastys why have you closed it? |
@iMonZ If you compare the branches, the only difference between the main branch and nastys' macOS branch is that the main contains newer commits, and nastys' branch contains the rewrite of the CI scripts for macOS building. I'm not sure how much of it was unmerged before, but those CI changes still need to be applied to the main project. The branch still exists on their RPCS3 fork. It could probably use a rebase to get those newer changes. It would be nice to know why the PR was closed instead of rebased, though. |
Because these changes have already been merged. |
And yet when I attempt to run a build produced from the latest master commit, it throws a "Verification failed" error for vec_alloc from simd.hpp. |
The macOS patches we've been working on on Discord.
This fork:branch is for reference — the actual patches will be uploaded as separate pull requests.
- [x] Building with GCC 11 (requires patching a couple of Qt libraries: qcoreapplication.h, qtconcurrentthreadengine.h; and a couple of 3rdparty libraries; ffmpeg needs to be rebuilt)I recommend using Homebrew clang/llvm instead, it's much more reliablebrew install llvm
— it doesn't even need most of the patches in this fork, so you can build master instead; tested with and without the patched Qt libraries above)-DUSE_AUDIOUNIT=ON
, not working with GCC)Graphics:
Games:
only boots sometimes, maybe due to a race conditionseems to work reliably with brew clang/llvm)Building
Build instructions are for x64. aarch64 may work with some changes once support for it is added to the emulator.
Install Homebrew.
Note that on M1, x64 Homebrew is required. Run the following command to install it:
Afterwards, the following script can be used to install any x64 dependencies. Copy the following text to TextEdit or nano:
save it as
~/brewx64.sh
and run it like this to install the dependencies (one or two may be missing):Env for building with Homebrew clang/llvm:
Clone the repository:
Fix dependencies:
Copy
libc++abi.1.0.dylib
from/usr/local/Cellar/llvm/13.0.0_2/lib
tobin/rpcs3.app/Contents/Frameworks/libc++abi.1.dylib
after building (if RPCS3 crashes).Vulkan requires the Vulkan SDK (if you get an error when you install it, just ignore it).
Finally:
Use LLVM for PPU and ASMJIT for SPU until LLVM is fixed; disable On-Disk Shader Cache until fixed.
If you've previously attempted to use PPU LLVM (before it was fixed), you'll need to clear the old cache or it'll crash.
Also check the wiki for game-specific settings.