Guide for BOX86 and BOX64 with wine on the Pocket Reform?

I have good news and bad news:

Bad news: It turns out that currently, wine in Debian is faced with several bugs that make it unable to build from source: https://bugs.debian.org/cgi-bin/pkgreport.cgi?archive=no&pend-exc=pending-fixed&pend-exc=fixed&pend-exc=done&sev-inc=critical&sev-inc=grave&sev-inc=serious&repeatmerged=no&src=wine

Good news: Lukas managed to get a custom-built wine with wow64 support (so that one is emulated with box64) to run a 32bit windows game: minute: "bonus: here's fallout new vegas (32 bit intel) ru…" - Mastodon

1 Like

thank you! now all that makes a lot of sense.

Was there any update to this thread? I wanted to give wine/box a try on my big Reform RK3588 but I want to set myself up for success rather than frustration and a wasted afternoon… :slight_smile:

2 Likes

I recently got around to loading my mnt reform 2 up with the rcore rk3588 board and got box/wine working.

This is certainly not a minimalist solution, but…

Keep in mind:

  • That armhf is arm32
  • box86 is to run i386 linux binaries
  • box64 is to run amd64 linux binaries
  • wine 9.x-ish+ with wow64 will be a linux amd64 binary that can run windows 32 and 64 bit binaries
  • wine versions 9.5-ish+ seem to have some issues with box32/64 at time of writing

Vague steps:

  1. Add the armhf, i386, and amd64 architectures to dpkg
  2. Add box86 repository from: GitHub - ryanfortner/box86-debs: automated box86 debian/apt repository
  3. Add box64 repository from: GitHub - ryanfortner/box64-debs: automated box64 debian/apt repository
  4. Install both box86 and box64 from apt
  5. Download a pre-built wine64 with wow64, such as: https://github.com/Kron4ek/Wine-Builds/releases/download/9.21/wine-9.21-staging-amd64-wow64.tar.xz
  6. Unzip this wherever, I use $HOME/wine
  7. Run wine inside box64, so you’ll do something like this for setup: box64 $HOME/wine/bin/wine wineboot

A little extra legwork is required to get things like unity games to work, you’ll need vulkan stuff installed.

After all this:

At this point you should have all your base requirements set up to run just about any linux/windows binary that is capable of running.

The rest of the resolution for individual games/programs will be summary searching for individual game quirk workarounds/wine tweaks and installing dependencies for box32/64 to wrap things for you.

Keeping in mind if the binary you’re trying to run is:

  • linux/i386, install the armhf version of the library
  • linux/amd64, install the arm64 version of the library
  • windows/i386, install the i386 version of the library
  • windows/amd64, install the amd64 version of the library

Generally speaking you don’t want to ever blindly install libraries for other architectures if they cause any kind of dependency conflict, that’s a good way to break your OS in hard to fix ways.

I haven’t tried it yet, but I bet the rcore board is capable of driving qemu at decent speeds and might run windows acceptably.

1 Like

Hi, I’m maintaining box64 in Debian. As @henesy said, box64 can run 32bit binaries via emulation with the box32 binfmt binary. If you see yourself installing the thirdparty repositories linked in the post above, please consider instead opening a bug against the box64 package in Debian so that we can fix whatever the issue is with the Debian package and minimize the need for third party repositories. Same goes for wine. Debian currently ships wine 10. If wine 9.5+ has issues, what is the bug? Lets fix the bug instead of pinning an old version. Fixing the bug will help everybody else going forward.

Qemu is not relevant here. The emulation (or the not-emulation) happens via box64 and wine. The former is fast because it avoids emulation via dynarec. The latter is fast because… it doesn’t emulate either. Qemu is slow because it emulates.

2 Likes

The box86 bug I was running into with higher versions of wine was something like: Cannot run wineserver ¡ Issue #1009 ¡ ptitSeb/box86 ¡ GitHub

Where wineserver refused to start completely, usually spitting some kind of socket error.

I admit, I added the repositories because I tried to find box86 specifically, got no hits, then sought out repositories for both without checking the debian repos for box64 specifically.

The qemu comment was estranged and tangential, I’m well aware what is and is not an emulator.

Is there a prebuilt bootable VM image with the rk3588 board’s base install that comes preinstalled on the flash memory available?

I would be willing to see what I can reproduce and document better if I can avoid mangling my current setup.

Are you looking for the images at https://mnt.re/system-image or something else?