Orac, Sidekick, Pure Data and SC for Norns

I’m also using a 3b+ on a fates and it hangs when I hold the 3 buttons :frowning:

Yeah, having done some more attempts to launch, including deleting and reinstalling these . files, it would appear that the 3b+ is unable to run sidekick properly.

If anybody has some luck getting that to run, please let me know.

Are you using a Pi3 or 4?

getting this when starting sidekick manually : ~/sidekick $ /usr/local/sidekick/sidekick
starting sidekick
load startup patch: Norns
launch : Norns
script running : cd “./patches/Norns”; ./run.sh &
starting norns
Connection failed (Invalid argument)

1 Like

Running a Pi4 with 4GB ram.

hold b1 down when you start it … to bring up menu
also login with
ssh we@norns.local (not -Y) as we dont want to redirect the main display.

Im not sure its pi3 vs 4, as i dont use Pi4 specific compilation…
I think 3 button should be ok, … but be useful to confirm

can someone run

ldd /usr/local/sidekick/sidekick

what distros are you running?

It might be there are different versions of underlying libraries,
I built mine off the buster rpi4 fates build.

(sorry late here, so wont be able to do more testing time tomorrow ) ~ $ ldd /usr/local/sidekick/sidekick
	linux-vdso.so.1 (0xbef9d000)
	/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so => /usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so (0xb6ee6000)
	libnuilite.so => /usr/local/sidekick/libnuilite.so (0xb6ecd000)
	libcairo.so.2 => /usr/lib/arm-linux-gnueabihf/libcairo.so.2 (0xb6dd4000)
	libcjson.so => /usr/local/sidekick/libcjson.so (0xb6dc0000)
	libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6d96000)
	libatomic.so.1 => /usr/lib/arm-linux-gnueabihf/libatomic.so.1 (0xb6d7d000)
	libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb6d6a000)
	libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb6c23000)
	libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6ba1000)
	libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb6b72000)
	libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6a24000)
	libpixman-1.so.0 => /usr/lib/arm-linux-gnueabihf/libpixman-1.so.0 (0xb6949000)
	libfontconfig.so.1 => /usr/lib/arm-linux-gnueabihf/libfontconfig.so.1 (0xb6901000)
	libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0xb685e000)
	libpng16.so.16 => /usr/lib/arm-linux-gnueabihf/libpng16.so.16 (0xb6822000)
	libxcb-shm.so.0 => /usr/lib/arm-linux-gnueabihf/libxcb-shm.so.0 (0xb680f000)
	libxcb.so.1 => /usr/lib/arm-linux-gnueabihf/libxcb.so.1 (0xb67e0000)
	libxcb-render.so.0 => /usr/lib/arm-linux-gnueabihf/libxcb-render.so.0 (0xb67c5000)
	libXrender.so.1 => /usr/lib/arm-linux-gnueabihf/libXrender.so.1 (0xb67ac000)
	libX11.so.6 => /usr/lib/arm-linux-gnueabihf/libX11.so.6 (0xb668a000)
	libXext.so.6 => /usr/lib/arm-linux-gnueabihf/libXext.so.6 (0xb6669000)
	libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xb663e000)
	librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb6627000)
	/lib/ld-linux-armhf.so.3 (0xb6efb000)
	libexpat.so.1 => /lib/arm-linux-gnueabihf/libexpat.so.1 (0xb65e6000)
	libuuid.so.1 => /lib/arm-linux-gnueabihf/libuuid.so.1 (0xb65cf000)
	libXau.so.6 => /usr/lib/arm-linux-gnueabihf/libXau.so.6 (0xb65bc000)
	libXdmcp.so.6 => /usr/lib/arm-linux-gnueabihf/libXdmcp.so.6 (0xb65a7000)
	libbsd.so.0 => /usr/lib/arm-linux-gnueabihf/libbsd.so.0 (0xb657f000)

For some reason I can still ssh into norns.local, but can’t get to maiden from a browser anymore. I’ve tried restarting a couple times, no effect.

Im running the 3b+ one from this page: https://github.com/okyeron/fates/blob/master/install/norns/Norns_disk_image_install.md

ldd /usr/local/sidekick/sidekick

    linux-vdso.so.1 (0x7ee90000)
    /usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so => /usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so (0x76ed6000)
    libnuilite.so => /usr/local/sidekick/libnuilite.so (0x76ebd000)
    libcairo.so.2 => /usr/lib/arm-linux-gnueabihf/libcairo.so.2 (0x76dc4000)
    libcjson.so => /usr/local/sidekick/libcjson.so (0x76db0000)
    libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x76d86000)
    libatomic.so.1 => /usr/lib/arm-linux-gnueabihf/libatomic.so.1 (0x76d6d000)
    libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x76d5a000)
    libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x76c13000)
    libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x76b91000)
    libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x76b62000)
    libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76a14000)
    libpixman-1.so.0 => /usr/lib/arm-linux-gnueabihf/libpixman-1.so.0 (0x76939000)
    libfontconfig.so.1 => /usr/lib/arm-linux-gnueabihf/libfontconfig.so.1 (0x768f1000)
    libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0x7684e000)
    libpng16.so.16 => /usr/lib/arm-linux-gnueabihf/libpng16.so.16 (0x76812000)
    libxcb-shm.so.0 => /usr/lib/arm-linux-gnueabihf/libxcb-shm.so.0 (0x767ff000)
    libxcb.so.1 => /usr/lib/arm-linux-gnueabihf/libxcb.so.1 (0x767d0000)
    libxcb-render.so.0 => /usr/lib/arm-linux-gnueabihf/libxcb-render.so.0 (0x767b5000)
    libXrender.so.1 => /usr/lib/arm-linux-gnueabihf/libXrender.so.1 (0x7679c000)
    libX11.so.6 => /usr/lib/arm-linux-gnueabihf/libX11.so.6 (0x7667a000)
    libXext.so.6 => /usr/lib/arm-linux-gnueabihf/libXext.so.6 (0x76659000)
    libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x7662e000)
    librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x76617000)
    /lib/ld-linux-armhf.so.3 (0x76eeb000)
    libexpat.so.1 => /lib/arm-linux-gnueabihf/libexpat.so.1 (0x765d6000)
    libuuid.so.1 => /lib/arm-linux-gnueabihf/libuuid.so.1 (0x765bf000)
    libXau.so.6 => /usr/lib/arm-linux-gnueabihf/libXau.so.6 (0x765ac000)
    libXdmcp.so.6 => /usr/lib/arm-linux-gnueabihf/libXdmcp.so.6 (0x76597000)
    libbsd.so.0 => /usr/lib/arm-linux-gnueabihf/libbsd.so.0 (0x7656f000)

For reference - The disk images I posted should be
pi3 - Linux norns 4.19.58-v7+
pi4 - Linux norns 4.19.58-v7l+

@TheTechnobear is it possible maiden’s systemctl process is not getting restarted properly?

@jedgar can you check via ssh to see if the maiden process is running?
ps aux | grep maiden perhaps?

Got a big afternoon of laser cutting tomorrow so not sure when I’ll be able to get this installed and do some testing (on both the 3b+ and 4b).

Thanks for all you bleeding edge users diving in! :grin:

I wondered if maybe that wasn’t getting restarted. Here’s the output of that:

we         999  0.0  0.0   7348   520 pts/2    S+   23:02   0:00 grep --color=auto maiden
we        1243  0.0  0.2 805632  8492 ?        Sl   17:56   0:00 ./maiden server --app ./app/build --data /home/we/dust --doc /home/we/norns/doc
we       15337  0.0  0.0  28248   572 ?        Ssl  18:20   0:00 /home/we/norns/build/ws-wrapper/ws-wrapper ws://*:5556 /usr/bin/sclang -i maiden
we       15340  0.0  0.8 103004 33856 ?        Sl   18:20   0:10 /usr/bin/sclang -i maiden

@okyeron @TheTechnobear I manually ran sudo systemctl restart norns-maiden.service and looks like I’m back in business.

this is curious…

I get a full path for maiden server when it’s running from norns:

we         328  0.0  0.5 866156 11684 ?        Ssl  Oct11   0:00 /home/we/maiden/maiden server --fd 3 --app ./app/build --data /home/we/dust --doc /home/we/norns/doc

now that I manually restarted it I have a full path in the server as well:
we 2151 0.0 0.2 806144 9120 ? Ssl 23:08 0:00 /home/we/maiden/maiden server --fd 3 --app ./app/build --data /home/we/dust --doc /home/we/norns/doc

hmm, ok, so I dont stop maiden, and had assumed it would automatically reconnect to norns when it came back up - that would appear not to be the case :wink:

but you can fix this yourself :slight_smile:
add to ~/sidekick/patches/Norns/run.sh
sudo systemctl start norns-maiden.service

add to ~/sidekick/patches/Norns/stop.sh
sudo systemctl stop norns-maiden.service

(Ive fixed in 0.91)

ok, the poly pd is really a kind of demo thing… and I only really coded it for a 4 encoder norns, since it matches the 4 pots used by organelle… 3 would need radical changes to the patch, which would kind of defeat the purpose of showing how to port organelle patches :wink:

BUT organelle also has a volume pot, (making 5 pots ) , so what i did was use BUT 3 + ENC 4 as volume.

what I forgot to do, was to initialise send out a value to all the pots on startup. so you have to set the volume, and also the tune to a value … I’ll fix in an update - its just a matter of adding a load bang :wink:

BUT apart from that is Orac and PD working ok for you? your on a rPI4 - 3 or 4 encoders?

Thanks for the info

1 Like

sidekick issues


from the above, its seems like its only rPI3 owners affected so far - correct?

im not sure whats going on here, so Im going to rip apart my fates, and install a rPI3b+
(Im downloading the image now, could take a while)


  • when people say ‘crash’ , have they checked to see if the sidekick process has died, or is it just not doing anything?
  • are we all using fates boards?
  • does norns come up correctly still on boot up
  • when you press all 3 buttons for 5 seconds - does it clear the screen?


