ptitSeb / box64

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

cursor.com editor on M1 mac ahasi fedora remix 40 #1778

Open tohodakilla opened 3 months ago

tohodakilla commented 3 months ago

I am trying to launch cursor app using their x86_64.AppImage using latest box64 v0.3.0 build just using -j4 option.

here is output:

 PageSize:16384 Running on Icestorm-M1-Max Firestorm-M1-Max with 10 Cores
Will use time-based emulation for rdtsc, even if hardware counter are available
Will use Software counter measured at 1.0 GHz emulating 2.0 GHz
Params database has 80 entries
Box64 v0.3.0  built on Aug 30 2024 23:48:24
BOX64: Detected 48bits at least of address space
Counted 88 Env var
BOX64 LIB PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/home/shuib/.local/share/pnpm/:/home/shuib/.local/bin/:/home/shuib/bin/:/usr/local/bin/:/usr/bin/:/bin/:/usr/local/sbin/:/usr/sbin/:/sbin/:/var/lib/snapd/snap/bin/
Looking for ./cursor-0.40.3x86_64.AppImage
Rename process to "cursor-0.40.3x86_64.AppImage"
Using native(wrapped) libdl.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libz.so.1
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
Using native(wrapped) libfuse.so.2
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 USCAT FLAGM FLAGM2 FRINT PageSize:16384 Running on Icestorm-M1-Max Firestorm-M1-Max with 10 Cores
Will use Hardware counter measured at 24.0 MHz emulating 3.0 GHz
Warning, unsupported BOX64_RESERVE_HIGH=1 for [kingdom rush origins] in /etc/box64.box64rc
Warning, unsupported BOX64_RDTSC_1GHZ=1 for [horizonzerodawn.exe] in /etc/box64.box64rc
Params database has 80 entries
Box64 with Dynarec v0.2.8 nogit built on May 22 2024 00:00:00
BOX64: Detected 48bits at least of address space
Counted 93 Env var
BOX64 LIB PATH: /tmp/.mount_cursorVcJqac/usr/lib/:./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/tmp/.mount_cursorVcJqac/:/tmp/.mount_cursorVcJqac/usr/sbin/:/home/shuib/.local/share/pnpm/:/home/shuib/.local/bin/:/home/shuib/bin/:/usr/local/bin/:/usr/bin/:/bin/:/usr/local/sbin/:/usr/sbin/:/sbin/:/var/lib/snapd/snap/bin/
Looking for /tmp/.mount_cursorVcJqac/cursor
Rename process to "cursor"
Redirecting overridden malloc from symtab function for /tmp/.mount_cursorVcJqac/cursor
Using emulated /tmp/.mount_cursorVcJqac/libffmpeg.so
Using native(wrapped) libdl.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libgobject-2.0.so.0
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libgio-2.0.so.0
Using native(wrapped) libgmodule-2.0.so.0
Using native(wrapped) libnss3.so
Using native(wrapped) libnssutil3.so
Using native(wrapped) libsmime3.so
Using native(wrapped) libnspr4.so
Using native(wrapped) libdbus-1.so.3
Using native(wrapped) libatk-1.0.so.0
Using native(wrapped) libatk-bridge-2.0.so.0
Using native(wrapped) libSM.so.6
Using native(wrapped) libICE.so.6
Using native(wrapped) libXau.so.6
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libcups.so.2
Using native(wrapped) libdrm.so.2
Using native(wrapped) libgtk-3.so.0
Using native(wrapped) libgdk-3.so.0
Using native(wrapped) libgdk_pixbuf-2.0.so.0
Using native(wrapped) libpangocairo-1.0.so.0
Using native(wrapped) libpango-1.0.so.0
Using native(wrapped) libcairo.so.2
Using native(wrapped) libX11.so.6
Using native(wrapped) libXcomposite.so.1
Using native(wrapped) libXdamage.so.1
Using native(wrapped) libXext.so.6
Using native(wrapped) libXfixes.so.3
Using native(wrapped) libXrandr.so.2
Using native(wrapped) libXrender.so.1
Using native(wrapped) libgbm.so.1
Using native(wrapped) libexpat.so.1
Using native(wrapped) libxkbcommon.so.0
Using native(wrapped) libasound.so.2
Using native(wrapped) libatspi.so.0
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
Warning: Weak Symbol __gcov_dump not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6a9d00 (0xa127876)
Warning: Weak Symbol __gcov_flush not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6a9d08 (0xa127886)
Warning: Weak Symbol ZSTD_trace_decompress_begin not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6a9de8 (0xa127a46)
Warning: Weak Symbol ZSTD_trace_decompress_end not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6a9df0 (0xa127a56)
Warning: Weak Symbol _ZTHN2v88internal12trap_handler21g_thread_in_wasm_codeE not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6aa478 (0xa128766)
Warning: Weak Symbol _ZTHN2v88internal19RwxMemoryWriteScope31code_space_write_nesting_level_E not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6aa480 (0xa128776)
Warning: Weak Symbol OPENSSL_memory_alloc not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6aa6d0 (0xa128c16)
Warning: Weak Symbol OPENSSL_memory_free not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6aa6d8 (0xa128c26)
Warning: Weak Symbol sdallocx not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6aa6e0 (0xa128c36)
Warning: Weak Symbol OPENSSL_memory_get_size not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6aa6e8 (0xa128c46)
18633|SIGILL @0xffff13290d44 (???(0xffff13290d44)) (x64pc=0x105ccd89f//tmp/.mount_cursorVcJqac/cursor:"/tmp/.mount_cursorVcJqac/cursor + 0x5ccd89f", rsp=0xffff188a5450, stack=0xffff180a8000:0xffff188a8000 own=(nil) fp=0xffff188a5490), for accessing 0xffff13290d44 (code=1/prot=7), db=0xffff1280b120(0xffff13290cd8:0xffff13290d80/0x105ccd89f:0x105ccd8a0//tmp/.mount_cursorVcJqac/cursor + 0x5ccd89f:clean, hash:cc/cc) handler=(nil)
RAX:0x0000000000000016 RCX:0x0000000000000000 RDX:0x0000ffff18d80c20 RBX:0x0000000000001000 
RSP:0x0000ffff188a5450 RBP:0x0000ffff188a5490 RSI:0x00000000acd80c20 RDI:0x0000ffff188a5464 
 R8:0x0000000000000000  R9:0x0000000000000001 R10:0x0000000000000001 R11:0x0000000000000010 
R12:0x0000000000000003 R13:0x0000000000000000 R14:0x0000000000000003 R15:0x00002b1400201000 
ES:0x002b CS:0x0033 SS:0x002b DS:0x002b FS:0x0043 GS:0x0053 
RSP-0x20:0x00002b1400000000 RSP-0x18:0x000000010a780398 RSP-0x10:0x0000ffff188a5490 RSP-0x08:0x0000000105ccd89f
RSP+0x00:0x000000010a780000 RSP+0x08:0xffffffff00000003 RSP+0x10:0x0000001600000000 RSP+0x18:0x000000010a785fa0 opcode=00 00 00 00 50 4C FF 34 (CC 0F 0B CC CC)
Illegal instruction (core dumped)

kindly please help to solve

ptitSeb commented 3 months ago

Can you update box64 to current git HEAD and try again?

tohodakilla commented 3 months ago

Can you update box64 to current git HEAD and try again?

Unfortunately seems like exactly same output:

shuib@shu-macbookpro:~/Downloads/box64/build$ box64 -v
 PageSize:16384 Running on Icestorm-M1-Max Firestorm-M1-Max with 10 Cores
Will use time-based emulation for rdtsc, even if hardware counter are available
Will use Software counter measured at 1.0 GHz emulating 2.0 GHz
Params database has 87 entries
Box64 v0.3.1 7ecdced4 built on Aug 31 2024 00:05:15
shuib@shu-macbookpro:~/Downloads/box64/build$ cd ~/Downloads/
shuib@shu-macbookpro:~/Downloads$ box64 ./cursor-0.40.3x86_64.AppImage 
 PageSize:16384 Running on Icestorm-M1-Max Firestorm-M1-Max with 10 Cores
Will use time-based emulation for rdtsc, even if hardware counter are available
Will use Software counter measured at 1.0 GHz emulating 2.0 GHz
Params database has 87 entries
Box64 v0.3.1 7ecdced4 built on Aug 31 2024 00:05:15
BOX64: Detected 48bits at least of address space
Counted 89 Env var
BOX64 LIB PATH: BOX64 BIN PATH: ./:bin/:/home/shuib/.local/share/pnpm/:/home/shuib/.local/bin/:/home/shuib/bin/:/usr/local/bin/:/usr/bin/:/bin/:/usr/local/sbin/:/usr/sbin/:/sbin/:/var/lib/snapd/snap/bin/
Looking for ./cursor-0.40.3x86_64.AppImage
Rename process to "cursor-0.40.3x86_64.AppImage"
Using native(wrapped) libdl.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libz.so.1
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
Using native(wrapped) libfuse.so.2
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 USCAT FLAGM FLAGM2 FRINT PageSize:16384 Running on Icestorm-M1-Max Firestorm-M1-Max with 10 Cores
Will use Hardware counter measured at 24.0 MHz emulating 3.0 GHz
Warning, unsupported BOX64_RESERVE_HIGH=1 for [kingdom rush origins] in /etc/box64.box64rc
Warning, unsupported BOX64_SHAEXT=0 for [claybook-win64-shipping.exe] in /etc/box64.box64rc
Warning, unsupported BOX64_AVX=2 for [ds.exe] in /etc/box64.box64rc
Warning, unsupported BOX64_RDTSC_1GHZ=1 for [ds.exe] in /etc/box64.box64rc
Warning, unsupported BOX64_AVX=0 for [forzawebhelper.exe] in /etc/box64.box64rc
Warning, unsupported BOX64_RDTSC_1GHZ=1 for [horizonzerodawn.exe] in /etc/box64.box64rc
Warning, unsupported BOX64_ARGS=-cef-disable-breakpad -cef-disable-d3d11 -cef-disable-delaypageload -cef-force-occlusion -cef-disable-sandbox -cef-disable--seccomp-sandbox -no-cef-sandbox -disable-winh264 -cef-disable-gpu -vgui -oldtraymenu -cef-single-process for [steam.exe] in /etc/box64.box64rc
Params database has 89 entries
Box64 with Dynarec v0.2.8 nogit built on May 22 2024 00:00:00
BOX64: Detected 48bits at least of address space
Counted 94 Env var
BOX64 LIB PATH: /tmp/.mount_cursor34QOuI/usr/lib/:./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/tmp/.mount_cursor34QOuI/:/tmp/.mount_cursor34QOuI/usr/sbin/:/home/shuib/.local/share/pnpm/:/home/shuib/.local/bin/:/home/shuib/bin/:/usr/local/bin/:/usr/bin/:/bin/:/usr/local/sbin/:/usr/sbin/:/sbin/:/var/lib/snapd/snap/bin/
Looking for /tmp/.mount_cursor34QOuI/cursor
Rename process to "cursor"
Redirecting overridden malloc from symtab function for /tmp/.mount_cursor34QOuI/cursor
Using emulated /tmp/.mount_cursor34QOuI/libffmpeg.so
Using native(wrapped) libdl.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libgobject-2.0.so.0
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libgio-2.0.so.0
Using native(wrapped) libgmodule-2.0.so.0
Using native(wrapped) libnss3.so
Using native(wrapped) libnssutil3.so
Using native(wrapped) libsmime3.so
Using native(wrapped) libnspr4.so
Using native(wrapped) libdbus-1.so.3
Using native(wrapped) libatk-1.0.so.0
Using native(wrapped) libatk-bridge-2.0.so.0
Using native(wrapped) libSM.so.6
Using native(wrapped) libICE.so.6
Using native(wrapped) libXau.so.6
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libcups.so.2
Using native(wrapped) libdrm.so.2
Using native(wrapped) libgtk-3.so.0
Using native(wrapped) libgdk-3.so.0
Using native(wrapped) libgdk_pixbuf-2.0.so.0
Using native(wrapped) libpangocairo-1.0.so.0
Using native(wrapped) libpango-1.0.so.0
Using native(wrapped) libcairo.so.2
Using native(wrapped) libX11.so.6
Using native(wrapped) libXcomposite.so.1
Using native(wrapped) libXdamage.so.1
Using native(wrapped) libXext.so.6
Using native(wrapped) libXfixes.so.3
Using native(wrapped) libXrandr.so.2
Using native(wrapped) libXrender.so.1
Using native(wrapped) libgbm.so.1
Using native(wrapped) libexpat.so.1
Using native(wrapped) libxkbcommon.so.0
Using native(wrapped) libasound.so.2
Using native(wrapped) libatspi.so.0
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
Warning: Weak Symbol __gcov_dump not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6a9d00 (0xa127876)
Warning: Weak Symbol __gcov_flush not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6a9d08 (0xa127886)
Warning: Weak Symbol ZSTD_trace_decompress_begin not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6a9de8 (0xa127a46)
Warning: Weak Symbol ZSTD_trace_decompress_end not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6a9df0 (0xa127a56)
Warning: Weak Symbol _ZTHN2v88internal12trap_handler21g_thread_in_wasm_codeE not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6aa478 (0xa128766)
Warning: Weak Symbol _ZTHN2v88internal19RwxMemoryWriteScope31code_space_write_nesting_level_E not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6aa480 (0xa128776)
Warning: Weak Symbol OPENSSL_memory_alloc not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6aa6d0 (0xa128c16)
Warning: Weak Symbol OPENSSL_memory_free not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6aa6d8 (0xa128c26)
Warning: Weak Symbol sdallocx not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6aa6e0 (0xa128c36)
Warning: Weak Symbol OPENSSL_memory_get_size not found, cannot apply R_X86_64_JUMP_SLOT @0x10a6aa6e8 (0xa128c46)
20756|SIGILL @0xfffedded0d44 (???(0xfffedded0d44)) (x64pc=0x105ccd89f//tmp/.mount_cursor34QOuI/cursor:"/tmp/.mount_cursor34QOuI/cursor + 0x5ccd89f", rsp=0xfffee34e5410, stack=0xfffee2ce8000:0xfffee34e8000 own=(nil) fp=0xfffee34e5450), for accessing 0xfffedded0d44 (code=1/prot=7), db=0xfffedd44b120(0xfffedded0cd8:0xfffedded0d80/0x105ccd89f:0x105ccd8a0//tmp/.mount_cursor34QOuI/cursor + 0x5ccd89f:clean, hash:cc/cc) handler=(nil)
RAX:0x0000000000000016 RCX:0x0000000000000000 RDX:0x0000fffee39c0c20 RBX:0x0000000000001000 
RSP:0x0000fffee34e5410 RBP:0x0000fffee34e5450 RSI:0x0000fffee37f0f60 RDI:0x0000fffee34e5424 
 R8:0x0000000000000000  R9:0x0000000000000001 R10:0x0000000000000001 R11:0x0000000000000010 
R12:0x0000000000000003 R13:0x0000000000000000 R14:0x0000000000000003 R15:0x00002db000201000 
ES:0x002b CS:0x0033 SS:0x002b DS:0x002b FS:0x0043 GS:0x0053 
RSP-0x20:0x00002db000000000 RSP-0x18:0x000000010a780398 RSP-0x10:0x0000fffee34e5450 RSP-0x08:0x0000000105ccd89f
RSP+0x00:0x000000010a780000 RSP+0x08:0xffffffff00000003 RSP+0x10:0x0000001600000000 RSP+0x18:0x000000010a785fa0 opcode=00 00 00 00 50 4C FF 34 (CC 0F 0B CC CC)
Illegal instruction (core dumped)
ptitSeb commented 3 months ago

Mmm, yeah, I guess I'll have to debug this one. The software can be found somewhere?

tohodakilla commented 3 months ago

Sorry for late reply, here is the link: cursor download this is only proprietary piece of software on my system, and is so good i even have a thought of using macos (sic) productivity boost from this in next level.

As a token of my appretiation I have send decent one time Sponsor

ptitSeb commented 3 months ago

Sorry for late reply, here is the link: cursor download this is only proprietary piece of software on my system, and is so good i even have a thought of using macos (sic) productivity boost from this in next level.

Ok, I downloaded cursor and give it a try on my ARM64 developpement machine. I got it to run, with extensions imported from my VSCode session ;)

image

Some extensions are not happy with the system mysmatch it seems.. I didn't logging, so I have not tried the AI stuffs. They should work, I guess as I expect them to be mostly online. It seems it's only a configuration issue, but I still need to test on an M1 (the 16k pagesize might get in the way, in that case krun might be the solution).

As a token of my appretiation I have send decent one time Sponsor

That's a huge Sponsorship! Thanks a lot!

ptitSeb commented 3 months ago

I checked on my M1, and yes, the 16k pagesize gets in the way for now unfortunatly. Not sure I can wrokaround this one, as cursor is electron based and all the embedded chrome stufs rely heavily on 4k pagesize.

There is a 4k pageisze microVM developpement occurring on Asahi, but it's still a WIP, and quite complex to install for now: https://gist.github.com/teohhanhui/042a395010d9946ceee14768736e3780 I haven't tried myself, but it looks very complete, with lots of options and actively worked on.

tohodakilla commented 3 months ago

I checked on my M1, and yes, the 16k pagesize gets in the way for now unfortunatly. Not sure I can wrokaround this one, as cursor is electron based and all the embedded chrome stufs rely heavily on 4k pagesize.

There is a 4k pageisze microVM developpement occurring on Asahi, but it's still a WIP, and quite complex to install for now: https://gist.github.com/teohhanhui/042a395010d9946ceee14768736e3780 I haven't tried myself, but it looks very complete, with lots of options and actively worked on.

Thanks for looking into this and providing possible solution. Will check as soon as I can and let you know if it worked.

Keep up amazing work :pray:

tohodakilla commented 3 months ago

I checked on my M1, and yes, the 16k pagesize gets in the way for now unfortunatly. Not sure I can wrokaround this one, as cursor is electron based and all the embedded chrome stufs rely heavily on 4k pagesize.

There is a 4k pageisze microVM developpement occurring on Asahi, but it's still a WIP, and quite complex to install for now: https://gist.github.com/teohhanhui/042a395010d9946ceee14768736e3780 I haven't tried myself, but it looks very complete, with lots of options and actively worked on.

Unfortunately I wasn't able to make it work 😢