-
-
Notifications
You must be signed in to change notification settings - Fork 232
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
Enter the gungeon fails to start (weak symbol, symbol not found, unimplemented opcode) #34
Comments
I'll work on wrapping the "libmono.so" of Unity games in Box86. That will get much better compatibility (because mono is difficult to emulate), and better speed, as all C# sharp code will run "native"... About Stardew Valley, it's an FNA games: it's a "pure" C# games with FNA (i.e. XNA on Linux) Framework. You can run it already using this method: https://magazine.odroid.com/article/playing-modern-fna-games-on-the-odroid-platform/ |
Great, thank you very much! I'll look forward to that! As for the guide for playing fna games, i did try running a few games (including starfew) with that method and sadly all but one game failed to boot. The only game that managed to boot was hammerwatch. Starwdew, towerfall, owlboy and fez all failed to boot. I can post a few of the errors if you'd like. |
Ah yes, post some errors here. All the game you listed worked on my side, so that's strange they didn't worked for you (and for information, Hammerwatch is the only one in your list that is not an FNA game, but a regular C# + SDL2 game). |
Thank you. I posted the logs on pastebin so as not to clutter this age too much, though if you want them here i can edit them into this post :) Also, i was unable to compile theorafile on armv7, apart from that everything else compiled fine.
|
So, for Bastion, there is an issue with your version of MojoShader. I'll check on my side if I can understand what is happening. For StardewValley, it seems to crash while loading sound data. I see you have 4 GB of RAM, so I guess it's not a memory issue. Still, you can try do recode the sould (to avoid MSADPCM). I'll check the other logs later. |
And TowerFall had the same mojoshader issue. I analyzed a bit, and I think you need to rebuild mojoshader with FLIP_VIEWPORT activated. |
The -DFLIP_VIEWPORT=ON flag was already set when i compiled originally (as it was in your guide). Tried compiling it a few more times, even changing the CMake.txt to having these options on just to make sure, still no luck. However! i decided to try an older(?) repo at https://github.com/flibitijibibo/MojoShader. Checking the CMake.txt it seems that i can just run cmake then make, so i did, copied the .so over...and what do you know! It worked! Bastion, towerfall and owlboy all booted instantly, and setting bastion to 720p allows it run at fullspeed, absolutely amazing. I'll try and let icculus know about this. Thanks again mate you've been extremely helpful. EDIT: I solved stardew valley error. It was was fault, i did ln -s /usr/lib/arm-linux-gnueabihf/libopenal.so libsoft_oal.so, but i didnt check if the file was actually there. The correct name for me was libopenal.so.1. After fixing that, the game booted fine, and again its another game running fullspeed. :) Only game that i have left in the list that still doesn't work is FEZ. It doesn't seem to give any errors when loading (that i linked in the pastebin), but it doesn't load. very strange. Back to box86, i have tested quite a large number of games and have saved the errors for the ones that failed to boot. If you want i can upload all the logs here if that would help. |
Ah thanks for the info! That MojoShader github repo is certainly the one to go (as flibitjibibo is the author of FNA after all). I try to add a comment on the article, but the comment zone is Facebook only, so no-go for me. I'll try to have it fixed. For FEZ, maybe look in For stardew valley, yes, that strange link to libsoft_oal... I see (I should fix the tutorial too). For Box86 yes, if you can open a ticket per game, I think that would help me to see what stuff I have to do next. Also, did you had some success with Box86? (also, what error do you have that prevent you from building theorafile in armv7?) |
Thanks, found the logs in ~/.local/share/FEZ.
Sure no problem. Yes i've had a few successes! bit-runner, unepic, defcon, FTL, world of goo and human resource machine. Another game that works is retro-city-rampage, however it runs at like 5fps, which is ironic as its the least demanding game by far ;) Though a few games that you got working did not work for me such as airline-tycoon. Airline-tycoon complains that "libsmpeg2-2.0.so.0" is not found, even though those libs are in ./lib32 of the game directory, and i added that path when running box86. As for theorafile, i get a lot of assembly errors. Looking at the make file, it has a if else checking if the system is x64, else its x86, and then adds the flags. Of course because of this i wont be able to compile on arm. I did try removing the flag to see if it would magically work anyway, and it compiled and booted a game that required it (Dust An Elysian Tail), it tries open a window / goes fullscreen but fails, game continues to run with music etc and there were no errors. Just can't see the game :) Lastly, for games such as undertale using box86, they require libcrypto. Do I have to install the i386 lib for this? I tried looking for help installing i386 libs on the pi but i couldnt find anything, the only i386 lib in the raspbian repo was libstdc++.so.6. |
So, an XML error in FEZ? Strange. You used the LC_ALL="C" ? Maybe try to remove it? for libtheora, I'll re-check on my side how I built it. For Airline-tycoon: the libsmpef2-2.0.so.0 needed is the ARM version, not the i386 (that is in the lib32 of the game). Use |
Tried FEZ without LC_ALL, however its the same error. And thank you. Speaking of compiling, i tried compiling the mono fork thats now linked but i was unable to. Tried on arm and pc and had same errors. I could build the original mono non-fork fine though. Ah thank you, and nice tip on using file. Now got undertale working as well as a few other games including 2 fantastic games: VA11HallA and Hotline Miami! Amazing stuff. Hotline miani 2 also boots but freezes on the loading screen, ill open a separate issue on that shortly. |
Strange. The log seems to be about XML Joystick configuration. I need to look a bit more. I didn't tried with any joystick on my side...
The regular libmono will not have all the Unity specific symbol and will not work. I built it on the Pandora (so arm). What kind of error do you have?
Nice, Hotline Miami :) VA11HallA I don't know it. I'll check later. Basicaly, most (if not all) GameMaker Studio game should work (all that have "runner" binary and "assets" folder). Some may be a bit slow sometimes (like "Not A Hero" or "Risk of rain"). |
I’ll try compiling again and I’ll post the results. I did try git clone, autogen, make - but I had errors straight away if I remember correctly. Then tried —recursive-submodules when cloning, got a lot further compiling but still errors. I was following the build guide that’s linked at the bottom of the repo, but that was for the original mono repo, maybe the instructions / decencies are different? And that’s awesome, thats quite a lot of games there then! |
Hi, this was the error i got when compiling. it happens when getting to the section that starts with
I did git clone --recursive-submodules https://github.com/Unity-Technologies/mono.git |
Ok, I'll check later on my side. It seems there is a mix of mono runtime/tools that break the build. |
Tried again compiling unity-mono on arch, x64 debian and raspbian and it fails to compile sadly. Do you think the lib that you managed to compile work on the pi4? Unless it was built against pandora specific libs. |
Nope, it wont work on on the Pi4, the Pandora is SoftFP and HardFP on the floating point side. |
Ah i see, thank you for explaining. |
Can you retry the game now, and close the ticket if it works? |
I haven't really played, but it seemed playable. I'll try some actual game with fps counter later |
Device: raspberry pi 4 (4gb)
OS: Raspbian (32bit)
Game: Enter the Gungeon
The lines "25088|0x90866c4: Unimplemented Opcode 66 8C E1 89 48 18 8D 88" are repeated a few hundred times until a seg fault error.
Hopefully that's useful to you! If you need more information then i'd be happy to help.
Also I did try stardew valley but i had errors there as well, not sure if you want me to open an issue for each game that i have errors with, though so far its just been EtG and stardew. World of goo worked perfectly which was amazing!
The text was updated successfully, but these errors were encountered: