I’ve experimenting a lot with Linux in the last years, did my first install by compiling kernels many years ago, and have toyed with the idea of running linux either as a graphics workstation (I work in graphic design) or as an audio DAW. for one reason or the other, I’m still stickingt with OSX for both, but I keep an eye on it. Linux does a great job at being my fileserver. I do have a small Asus EeePC (an older Intel-based model with 1024x600 display and I think only 1 or 2 Gb of RAM). So I was wondering if I could turn that into something useful by running Linux on it. I do have a certain need for a more computer-based MIDI sequencer, something that one can use to write whole songs on, so maybe that could be a good use for it. Any suggestions on that? I’m planning to test an old version of Puppy Studio (which some people highly praised, but is no longer in development).

i periodically love the idea of a very minimal system tailored to very specific needs, and indulge into esoteric unix config rituals that revive my interest in an old machine, but tbh these days i’m like you, prefering using my time to make music or music-related code; moreover my very specific minimal system always end up as a general purpose laptop with python, node, apache, wifi, scanners and printers blobs, aso;
so my (TL;DR) advice is, start with a standard desktop debian (stable) install, apt-get any tiling wm you want to try and just ignore the gnome3 session when login in. Or even use linux mint debian edition as a base system.

3 Likes

I never got as far as doing any audio work…

I really really like the idea of NixOS. But… Nix seems to be both an OS and a way to configure your dev environment, and it’s the second bit that I struggled with. My disks/Dropbox/GitHub/BitBucket are full of tiny little programs that I use on a regular basis, each one tends to be written in whichever language was best suited to the task. Having to create dev environments for all of it just seemed too much for me to want to deal with. Especially as most programming languages have very mature tooling for dealing with dependency management these days.


From the GitHub page (emphasis mine):

On the other hand xmonad has great defaults, key bindings and xinerama support but is crippled by not being written in C.

Them be fighting words! :stuck_out_tongue:

XMonad has switched to a more GitHub centric development workflow recently, and there seems to have been a recent uptick in activity (plus a new release). It’s great for someone like me that just wants to submit small patches, I like projects that are easy to contribute to (Nix seemed to be good for that too).

Anyway my config seems to be getting to a pretty decent place:

I’d only strongly recommend it for Haskellers, but seeing as there are a bunch of tidal users here now…

There is a video here from Ethan Schoonover (of Solarized fame) going through his config from which I have liberally stolen things. For me it’s too configured, but it does go to show what is possible. XMonad really is more of a DIY window manager than anything else out there.

3 Likes

Isn’t this only necessary when you want those dev envs to be isolated? You can have a global nodejs, python etc, right?

The last time I had Nix installed was over 6 months ago, so take what I say with a grain of salt as I may be mis-remembering or things may have changed…

You can have a global python or node or whatever, but if they need a C header then you need to create a nix shell or something similar. And really you should use a nix environment for python/node stuff too, anything else is going against the grain and just leads to other headaches.

See:

To clarify, when a tool, such as Make, is not installed in our environment and we type make in a shell, an error will be displayed, telling us that “make” does not exist.
(source)


Coming from a traditional unix environment I understand the concern. But we don’t install headers for C packages, so you’re forced to use Nix tooling to build software. Same goes for Python, except the line between usage and development is very blurred.
(source)


Invoking clang++ from the nix store won’t bring in all the headers and libraries you need. You either need to create a derivation for your test program, or write a short shell.nix file in your source directory with something like the following:

with import {}; {
testEnv = stdenv.mkDerivation {
name = “test”;
}
}

and then use the nix-shell command. Now you should be able to just run

clang++ hello.cpp

