Giter VIP home page Giter VIP logo

Comments (20)

tildearrow avatar tildearrow commented on May 20, 2024 1

The wonders of sandboxing...

Assign to @ColinKinloch

from furnace.

tildearrow avatar tildearrow commented on May 20, 2024 1

It is disabled because I plan to add a native JACK backend to Furnace.

from furnace.

ColinKinloch avatar ColinKinloch commented on May 20, 2024 1

I feel it should work, I'll have a think and get back to you.

from furnace.

helpsterTee avatar helpsterTee commented on May 20, 2024 1

Can confirm it working on latest available Flatpak stable 1.14.4 👍

Thanks for the pointers :)

from furnace.

helpsterTee avatar helpsterTee commented on May 20, 2024

Apparently it seems that would need --device=all, which is too much permissions in general (blockdevs, etc):

https://github.com/flathub/net.sourceforge.kmidimon/blob/master/net.sourceforge.kmidimon.json#L13

from furnace.

ColinKinloch avatar ColinKinloch commented on May 20, 2024

It has access to the xdg-run/pipewire-0.
Pipewire provides a jack server implementation.
Though looking through the furnace options I can't find the setting for it.
I'm using SDL/pipewire for my audio output which works pretty well.

from furnace.

tildearrow avatar tildearrow commented on May 20, 2024

Furnace uses ALSA MIDI through RtMidi (yeah, I disabled JACK MIDI).

from furnace.

ColinKinloch avatar ColinKinloch commented on May 20, 2024

Ah, the flatpak builds RtMidi separately with jack support.
Is there a reason it's disabled? It seems to work well.

from furnace.

ColinKinloch avatar ColinKinloch commented on May 20, 2024

Seems that Debian KDE doesn't use pipewire by default yet.
I guess I should add --device=all ☚ī¸

from furnace.

helpsterTee avatar helpsterTee commented on May 20, 2024

My recommendation would be to add this as a part of the installation documentation, so the users can override that behaviour themselves.

That way, the Flatpak is still contained in a sane way and if anybody needs to override this, until the Jack implementation is ready, they can do that, with all the possible repercussions.

sudo flatpak override --device=all org.tildearrow.furnace for systemwide
flatpak override --user --device=all org.tildearrow.furnace for user installations.

from furnace.

ColinKinloch avatar ColinKinloch commented on May 20, 2024

The flatpak currently supports jack via RTMidi and has permissions for specifically the pipewire implementation of jackd.

The issue is how do you display these suggestions to the user:

Out of interest what distro do you use?

from furnace.

helpsterTee avatar helpsterTee commented on May 20, 2024

Maybe I don't understand, but do you mean MIDI should work currently with jack routing? Because it doesn't on my side:

image

image

image

This is on a Ubuntu system.

from furnace.

ColinKinloch avatar ColinKinloch commented on May 20, 2024

Which version of Ubuntu?
Ubuntu switched to pipewire on version 22.10.
Could you give me the output of pgrep -a pulse and pgrep -a jack

from furnace.

helpsterTee avatar helpsterTee commented on May 20, 2024

Yeah, this is focal, but has added pipewire support and jack via pipewire works for other applications (Bitwig for example). So that's not the problem:

pgrep -a pulse:

1234 /usr/bin/pipewire-pulse
4567 /usr/lib/x86_64-linux-gnu/xfce4/panel/wrapper-2.0 /usr/lib/x86_64-linux-gnu/xfce4/panel/plugins/libpulseaudio-plugin.so

pgrep -a jack is empty

from furnace.

ColinKinloch avatar ColinKinloch commented on May 20, 2024

Mine is using ALSA for MIDI as it turns out (via) pipewire 🤷.
Maybe try dpkg -S '*libspa-alsa*' to figure out what package provides it.
or just update to a newer distro.

from furnace.

helpsterTee avatar helpsterTee commented on May 20, 2024

Yeah, I can't figure it out in this setup. But it will work as intended, if I give it --device all access:

grafik

Will check on another system, as soon as the next LTS drops. Thanks so far for the help :)

from furnace.

tildearrow avatar tildearrow commented on May 20, 2024

It appears that Furnace does not allow you to choose which RtMidi::Api to use, so RtMidi falls back to trying all available APIs...

...starting with ALSA.

from furnace.

tildearrow avatar tildearrow commented on May 20, 2024

Are you sure Flatpak does not offer a way to only provide access to /dev/snd?

from furnace.

ColinKinloch avatar ColinKinloch commented on May 20, 2024

There's a discussion here: flatpak/xdg-desktop-portal#1142

I checked just now and if I run furnace with --nosocket=pulseaudio I retain jack / pipewire audio out and loose the ability to enumerate MIDI devices. It seems that access to ALSA midi (/dev/snd/seq) is controlled by that socket.

Here's the line in flatpak that gives access to /dev/snd: https://github.com/flatpak/flatpak/blob/2cb17b4eb82ecedaa98b5b7f954cf3e52fa95682/common/flatpak-run-pulseaudio.c#L331-L337

introduced in: flatpak/flatpak@4d1899b

Looks like flatpak 0.6.1 was 8 years ago https://github.com/flatpak/flatpak/tree/0.6.1

The version of flatpak included in 20.04 LTS is too old by 4 years. I guess the question is what does LTS mean? It's a promise made by Ubuntu so let them provide the support 😁.

from furnace.

helpsterTee avatar helpsterTee commented on May 20, 2024

Looks like flatpak 0.6.1 was 8 years ago

I've updated the issue description to better reflect what v0.6.1 refers to.

from furnace.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤ī¸ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.