box86
box86 copied to clipboard
feature request: please add support for Zoom meeting
Zoom provide x86 Linux rpm and no arm binaries or rpm.
https://support.zoom.us/hc/en-us/articles/204206269-Installing-or-updating-Zoom-on-Linux
please add support for Zoom meeting
I'll see what I can do
I'm also interested in having Zoom available on arm, if there is any way I can help please let me know
I'll start adding some lib tomorrow or this week end. Need to start with xcb-xfixes, but this one needs many wrapping trick, so it's an anoying one...
Ok, Zoom seems to work now. Use the "Other Linux OS" download to grab the 32bits generic tar.gz, and don't forget to update box86. I haven't tested, I just know it start.
The UI is working perfectly, however every request get a timeout and I can't figure out why. Do you think there's a problem with libQt5Network
(emulated)?
I don't know, I'll try to connect on some conf later, and see what it does.
Thanks!
hi @ptitSeb when trying to join the meeting, the connection gets established and you will see participants but gets stuck loading into room. this is the error Error: PltReolver: Symbol xcb_setup_roots_length not found, cannot apply R_386_JMP_SLOT @0xb6724798 (0xb311634e) in /home/pi/Downloads/zoom/zoom
Oh, so the SSE3 opcode fixing I did not too long ago helped :) ! I'll add that function soon.
Oh, so the SSE3 opcode fixing I did not too long ago helped :) ! I'll add that function soon.
Thanks I'll test it later. Working on a zoom for rpi video using box86!
Yes, that could be a very usefull feature, especially in this time of covid, work from home, and lockdown!
thanks just tested it, i think it needs 1 more op code Error: PltReolver: Symbol xcb_alloc_color not found, cannot apply R_386_JMP_SLOT @0xb6743494 (0xb313773e) in /home/pi/Downloads/zoom/zoom
I'm getting an error after installing this Zoom solution with PiKiss. Any ideas?
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 45 Env var
Looking for zoom
Using native(wrapped) libdl.so.2
Using native(wrapped) libX11.so.6
Using native(wrapped) librt.so.1
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXext.so.6
Using native(wrapped) libXau.so.6
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libxcb-xfixes.so.0
Using native(wrapped) libxcb-shape.so.0
Using native(wrapped) libxcb-shm.so.0
Using native(wrapped) libxcb-randr.so.0
Using native(wrapped) libxcb-image.so.0
Using native(wrapped) libxcb-keysyms.so.1
Using native(wrapped) libxcb-xtest.so.0
Using native(wrapped) libXfixes.so.3
Using native(wrapped) libXtst.so.6
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libdbus-1.so.3
Using emulated libQt5Quick.so.5
Using emulated libQt5Gui.so.5
Using emulated libQt5Core.so.5
Using native(wrapped) libpthread.so.0
Using emulated libicui18n.so.54
Using emulated libicuuc.so.54
Using emulated libicudata.so.54
Using emulated /usr/lib/i386-linux-gnu/libstdc++.so.6
Using native(wrapped) libm.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using emulated /usr/lib/i386-linux-gnu/libgcc_s.so.1
Using native(wrapped) libgthread-2.0.so.0
Using global g_threads_got_initialized for gthread2 (0xbef46610:0x2bafcd4)
Using native(wrapped) libGL.so.1
Using emulated libQt5Qml.so.5
Using emulated libQt5Network.so.5
Using emulated libQt5Widgets.so.5
Using native(wrapped) libgobject-2.0.so.0
Using emulated libQt5Script.so.5
Using emulated libQt5DBus.so.5
No PulseAudio daemon running, or not running as session daemon.
zoom started.
Client: Breakpad is using Single Client Mode! client fd = -1
Using emulated /home/pi/apps/zoom/platforms/libqxcb.so
Using emulated libQt5XcbQpa.so.5
Using native(wrapped) libX11-xcb.so.1
Using native(wrapped) libXi.so.6
Using native(wrapped) libSM.so.6
Using native(wrapped) libICE.so.6
Using native(wrapped) libfontconfig.so.1
Using native(wrapped) libfreetype.so.6
Using native(wrapped) libXrender.so.1
Using native(wrapped) libXcursor.so.1
Using emulated /home/pi/apps/zoom/xcbglintegrations/libqxcb-glx-integration.so
Using emulated /home/pi/apps/zoom/platformthemes/libqgtk2.so
Using native(wrapped) libgtk-x11-2.0.so.0
Using native(wrapped) libgdk-x11-2.0.so.0
Using native(wrapped) libgio-2.0.so.0
Using native(wrapped) libgmodule-2.0.so.0
Using native(wrapped) libgdk_pixbuf-2.0.so.0
Using native(wrapped) libpangocairo-1.0.so.0
Using native(wrapped) libatk-1.0.so.0
Using native(wrapped) libcairo.so.2
Using native(wrapped) libpangoft2-1.0.so.0
Using native(wrapped) libpango-1.0.so.0
Using emulated /home/pi/apps/zoom/platforminputcontexts/libcomposeplatforminputcontextplugin.so
Warning: Cannot dlopen("libgnomeui-2.so.0"/0x58a96b8, 1)
Warning: Cannot dlopen("libgnomeui-2"/0x58a9870, 1)
Warning: Cannot dlopen("gnomeui-2.so.0"/0x58a98b0, 1)
Warning: Cannot dlopen("gnomeui-2"/0x58a9840, 1)
Warning: Cannot dlopen("libgnomevfs-2.so.0"/0x58ac010, 1)
Warning: Cannot dlopen("libgnomevfs-2"/0x58abfd0, 1)
Warning: Cannot dlopen("gnomevfs-2.so.0"/0x58ac060, 1)
Warning: Cannot dlopen("gnomevfs-2"/0x5897558, 1)
24015|SIGSEGV @0x284f508 (???) (x86pc=(nil)/"???"), for accessing (nil) (code=1), db=(nil)((nil)/???)
24015|Double SIGSEGV!
./zoom-rpi.sh: line 6: 24015 Segmentation fault box86 zoom
on what OS are you trying and is your box86 up-to-date?
on what OS are you trying and is your box86 up-to-date?
Latest Raspberry Pi OS Buster. The box86 was freshly compiled. I've run the PiKiss Zoom script. Are you familiar with it?
Yes I'm familiar with the script. I rechecked with latest box86 and got no isue on my side.
Can you try with BOX86_JITGDB=1 ./zoom
in zoom folder to launch gdb when the segfault occur. Then in gdb, try thread apply all bt
to get a backtrace on all active thread. I need this backtrace to try understand what is happening.
Yes I'm familiar with the script. I rechecked with latest box86 and got no isue on my side.
Can you try with
BOX86_JITGDB=1 ./zoom
in zoom folder to launch gdb when the segfault occur. Then in gdb, trythread apply all bt
to get a backtrace on all active thread. I need this backtrace to try understand what is happening.
I get:
$ cd /home/pi/apps/zoom
$ ~/apps/zoom $ BOX86_JITGDB=1 ./zoom
/lib/ld-linux.so.2: No such file or directory
Shouldn't I have run BOX86_JITGDB=1
box86
zoom
?
I was expecting box86 to be installed in the system, with binfmt integration, so it would automatically call box86. It seems not.
Also, author of pikiss found out that the sources of box86 weren't updated if box86 was already present. Can you do box86 --version
to check the build date?
Build date:
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Box86 with Dynarec v0.1.3 27ce42b9 built on Oct 3 2020 16:58:14
That version should run zoom, but it doesn't hurt to update...
and then try BOX86_JITGDB=1box86zoom
when you can.
That version should run zoom, but it doesn't hurt to update...
OK, I've compiled box86 following the instructions, and now it says Box86 with Dynarec v0.1.3 c6e5e5d2 built on Oct 5 2020 09:54:42
.
The Zoom directory is located at /home/pi/apps/zoom
. This is a Raspberry Pi 4 running latest Raspberry Pi OS.
Now the segfault occurs even sooner:
$ BOX86_JITGDB=1box86zoom box86 zoom
Box86 with Dynarec v0.1.3 c6e5e5d2 built on Oct 5 2020 09:54:42
No PulseAudio daemon running, or not running as session daemon.
zoom started.
Client: Breakpad is using Single Client Mode! client fd = -1
18503|SIGSEGV @0x284f7f8 (???) (x86pc=(nil)/???:"???"), for accessing (nil) (code=1), db=(nil)((nil)/???)
18503|Double SIGSEGV!
Segmentation fault
I was expecting box86 to be installed in the system, with binfmt integration, so it would automatically call box86. It seems not.
How to achieve that? After following the compilation instructions, I ran sudo make install
and it created the file /usr/local/bin/box86
. Anything else I need to do?
and then try
BOX86_JITGDB=1box86zoom
when you can.
Did you mean to insert spaces between the words, like BOX86_JITGDB=1 box86 zoom
?
If so, running that gets this error:
Box86 with Dynarec v0.1.3 c6e5e5d2 built on Oct 5 2020 09:54:42
No PulseAudio daemon running, or not running as session daemon.
zoom started.
Client: Breakpad is using Single Client Mode! client fd = -1
27659|SIGSEGV @0x284f7f8 (???) (x86pc=(nil)/???:"???"), for accessing (nil) (code=1), db=(nil)((nil)/???)
27659|Double SIGSEGV!
Segmentation fault
I was expecting box86 to be installed in the system, with binfmt integration, so it would automatically call box86. It seems not.
How to achieve that? After following the compilation instructions, I ran
sudo make install
and it created the file/usr/local/bin/box86
. Anything else I need to do?
You need to reboot the 1st time (or restart systemd binfmt deamon). Next time it's ok, you wont need anything.
and then try
BOX86_JITGDB=1box86zoom
when you can.Did you mean to insert spaces between the words, like
BOX86_JITGDB=1 box86 zoom
?
Yes, spaces were lost in the copy/paste...
If so, running that gets this error:
Box86 with Dynarec v0.1.3 c6e5e5d2 built on Oct 5 2020 09:54:42 No PulseAudio daemon running, or not running as session daemon. zoom started. Client: Breakpad is using Single Client Mode! client fd = -1 27659|SIGSEGV @0x284f7f8 (???) (x86pc=(nil)/???:"???"), for accessing (nil) (code=1), db=(nil)((nil)/???) 27659|Double SIGSEGV! Segmentation fault
Strange, gdb should be called there?!
Can you retry with BOX86_LOG=1 BOX86_JITGDB=1 box86 ./zoom
Strange, gdb should be called there?! Can you retry with
BOX86_LOG=1 BOX86_JITGDB=1 box86 ./zoom
Sure.
pi@raspberrypi:~/apps/zoom $ BOX86_LOG=1 BOX86_JITGDB=1 box86 ./zoom
Debug level is 1
Launch gdb on segfault
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Box86 with Dynarec v0.1.3 c6e5e5d2 built on Oct 5 2020 09:54:42
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 61 Env var
Looking for ./zoom
Using native(wrapped) libdl.so.2
Using native(wrapped) libX11.so.6
Using native(wrapped) librt.so.1
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXext.so.6
Using native(wrapped) libXau.so.6
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libxcb-xfixes.so.0
Using native(wrapped) libxcb-shape.so.0
Using native(wrapped) libxcb-shm.so.0
Using native(wrapped) libxcb-randr.so.0
Using native(wrapped) libxcb-image.so.0
Using native(wrapped) libxcb-keysyms.so.1
Using native(wrapped) libxcb-xtest.so.0
Using native(wrapped) libXfixes.so.3
Using native(wrapped) libXtst.so.6
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libdbus-1.so.3
Using emulated libQt5Quick.so.5
Using emulated libQt5Gui.so.5
Using emulated libQt5Core.so.5
Using native(wrapped) libpthread.so.0
Using emulated libicui18n.so.54
Using emulated libicuuc.so.54
Using emulated libicudata.so.54
Using emulated /usr/lib/i386-linux-gnu/libstdc++.so.6
Using native(wrapped) libm.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using emulated /usr/lib/i386-linux-gnu/libgcc_s.so.1
Using native(wrapped) libgthread-2.0.so.0
Using global g_threads_got_initialized for gthread2 (0xbee4fe50:0x2bb7e84)
Using native(wrapped) libGL.so.1
Using emulated libQt5Qml.so.5
Using emulated libQt5Network.so.5
Using emulated libQt5Widgets.so.5
Using native(wrapped) libgobject-2.0.so.0
Using emulated libQt5Script.so.5
Using emulated libQt5DBus.so.5
No PulseAudio daemon running, or not running as session daemon.
zoom started.
Client: Breakpad is using Single Client Mode! client fd = -1
Using emulated /home/pi/apps/zoom/platforms/libqxcb.so
Using emulated libQt5XcbQpa.so.5
Using native(wrapped) libX11-xcb.so.1
Using native(wrapped) libXi.so.6
Using native(wrapped) libSM.so.6
Using native(wrapped) libICE.so.6
Using native(wrapped) libfontconfig.so.1
Using native(wrapped) libfreetype.so.6
Using native(wrapped) libXrender.so.1
Using native(wrapped) libXcursor.so.1
Using emulated /home/pi/apps/zoom/xcbglintegrations/libqxcb-glx-integration.so
Using emulated /home/pi/apps/zoom/platformthemes/libqgtk2.so
Using native(wrapped) libgtk-x11-2.0.so.0
Using native(wrapped) libgdk-x11-2.0.so.0
Using native(wrapped) libgio-2.0.so.0
Using native(wrapped) libgmodule-2.0.so.0
Using native(wrapped) libgdk_pixbuf-2.0.so.0
Using native(wrapped) libpangocairo-1.0.so.0
Using native(wrapped) libatk-1.0.so.0
Using native(wrapped) libcairo.so.2
Using native(wrapped) libpangoft2-1.0.so.0
Using native(wrapped) libpango-1.0.so.0
Using emulated /home/pi/apps/zoom/platforminputcontexts/libcomposeplatforminputcontextplugin.so
Warning: Cannot dlopen("libgnomeui-2.so.0"/0x5da0c58, 1)
Warning: Cannot dlopen("libgnomeui-2"/0x5da1918, 1)
Warning: Cannot dlopen("gnomeui-2.so.0"/0x5da1958, 1)
Warning: Cannot dlopen("gnomeui-2"/0x5da18e8, 1)
Warning: Cannot dlopen("libgnomevfs-2.so.0"/0x5da3698, 1)
Warning: Cannot dlopen("libgnomevfs-2"/0x5da3658, 1)
Warning: Cannot dlopen("gnomevfs-2.so.0"/0x5d92230, 1)
Warning: Cannot dlopen("gnomevfs-2"/0x5d921f8, 1)
Waiting for gdb...
GNU gdb (Raspbian 8.2.1-2) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Attaching to process 32458
[New LWP 32483]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
__GI___nanosleep (remaining=0x0, requested_time=0xbee4f7ec)
at ../sysdeps/unix/sysv/linux/nanosleep.c:28
28 ../sysdeps/unix/sysv/linux/nanosleep.c: No such file or directory.
(gdb)
I think it ended in a gdb shell? ¯_(ツ)_/¯
You need to reboot the 1st time (or restart systemd binfmt deamon). Next time it's ok, you wont need anything.
OK, was able to restart systemd-binfmt.service
, but it didn't seem to make a difference:
pi@raspberrypi:~/apps/zoom $ zoom
bash: zoom: command not found
You need to reboot the 1st time (or restart systemd binfmt deamon). Next time it's ok, you wont need anything.
OK, was able to restart
systemd-binfmt.service
, but it didn't seem to make a difference:pi@raspberrypi:~/apps/zoom $ zoom bash: zoom: command not found
You need to use ./zoom
because the zoom folder is not in your PATH
I think it ended in a gdb shell? ¯_(ツ)_/¯
Try to use thread apply all bt
in gdb then, that should print some usefull info.
Try to use
thread apply all bt
in gdb then, that should print some usefull info.
OK.
(gdb) thread apply all bt
Thread 2 (Thread 0xa952b2f0 (LWP 32483)):
#0 0xb6dcbcd0 in __GI___poll (timeout=-1, nfds=1, fds=0xa952a984)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0xb6dcbcd0 in __GI___poll (fds=0xa952a984, nfds=1, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:26
#2 0xb261a06c in () at /usr/lib/arm-linux-gnueabihf/libxcb.so.1
Thread 1 (Thread 0xb6fcd010 (LWP 32458)):
#0 0xb6d9e6d0 in __GI___nanosleep (remaining=0x0, requested_time=0xbee4f7ec)
at ../sysdeps/unix/sysv/linux/nanosleep.c:28
#1 0xb6d9e6d0 in __GI___nanosleep (requested_time=0xbee4f7ec,
requested_time@entry=0xbee4f7e4, remaining=remaining@entry=0x0)
at ../sysdeps/unix/sysv/linux/nanosleep.c:25
#2 0xb6dcffc0 in usleep (useconds=useconds@entry=1000)
at ../sysdeps/posix/usleep.c:32
#3 0x0288e288 in my_box86signalhandler
(sig=11, info=0xbee4f8b0, ucntx=0x2bb6080 <ret>)
at /home/pi/box86/src/libtools/signals.c:443
#4 0xb6d2c130 in <signal handler called> ()
at ../sysdeps/unix/sysv/linux/arm/sigrestorer.S
#5 0x0284f7f8 in Run (emu=0x36147e8, step=step@entry=1)
at /home/pi/box86/src/emu/x86run.c:191
--Type <RET> for more, q to quit, c to continue without paging--
Ok, that's seems to be the typical "run 0x0000000" type of crash. The debug will not help.
Try to run with BOX86_LOG=2 ./zoom
to see if there is some missing function.
Is your system recently installed or did you do a lot of hacking on it?
I've uploaded the log:
pi@raspberrypi:~/apps/zoom $ BOX86_LOG=2 ./zoom &>1 > ~/Desktop/zoomlog1.txt
Segmentation fault