-
Notifications
You must be signed in to change notification settings - Fork 14
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
feat: universal build #33
Conversation
I wonder if any progress could be made using MoltenGL or MetalANGLE |
Ah, thanks for testing! That crash looks somewhat ominous 😱
I get somewhere between 60-80fps on M1 Pro @ 2650x1440. Can't exactly recall what type of quality settings I used. Think your assumption is correct, there's likely GPU improvements possible, but it would require pure Metal, rather than OpenGL-over-Metal as is the case now. |
Yeah it doesn't look good lol
Huh, I am running at 1470x596... I would be very interested to see if you also notice performance/fps drop after around 5 minutes. I have also not noticed any thermal throttling so I really don't know what is happening. |
Tried the ARM build myself and I can confirm that:
My setup: M1 Air, Sonoma 14.0 Beta (23A5257q) |
With this build don't work mods mentioned in #9 |
Just wanted to mention that this new build script requires you to have dotnet installed and symlinked properly otherwise the build script will fail on line 78: ./build.sh: line 78: dotnet: command not found line 78 from the script: dotnet depotdownloader-2.5.0/DepotDownloader.dll -app $appid -depot $depotid -manifest $manifestid -beta $branch -os linux -username "$username" Most of us have dotnet on our path, but for those that dont, install the homebrew cask for it. Also: this branch is in desperate need of a rebase onto main to streamline some of the inline props... the versions are outdated behind mains |
Good catch, this is an old experimental branch that still requires It might be possible to resurrect this branch, but the Unity OpenGL patch will need to be re-investigated as things have likely changed between Unity 2020 and 2022 (the version Valheim currently uses). |
@timkurvers If it's useful to you, I was able to find the same function that was patched in universal build but in unity 2022.3.12f1 and looks like it wasn't changed that much. And by patching same fallback line "mov w9, #0x4" I created build that was succesfully launched. Other than that I copied script from main branch and update PlayFabParty to 1.9.1 event though I'm not sure it was nessesary. New address: What line i change in script: Cannot say about stability and perfomance, as I am launching valheim first time. |
What did work for me was to build the main branch, change script to arm64 and then manually patch the dylib with Binary Ninja - the address (6e4cac) is correct. No further changes needed. The patch via script line didn't work for me for some reason. It runs fine, except for the glitch with the clouds. Maybe there's a reason why OpenGL isn't supported. |
you tried to update to Unity 2023.2.17 ? working update: Steamworks.NET have problem with ARM arch: |
@Alanko5 I stopped playing valheim some time ago, but out of sheer curiosity tried to find if i can repeat this trick in Unity 2022.2.17f. |
Closing this PR as the official universal macOS client is now available! 🥳 (see #104) |
This PR turns the build universal, supporting both Rosetta 2 and Apple Silicon, resolving #32.
Unfortunately, UnityPlayer is seemingly actively preventing OpenGL from being used on arm64, so this PR contains a binary patch to 'rectify' that.
Caution
This branch is no longer compatible with recent Valheim versions: the proposed workaround will likely need to be adjusted.
The native Apple Silicon build seems / feels a bit snappier to my untrained eye.
Things to figure out:
UnityPlayer.dylib
in this manner safe / a good idea?UnityPlayer.dylib
?Screen.Recording.2023-07-28.at.10.40.57.mov