pauleve / docker-mtgo

Docker image with ready-to-play MTGO (Magic Online) for Linux and macOS
https://hub.docker.com/r/panard/mtgo/
470 stars 34 forks source link

Extend base img with other base architecture #188

Open MauroBono opened 8 months ago

MauroBono commented 8 months ago

The base architecture is the linux/386 architecture. However if you want to execute the application on a Mac Pro, then we need to support provide a base img built on a linux/arm64/v8 machine (or at least support the architecture).

Should be done easily, let me know, if I can help

pauleve commented 8 months ago

Indeed - to my understanding the main challenge is that wine will not work on architectures other than amd64/i386 as it requires having i386 binaries for now. This is currently being addressed with the WoW64 effort. In #176 I've prepared a Docker image which uses it, but it doesn't work with MTGO so far. Yet, it will probably work in a near future with next wine releases. Once this is fixed, it will allow installing wine on different architectures and run MTGO natively on them.

Alternatively, it may be possible to run i386 Docker images on M1/others using emulation. There have been some discussions about it in #116 , but with no success so far to my knowledge. If you manage to run MTGO on M1, that would be awesome!

pauleve commented 6 months ago

With the latest wine 9.0-rc1, we can start hoping for native arm64 wine for executing mtgo. You can give a try using the following commands to build a native arm64 image:

git clone  -b wow64-multi https://github.com/pauleve/docker-mtgo.git docker-mtgo64
cd docker-mtgo64
git submodule update --init
make -C docker-wine
make

If successful, you can then try in the docker-mtgo64 folder:

./run-mtgo panard/mtgo:wow64

Alternatively, to try emulating amd64 imaged, the following setup might work:

docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

Then try ./run-mtgo --update panard/mtgo:latest

whaler-ragweed commented 6 months ago

Error when building (M1 Mac, 4GB memory for Docker), tried several times. Any suggestions?

Screenshot 2023-12-15 at 8 13 52 PM
pauleve commented 6 months ago

Thanks for the debug! I'll try to cross-build the arm image here to test. It looks like either the build of wine misses some configurations for arm, or that arm is not really supported yet (although https://wiki.winehq.org/ARM64 seems positive)...