box86 icon indicating copy to clipboard operation
box86 copied to clipboard

feature request: please add support for Zoom meeting

Open umairsiddiqui-digitek opened this issue 4 years ago • 208 comments

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

umairsiddiqui-digitek avatar Sep 02 '20 17:09 umairsiddiqui-digitek

I'll see what I can do

ptitSeb avatar Sep 02 '20 17:09 ptitSeb

I'm also interested in having Zoom available on arm, if there is any way I can help please let me know

Yhozen avatar Sep 03 '20 19:09 Yhozen

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...

ptitSeb avatar Sep 03 '20 20:09 ptitSeb

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.

ptitSeb avatar Sep 07 '20 18:09 ptitSeb

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)?

Yhozen avatar Sep 20 '20 18:09 Yhozen

I don't know, I'll try to connect on some conf later, and see what it does.

ptitSeb avatar Sep 20 '20 19:09 ptitSeb

Thanks!

Yhozen avatar Sep 21 '20 00:09 Yhozen

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

novaspirit avatar Sep 30 '20 06:09 novaspirit

Oh, so the SSE3 opcode fixing I did not too long ago helped :) ! I'll add that function soon.

ptitSeb avatar Sep 30 '20 06:09 ptitSeb

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!

novaspirit avatar Sep 30 '20 06:09 novaspirit

Yes, that could be a very usefull feature, especially in this time of covid, work from home, and lockdown!

ptitSeb avatar Sep 30 '20 06:09 ptitSeb

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

novaspirit avatar Sep 30 '20 14:09 novaspirit

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

Botspot avatar Oct 05 '20 02:10 Botspot

on what OS are you trying and is your box86 up-to-date?

ptitSeb avatar Oct 05 '20 05:10 ptitSeb

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?

Botspot avatar Oct 05 '20 13:10 Botspot

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.

ptitSeb avatar Oct 05 '20 13:10 ptitSeb

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.

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=1box86zoom?

Botspot avatar Oct 05 '20 13:10 Botspot

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?

ptitSeb avatar Oct 05 '20 14:10 ptitSeb

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

Botspot avatar Oct 05 '20 14:10 Botspot

That version should run zoom, but it doesn't hurt to update...

and then try BOX86_JITGDB=1box86zoom when you can.

ptitSeb avatar Oct 05 '20 14:10 ptitSeb

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?

Botspot avatar Oct 05 '20 15:10 Botspot

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

Botspot avatar Oct 05 '20 15:10 Botspot

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

ptitSeb avatar Oct 05 '20 15:10 ptitSeb

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? ¯_(ツ)_/¯

Botspot avatar Oct 05 '20 15:10 Botspot

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

Botspot avatar Oct 05 '20 15:10 Botspot

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

ptitSeb avatar Oct 05 '20 16:10 ptitSeb

I think it ended in a gdb shell? ¯_(ツ)_/¯

Try to use thread apply all bt in gdb then, that should print some usefull info.

ptitSeb avatar Oct 05 '20 16:10 ptitSeb

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--

Botspot avatar Oct 05 '20 16:10 Botspot

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?

ptitSeb avatar Oct 05 '20 16:10 ptitSeb

I've uploaded the log:

pi@raspberrypi:~/apps/zoom $ BOX86_LOG=2 ./zoom &>1 > ~/Desktop/zoomlog1.txt
Segmentation fault

zoomlog1.txt

Botspot avatar Oct 05 '20 16:10 Botspot