pauleve / docker-mtgo

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

Cannot build the docker image from master #190

Closed malakai97 closed 11 months ago

malakai97 commented 1 year ago

I am looking at building with a version of wine that was compiled with vulkan support, and to that end I am first trying to build your images unmodified. The wine image in /docker-wine builds fine, and it'll even build with vulkan support.

However, I can't get the mtgo image to build at all. Winetricks always fails. First, it was the fonts, so we grabbed those manually, but subsequent steps also fail.

Can you tell me more about your build enviroment in which these Dockerfiles work? It's possible my build is grabbing different winetricks sources since those seem to be just pegged to master.

OS: Linux Mint Desktop environment (for Linux): Cinnamon Graphics card: vaapi Output of docker info:

docker info
Client:
 Version:    24.0.6
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.11.2
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.21.0
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 2
  Running: 0
  Paused: 0
  Stopped: 2
 Images: 3
 Server Version: 24.0.7
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 61f9fd88f79f081d64d6fa3bb1a0dc71ec870523
 runc version: v1.1.9-0-gccaecfc
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 5.15.0-88-generic
 Operating System: Linux Mint 21.2
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 15.5GiB
 Name: azula
 ID: 1db5f410-ca43-470c-8c9c-f14435d28db4
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
4.335 ------------------------------------------------------
4.335 warning: Running /usr/bin/wineserver -w. This will hang until all wine processes in prefix=/home/wine/.wine terminate
4.335 ------------------------------------------------------
6.730 Executing wine C:\windows\regedit.exe /S C:\windows\Temp\_register-font.reg
6.785 Executing cp /home/wine/.wine/dosdevices/c:/windows/temp/_register-font.reg /tmp/winetricks.ODM866JL/_reg_90ad6a9f_7.reg
6.787 Executing wine C:\windows\regedit.exe /S C:\windows\Temp\_register-font.reg
6.799 Executing cp /home/wine/.wine/dosdevices/c:/windows/temp/_register-font.reg /tmp/winetricks.ODM866JL/_reg_f6204652_7.reg
6.816 Executing w_do_call arial
7.181 Executing load_arial 
7.185 Executing cd /home/wine/.cache/winetricks/corefonts
7.186 Downloading https://mirrors.kernel.org/gentoo/distfiles/5e/arial32.exe to /home/wine/.cache/winetricks/corefonts
7.191   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
7.191                                  Dload  Upload   Total   Spent    Left  Speed
100   369  100   369    0     0   1029      0 --:--:-- --:--:-- --:--:--  1030
7.552 Executing cd /home/wine
7.555 ------------------------------------------------------
7.555 SHA256 mismatch!
7.555 
7.555 URL: https://mirrors.kernel.org/gentoo/distfiles/5e/arial32.exe
7.555 Downloaded: d58cbfc41bf8672b0ce9c9f129578c18bfecbdeb4684c581e191345cb2aa95f1
7.555 Expected: 85297a4d146e9c87ac6f74822734bdee5f4b2a722d7eaa584b7f2cbf76f478f6
7.555 
7.555 This is often the result of an updated package such as vcrun2019.
7.555 If you are willing to accept the risk, you can bypass this check.
7.555 Alternatively, you may use the --force option to ignore this check entirely.
7.555 
7.555 Continue anyway?
7.555 ------------------------------------------------------
7.555 ------------------------------------------------------
7.555 Unattended mode, not prompting for confirmation
7.555 ------------------------------------------------------
7.559 Executing cd /home/wine/.cache/winetricks/corefonts
7.559 Downloading https://mirrors.kernel.org/gentoo/distfiles/5d/arialb32.exe to /home/wine/.cache/winetricks/corefonts
7.564   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
7.564                                  Dload  Upload   Total   Spent    Left  Speed
100  164k  100  164k    0     0   267k      0 --:--:-- --:--:-- --:--:--  267k
8.181 Executing cd /home/wine
8.185 Executing cabextract -q -d /home/wine/.wine/dosdevices/c:/windows/temp /home/wine/.cache/winetricks/corefonts/arial32.exe
8.185 /home/wine/.cache/winetricks/corefonts/arial32.exe: no valid cabinets found
8.185 ------------------------------------------------------
8.185 warning: Note: command cabextract -q -d /home/wine/.wine/dosdevices/c:/windows/temp /home/wine/.cache/winetricks/corefonts/arial32.exe returned status 1. Aborting.
8.185 ------------------------------------------------------
------
pauleve commented 1 year ago

Yes there is currently a mess with winetricks regarding the installation of corefonts. The solution is to skip this step. You can either use the for-next or even auto/wine-updates branch which integrate this workaround.

pauleve commented 1 year ago

Also, I'm interested if the vulkan build improves things for you. If so, I'll be happy to make it the default.

malakai97 commented 1 year ago

I'll try those branches, but I was having trouble with the dotnet step as well. Probably going to be a few days before I can try it out unless I end up with a bunch of time tomorrow.

pauleve commented 11 months ago

If you wanna try vulkan support, you can now do the following:

./run-mtgo --shell panard/mtga:wow64-deb
$ winetricks renderer=vulkan
$ wine /opt/mtgo/mtgo.exe

Let me know if it improves things for you, especially compared to enabling desktop emulation with --winecfg using a configuration similar to this:

malakai97 commented 11 months ago

Those things didn't work for me but I didn't try especially hard. I don't think I'm going to have much time for this going forward.