linux

Installing SuperCollider on Linux in 2020

These are short notes on installing SuperCollider from source on a debian-based Linux distro … in 2020.

Download sources

Download source from an official release from github: https://github.com/supercollider/supercollider/releases – grab the Source-linux.tar.bz one. Also grab corresponding SC3-plugins at https://github.com/supercollider/sc3-plugins/releases

Continue reading

A5 booklet/brochure on Linux

First you have a normal PDF with A4 pages. Something you printed from wikipedia but using ‘to pdf’ option. Now you want to print it at half size, well A5, but in order to use duplex and everything, pages have to be rotated and rearranged. On Linux command-line this is easy using ‘ghost-script’ tools.

pdf2ps

convert your pdf to post-script:

$ pdf2ps input.pdf output.ps

ps2ps

the main fun is here:

$ pstops -pa4 "4:1R@0.7(0,1h)+2R@0.7(0,0.5h),0R@0.7(0,0.5h)+3R@0.7(0,1h)" mozilla.ps booklet.ps

ps2pdf

convert resulting post-script back to pdf:

$ gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -sOutputFile=booklet.pdf -dAutoRotatePages=/None booklet.ps

Print the resulting file with duplex option with short-edge. You will end up with foldable pages that don’t go one into another. Fold them and stack them on top of each other and bind them with stapler or thread.

Installing SuperCollider on Linux in 2019

These are short notes on installing SuperCollider from source on a debian-based Linux distro … in 2019.

Download sources

Download source from an official release from github: https://github.com/supercollider/supercollider/releases – grab the Source-linux.tar.bz one.

un-tar-bzip it with:

Prepare system for compilation

Install all dependencies for your system by following instructions on how to build SC from source on Linux here: https://github.com/supercollider/supercollider/blob/develop/README_LINUX.md (the most tricky is QT version – for recent versions of distros the QT version is high enough to install through apt):

Check if QT in your distro’s repos is high enough for SC (5.7 or later!):

if so, install the QT dev packages:

I’m using checkinstall to create a deb package, so, install that as well:

Building/compiling

Go to the folder with source, create a build folder, and cd to it:

Configure make (cmake)

Start compilation (lotsa warnings but if you don’t end up with ‘Build failed’, then build was successful):

Now create a deb with checkinstall:

Installing

Install the final deb:

or

supercollider: deb package from git with checkinstall

Follow instructions how to build and install supercollider from git here: https://github.com/supercollider/supercollider/wiki/Installing-SuperCollider-from-source-on-Ubuntu, but instead of final make install, use checkinstall (apt install checkinstall):

$ sudo checkinstall -D -t=debian --install=no --pkgname=supercollider --pkgversion=3.10.0-0your_name make install

You’ll end up with a .deb file in that current build folder. Install it with gdebi:

$ sudo gdebi supercollider_3.10.0-0lallafa-1_amd64.deb

Prevent apt from ever upgrading your package by creating a file called “preferences” in /etc/apt folder, and put in:

Package: /supercollider/
Pin: release *
Pin-Priority: -1

EDIT 20200311:

My last iteration of this is (change the pkgversion apropriately!):

sudo checkinstall -D --pkgname=supercollider --pkgversion=1:3.10.3-deviant200109 --backup=no --install=no --nodoc -y --replaces=supercollider,supercollider-common,supercollider-ide,supercollider-language,supercollider-server,supercollider-supernova

And if you also compile sc3-plugins you can use it similarly:

sudo checkinstall -D --pkgname=sc3-plugins --pkgversion=1:3.10.3-deviant200109-git --backup=no --install=no --nodoc -y

Tearing of fast action on NVIDIA

So with a brand new setup that includes a GLX/Geforce 1070 graphic card (will I ever be able to abuse all that GPU power?) I was somehow dissapointed to find non-uniform flickering, in other words the fast movement of things on screen was tearing. I didn’t prioritize this problem yet, but today I took time to look into it, and the following recipe solved it:

To avoid tearing, there’s a “workaround” – there are two options that seemingly need to be enabled in Xorg/nvidia driver: TripleBuffering and ForceCompositionPipeline (or ForceFullCompositionPipeline). My /etc/X11/xorg.com now contains the following in the “Screen” section:

