MIDI on Linux

a2jmidid

a2jmidid is an application that bridges between the system MIDI ports and JACK.

First you should make sure that there is no ALSA sequencer support enabled in JACK. To do that open QJackCtl's Setup window.

Set Settings > MIDI Driver to none. Then uncheck the Misc > Enable ALSA Sequencer support option.
Now it's time to restart your jack server before going on.

Check for a2jmidid availability

First, check whether a2jmidid is already installed in your system. After starting your JACK server, go to the command line and type

a2jmidid -e

If a2jmidid does not exist, install it with the software manager of your Linux distribution and try again.

Check surface control MIDI ports

After starting a2jmidid, your control surface MIDI ports should appear in qjackctl under Connections > MIDI > a2j.

You can now add a2jmidid -e as an "after start-up" script in the Setup > Options tab of QJackCtl, so that it is started automatically whenever you start JACK.