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

Support macOS bundling for binary distribution #5367

Merged
merged 2 commits into from Dec 16, 2018

Conversation

Projects
None yet
4 participants
@vit9696
Copy link
Contributor

vit9696 commented Nov 24, 2018

Polished macOS compilation to properly generate an app file that can be distributed in binary form. Also fixed broken style support and freezing error messages.

While macOS binaries are not very decent, I believe they can be uploaded to the website for better tracking. Could anybody create another PR by zipping rpcs3.app in build/bin and uploading it where necessary?

Note: it appears that the CI failed to pull some environment data on Linux, and the build needs to be restarted to pass.

@hcorion

This comment has been minimized.

Copy link
Contributor

hcorion commented Nov 24, 2018

While macOS binaries are not very decent, I believe they can be uploaded to the website for better tracking.

No point while the issues mentioned in #5361 are still prevalent, it would just be wasting server space.

Show resolved Hide resolved Utilities/File.cpp Outdated
Show resolved Hide resolved rpcs3/CMakeLists.txt Outdated
@vit9696

This comment has been minimized.

Copy link
Contributor

vit9696 commented Nov 24, 2018

While macOS binaries are not very decent, I believe they can be uploaded to the website for better tracking.

No point while the issues mentioned in #5361 are still prevalent, it would just be wasting server space.

The disk space is provided by github, so I am not positive it is to be taken into account. Despite the issues (yes, I am fully aware about them), we will be able to track that the binaries run at the very least, which I believe is fairly important.

@hcorion

This comment has been minimized.

Copy link
Contributor

hcorion commented Nov 27, 2018

I've talked with Ani (one of the admins) and he said he's okay with publishing binaries to GitHub, we're just waiting on Nekotekina to create RPCS3/rpcs3-binaries-mac

@vit9696

This comment has been minimized.

Copy link
Contributor

vit9696 commented Nov 27, 2018

Right, in fact there is one more issue. I wanted to address it in the beginning, but unfortunately failed to implement. I believe MoltenVK, despite not working as of now, is no less mature than gfx portability at the very least, and wanted to support them both.

My original idea is to weak link (-weak_library) to either but not include the file. Later on I dynamically loaded (dlopen) one of the libraries to solve the symbols. This works just fine in flat namespace mode (all symbols belong to global namespace), but at present Apple uses two-level namespace (each symbol belongs to some library namespace), which obviosly fails. I tried doing the binding myself, yet it did not work properly (I could start rpcs3 but it would crash later on null pointer exec). I believe this solution may be fixed to work, yet it remains very hacky and not reliable.

For this reason, the way to select the Vulkan implementation is fairly open. We could always patch/symlink the vulkan library within rpcs3.app itself, but it will break codesigning if it is considered.

@Ghostotakoi

This comment was marked as off-topic.

Copy link

Ghostotakoi commented Nov 28, 2018

i don´t get it, if you can afford a mac for sure you can afford a used ps3 and not make the devs having so many problems.

@vit9696

This comment has been minimized.

Copy link
Contributor

vit9696 commented Dec 12, 2018

Rebased the branch with latest master.

@Nekotekina, I believe we should merge this even if we postpone the binary distribution for macOS. The changes contain several platform-specific improvements and I see no reason not to have them.

Currently nothing prevents us from uploading binary files for macOS, yet it can (should) be a separate pull request.

@Nekotekina Nekotekina merged commit 5a40c18 into RPCS3:master Dec 16, 2018

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@jbeich jbeich referenced this pull request Dec 28, 2018

Merged

BSD fixes #5467

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment