Zynthian Buster Raspberry 4 test

Hi,
I make a new thread to tell all working plugins and problems.

I download the nighty build 587.
I have official zynthian kit2+.
First run:
Zynthian boot, encoder not working -> go to webconf and set kit V2+, encoder now works :slight_smile:

With my personnal build, wifi does not works -> same here when going to webconf and try setting wifi hotspod, I get can’t start Wifi hotspot. Will try to look later.

Aeolus works only if I run ssh -X -> issue 58

For Dexed, I try to compile but had a message about missing file /lvtk.synth.hpp
Internet tell me I need to install lvtk-dev, same error, I change the makefile of Dexed, replacing all lvtk-plugin-2 by lvtk-1
The compilation seems ok, lv2 plugins is created but don’t work on Zynthian.

2 Likes

i noted that some weeks ago and reported on Debian tracking system:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=931810

As you can see, there is a kind of patch available, but it’s not integrated yet. I will push that ASAP :wink:

Regards,

Regarding the dexed compilation problem, perhaps @C0d3man can help with that … :wink:

1 Like

I really would like to help but I don’t have an RPi4. I also currently have no free RPi for buster and testing… But next week I can take one from my office for testings.

lvtk-dev is the library which handles all the LV2 things, so it is easier to parse all the needed TTL-files. Can you try to load dexed with jalv? Or what does “don’t work on Zynthian” exactly means? Do other synths work with jalv?

Regards, Holger

For moment I don’t have time to test.
Other plugins works normally.
When start dexed, the logo on zynthian move all the time, I can’t back with the encoder.
I try with MOD-UI, same error.
I will put log next time I run some test.

Wow - your response was very fast! :smile:

Ah, ok. Good to know.

Ok, I see: I have to buy my first RPi4 and have to setup a new testsystem…
@jofemodo: Do you sell v3 kits with RPi4(4GB)?

Regards, Holger

If you have some idea, I can test.
Do you think the problem can be compilation flag:
The makefile have the compilation flag for all Raspberry except 4:

Raspberry Pi B+, Zero, etc

ifneq (,$(findstring armv6l,$(machine)))
CPU = -mcpu=arm1176jzf-s
FPU = -mfpu=vfp
endif

Raspberry Pi 2 and 3

ifneq (,$(findstring armv7l,$(machine)))
model = $(shell sh -c ‘cat /sys/firmware/devicetree/base/model 2>/dev/null || echo unknown’)
ifneq (,$(findstring 3,$(model)))
CPU = -mcpu=cortex-a53
FPU = -mfpu=neon-fp-armv8
else
CPU = -mcpu=cortex-a7 -mthumb
FPU = -mfpu=neon-vfpv4
endif
FPU += -mneon-for-64bits
endif

Maybe we need to tell the compiler the good CPU?

I havn’t took a look at specific compiler options for the RPi4 yet. But perhaps they are the problem. Why not removeing all options and see if it works? Optimizations can be done later.

Regards, Holger

Not yet, my friend. Aluminum case is been redesigned and manufacturing take some time too. And of course, a new case with new RBPi is enough for adding a unit to the kit number: v4 :wink:

For sure, not before 2020 …

Regards,

1 Like

Hi C0deman,
I remove all flag in the makefile.
run command make clean, make and make install

When running, Zynthian logo run continuously.

Log in cli:

INFO:root:Starting Engine Jalv/Dexed
ERROR:root:Can’t start engine Jalv/Dexed => End Of File (EOF). Exception style platform.
<pexpect.pty_spawn.spawn object at 0xb3fd7ab0>
command: /usr/local/bin/jalv
args: [’/usr/local/bin/jalv’, ‘https://github.com/dcoredump/dexed.lv2’]
buffer (last 100 chars): b’’
before (last 100 chars): b’.lv2/dexed.so: undefined symbol: _ZN4lvtk19get_lv2_descriptorsEv)\r\nFailed to instantiate plugin.\r\n\r\n’
after: <class ‘pexpect.exceptions.EOF’>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 2222
child_fd: 27
closed: False
timeout: 20
delimiter: <class ‘pexpect.exceptions.EOF’>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
0: re.compile(b’\n> ‘)
INFO:root:No defined MIDI controllers for ‘Dexed’.
INFO:root:Getting Controller List from LV2 Plugin …
ERROR:root:Can’t exec engine command: \info_controls => End Of File (EOF). Exception style platform.
<pexpect.pty_spawn.spawn object at 0xb3fd7ab0>
command: /usr/local/bin/jalv
args: [’/usr/local/bin/jalv’, ‘https://github.com/dcoredump/dexed.lv2’]
buffer (last 100 chars): b’’

after: <class ‘pexpect.exceptions.EOF’>
match: None
match_index: None
exitstatus: 1
flag_eof: True
pid: 2222
child_fd: 27
closed: False
timeout: 20
delimiter: <class ‘pexpect.exceptions.EOF’>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
0: re.compile(b’\n> ‘)
INFO:root:Getting Preset List from LV2 Plugin …
ERROR:root:Can’t exec engine command: \get_presets => End Of File (EOF). Exception style platform.
<pexpect.pty_spawn.spawn object at 0xb3fd7ab0>
command: /usr/local/bin/jalv
args: [’/usr/local/bin/jalv’, ‘https://github.com/dcoredump/dexed.lv2’]
buffer (last 100 chars): b’’
before (last 100 chars): b’\info_controls\r\n\get_presets\r\n’
after: <class ‘pexpect.exceptions.EOF’>
match: None
match_index: None
exitstatus: 1
flag_eof: True
pid: 2222
child_fd: 27
closed: False
timeout: 20
delimiter: <class ‘pexpect.exceptions.EOF’>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
0: re.compile(b’\n> ')
DEBUG:root:ZCTRL ‘Channel’: 0 (0 -> 16), None, None
ERROR:zynautoconnect.zynthian_autoconnect:ZynAutoConnect ERROR: ‘NoneType’ object has no attribute ‘encode’

It seems like the lvtk library is not compatible. Is the used version installed from Raspian or from github?

Regards, Holger

Ok. Perhaps I should wait… until they also fixed the USB-power-problem , perhaps.

1 Like

The lvtk is from Raspbian.
I remove from my system, clone lvtk, build and same problem.

In the master src directory, the file synth.hpp does not exist, I look on branches, and find the branch 1.x with this file.
I clone this branch, make the build, and when building Dexed, I did not found the file lvtk-plugin-2.pc -> lvtk have lvtk-plugin-1.pc, I rename and Dexed builds and works :slight_smile:
I make a pull request https://github.com/zynthian/zynthian-sys/pull/116

@C0d3man thanks you for the advices

1 Like

Very cool! Thanks for trying and fixing @lguyome45!

1 Like

The
AFAIK, the LV2 libraries are compiled from fresh code in the build process. Zynthian images doesn’t use the LV2 from the distro.

Regards,

I think I need to burn a new image, I made many test, and I maybe make some mistake that avoid dexed to compile normally.

I check the log of the last build ofr lvtk:
Waf: Entering directory `/home/pi/zynthian-sw/lvtk/build’

+ install /usr/local/lib/lv2/lvtk-examples.lv2/manifest.ttl (from build/examples/lvtk-examples.lv2/manifest.ttl)
+ install /usr/local/lib/lv2/lvtk-examples.lv2/volume.ttl (from build/examples/lvtk-examples.lv2/volume.ttl)
+ install /usr/local/lib/lv2/lvtk-examples.lv2/volume.so (from build/examples/lvtk-examples.lv2/volume.so)
+ install /usr/local/lib/lv2/lvtk.lv2/manifest.ttl (from build/lvtk.lv2/manifest.ttl)
+ install /usr/local/lib/pkgconfig/lvtk-2.pc (from build/lvtk-2.pc)
+ install /usr/local/include/lvtk-2/lvtk/version.h (from build/version.h)
+ install /usr/local/include/lvtk-2/lvtk/atom.hpp (from lvtk/atom.hpp)
+ install /usr/local/include/lvtk-2/lvtk/buffer_details.hpp (from lvtk/buffer_details.hpp)
+ install /usr/local/include/lvtk-2/lvtk/dynmanifest.hpp (from lvtk/dynmanifest.hpp)
+ install /usr/local/include/lvtk-2/lvtk/instance.hpp (from lvtk/instance.hpp)
+ install /usr/local/include/lvtk-2/lvtk/ext/bufsize.hpp (from lvtk/ext/bufsize.hpp)
+ install /usr/local/include/lvtk-2/lvtk/instance_data.hpp (from lvtk/instance_data.hpp)
+ install /usr/local/include/lvtk-2/lvtk/ext/data_access.hpp (from lvtk/ext/data_access.hpp)
+ install /usr/local/include/lvtk-2/lvtk/ext/extension.hpp (from lvtk/ext/extension.hpp)
+ install /usr/local/include/lvtk-2/lvtk/instance_handle.hpp (from lvtk/instance_handle.hpp)
+ install /usr/local/include/lvtk-2/lvtk/ext/idle.hpp (from lvtk/ext/idle.hpp)
+ install /usr/local/include/lvtk-2/lvtk/logger.hpp (from lvtk/logger.hpp)
+ install /usr/local/include/lvtk-2/lvtk/ext/instance_access.hpp (from lvtk/ext/instance_access.hpp)
+ install /usr/local/include/lvtk-2/lvtk/lvtk.hpp (from lvtk/lvtk.hpp)
+ install /usr/local/include/lvtk-2/lvtk/map.hpp (from lvtk/map.hpp)
+ install /usr/local/include/lvtk-2/lvtk/ext/log.hpp (from lvtk/ext/log.hpp)
+ install /usr/local/include/lvtk-2/lvtk/option.hpp (from lvtk/option.hpp)
+ install /usr/local/include/lvtk-2/lvtk/ext/options.hpp (from lvtk/ext/options.hpp)
+ install /usr/local/include/lvtk-2/lvtk/plugin.hpp (from lvtk/plugin.hpp)
+ install /usr/local/include/lvtk-2/lvtk/ext/resize_port.hpp (from lvtk/ext/resize_port.hpp)
+ install /usr/local/include/lvtk-2/lvtk/port_resizer.hpp (from lvtk/port_resizer.hpp)
+ install /usr/local/include/lvtk-2/lvtk/ext/show.hpp (from lvtk/ext/show.hpp)
+ install /usr/local/include/lvtk-2/lvtk/scheduler.hpp (from lvtk/scheduler.hpp)
+ install /usr/local/include/lvtk-2/lvtk/ext/state.hpp (from lvtk/ext/state.hpp)
+ install /usr/local/include/lvtk-2/lvtk/state_functions.hpp (from lvtk/state_functions.hpp)
+ install /usr/local/include/lvtk-2/lvtk/ext/urid.hpp (from lvtk/ext/urid.hpp)
+ install /usr/local/include/lvtk-2/lvtk/ui.hpp (from lvtk/ui.hpp)
+ install /usr/local/include/lvtk-2/lvtk/ext/worker.hpp (from lvtk/ext/worker.hpp)
+ install /usr/local/include/lvtk-2/lvtk/unmap.hpp (from lvtk/unmap.hpp)
+ install /usr/local/include/lvtk-2/lvtk/uri_directory.hpp (from lvtk/uri_directory.hpp)

lvtk lib is compiled from source but the file synth.hpp that is needed by dexed does not exit in this branch.

The modification I made, compile an old branch of lvtk to make Dexed compile ok

Edit:
I take a look into old build.log and synth.hpp is in lvtk source.
lvtk seems to be updated since we try to make a compilation on Buster.
We need to change the file install_lvtk.sh to checkout branch 1.x and rename the file lvtk-plugin-1.pc in lvtk-plugin-2.pc

2 Likes

I will be back to my lab in a few days and will test your changes …

Thanks a lot for your work! We are really close to have a fully functional Buster image … :wink:

3 Likes

Hi Jofemodo,
I make 2 pull request (I really need to learn github…):

Helm synth works but without preset, it runs with the default preset :frowning:
Console log :

INFO:root:Getting Preset List from LV2 Plugin …
DEBUG:root:proc output:
\get_presets
=> http://tytel.org/helm#preset001

I remove the directory /zynthian/zynthian-sw/plugins/helm run after the file install_helm.sh and after building, I have all the preset.

Maybe in first compilation, Helm presets are not a the good place and when generating presets.ttl, there is nothing to do

I try the patch to Aeolus in text mode, and now it works https://github.com/zynthian/zynthian-sys/pull/119

1 Like

I try the new Zynthian Os image with the modification put in master.
First good news, Dexed works, Wifi works on Rbpi4.

Bad news, Aeolus did not works, the modification made in the file install_aeolus.sh is not called by setup_plugins_rbpi.sh.

For Helm engine, there is no presets, remove the directory /zynthian/zynthian-sw/plugins/helm and redo the compilation with install_helm.sh make the preset correctly ???

At first run, I have a problem with encoder not working, same when putting the kit V2+, I try on Rbpi3B+ same problem until I make a bad configuration, reboot and redo V2+ kit

Sometimes, the wifi is not enabled, need to enable manually.

1 Like