[yoshimi] Re: Building for the RaspberryPi.

  • From: "Tom" <dmarc-noreply@xxxxxxxxxxxxx> (Redacted sender "madtom1999" for DMARC)
  • To: yoshimi@xxxxxxxxxxxxx
  • Date: Thu, 16 Mar 2017 06:55:57 +0000

On 15/03/17 20:52, Will Godfrey wrote:

On Wed, 15 Mar 2017 19:43:26 +0000
"Tom" <dmarc-noreply@xxxxxxxxxxxxx> (Redacted sender "madtom1999" for DMARC)
wrote:

On 15/03/17 17:20, Will Godfrey wrote:
On Wed, 15 Mar 2017 11:23:10 +0000
"Tom" <dmarc-noreply@xxxxxxxxxxxxx> (Redacted sender "madtom1999" for DMARC)
wrote:
Some success here: Using the latest git version as of this morning.

On a RaspberryPi2 I modified the CMakeLists.txt entry for the NEON by
removing the -O3 as this is invalid for the ARM and built a functioning
version that (in my limited usage of yoshimi) seems to be OK.

On the RasspberryPi Zero I changed the NEON line to (BuildOptions_NEON
" -mfloat-abi=hard -mfpu=vfp -mcpu=arm1176jzf-s
-funsafe-loop-optimizations" ...

and built a version that on make results in some warnings I've not seen
before

[ 53%] Generating EnvelopeUI.cpp
/home/pi/Programming/yoshimi/src/LV2_Plugin/../UI/EnvelopeUI.fl:2:
unknown version '1.0304'
This is not a problem. It just means that the file was built with a
slightly newer version of fluid that the one you have installed
but builds and works but is slightly laggy and has a high CPU usage. The
1.2.4 version released with Raspbian for the pi uses a lot less CPU so
I'm guessing either some GUI changes are taking more CPU or I need to
check my compiler switches and see what optimisation I can do. The
PiZero may still be useful as a non-gui version tho.

Tom
Hmmm, looks like optimisation issues. I find the the newer Yoshi versions have
very slightly lower DSP load, even though they have more gubbins. The exception
is single core machines, which can't manage the threads so easily.
Once loaded there are 3 yoshimi processes using 25% cpu each before
anything is connected on the zero.
That's horrendous :o

On a dual core mid range Intel they randomly come up between 0 and 0.7.
Qjackctl reports 0.2% to 0.3% dsp before Yoshimi is run, 0.7% to 0.8% with
Yoshimi idling on just the default single instrument, and 9.5% to 10.5% on a
full set of 16 complex patches.

I did some reading and realised -O3 should be valid for ARM so went back and deleted the CMakeCache.txt and started again and sure enough it worked! There must have been some 'residue' in there (or perhaps I just ccmaked badly) and now the zero is much less demanding. I am having to run it under the pixel gui* which puts a significant load on the zero anyway and it uses 30% cpu or so just updating the VDU! The Pi2 just whizzes along now!

*when I try and run 'yoshimi -i -a -A &' it seems to say its working and load the patches and then stops so I have to run it in the foreground and run between rooms to monitor it! I'll try a multiplex console sometime!

Tom

Yoshimi source code is available from either: 
http://sourceforge.net/projects/yoshimi
Or: https://github.com/Yoshimi/yoshimi
Our list archive is at: https://www.freelists.org/archive/yoshimi
To post, email to yoshimi@xxxxxxxxxxxxx

Other related posts: