Migrating ZynthianOS to 64 bits

Hi @crew!

Perhaps it’s time to think about going 64 bits… Probably, it won’t be a straightforward task, so let’s start by drafting a route sheet and proceed step by step.

I would assume that we will keep using “Raspbian”, but i’m not closed to use other distros if we have good reason to do so.

  1. Test Raspbian 64 bits and the key pieces: jackd, jalv and standalone engines installed from repository
  2. Test hardware drivers: hifiberry, piscreen, audioinjector, USB compliant devices, etc.
  3. Test Zynthian UI with standalone engines and some LV2 plugins
  4. Modify and test the “SD setup scripts”. Start building Buster64 SD images.
  5. Test, test and test …

Once the Kit v4 is released, and i can look the landscape, i would like to scale this to the higher priority …

Regards,

8 Likes

Well we could have had a fanfare at least !! :smiley:

Would this have any extra abilities or limitation in 24 bit or 96/192 applications?
I was asked about this yesterday.

1 Like

I don’t think so … but 64 bit binary code should be a little bit faster to execute in many cases. I’ve reports from Moddart developers about Pianoteq improving by a 15%.
The price to pay is increased memory usage, but the new RBPis has a good amount of that … :wink:

64 bit systems are ideal for the new 8GB RPi and massive usage of sample engines :grin:

2 Likes

KXStudio repo also already compiles for 64bit arm too.

1 Like

Is that for ARM build. There is a statement in their README that states they only provide a 32-bit ARM build.

They told me about their lab tests some time ago …

Hi,

I don’t think that faster code is the primary goal in going 64 bits. If you demand high processing power, you need to leave the ARM platform.

The real reason for 64 bits might be

  • enabling for more than 4GB of address space
  • stay compliant to 64 bit trend (I see this as embarking for ARM now)

It’s kind of opening for future.
/Uwe

Totally agree with you, but the 10-15 % of extra performance is always welcome, specially for Pianoteq engine :wink:

@riban, Yes, they told me about tests with 64bit ARM. I’m quite confident on Pianoteq people will release a 64 bit ARM binary in the near future …

Anyway, as @harry66 has set above, this is more a strategic move for not getting stucked on the past … Of course, we are not in a hurry, we have time …

Regards,

For the moment, there is no rapios lite 64 bits, only desktop.
There is this information in raspberry forum : Raspbian OS 64-bit beta Lite - Raspberry Pi Forums
A script to purge all desktop program :

#!/bin/dash
sudo apt update
sudo apt purge -y x11-common bluez gnome-menus gnome-icon-theme gnome-themes-standard
sudo apt purge -y hicolor-icon-theme gnome-themes-extra-data bluealsa cifs-utils
sudo apt purge -y desktop-base desktop-file-utils
sudo apt autoremove -y

2 Likes

Great. You did the first step :wink:

Not exactly first step, because I’m thinking of installing directly Zynthian via script, but no luck for moment, pi is running, but nothing on my zynthian screen or hdmi display, webconf not working.

I begin the test with removing all /dev/fb1 change to keep hdmi and see if the log show me problem

Is jackd running?

for moment I don’t know, I flash a new card and setup_system_rbpi_raspbian_lite_stretch.sh is running.
If fail, I will flash raspios and install all the program you put in the first step in desktop mod

You should be using:

setup_system_rbpi_raspbian_lite_buster.sh

Regards,

Ah sorry I copy the wrong text, I used Buster :wink:

Little progress:

  • I take RaspiOs 64 bits, install it and after sudo apt purge x11-common
  • Reboot on CLI, download zynthian_env.sh and setup_system_rbpi_raspbian_lite_buster.sh
  • In zynthian_env, I change FB1 to FB0, to keep the HDMI output
  • I split setup_system, I can make backup image between all step.

setup1.sh (8.5 KB)
setup2.sh (5.0 KB)

between setup1 and setup2 I change some file to avoid FB0:
diff (3.2 KB)

For the moment, on my kit 2, the screen is black, on HDMI it works.

We need to add in /boot/config.txt, don’t know what is needed but without the raspberry does not boot :

#Enable DRM VC4 V3D driver
dtoverlay=vc4-fkms-v3d
max_framebuffers=2
arm_64bit=1

I test coder with zyncoder_test, and my coder works.

That’s all for the moment :wink:

3 Likes

Little update :slight_smile:

After seeing the kernel problem for the piscreen, I downgrade the kernel : sudo rpi-update e1050e94821a70b2e4c72b318d6c6c968552e9a2

And after my Piscreen is working as expexted :sunglasses:

On my Zynthian V2, I have screen, coder, soundcard working.

I test sound with test audio in admin, test midi seems to not work, same for engine but I don’t install all.

Now with the good kernel, I will try another installation.

To be continued…

Edit :

I have a working zynthian 64 bits, just fluidsynth and linuxsampler which don’t work, I don’t look for the moment why.

1 - download and flash https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-05-28/2020-05-27-raspios-buster-arm64.zip
2 - Put in your raspberry, boot and configure your wifi and activate ssh ( https://linuxize.com/post/how-to-enable-ssh-on-raspberry-pi/ ) I skip update since zynthian script do it for me
3 - ssh into your raspberry
4 - sudo mkdir /zynthian
5 - cd /zynthian
6 - sudo git clone https://github.com/lguyome45/zynthian-sys.git
7 - cd zynthian-sys/script
8 - sudo ./setup_system_rbpi_raspbian_lite_buster.sh
9 - take many coffee, it take long time to do the compilation but keeo an eye on the screen, at beginning there is some question for example for the kernel downgrade

After the compilation is finished, just go to the webconf to configure the kit, maybe update the lv2 plugins and normally that’s all.

@jofemodo in my branch I make modification in update_zynthian_sys.sh and eynthian_envars.sh to change fb1 to fb0, it’s easier for me to have hdmi output.

I will test tomorrow with less modification.

1 Like

A step closer?

4 Likes

Yes! Time is coming …

5 Likes