MIDI Input does not work on Linux

• Jun 30, 2020 - 07:03
Reported version
S3 - Major
needs info

See post here:

The MIDI input options are not available on Linux. There is no way to choose MIDI devices.
Also, this should be documented better - is "Port Audio" even an option for Linux systems?

On my computer amidi -l outputs:

Dir Device Name
IO hw:2,0,0 Scarlett 2i4 USB MIDI 1
IO hw:3,0,0 LPK25 MIDI 1

And the LPK25 works on the same system running Bitwig.

Attachment Size
Screenshot from 2020-06-29 22-58-12.png 59.16 KB


In reply to by Jojo-Schmitz

Sorry - I thought the linked thread covers this. I included a screenshot (no options appear in any drop down window). Copying from that thread:

In I/O settings I have tried:
- ALSA Audio (default) - Does not work. MIDI DIN symbol disabled light blue
- PortAudio -Not a single option appears in drop down menus, Musescore crashes if press okay
- PulseAudio - The MIDI DIN Symbol can be enabled / disabled but no input is seen
- Jack Audio Server - The MIDI DIN Symbol can be enabled /disabled but no input is seen
- Jack Audio Server (and disable "use Jack MIDI") - Musescore crashes

Has anybody (in the world) demonstrated that MIDI input works on Linux with Musescore 3?

Attachment Size
Screenshot from 2020-06-30 02-33-54.png 59.48 KB

In reply to by kuwitt

My keyboard is connected before starting MuseScore. I don't know what you mean by "check your midi connection" but as mentioned my setup works on Bitwig.

Did you have to install PortAudio somehow?

What info is needed as part of "needs info"?

With "check your midi connection" I meant if the midi cable is connected correct, but it seems so, you wrote it works with other applications.
"Needs info" means: this is the issue tracker to collect bugs of MuseScore, as long as an issue isn't clear about a bug, there are more information needed. But your problem sound less like a bug of MuseScore, more as a support request.
Yep, "libportaudio2" is installed on my system, but don't know if it was installed by default or if I installed it sometime later.

In reply to by kuwitt

A few other people have this support request. Given that I am following directions, it feels like a bug, particularly given the fact that MuseScore crashes depending on the configuration of that I/O tab.

I wonder why the process is so much more involved for MuseScore compared to other apps using MIDI on Linux.

I wonder what other information I can provide!

Concerning the crash: Which MuseScore version? Are you using a distribution package or the AppImage? Check both versions. Run MuseScore from the Terminal. Is there any output? Did you check, if it works after a revert to factory settings?
Btw.: With OpenSuse 15.1 I can't reproduce this crash.

Also: In case you're using the snap package, it isn't maintained from MuseScore. Then again check the AppImage.

It would be interesting, what the crash of portaudio occurs. So as mentioned, start MuseScore from command line in a terminal, to see if there's an error message.
Did you check, if libportaudio2 is installed on your system?

There are no seemingly related errors when starting from the command line. Yes, libportaduio2 is installed (I think by default on Ubuntu).

It's also interesting why no one can use PulseAudio as that is the default for Linux...

Unrelated errors are:

OpenType support missing for "Ubuntu", script 11
OpenType support missing for "Ubuntu", script 19
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback
qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_init
qt.network.ssl: QSslSocket: cannot resolve sk_new_null
qt.network.ssl: QSslSocket: cannot resolve sk_push
qt.network.ssl: QSslSocket: cannot resolve sk_free
qt.network.ssl: QSslSocket: cannot resolve sk_num
qt.network.ssl: QSslSocket: cannot resolve sk_pop_free
qt.network.ssl: QSslSocket: cannot resolve sk_value
qt.network.ssl: QSslSocket: cannot resolve SSL_library_init
qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings
qt.network.ssl: QSslSocket: cannot resolve SSL_get_ex_new_index
qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method
qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
qt.network.ssl: QSslSocket: cannot resolve SSLeay
qt.network.ssl: QSslSocket: cannot resolve SSLeay_version
qt.network.ssl: QSslSocket: cannot call unresolved function SSLeay
qt.network.ssl: Incompatible version of OpenSSL

I ran into the exact same issue on Ubuntu 20.04 and reset Factory Settings doesn't help. I can see my MIDI-Keyboard LPK-25 in terminal , but the moment select Port-Audio Musescore crashes. When I select ALSA (which should be connected and where I can see the keyboard) I have no sound at all (the play-function is well not working) and no MIDI keyboard either. The only option that give me playback sound is "Pulse Audio" but no access to MIDI-Keyboard either.

Anyone having found a solution in the meanwhile?

I did some further testing and using the Appimage doesn't work either. I though I could be smart and then tried to manually set portAudio to TRUE in the config file, which has the only effect that Musescore doesn't start at all.

In reply to by kuwitt

Thanks but neither worked.

Getting these errors in terminal:

ALSA lib conf.c:3916:(snd_config_update_r) Cannot access file /usr/share/alsa/alsa.conf
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM default
ALSA lib conf.c:3916:(snd_config_update_r) Cannot access file /usr/share/alsa/alsa.conf
ALSA lib control.c:1373:(snd_ctl_open_noupdate) Invalid CTL hw:0
ALSA lib conf.c:3916:(snd_config_update_r) Cannot access file /usr/share/alsa/alsa.conf
ALSA lib control.c:1373:(snd_ctl_open_noupdate) Invalid CTL hw:1

The above is for the SNAP version of the app. The appimage version however works, but the UI is scaled too large and the -D terminal option only seems to scale the fonts/icons but not the UI, hence appears rather unpleasing to the eye.

Concerning the UI, also check the "-x" option. IIRC for some user it also worked with values like "0.5" or "1".

In reply to by kuwitt

Thanks for your help. I suspect it might also an issue with the Snap-Packagae. As far as I understand it is similar to AppImage and contains the dependencies. Not sure though. I will see if I can file an issue there. For the time being the AppImage file works well once I figured how to fix the scaling issue. At least the alsa.conf file exists on my config.

In reply to by willy3

Thanks a lot. Sadly doesn't work here. The moment Port Audio is enabled and I exit settings the app crashes. On restart whatever was activated befiore, it still activated. But the AppImage version of the app works now after I figured out the scaling issues. So, for the time being I'm fine.

In reply to by willy3

JACK does MIDI routing, but it doesn't implement a lot of like, hardware driver stuff. ALSA does that. When you plug a device into a Linux box, it's ALSA that handles it. JACK MIDI does not see what ALSA sees. So on Linux, there's one more thing you need to do to glue it all together. There's a program, available on most distros, called a2jmidid. Run it like this: a2jmidid -e and you'll see all your ALSA devices in the MIDI tab of QJackCtl, or in Carla or Patchage or whatever you're using.