To find out what is your screens layout, you can do

Also, if you want to fix tearing temporarily without changing any configuration files, use this command with something like that:

Supposedly forcing composition pipeline is causing some degradation in quality/speed in games.

Sources:
https://devtalk.nvidia.com/default/topic/543305/linux/screen-video-tearing-gtx6xx-7xx-kepler-9xx-maxwell-in-almost-all-applications-including-desktop/1
http://http.download.nvidia.com/XFree86/Linux-x86/325.15/README/configtwinview.html
https://forums.freebsd.org/threads/52311/#post-312833
https://forums.freebsd.org/threads/52311/#post-325927
http://us.download.nvidia.com/XFree86/Linux-x86_64/319.32/README/xconfigoptions.html

 

linux: auto-login

There’s couple of ways how to setup auto-login on linux. This one is geeky and not very user-friendly, but might come handy to somebody. This is on Ubuntu Linux 14.04.1/trusty with graphical login/desktop manager (lightdm) disabled.

install mingetty

edit /etc/init/tty1.conf so that it looks like this:

The most important part are the last three lines. Change username to what you have.

Edit your ~/.profile and add at the bottom:

Reboot and you should end up in your X session.

Sources:
askubuntu.com/quest…unning-upstart
https://wiki.archlinux.org/index.php/Xinit

switching caps-lock key into control key

There are couple of ways how to make your caps-lock key into control key. For some of use keyboard-shortcuts nerds keyboard usage optimisation is quite an important topic. One of useful things is to move (or rather add) a control (CTRL) key to the place where (rarely used) CAPS LOCK key is. This is especially usefull if one work in EMACS a lot. So, obviously emacs-wiki is a good source for various ways how to achieve that. See https://www.emacswiki.org/emacs/MovingTheCtrlKey for more. But specificaly in my case I used the following recipe for Debian and derivatives:

To make Caps Lock another Ctrl key, edit the file /etc/default/keyboard and change the line which reads

to

and then run:

Changes take effect on next login and seem to perpetuate across virtual terminals and X session.

processing applet on desired monitor

An example how to control on which monitor does processing applet (sketch output window) appear if you’re using multi-head setup:

multitouch with dual head/monitor Xorg

Having a multi-touch monitor (DELL P2314T) together with another non-multi-touch output confuses (in my case) the pointer maping – in other words, the pointer (mouse) is not where you touch the screen.

1) Make sure the touch screen is the leftmost monitor. Seems like offset-ing the pointer with xinput does not work (and something is buggy here), but scaling does. Actually that is not entirely true: offseting works with xinput, but in the case of multi-touch screen not being left-most the pointer is thrown to the rightmost pixel on X-axis the moment it’s supposed to appear on the multi-touch screen (this is true only for MT input, not for the actual mouse). If the touch-screen the leftmost, there’s no need to do offset, just proper scaling.

2) use xinput’s “Coordinate Transformation Matrix” to ‘remap’ it correctly:

see wiki.archlinux.org:Calibrating_Touchscreen

and here’s a simple /etc/X11/xorg.conf:

PostScript: make an A6 broshure (8 pages/sheet)

Had this lovely pdf (Music Marketing Handbook, 2007) and had difficulty reading it on screen and wanted to print it in a small (tiny?) broshure format. So, in Linux, I used this:

first convert PDF to postscript file

now the crazy command-line monster (this will take 8 pages in a block, scale them by 0.5, offset their position on a page and rotate four of them upside down):

convert postscript back to pdf, but make sure that GhostView doesn’t try to figure out the correct rotation!

This process will create pages with four pages on each, which you can print double-sided. It is then very simple to fold each of A4 sheets two times and just cut the top two folds.

bookletmaking2
booklet making

Booklet making

Switch CapsLock and Ctrl using xkb

Using CTRL as a modifier is quite frequent, especially in EMACS. Since it is usually (and definitely on my Thinkpad) placed in a position that can cause “Eamcs Pinky”, one of possibilities is to remap CapsLock to another Ctrl. Following a recipe on Emacs Wiki, this is one possible way: