HISE Logo Forum
    • Categories
    • Register
    • Login

    OS for compiling in Linux?

    Scheduled Pinned Locked Moved General Questions
    21 Posts 5 Posters 421 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.
    • ulrikU
      ulrik
      last edited by

      If I want to compile plugins for Linux (I'm on Mac and compiling for Windows using the "Parallels" emulator)
      What type of Linux OS is best suited for this?

      Hise Develop branch
      MacOs 15.3.1, Xcode 16.2
      http://musikboden.se

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

        @ulrik Linux Mint. Use the oldest version you can, I think I'm using something like version 18.

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

        ulrikU 1 Reply Last reply Reply Quote 1
        • ulrikU
          ulrik @d.healey
          last edited by

          @d-healey there are different editions

          Skärmavbild 2022-11-16 kl. 11.30.13.png

          Hise Develop branch
          MacOs 15.3.1, Xcode 16.2
          http://musikboden.se

          toxonicT 1 Reply Last reply Reply Quote 0
          • toxonicT
            toxonic @ulrik
            last edited by

            @ulrik i think, cinnamon is the default desktop environment and quite clean and easy to use.

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

              If you're running in a VM use Xfce. Cinnamon is one of the best DEs (I use it daily) but it's a bit more resource heavy.

              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 If I install Linux Mint on a computer, do I also have to use the oldest version possible for greater compatibility of the exported plugin?

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

                  @bendurso yes, I'm on v18 I think, I'll check when I'm home

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

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

                    @bendurso oh wait do you mean as a user or for compiling?

                    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 For compiling :)

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

                        @d-healey Oh, and is that rule only for Linux? I understood that in Windows and macOS, the OS version you use to export the plugin doesn't matter

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

                          @bendurso Yeah just for Linux. Main reason is because of the way Linux shares libraries so you need to use a version of the library that is the same or older than the version a user will have. So using a newer OS will use a newer version of a library which users on older OS versions won't have available.

                          For standard programs there are solutions to this like flatpak. snap, appimage, but I don't think such a solution exists for plugins.

                          I just checked and I'm using Linux Mint 18.

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

                          bendursoB 1 Reply Last reply Reply Quote 2
                          • 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
                                            • First post
                                              Last post

                                            22

                                            Online

                                            1.9k

                                            Users

                                            12.2k

                                            Topics

                                            106.6k

                                            Posts