ptitSeb / box64

Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices
https://box86.org
MIT License
3.68k stars 263 forks source link

Skype can not run in Macbook pro m1 #1753

Open itsoulos opened 2 weeks ago

itsoulos commented 2 weeks ago

When I try to run the skypeforlinux in m1 it gives the following error

EmulatedBT: box64(ExitEmulation+0) [0x10080] EmulatedBT: /home/sheridan/Downloads/TESTIMAGES/Skype-appimage-main/tmp/skype.AppDir/skypeforlinux(+2a) [0x101a912aa] 14624|SIGABRT @0xfffee98787e0 (???(/lib64/libc.so.6+0x987e0)) (x64pc=0x101fa4f8b/"/home/sheridan/Downloads/TESTIMAGES/Skype-appimage-main/tmp/skype.AppDir/skypeforlinux + 0x1fa4f8b", rsp=0xfffee942db98, stack=0xfffee8c30000:0xfffee9430000 own=(nil) fp=0xfffee942e540), for accessing 0x3e800003920 (code=-6/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=(nil) RSP-0x20:0x0000000000000000 RSP-0x18:0x0000000000000000 RSP-0x10:0x0000000000000000 RSP-0x08:0x0000000000000000 RSP+0x00:0x0000000000000000 RSP+0x08:0x0000000000000000 RSP+0x10:0x0000000000000000 RSP+0x18:0x0000000000000002 RAX:0x0000000000000016 RCX:0x0000000000000016 RDX:0x0000fffee99ec760 RBX:0x0000000000000003 RSP:0x0000fffee942db98 RBP:0x0000fffee942e540 RSI:0x0000fffee9810f60 RDI:0x0000fffee942e524 R8:0x0000000000002000 R9:0x0000000000000001 R10:0x0000000000000004 R11:0x0000000000000006 R12:0xffffffffffffc000 R13:0x00000001087ba868 R14:0x0000000000001000 R15:0x000003fc00201000 ES:0x002b CS:0x0033 SS:0x002b DS:0x002b FS:0x0043 GS:0x0053 Aborted (core dumped)

KreitinnSoftware commented 2 weeks ago

Run with BOX64_DYNAREC_STRONGMEM=1 BOX64_DYNAREC_SAFEFLAGS=2 BOX64_SHOWSEGV=1 BOX64_SHOTBT=1

itsoulos commented 2 weeks ago

No the same output. Where should I put these variables?

ptitSeb commented 2 weeks ago

you might need BOX64_MALLOC_HACK=2 also.

Those are environement variable. Put it in front of you binary when you launch it, or create / edit ~/.box64 and add a section with the binary name and the variable below, like this:

[skypeforlinux]
BOX64_MALLOC_HACK=2
BOX64_DYNAREC_STRONGMEM=1
BOX64_DYNAREC_SAFEFLAGS=2
BOX64_SHOWSEGV=1
BOX64_SHOWBT=1
itsoulos commented 2 weeks ago

Apply RC params for skypeforlinux Applying BOX64_SHOWSEGV=1 Applying BOX64_SHOWBT=1 Applying BOX64_MALLOC_HACK=2 Applying BOX64_DYNAREC_STRONGMEM=1 Applying BOX64_DYNAREC_SAFEFLAGS=2 Rename process to "skypeforlinux"

The app started with these messages but it crashed again here ES:0x002b CS:0x0033 SS:0x002b DS:0x002b FS:0x0043 GS:0x0053

ptitSeb commented 2 weeks ago

well, that means it correctly applied the parameters, that's good but it's not enough it seems.

(note that the line you copy/paste is just a tiny subpart of the whole crash message. No way I can see what's wrong with this. Is the program downloadable somewhere? I might need to debug this one...)

itsoulos commented 2 weeks ago

here is the full log https://pastebin.com/brdxvfkq

itsoulos commented 2 weeks ago

Also, I have downloaded the skypeforlinux.deb and I unzipped it locally as you see. Thanks in advance for any help

ptitSeb commented 2 weeks ago

Nah, the root cause of the issue is before that. The SIGILL is from the UD2 opcode, wich is designed to trigger a SIGILL. Program do that to stop execution quickly when something as gone wrong...