2

I'm trying to install Wine on a 32-bit Raspbian using Pi-Apps. I have already successfully installed Box86 emulator from the same place. However, Wine installation ends in a segfault:

Installing Wine (x86) with install-32 script
Your system is using a 3G/1G kernel. Continuing...
Running pkg-install...
Waiting until APT locks are released... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
output: Reading package lists...
Building dependency tree...
Reading state information...
cabextract is already the newest version (1.9-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
No new packages to install. Nothing to do!
--2021-02-27 17:34:38--  https://twisteros.com/wine.tgz
Resolving twisteros.com (twisteros.com)... 185.199.108.153, 185.199.109.153, 185.199.110.153, ...
Connecting to twisteros.com (twisteros.com)|185.199.108.153|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 67938781 (65M) [application/octet-stream]
Saving to: ‘/home/pi/wine.tgz’

/home/pi/wine.tgz 100%[=============================================================================>] 64.79M 15.4MB/s in 4.3s

2021-02-27 17:34:44 (15.2 MB/s) - ‘/home/pi/wine.tgz’ saved [67938781/67938781]

--2021-02-27 17:36:32-- https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.110.133, 185.199.109.133, 185.199.111.133, ... Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.110.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 879667 (859K) [text/plain] Saving to: ‘/usr/local/bin/winetricks’

/usr/local/bin/winetricks 100%[=============================================================================>] 859.05K 3.53MB/s in 0.2s

2021-02-27 17:36:32 (3.53 MB/s) - ‘/usr/local/bin/winetricks’ saved [879667/879667]

Box86 with Dynarec v0.2.1 db176ad3 built on Feb 15 2021 00:05:11 Box86 with Dynarec v0.2.1 db176ad3 built on Feb 15 2021 00:05:11 Box86 with Dynarec v0.2.1 db176ad3 built on Feb 15 2021 00:05:11 008c:err:clipboard:convert_selection Timed out waiting for SelectionNotify event 008c:err:clipboard:convert_selection Timed out waiting for SelectionNotify event 00b8:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution. 00b8:fixme:dwmapi:DwmIsCompositionEnabled 6D95DD14 00c0:fixme:iphlpapi:NotifyIpInterfaceChange (family 0, callback 0x6a0df537, context 0xe29060, init_notify 0, handle 0x166fce8): stub 00b8:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION wine: configuration in L"E:\home\pi\.wine" has been updated. First wineboot finished. Now updating wine prefix... /usr/local/bin/wine: line 2: 8256 Segmentation fault setarch linux32 -L /home/pi/wine/bin/wine "$@"

Installed Wine (x86) successfully.

Closing in 30 seconds.

Subsequent calls to wine also result in a segfault:

pi@raspberrypi:~ $ winecfg
/usr/local/bin/wine: line 2: 15171 Segmentation fault      setarch linux32 -L /home/pi/wine/bin/wine "$@"
pi@raspberrypi:~ $ wine explorer
/usr/local/bin/wine: line 2: 15174 Segmentation fault      setarch linux32 -L /home/pi/wine/bin/wine "$@"

Any ideas what might be wrong? Box86 is working as far as I can tell. I tried reinstalling both Wine and Box86, rebooting, and wiping the ~/.wine folder before installation.

Dmitry Grigoryev
  • 27,928
  • 6
  • 53
  • 144
  • 3
    Why not log an issue on PiApps GitHub? https://github.com/Botspot/pi-apps/issues – CoderMike Feb 21 '21 at 14:32
  • 1
    @CoderMike I've already contacted the author on Discord, trying a bunch of suggestions right now. Of course I'll open an issue if the problem will be confirmed. I think it's still useful to have the question here, not many people know they can install Wine on a Pi in the first place. – Dmitry Grigoryev Feb 21 '21 at 16:42
  • 1
    @DmitryGrigoryev Are you sure this is supposed to work? On https://wiki.winehq.org/Debian it says: "Raspbian users: the WineHQ packages are for x86 architecture only; they cannot be installed on an ARM system." – PMF Feb 22 '21 at 07:38
  • 1
    @PMF, check out this answer for instance. It's indeed possible to run x86 code under an emulator on an ARM kernel. I'm interested in testing this emulator in particular, to compare the performance – Dmitry Grigoryev Feb 22 '21 at 08:43
  • 1
    Ok, sounds interesting, indeed. I thought you were trying the other way round (installing Box86 under wine). – PMF Feb 22 '21 at 08:45

1 Answers1

2

After some troubleshooting the issue was identified: Wine (x86) fails to run if there are other handlers for x86 ELF files than Box86. The solution is to remove other emulators (QEMU, Exagear, etc.) from the system.

As a side note, Wine + Box86 are amazingly fast, for instance, StarCraft and Heroes of Might and Magic 2 run full speed on a Pi 4. Many games will still fail to run at this point, but Box86 being an open-source project (and quite recent) makes me believe the situation will improve with time.

Dmitry Grigoryev
  • 27,928
  • 6
  • 53
  • 144