MartinCooke/jocular

Can't run Jocular on Apple Silicon

Closed this issue · 7 comments

Having trouble launching Jocular on a Macbook with a M1 chip. It quits soon after launch.
The first time(s) I was able to see the app and even pick the data directory but it quit soon after.
Now it just quits right away.
Below is the output in the terminal.

% /opt/homebrew/bin/jocular --debug
[INFO ] [Logger ] Record log in /Users/wmathurin/.kivy/logs/kivy_23-11-07_4.txt
[INFO ] [Kivy ] v2.2.1
[INFO ] [Kivy ] Installed at "/opt/homebrew/lib/python3.11/site-packages/kivy/init.py"
[INFO ] [Python ] v3.11.5 (main, Aug 24 2023, 15:09:45) [Clang 14.0.3 (clang-1403.0.22.14.1)]
[INFO ] [Python ] Interpreter at "/opt/homebrew/opt/python@3.11/bin/python3.11"
[INFO ] [Logger ] Purge log fired. Processing...
[INFO ] [Logger ] Purge finished!
[INFO ] [KivyMD ] 1.1.1, git-Unknown, 2023-11-04 (installed at "/opt/homebrew/lib/python3.11/site-packages/kivymd/init.py")
[INFO ] [Factory ] 190 symbols loaded
[DEBUG ] [Cache ] register <kv.resourcefind> with limit=None, timeout=60
[DEBUG ] [Cache ] register <kv.image> with limit=None, timeout=60
[DEBUG ] [Cache ] register <kv.atlas> with limit=None, timeout=None
[INFO ] [Image ] Providers: img_tex, img_imageio, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
[DEBUG ] [Cache ] register <kv.texture> with limit=1000, timeout=60
[DEBUG ] [Cache ] register <kv.shader> with limit=1000, timeout=3600
[DEBUG ] [Cache ] register <kv.graphics.texture> with limit=None, timeout=None
[INFO ] [Text ] Provider: sdl2
[DEBUG ] [Cache ] register <kv.lang> with limit=None, timeout=None
[INFO ] [Window ] Provider: sdl2
[INFO ] [GL ] Using the "OpenGL ES 2" graphics system
[INFO ] [GL ] Backend used
[INFO ] [GL ] OpenGL version <b'2.1 Metal - 83.1'>
[INFO ] [GL ] OpenGL vendor <b'Apple'>
[INFO ] [GL ] OpenGL renderer <b'Apple M1 Max'>
[INFO ] [GL ] OpenGL parsed version: 2, 1
[INFO ] [GL ] Shading version <b'1.20'>
[INFO ] [GL ] Texture max size <16384>
[INFO ] [GL ] Texture max units <16>
[DEBUG ] [Shader ] Fragment compiled successfully
[DEBUG ] [Shader ] Vertex compiled successfully
[DEBUG ] [ImageImageIO] Load </opt/homebrew/lib/python3.11/site-packages/kivy/data/glsl/default.png>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[DEBUG ] [Cache ] register <textinput.label> with limit=None, timeout=60.0
[DEBUG ] [Cache ] register <textinput.width> with limit=None, timeout=60.0
[INFO ] [Clipboard ] Provider: sdl2(['clipboard_nspaste'] ignored)

Thanks for providing the terminal output. Jocular is not supported on Python 3.11, because Jocular depends on some libraries that must run on Python versions 3.6 - 3.9. https://jocular.readthedocs.io/en/latest/installation.html. Please try again with one of those versions.

Thanks @steveincolo, switching to 3.9 did the trick.

I closed the issue too quickly.
I can successfully launch the application however it crashes when I pick one of the DSO example - following the steps from the quickstart doc.

jocular-recording

Could you please attach the log file? You can find it in the ‘logs’ subdirectory of the Jocular data directory.

Here you go:
jocular.log

This is a change caused by the latest scikit-image. A fix is to change L62 of monochrome.py to

binned = rescale(im, 1 / binfac, anti_aliasing=True, mode='constant')

(ie removing the multichannel argument)
I'll ensure this is updated on the next release.

It worked. Thank you.