-
-
Notifications
You must be signed in to change notification settings - Fork 882
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
Idea - Add Raspbian Support #2133
Comments
Well, that won't work. In this case, 'generic' means 'intel x86'. Possible, sure. It's not impossible, but it would be a lot of work and it would require ongoing maintenance. On the MultiMC side, it would involve some design changes and setting up a lot of build automation. Raspberry has an ARM CPU. I would need an ARM machine or at least some sort of emulation for running tests. On the Minecraft end, the metadata would have to change to include native libraries for ARM, which I'd have to build, maintain and host somewhere. I can change the metadata, because MultiMC 0.6.0 no longer directly grabs that from Mojang anymore, so this is at the very least possible now. I'd hoenstly rather do other things that benefit existing users. If you want this stuff for yourself, making an ARM build would be the first step. There are also some BSD patches that you could look at for integration with the system version of LWJGL -- https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224823 Also, if you do any of this on your own, write the details down, push changes to github, tell me about it so it doesn't go away. |
I'd like to help with this and have access to an RPi4. Is there an easy way to get started with this? It's been a long time since I wrote C++ code 😀 |
Ok! Got it to build using the following commands:
At first I had a problem with the Qt UI being waaaay bigger than my screen, perhaps to do with some sort of pixel scaling issue in my config. I fixed it by applying this environment variable:
I've added this line to /etc/environment which I presume will sort the issue for a few other apps too (VLC and Xmoto both have been looking weird on this Pi for a while). Then I tried to run MultiMC with 1.15.2 and, as expected, ran into a problem with lwjgl:
Will try to make more progress tomorrow. |
Welp, keep me posted. #2133 (comment) is still completely valid, but if you can get this to the point where people can build and use it on their own, there's a chance. |
And no... you wouldn’t necessarily need an arm64 machine emulator for building it as you can just cross compile it (I’m currently trying to do that... haven’t finished it yet) and then relying on the community to test it. |
I don’t know if it had to do with the os your using, but I just changed it to use clang instead of g++ and it worked fine out of the box. It did need the patcher to make it actually run Minecraft, which required me to custom build LWJGL, but I currently use it daily without issues and was able to use it on several RPi4 64bit oses without issues. I found it runs the fastest on the 64bit gentoo with overclocking. |
Since LWJGL 3.2.3, official ARM32/64 builds are available, and those work with the Pi 3 (I tested on 32bit raspbian but I'd assume the ARM64 builds also work on 64bit operating systems). Minecraft 1.13+ uses LWJGL 3.2.2 but it seems to be compatible with 3.2.3, so the official builds work. For patching the LWJGL JSON, I made https://github.com/comp500/MultiMCPi a few weeks ago, but obviously that can be done in meta with the systems meta already uses. In terms of compiling MultiMC itself, that's a bit more of a mess. I didn't manage to compile Qt (which most of the Qt cross compilation things use) but I managed to compile MultiMC on my Pi 3 using prebuilt Qt from Raspbian's repos. As @JJTech0130 said it does need clang to compile, but apart from that qmake works fine. |
Yup, like I said it builds fine for me with clang. It just runs into the same lwjgl problem that's cropped up in all Minecraft versions since maybe 1.13. I'd like to make it build for vanilla 32-bit Raspbian, since I was able to run Minecraft 1.14 that way on an RPi4 by following these instructions. Presumably it's possible without Optifine too. |
It is possible without Optifine - I've tested it with Fabric + Lithium + Sodium + Phosphor, although 1.13+ in general doesn't run very well on the Pi 3. Another thing to note is that I ran into a segfault when closing the instance window, but it seems to save the changes properly. Edit: I've put some rough build instructions in https://github.com/comp500/MultiMCPi if you want to run it on vanilla 32-bit Raspbian, that does install Java 14 but you can replace 14 with 8 if you want to use older Minecraft instances or Forge. (in theory it has better performance, but I haven't tested this) |
You mention LWJGL problems, under 64bit os’es I have had no problems and can run pretty much any mods I’ve tried from 1.6 to 1.15... the versions that use LWJGL 1 don’t work but I have never seen anyone using them... the only thing is controller mods and the like that interact directly with the os don’t work but that’s a Linux problem it won’t run on my intel pc either |
I always use 64 bit oses for my pi’s anyway because it often performs better in some tasks especially sense most of the os’es are made exclusively for the pi4 and can use armv8 acceleration |
I would have used a 64 bit OS, but I didn't manage to get Manjaro working with the proper GL driver - I think it's better supported on the pi 4. I think the aforementioned LWJGL problems were just because MultiMC was using the x86_64 binaries rather than the ARM32 ones, that's what the scripts fix. |
@JJTech0130 agreed, I'd generally prefer to use a 64-bit OS myself, but my kid uses totally vanilla 32-bit Raspbian. It would be great to be able to say that (real) Minecraft is supported (almost) out-of-the-box on the Pi without needing to install a 64-bit OS 😃 Thanks @comp500 and @JJTech0130 -- this is really exciting already! Looking forward to trying your work on the weekend. |
I use this script to build it on my RPi Jenkins server FYI. I also use some other applications to publish artifacts to github automatically and to allow web hooks without bypassing the firewall (port forwarding) but they don’t really matter. git submodule init
git submodule update
mkdir build
mkdir install
cd build
cmake -D MultiMC_META_URL:STRING="https://jjtech0130.github.io/meta-multimc/" CMAKE_CXX_COMPILER=clang++ CMAKE_C_COMPILER=clang CMAKE_INSTALL_PREFIX=../install ../
make -j3 [EDIT] cp ./application/package/linux/MultiMC ./install
mkdir ./install/bin
cp ./build/MultiMC ./install/bin/
cp ./build/libMultiMC_* ./install/bin/
cp ./build/jars/ ./install/bin/ -r
rm ./install/bin/jars/CMakeFiles/ -r
tar -zcvf build-$BUILD_NUMBER.tar.gz ./install [EDIT] |
Well... there is the 8GB Rpi4 now, and a beta 64 bit raspbian so that you can use all 8 gb in one process... that should make MC a lot |
@JJTech0130 More RAM doesn't neccesarily mean it will run faster. Mine runs great with 2gb RAM allocated. Unless you use a lot of mods extra RAM can actually make it slower. |
With the newer GCs (especially G1 and ZGC) allocating too much RAM isn't really a problem. The extra RAM will be useful for file caching though - you could even potentially use some of it as a ramdisk. However, 64 bit ARM has access to more registers, which means Java (especially newer versions like Java 14) should be faster than on 32 bit ARM. At some point though, you'll be limited by the graphics hardware anyway. |
Is this a bug? Exit code
And yes, this is 64-bit ARM java, it just doesn't detect it right. EDIT: Just for clarification, this was run on the 64-bit |
On the 64 bit RPiOS it renders the QT window really large and then crashes the X server. It doesn't even get past the setup: the last thing it shows it the log it |
Found another bug: when you close the configuration window MultiMC crashes with a segfault: |
Well. This is confusing. I found that if you use the ABSOLUTE PATH to the patcher and then run it ~2 times it will eventually succeed in running. |
But apparently my patcher's "Quick 'n Dirty" approach to patching LWJGL2 doesn't work on RPiOS 64-bit 😢
|
We have arm32 lwgl libraries and I run Minecraft java on my pi I just needs to use multimc |
And also we have both aarch64 and arm32 lwgl libraries |
Why not???? seriously??? there are plenty of people with Microsoft accounts and raspberry pis i cant wait until theres microsoft account support (or is there support already)a not suppporting raspbian is NOT a good idea this launcher is fantastic |
My firend uses multimc on his aarch64 pi IDK how he build it |
Everyone should use the version on pi-apps, it has Microsoft account support and is maintained by someone much more active than I am. |
they should change the naming, to reflect the liscense |
To quote @theofficialgman on the raspberry pi forums:
https://forums.raspberrypi.com/viewtopic.php?f=78&t=321888 I have no idea if he is right, I've mostly abandoned this project anyways so it doesn't matter much to me. However, it seems similar to what the WoR people are doing with Windows, they are not distributing modified windows, rather letting them do it themselves, so in my mind it's a bit different. He's not even distributing the tar.gz like I was. |
The answer is no. |
I'll do this properly when Mojang provides the files, and until then, I will treat any attempts to do this as forks - that should not infringe on the MultiMC name, or funnel support issues to the official channels. I am not interested in dealing with this until it becomes feasible. |
I support your decision. I was hoping that this might gain official support from Microsoft, especially with other ARM platforms like the M1 and Surface entering the market, but it looks like it won't. |
I will be archiving my repositories, and adding a notice, as I don't have time to maintain them anyway and they have fallen behind. |
It eventually will. Probably first on Apple M1 hardware. |
Maybe in the meantime, someone will rebrand it to comply with the license, but I don't have time for that, so I'll just use my own build without providing public builds or access. 😄 |
/shrug |
I think I have archived most everything. Ping me if there's a problem or if people are still using it and I need to further restrict access. |
I don't want to bury it, I just don't want to deal with people coming in with some weird hacked up setup on a platform I don't even have access to. |
I'm just archiving for now, I'll leave it up, but I'm making it very clear that it is deprecated and unsupported. |
I can run minecraft on rpi4 (4gb), but with the old launcher and only demo, I need MultiMC to login with MS |
Try the version in pi-apps. It has Microsoft auth iirc.
**EDIT:** Oh never mind I misread that. You're just stating your use case, not asking for support lol.
…Sent from my iPhone
On Jan 24, 2022, at 3:00 PM, Gabrielow11 ***@***.***> wrote:
I can run minecraft on rpi4, but with the old launcher and only demo, I need MultiMC to login with MS
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.
|
As of last time I checked (rather recently), the pi-apps package also contains behavior I'd call malicious. |
¯_(ツ)_/¯ |
Would it be possible to add support for Raspbian? When I try to run the generic 32-bit it says:
The text was updated successfully, but these errors were encountered: