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
[Request] Image for Arm64 #140
Comments
I'd be willing 😀 but it's not possible since Mojang only provides an x86 executable |
Everyone seeing this issue, I recommend to put some pressure on Mojang, for instance by upvoting this request: |
I voted! |
I voted as well. Thank you! |
Just bumping into this issue as well @itzg we could potentially create an arm64 image and use https://github.com/anujdatar/box86-docker to bridge the architecture from x86 - This could be a nice temporary solution until upstream supports dedicated ARM support. Thoughts? |
Interesting solution @xunholy ! I hadn't heard of that before. It seems to be 32 bit only, which is ok for targeting RaspberryPi but misses out on the advantages of arm64 platforms. Makes me think though that qemu might be option too. |
@itzg any further investigation been done on this front? QEMU could also work with using |
I haven't made any progress and don't have access to an arm64 platform. You can always fork this image and experiment from there. |
...I'm wondering if you can use a similar approach as https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/ but in your case it's running qemu on arm64 to emulate amd64 |
hooh, mojang kind suck |
someone can create translator x86 x64 ??? |
I want to run bedrock deditated server on termux / native ubuntu touch, but it can't run x86 code, can anyone make an arm > x86 translator?? |
Maybe try the reverse of https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/ |
I got this working on my Raspberry Pi 4 (arm64) using box64 https://github.com/ptitSeb/box64 (built on host, then installed on host) |
|
@Jashepp very interesting. Can you expand on the specifics for that 👆 |
@Jashepp I did a clean install on my raspberry pi and built the box64 binary. But was not able to run it. When you have a chance can you elaborate more on the process on getting this running? |
Hey, here's more info about it: Edit dockerfile to have I built box64 on the host (my Raspberry Pi 4) with: (notice the sudo apt install git build-essential cmake
git clone https://github.com/ptitSeb/box64.git ./repo
mkdir ./repo/build
cd ./repo/build
cmake .. -DRPI4ARM64=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo
make -j$(nproc)
# if running again after already installed, also call: sudo make uninstall
sudo make install
sudo systemctl restart systemd-binfmt (The 5 files listed below, are the files listed when running Then with docker, I can either edit the image to include: COPY /usr/local/bin/box64 /usr/local/bin/box64
COPY /etc/binfmt.d/box64.conf /etc/binfmt.d/box64.conf
COPY /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
COPY /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
COPY /usr/lib/x86_64-linux-gnu/libpng12.so.0 /usr/lib/x86_64-linux-gnu/libpng12.so.0 Or simply use volumes when creating the docker container: (i now use this method)
A good way to test is to add the BOX64_LOG environment variable to the docker container:
Docker output when ran:
box64 works almost perfectly. The only bug I've noticed in-game is invisible skins for other players which randomly fixes itself on random occasion. But everything else seems fine, and it's playable, with decent performance (much more so than the java version). The only times I've had issues running it with box64 is when I've had file corruption due to internet packet loss when downloading/cloning box64 before building it. Trying again at a later time fixed it for me. Edit: I just noticed that there is now an apt install method for box64 found here. Having that run on each docker container boot might be an idea, for an image that could work on maybe any arm64 device. |
Great success @Jashepp! Thank you for your contribution. Your initial approach wasn't working for me, but I made some changes to the Dockerfile and installed After some changes, the middle part looks like this:
I will try to work on the performance of the server because it is not perfect. The lags are visible and some destroyed blocks tend to reappear but overall it is, so far, the greatest success in bringing Minecraft Bedrock to ARM64. Cheers! |
And how are the experiences so far? Is the ARM server stable? |
For the past few days, I've been playing with the server running in a Kubernetes node on a raspberry pi 4. The performance seems better or as good as my old coreduo 2 server. I've submitted a PR here. |
I see your PR was committed, how does one add this build arg to there compose file to test? bds:
image: itzg/minecraft-bedrock-server
container_name: bds
build:
context: .
dockerfile: Dockerfile
args:
- ARCH=arm64
environment:
- EULA=TRUE
- GAMEMODE=survival
- DIFFICULTY=normal
ports:
- 19132:19132/udp
volumes:
- ./minecraft:/data
stdin_open: true
tty: true Here is what I tried, running on Oracle Cloud ARM free. |
Hi,
Would You be willing to provide an image for Arm64 architecture (if is's event possible)?
The text was updated successfully, but these errors were encountered: