HISE Logo Forum
    • Categories
    • Register
    • Login

    OS for compiling in Linux?

    Scheduled Pinned Locked Moved General Questions
    21 Posts 5 Posters 420 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • bendursoB
      bendurso @d.healey
      last edited by

      @d-healey This is a bit old, but.. I’m now trying to use Linux on a Silicon Mac. I understand that Mint doesn’t work with ARM processors. If I use Ubuntu 20.04 Focal (ARM version), will the plugins I export work on non‑ARM computers? If not.. is there another alternative?

      d.healeyD 1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey @bendurso
        last edited by d.healey

        @bendurso The only distro I know that somewhat runs on Apple silicon is Asahi Linux, but I believe there are still some driver issues and I'm not sure which generation of M chip it supports.

        I believe if you manage to install it, and then manage to build HISE on it, you'll end up with an ARM build that probably won't run on many (or any) other distros.

        All of this is a guess because I haven't tried it.

        I think you'll have better luck using an Intel/amd system, either dedicated to Linux or using a virtual machine. I do all my builds with virtual machines on a Proxmox server.

        Libre Wave - Freedom respecting instruments and effects
        My Patreon - HISE tutorials
        YouTube Channel - Public HISE tutorials

        bendursoB 1 Reply Last reply Reply Quote 1
        • bendursoB
          bendurso @d.healey
          last edited by

          @d-healey said in OS for compiling in Linux?:

          Great, thanks! I also just found something called QEMU, which allows you to emulate (rather than virtualize) any operating system on Silicon Macs. That means I could run Mint on my Mac M4. I’m going to give it a try. 🙂

          d.healeyD modularsamplesM 2 Replies Last reply Reply Quote 1
          • d.healeyD
            d.healey @bendurso
            last edited by

            @bendurso Yeah Proxmox uses qemu too

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

            bendursoB 1 Reply Last reply Reply Quote 0
            • bendursoB
              bendurso @d.healey
              last edited by

              @d-healey Oh nice, but if I do it on my computer is free hehe
              The proxmox server is a paid subscription right? Or there is a free version?

              d.healeyD 1 Reply Last reply Reply Quote 0
              • d.healeyD
                d.healey @bendurso
                last edited by

                @bendurso Proxmox is free and open source, there is a paid repo with some enterprise stuff but we don't need it. I followed this course - https://www.youtube.com/playlist?list=PLT98CRl2KxKHnlbYhtABg6cF50bYa8Ulo

                Libre Wave - Freedom respecting instruments and effects
                My Patreon - HISE tutorials
                YouTube Channel - Public HISE tutorials

                1 Reply Last reply Reply Quote 1
                • modularsamplesM
                  modularsamples @bendurso
                  last edited by

                  @bendurso You can virtualise ARM Linux with UTM, but then use Rosetta to provide the x86 emulation:

                  Rosetta

                  Documentation for UTM virtual machines

                  favicon

                  UTM Documentation (docs.getutm.app)

                  I've not tried it yet, so don't know how practical it is in use, but it should perform significantly better than emulating the entire OS.

                  bendursoB 1 Reply Last reply Reply Quote 2
                  • bendursoB
                    bendurso @modularsamples
                    last edited by bendurso

                    @d-healey thanks I will check it :)
                    @modularsamples Thanks, sounds good. I ended up using UTM in emulation mode, but yeah… it’s really slow. I actually have an old Mac running Mint that feels faster than this emulation.

                    This virtualization with Rosetta sounds promising. But it’s really important that all the libraries and dependencies are installed for x86_64, right? Because if we build HISE using some ARM libraries, then the resulting plugin wouldn’t work correctly on x86_64 machines I think.

                    modularsamplesM 1 Reply Last reply Reply Quote 0
                    • modularsamplesM
                      modularsamples @bendurso
                      last edited by

                      @bendurso said in OS for compiling in Linux?:

                      But it’s really important that all the libraries and dependencies are installed for x86_64, right? Because if we build HISE using some ARM libraries, then the resulting plugin wouldn’t work correctly on x86_64 machines I think.

                      If you want to distribute on x86, probably. I had a little play around with this earlier, and was able to get HISE up running on an ARM version of Debian 12 natively, but ran into problems adding the amd64 versions of the dependancies Clang, llvm and build-essentials (the rest install okay):

                       clang-14:amd64 : Depends: libclang-common-14-dev:amd64 (= 1:14.0.6-12) but it is not installable
                                        Recommends: llvm-14-dev:amd64 but it is not going to be installed
                                        Recommends: python3:amd64 but it is not going to be installed
                       dpkg-dev : Depends: make
                                  Depends: binutils but it is not installable
                                  Recommends: build-essential but it is not installable
                       python3 : PreDepends: python3-minimal (= 3.11.2-1+b1) but it is not going to be installed
                                 Depends: python3.11 (>= 3.11.2-1~) but it is not going to be installed
                      
                      

                      We should be able to specify an architecture when building:

                      TARGET_ARCH='-march=x86-64' make config=RELEASE
                      

                      But this just gives us an error and list of acceptable values (all ARM), so it seems likely either the missing dependancies need fixing, or there's some other step being missed..

                      bendursoB 1 Reply Last reply Reply Quote 1
                      • bendursoB
                        bendurso @modularsamples
                        last edited by

                        @modularsamples Nice, thanks for the details.

                        I think I’m going to get a decent Intel computer to compile for Windows and Linux x86—it’ll be easier, hehe.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        27

                        Online

                        1.9k

                        Users

                        12.2k

                        Topics

                        106.5k

                        Posts