ok, so if norns is coming up, then this means sidekick is running (as it starts norns)
this is confirmed by pressing all 3 buttons ‘crashes’
this means I believe that sidekick is running fine, and polling the buttons ok.

so what I suspect is, it might not be crashing at all - but rather its not writing to the display!?
… but I have no idea why this would be different - suggestions welcome :slight_smile:


we we need more info,
on my part, as mentioned above Im going to build a rPI3b+ fates and see if I get the same issue

what can other (with issues do)

getting logs for more info

journalctl - u sidekick 

is the sidekick process still running or has it died? when does it die?

ps auxwww | grep sidekick

running manually - this shows the logs

ssh we@norns.local

sudo servicectl stop norns-matron
sudo servicectl stop sidekick

cd sidekick

whilst running the last command hold down button 1 on norns, so that the menu is forced to be displayed rather than running the patch
does the menu get displayed?

what Im mainly interested in here is can sidekick display things on the screen.
(Im stopping matron manually above to stop it messing with display during test )


hopefully, if I can reproduce on a rPI3, then that should give me more info,
If its a rPI3/4 issue - then I suspect building it on a rPI3 will resolve the issue.

testing / dev

for info, about how my environment might be different

I only have one fates… so its a mixed dev/test box

rPI4 4gb + Fates (w/ 4 encoders)
Im not using the current binary image by @okyeron as it was not available at the time.
its built up from his instructions based on BusterLite, so should be very similar
Linux norns 4.19.58-v7l+ #1245 SMP Fri Jul 12 17:31:45 BST 2019 armv7l GNU/Linux

the rPI3b tests will be done on the image provided by @okyeron,
I guess as some point, I’ll move the rpi4 over to the image, but that means resetting up the dev environment for orac/mec/nuilite.


ok, so broken apart my PiSound (to get rPI3b+) , and then my Fates - fitted rPI3b+
then installed 3b+ image by @okyeron (much easier than the old way :slight_smile: )

and yippee, I can reproduce the issue…

so I can now say,
sidekick is not crashing, rather as i said, it for some reason does not seem to be able access the display.
in fact, I can even twist the encoder, and I can see its running the scripts…

@okyeron is it /dev/fb0 on the rPI3, or can you think of any other difference?
(I can make it configurable if this is an issue… but rPI4 and ‘real norns’ are both fb0 - no?)

Ok, Im off too have some breakfast,
after than I’ll have to build this all on the rPI3, so I can fiddle with the code a bit to see whats happening.

Hi Technobear,
Here are some answers to your questions:

  • The process is still running.
  • The fates with pi 3b+
  • Yes, norns boots fine and everthing appears to work
  • When i press the 3 buttons (i was running awake, so the steps counter was scrolling across) suddenly everything just freezes on the display. It doesn’t response to key or knob inputs

if I click button K1 seven times, or hold down K1 for 3 seconds, it goes straight to the ‘star field of squares’ and goes back to the ‘awake’ and is responsive again. (I did it from a system menu, and it returned to the ‘awake’ app)

Here’s the output of ‘journalctl -u sidekick’:
journalctl.7z (2.8 KB)

SideKick is still running. I did a ‘ps auxwww | grep sidekick’ before the 3 button press and after, and the same result came up: ~ $ ps auxwww | grep sidekick
we 100 31.8 3.0 52124 28796 ? Rsl 20:17 1:19 /usr/local/sidekick/sidekick
we 1320 0.0 0.0 7480 488 pts/0 S+ 20:22 0:00 grep --color=auto sidekick

I tried to run ‘sudo servicectl stop norns-matron’ but got ‘servicectl: command not found’. Do you know how I can install it?

Cheers. Let me know if you want anymore info

Update: looks like you have it sorted! :slight_smile:

yeah, for some reason the rPI3 build of fates is using /dev/fb1 not /dev/fb0
for now Im going to look for fb1 and use this if its there, otherwise use fb0

@okyeron, im assuming on your rPI3 build /deb/fb0 is being used by the HDMI port?
I think we should find a way to disable, or move this, to improve compatibility with norns.
note: the rPI4 does not appear to do this for its HDMI ports, so its got /dev/fb0

thoughts? (hmm perhaps better to discuss on the FATES thread actually :wink: )

anyway, Im modifying code now, and hope to have a build shortly that will have it fixed.

1 Like

Ok, updated version (0.91) that works with rPI3 fates board, it also slightly reduces error logging in case of 3-encoder norns.

install same way as previously, so
copy deb files to norns, then

sudo apt-get -y install ./*.deb

I’ve tested, Norns , Sidekick and Orac and all are now working on rPI3b+

EDIT: demos have now been updated on patchstorage this is no longer necessary

Note: Ive not updated SimplePd/PolyPd examples yet…
awaiting feedback that all is ok :slight_smile:

if you want to use, in the meantime,
you can do the following manually to copy the changed library for rPI3 –

cp /usr/local/sidekick/libnuilite.so ~/sidekick/patches/SimplePd
cp /usr/local/sidekick/libnuilite.so.so ~/sidekick/patches/PolyPd