([source](https://github.com/NixOS/nixpkgs/issues/6834))

Just found out there are two active forks of the promising-sounding seq24:


A release note for sequencer64 from > 1 year back boasts headless operation from arm board with external midi control. Kind of excited to try these - will report back on usability/workflow!

2 Likes

Cool! Sad that S3 is currently down, so I can’t see the screenshot. Not that it matters for headless operation, which is pretty exciting on its own.

Well that’s good news!!! Will have to check them out both. Too bad none of them got rid of the “floating window” layout, which is a pain to deal with…

Looks like I might be able to make use of my MOTU 828mk3 under Linux…

The MOTU bits from the above repo have been merged into 4.12.

1 Like

I don’t have a laptop, and so I’m looking at picking up a new 2013 Choromebook Pixel for cheap. (They’re ~300 on ebay.) I’m after the good keyboard and very nice screen to run as a frontend for cloud-based latex composition in Overleaf. Besides the less than stellar battery life, it looks like there’s nothing better out there for the price.

It’s a Chromebook, so there’s only 32GB of storage. But it looks like dual-booting Linux is easy with Crouton. Is there annyting I should look out for? I figure the HiDPI screen might be a problem, but maybe scaling in Linux is ok now? Has anyone tried this with the Pixel?

The only reason I’m considering Linux on the machine is that it’d be nice to learn a program like Csound, Supercollider when I’m away from my desktop.

2 Likes

My partner has a Lenovo laptop with a HiDPI screen. It came with W10, and I’ve installed Ubuntu 16.04 on it. In my experience, the scaling works about the same in W10 and Ubuntu. Most apps work, some apps don’t, and then you are required to switch the resolution from the display settings in order to use the app. It’s very quick to do, so not a major hassle.

I think I read somewhere that Ubuntu 17.10 will have improved scaling functionality.

2 Likes

AFAIK, GTK (i.e Gnome desktop) isn’t that great with fractional HiDPI scaling (e.g. 1.5x), but is fine with integer scaling (e.g. 2x).

QT (i.e. KDE) is supposed to be fine with either.

1 Like

seq64 is planning to address this issue eventually. There’s just a lot of other/ground work needed to get there first.
Also afaik all or at least the majority of the stazed seq24 work has been incorporated in sequencer64.

For anyone using gentoo we’ve made sequencer64 as well as some other sound production related packages that aren’t in the gentoo tree available under the audio-overlay https://github.com/gentoo-audio/audio-overlay

2 Likes

Just a quick update…

I’ve finally found some time to get myself switched over to Linux full time on my desktop (still running OS X on my laptop). Somehow I managed to put together a list of parts to order at the end of the summer holidays and get it built once my eldest daughter was back at school.

I’ve gone with Arch Linux, still not especially fond of it, but Gentoo seems like it’s struggling with a lack of developers (and systemd is a second class option there).

In the end I went with a Core i7 6850K (6 cores / 12 threads, 44 PCI lanes) and an X99 motherboard, it’s last generation but no compatibility issues with Linux, and the price on the 6850K has dropped to not much more than a 7700K in UK.

The X99 chipset should be really good for virtualisation. If I stick a second graphics card in there I should get near native levels of performance with virtualised Windows, and if I’m really luck OS X too. In theory I can pass through USB and Firewire cards directly, so I should be able to use the VMs for audio too.

Speaking of audio, I’ve just got a Jack-DBus setup, so far I’m going with piping ALSA to PulseAudio, and then sending the PulseAudio stream to Jack (and then onto an SPL Crimson1). I’m going to try the other method, which is to get Jack to ask PulseAudio for the sound card when it starts up.

I’m also tempted to get my MOTU 828 mk3 to work with Jack too, then I can run Jack and PulseAudio in parallel. I just need to buy a Firewire PCI card.


1 Annoyingly the SPL Crimson isn’t working properly in Linux, which it should as it’s class compliant, I guess I’ll head on over to the ALSA mailing list at some point and see if I can get to the bottom of it and maybe even provide a patch.

3 Likes

Hi everyone…

I’m in the mood for playing with samples on my OP-1 and in SuperCollider. Anyone care to suggest some sample editors?

I have got Audacity up and running. But it doesn’t cope brilliantly with my 4K monitor.

Bonus points for something that uses a text file to specify edits and fades, etc, etc. But I guess I’d like something graphical to find the edit points in the first place.

1 Like

@sam have you tried shuriken? https://rock-hopper.github.io/shuriken/

2 Likes

No. But it looks cool. Has an Arch AUR package too.

Will give it a go this evening.

I’ve been using linux on my laptop for nigh on 15 years now. First on an ASUS barebones laptop, now on my MSI.

I started with slackware, then moved to gentoo, and for some reason I recently decided to go CentOS for “stability”, but I’m regretting that every day and my /opt/ folder is filling up with things I’ve had to compile from scratch (and their libraries!).

I used to use fluxbox for a window manager, then I moved to ion, and now I’m using a bone-stock xmonad install and it works just fine for me!

Trollbait :wink:

  • vim > emacs
  • DVORAK > QWERTY
  • gentoo is rice (n.b.: but I love it)
  • ncurses > any other UI
  • OpenBSD > SELinux
4 Likes

I recently found a 2009 imac in the hard rubbish. I’ve got it running Mint Linux with an unused MAudio 1814 firewire box. For music stuff I’m using Bitwig Studio and Puredata. Not having Abelton Live was a barrier for me running Linux in the studio but Bitwig has pretty much solved that.

4 Likes

I’ve been trying to get my firewire MOTU 828mk3 Hybrid working with Linux. Unfortunately FFADO doesn’t support the ‘hybrid’ version. Looking at the source code, it’s probably an easy fix (they support a different ‘hybrid’ interface), but I really don’t have the time.

Turns out that the ALSA firewire support is better. Haven’t got very far yet, but it looks promising. Anyway, I’ve been completely stumped with how to get ALSA to tell me how many channels a device has.

So far, the best I’ve got is using sounddevice:

IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import sounddevice

In [2]: sounddevice.query_devices()
Out[2]: 
   0 HDA Intel PCH: ALC1150 Analog (hw:0,0), ALSA (2 in, 6 out)
   1 HDA Intel PCH: ALC1150 Digital (hw:0,1), ALSA (0 in, 2 out)
   2 HDA Intel PCH: ALC1150 Alt Analog (hw:0,2), ALSA (2 in, 0 out)
   3 HDA ATI HDMI: 0 (hw:1,3), ALSA (0 in, 8 out)
   4 HDA ATI HDMI: 1 (hw:1,7), ALSA (0 in, 8 out)
   5 HDA ATI HDMI: 2 (hw:1,8), ALSA (0 in, 8 out)
   6 HDA ATI HDMI: 3 (hw:1,9), ALSA (0 in, 8 out)
   7 HDA ATI HDMI: 4 (hw:1,10), ALSA (0 in, 8 out)
   8 828mk2: - (hw:3,0), ALSA (14 in, 14 out)
   9 sysdefault, ALSA (128 in, 128 out)
  10 front, ALSA (0 in, 6 out)
  11 surround21, ALSA (0 in, 128 out)
  12 surround40, ALSA (0 in, 6 out)
  13 surround41, ALSA (0 in, 128 out)
  14 surround50, ALSA (0 in, 128 out)
  15 surround51, ALSA (0 in, 6 out)
  16 surround71, ALSA (0 in, 6 out)
  17 iec958, ALSA (0 in, 2 out)
  18 spdif, ALSA (0 in, 2 out)
  19 pulse, ALSA (32 in, 32 out)
  20 dmix, ALSA (0 in, 2 out)
* 21 default, ALSA (32 in, 32 out)
  22 system, JACK Audio Connection Kit (2 in, 2 out)
  23 PulseAudio JACK Sink, JACK Audio Connection Kit (2 in, 0 out)
  24 PulseAudio JACK Source, JACK Audio Connection Kit (0 in, 2 out)

Anyone know the best way to get ALSA to print out some info about my sound card?