Skip to content

Conversation

@cbjeukendrup
Copy link
Member

It is believed that it works well enough nowadays to expose it to users.

@cbjeukendrup
Copy link
Member Author

@DmitryArefiev Let's see if this is in a state that's acceptable to expose to users. Most likely, it won't be perfect, and not all plugins may work. Maybe, that will always be the case, on Linux. On the other hand, certain users are desperately waiting for VST support on Linux. So if this does not introduce problematic situations for the users who are not interested in VST on Linux, let's merge it, to make the users who do want it happy.

@DmitryArefiev
Copy link
Contributor

DmitryArefiev commented Jun 13, 2025

@cbjeukendrup I've installed Vital VSTi (it's VST3, what we are support) but MSS doesn't see that instrument in Mixer.
And Reaper (DAW) detects fine Vital instrument on my Linux Ubuntu

@diedeno
Copy link
Contributor

diedeno commented Jun 13, 2025

I don't see any vst3 in this build.
Vital does work in my build. (but i have no use for it). Of course, a small number of native Linux vst3 do not work at all. (e.g. because we cannot handle multi-plugins, like LSP on Linux -- or (i guess) on Windows Waves)

@igorkorsukov
Copy link
Contributor

igorkorsukov commented Jun 13, 2025

@cbjeukendrup I remembered, VST is disabled by default, we need to enable it..

https://github.com/musescore/MuseScore/blob/master/src/framework/cmake/MuseDeclareOptions.cmake#L63

UPD: Although this will be enabled for all developers, now the SDK downloads itself, there is no need to download it and configure paths.. but on the other hand, it is not necessary for developers and will slow down the configuration and assembly of the project a little.
I think it is better to simply enable VST on CI (return options in the build scripts)

@cbjeukendrup cbjeukendrup force-pushed the vst_enable_ci_linux branch from d8f7b6d to a2986a7 Compare June 13, 2025 21:33
@cbjeukendrup cbjeukendrup force-pushed the vst_enable_ci_linux branch from a2986a7 to 418b237 Compare June 13, 2025 21:38
@cbjeukendrup
Copy link
Member Author

Sorry, second attempt.

@diedeno
Copy link
Contributor

diedeno commented Jun 14, 2025

Seems to work fine. (sometimes, a restart of MuseScore is needed for newly added vst's)

@DmitryArefiev
Copy link
Contributor

Tested on LinuxUbuntu24.04.2 LTS. I've tested on Vital VSTi and Dragonfly reverb VSTe (both VST3).
They detected fine in Mixer but both are crashing when trying to open
MuseScore_250615_154416.zip

@cbjeukendrup Should be logged separately?

@cbjeukendrup
Copy link
Member Author

@igorkorsukov what do you think?
It would be difficult for me to work on this, because I don't have Linux currently. So it would be great if you or someone else could take this over from me. But would it be okay to merge this to master already?

@diedeno
Copy link
Contributor

diedeno commented Jun 15, 2025

Like i said: often a restart is needed with a newly scanned plugin. First time it crashes.
On my system (ubuntu 24.04), both these plugins work with this build, as well as dozens others.
Lots of plugins crash (including vital) when they are replaced with something else. But this is also the case in Windows or Mac it seems. e.g. #24529
e.g; U-he plugins always crash when replaced.
Maybe because the apparently very minimal removePluginModule

void VstModulesRepository::removePluginModule(const muse::audio::AudioResourceId& resourceId)
{
ONLY_MAIN_THREAD(threadSecurer);
std::lock_guard lock(m_mutex);
m_modules.erase(resourceId);
}

The thing is far from perfect, no doubt. But lots of plugins never crash (e.g. Decent sampler).
If we wait until everything is perfect, we will never see this enabled.
Enabling this will allow to fix problems.

@igorkorsukov
Copy link
Contributor

what do you think?
It would be difficult for me to work on this, because I don't have Linux currently. So it would be great if you or someone else could take this over from me. But would it be okay to merge this to master already?

I'll take a look and I'll write later

@igorkorsukov
Copy link
Contributor

I found out this:

  • On my build on Qt 6.9 the mixer doesn't work, the combo boxes for selecting a sound or effect don't open.
  • On Qt 6.2 Vital opens without problems, but freezes when closing (I think this is a specific problem for Vital on Linux). Dragonfly opens and closes without problems.

I think this PR can be merged and the problems can be registered separately.

@DmitryArefiev
Copy link
Contributor

On my build on Qt 6.9 the mixer doesn't work, the combo boxes for selecting a sound or effect don't open.

Yes, it's probably similar to #28352. But you can open those boxes with navigation

I think this PR can be merged and the problems can be registered separately.

Yes, I'll log them separately

@DmitryArefiev DmitryArefiev merged commit f62711d into musescore:master Jun 16, 2025
13 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in MuseScore Studio 4.6 Jun 16, 2025
@DmitryArefiev DmitryArefiev mentioned this pull request Jun 16, 2025
4 tasks
@cbjeukendrup cbjeukendrup deleted the vst_enable_ci_linux branch July 25, 2025 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants