Page MenuHomeSolus

Initial inclusion of jack2, fixes T3167
AbandonedPublic

Authored by Jacalz on Oct 3 2019, 5:46 PM.

Details

Reviewers
None
Group Reviewers
Triage Team
Maniphest Tasks
T3167: JACK2
Summary

This is the first inclusion of jack-audio-connection-kit version two. We have a fully working JACK2 with 64/32bit mixed multilib support. It just works.™

Some improvements over Jack1 noticeable in the repository :

  • JACK support within LMMS works much better (No error messages on start).
  • The dbus-api makes it possible for use with Cadence.

Depends on D7121 and D7978.
Fixes T3167

Test Plan
  • Tested midi input to and sound output from qsynth, lmms, Ardour, qtractor, geonkick, helm, calf, qjackctl, carla and cadence to name a few.
  • Verified that we have working sound output from ardour and lmms (lmms seems to actually work way better with jack2 than jack1 from initial testing).
  • Checked version using jackd -v.

Diff Detail

Branch
master
Lint
No Linters Available
Unit
No Unit Test Coverage

Event Timeline

Jacalz created this revision.Oct 3 2019, 5:46 PM
Jacalz requested review of this revision.Oct 3 2019, 5:46 PM

Changes requested in the old revision have been applied and I'm adding you all to subscribers here. I am sorry that Arcanist did this to us but it should be all fine now :)

Jacalz added a comment.Oct 5 2019, 9:06 AM

It looks like eopkg doesn't handle multiple drop in replacement packages very well. Would be good if we could wire in some small support in to it to tell that jack-audio-connection-kit and jack2 are drop in replacements for each other. Right now if you have jack2 installed it will want to replace it with jack-audio-connection-kit when updating a package linked to jack1. Jack1 and jack2 both have their weaknesses and strengths so deprecating jack1 should NOT be an option at the moment.

Any thoughts @DataDrake and @JoshStrobl ?

Jacalz updated this revision to Diff 17608.Oct 7 2019, 7:27 PM
  • Update to 1.9.13 (the fancy new meta-data api had to be turned off to build it)
Jacalz updated this revision to Diff 17684.EditedOct 12 2019, 12:34 PM
  • Drop 32-bit mixed mode for now. (db5-32bit-devel seems to be broken ish?)
  • Enable metadata support properly now.
Jacalz updated this revision to Diff 17685.Oct 12 2019, 12:35 PM
  • Remove 32bit leftovers
Jacalz updated this revision to Diff 17686.Oct 12 2019, 12:36 PM
  • Remove the last 32bit leftover. (I promise this is the last one...)
Jacalz updated this revision to Diff 17715.Oct 13 2019, 10:13 AM
  • Update homepage to https (website update happened yesterday).
Jacalz updated this revision to Diff 17731.Oct 13 2019, 10:35 AM
  • Got 32bit build working with metadata support (I think so at least).
Jacalz updated this revision to Diff 17779.Oct 16 2019, 5:34 PM
  • Add patch from falkTX to get the mixed 64/32bit mode to work in 1.9.13
Jacalz updated this revision to Diff 17839.Oct 17 2019, 6:30 PM
  • Switch from replaces to using conflicts
JoshStrobl retitled this revision from Initial inclution of jack2, fixes T3167 to Initial inclusion of jack2, fixes T3167.Oct 17 2019, 6:31 PM
Jacalz updated this revision to Diff 18432.Nov 20 2019, 4:31 PM
  • Update jack2 to version 1.9.14
Jacalz updated this revision to Diff 19079.Jan 3 2020, 4:51 PM

Add in the rundep for a2jmidid (required for jack1 feature parity until jack2 has support for it)

Jacalz updated this revision to Diff 19083.Jan 3 2020, 7:43 PM

Fix the rundep on a2jmidid

Jacalz updated this revision to Diff 19085.Jan 3 2020, 7:58 PM

Fix the rundep for real this time (I hate that arcanist is stupid)

Jacalz edited the summary of this revision. (Show Details)Jan 3 2020, 8:09 PM
Jacalz added a comment.Feb 2 2020, 4:14 PM

Perhaps it’s time to finally review this now? It’s been a long time coming but I think it will be worth it :)

@Jacalz not this week, but yeah we can consider pushing forward. Does everything in the repo currently using jack1 support jack2? If you can find out or know already, that will help.

Jacalz added a comment.EditedFeb 2 2020, 5:16 PM

@Jacalz not this week, but yeah we can consider pushing forward. Does everything in the repo currently using jack1 support jack2? If you can find out or know already, that will help.

The libraries are supposed to be the same which means that it doesn't matter what one you are using (in theory and pretty much always the case except for some stuff that needs jack2). I have been using jack2 for a while and have not encountered anything that complains about jack2.
The only issue right now is that eopkg is (forgive me) too stupid to understand that the libraries are interchangeable and wants to install jack1 every time we update a package built with jack1. The same issue will just be in reverse if we start building against jack2 and it does not matter which one you build against as a shared library, it makes zero difference, just switch the at run-time and you are good to go.

jawkins added a subscriber: jawkins.Feb 2 2020, 8:05 PM

I am thinking about having jack2 replace jack1 instead and just drop jack1 in favor of jack2. Right now it seems that eopkg isn't up to the task of keeping two drop in replacements in the repository. Is this something you would agree with? @DataDrake

If yes, would you be in favor of opening a discussion on the forum and asking the users about their opinions on the matter?

Jacalz edited the test plan for this revision. (Show Details)Apr 8 2020, 6:48 PM
Jacalz edited the summary of this revision. (Show Details)
Jacalz edited the summary of this revision. (Show Details)

@Jacalz like I mentioned on the task, I think it makes more sense to just update the existing jack package to jack2 rather than having to do the whole deprecation dance.

Jacalz abandoned this revision.Apr 13 2020, 7:32 AM

Will get a new differential up for updating jack-audio-connection-kit instead