Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature-Request: pipewire module #933

Closed
ilpianista opened this issue Dec 3, 2020 · 40 comments
Closed

Feature-Request: pipewire module #933

ilpianista opened this issue Dec 3, 2020 · 40 comments
Labels
enhancement New feature or request

Comments

@ilpianista
Copy link
Contributor

May you please add PipeWire support?

@pkulak
Copy link

pkulak commented Dec 3, 2020

Or maybe if anyone has gotten anything to work they could post here? Even with pipewire-pulse installed, the pulse module doesn't work, which surprised me.

@ilpianista
Copy link
Contributor Author

@pkulak may you please give #937 a try?

@krtko1
Copy link

krtko1 commented Dec 19, 2020

Or maybe if anyone has gotten anything to work they could post here? Even with pipewire-pulse installed, the pulse module doesn't work, which surprised me.

I find out it is working if you restart waybar

@cloudlena
Copy link
Contributor

For me, waybar-pulseaudio works fine with pipewire-pulse. But somehow, it doesn't recognize if I connect a bluetooth device (e.g. my Apple Air Pods Pro) and doesn't switch to the respective Icon specified in format-bluetooth in the waybar config.

@BrknRobot
Copy link

If pipewire-pulse isn't exposing the bluetooth info in the same way as native PulseAudio, I think that's PipeWire's bug (or missing feature).

That said, a native PipeWire module is probably still a good idea to get access to things like latency data that could be useful in a status bar, but wouldn't be available in the PulseAudio compatibility layer.

@pkulak
Copy link

pkulak commented Jan 20, 2021

For me, waybar-pulseaudio works fine with pipewire-pulse. But somehow, it doesn't recognize if I connect a bluetooth device (e.g. my Apple Air Pods Pro) and doesn't switch to the respective Icon specified in format-bluetooth in the waybar config.

Hmm... not sure what's different with my setup. For me, the module has been empty since I switched to pipewire-pulse.

https://github.com/pkulak/dotfiles/blob/master/.config/waybar/config

@BrknRobot
Copy link

Make sure your PipeWire version is up to date I guess? PipeWire is under heavy development, and regularly gets new features and fixes. Latest is 0.3.20, and the only issue I'm seeing is Waybar isn't showing Bluetooth info.

@tokyovigilante
Copy link
Contributor

I had to rebuild Waybar-git after installing pipewire-pulseaudio on FC33, but works fine for volume display and control after doing so.

@nikto-b
Copy link
Contributor

nikto-b commented Mar 5, 2021

Anyway we have pipewire-pulse
Is Waybar working with it?

@Narrat
Copy link

Narrat commented Mar 5, 2021

Anyway we have pipewire-pulse
Is Waybar working with it?

works fine for me

@eternal-sorrow
Copy link

Anyway we have pipewire-pulse
Is Waybar working with it?

Doesn't work for me. Always shows 100% volume whatever the real volume is and does not adjust the volume on scroll.

@ilpianista
Copy link
Contributor Author

Anyway we have pipewire-pulse
Is Waybar working with it?

Yes, since 0.3.21 (or even 0.3.20) waybar works without restarting it.

Keep this open if you want to support it natively, otherwise you can close it. Thanks!

@eternal-sorrow
Copy link

Yes, since 0.3.21 (or even 0.3.20) waybar works without restarting it.

0.3.23, doesn't work (and never did)

@CptCaptain
Copy link

CptCaptain commented Mar 18, 2021

I'm on pw 0.3.23 too, works fine for me (and has for weeks).

@eternal-sorrow
Copy link

On waybar 0.9.7 pulseaudio module works normally with pipewire.

@akumar-xyz
Copy link

On pipewire 0.3.28 and waybar 0.9.7,
removing these two lines solved the issue for me

...
            "format-bluetooth": "{volume}% {icon} {format_source}",
            "format-bluetooth-muted": " {icon} {format_source}",

Waybar wouldn't launch otherwise

@eternal-sorrow
Copy link

I found out that pulseaudio module doesn't like the pipewire-pulse daemon restart and stops working after that.

@ghost
Copy link

ghost commented Jul 13, 2021

Anyway we have pipewire-pulse
Is Waybar working with it?

Doesn't work for me. Always shows 100% volume whatever the real volume is and does not adjust the volume on scroll.

default source/sink probably got fucked check to make sure

personally for me, the headphones icon sometimes shows and sometimes doesn't, especially when selecting different codecs. Usually always shows up with aptX [HD] codec, but only sometimes shows with SBC and AAC codecs (selected in pavucontrol). A native pipewire module would be quite nice and would at least be a step in not being forced to use a Pulse server

@eternal-sorrow
Copy link

default source/sink probably got fucked check to make sure

This problem only appeared when restarting pipewire-pulse. And since pipewire became stable enough I don't need to restart it from time to time, this is not a problem.

personally for me, the headphones icon sometimes shows and sometimes doesn't

For me it never showed. Even when I used pulseaudio.

@ghost
Copy link

ghost commented Jul 14, 2021

This problem only appeared when restarting pipewire-pulse

For me, reloading Sway (which also relaunches Waybar) fixed it. When restarting pipewire, it did freeze like that, but unfroze after a reload

@eternal-sorrow
Copy link

eternal-sorrow commented Jul 15, 2021

For me, reloading Sway (which also relaunches Waybar) fixed it.

Of course it did. Why wouldn't it? I start waybar as systemd user unit, so for me restarting waybar is a matter of systemctl --user restart waybar.

@Alexays Alexays added the enhancement New feature or request label Mar 8, 2022
@Alexays Alexays closed this as completed Mar 8, 2022
@eternal-sorrow
Copy link

Why close this issue? Is it fixed? I don't see anything like that in waybar code.

@mizzunet
Copy link

pw-volume is native PipeWire volume level changer. It can be added as Waybar module

@loaden
Copy link

loaden commented May 7, 2022

@Alexays Why close this issue? Is it fixed?

@savely-krasovsky
Copy link

@mizzunet better to use wpctl util. It comes with WirePlumber.

@devgioele
Copy link

I commented here to point out my desire for a native pipewire module (i.e. not using pipewire-pulse)

@imavlr
Copy link

imavlr commented Feb 28, 2023

This issue probably shouldn't have been closed. This hasn't been fixed, I use waybar with a different wm than sway, and there's no easy way to simply reload it, and I don't feel like hacky workarounds are the right solution.

The volume indicator often freezes when I enable EasyEffects, for example, killing and relaunching waybar seems to be the only temporary fix I've found so far.

@Zhou-Yicheng
Copy link

@eternal-sorrow
Copy link

I use PipeWire, but don't use WirePlumber, so this is useless for me.

@Chemchu
Copy link

Chemchu commented May 13, 2024

@eternal-sorrow

I use PipeWire, but don't use WirePlumber, so this is useless for me.

Ngl I actually laughed when I saw all those thumbs down. I don't know if you are joking or not so I'll just tell you that wireplumber is a tool to manage pipewire my dude.

So, yes, wireplumber is in fact not useless for you.

@eternal-sorrow
Copy link

No, wireplumber is uselesss for me. I use pipewire-media-session to manage my pipewire daemon.

@ghost
Copy link

ghost commented May 13, 2024

No, wireplumber is uselesss for me. I use pipewire-media-session to manage my pipewire daemon.

Pipewire-media-session is succeeded by wireplumber. Media session is the example implementation. I would very highly recommend moving to it (it's 2 lines in your config)

@eternal-sorrow
Copy link

eternal-sorrow commented May 14, 2024

I won't install wireplumber because it requires lua-5.4. If it lowered it's requirements to lua 5.1, I'd consider it, but that's unlikely. Or if LuaJIT supported Lua 5.4, which is even less likely. So, I'll stick with media-session until I'm forced to move.

@ghost
Copy link

ghost commented May 14, 2024

I won't install wireplumber because it requires lua-5.4

This reasoning makes zero sense. 5.3 is supported by WirePlumber. Lua 5.3 is halfway to being a legal adult. You've had 9 years to switch... and something tells me @Alexays isn't gonna bend to the will of one random kid who cares so deeply about getting a 1% performance boost on an 18 year old version of a programming language. (sidenote: newer versions of Lua are faster than 5.1 with LuaJIT)

@eternal-sorrow
Copy link

eternal-sorrow commented May 14, 2024

I'm not talking about performance here. I just don't want to have anything to do with Lua versions higher than 5.2. The reasoning was stated multiple times by Mike Pall (the developer of LuaJIT). Here for example. In short - the design is awful. I'm appaled that WirePlumber developers decided to support only Lua 5.3+ while most opensource projects still support 5.1. That's why I don't want to install it.

@ghost
Copy link

ghost commented May 15, 2024

The Lua design being "awful" has nothing to do with WirePlumber. You sacrifice nothing by installing a 9-year-old version of Lua. I'm not entirely sure why this is the hill you choose to die on, especially considering I highly doubt @Alexays or any other maintainers want to support a media session that has explicitly been stated to be experimental and not for general use.

@eternal-sorrow
Copy link

No need to support media-session. I only ask to support pipewire.

@eternal-sorrow
Copy link

You sacrifice nothing by installing

That's a very dangerous notion, no matter what follows this.

@ghost
Copy link

ghost commented May 15, 2024

No need to support media-session. I only ask to support pipewire.

As far as I remember it needs a media session for this. Pipewire relies on the media server architecture.

You sacrifice nothing by installing

That's a very dangerous notion, no matter what follows this.

I disagree. A programming language you never use that takes up a couple megabytes doesn't cost you anything unless you're absolutely fighting for every byte of space.

@eternal-sorrow
Copy link

eternal-sorrow commented May 15, 2024

As far as I remember it needs a media session for this

Pipewire itself needs it, yes. The software that talks to pipewire via it's native protocol - doesn't.

Wireplumber module circumvents the use of pipewire native protocol by talking to the wireplumber itself through DBus.

I disagree

Okay.

doesn't cost you anything

Who said anything about cost?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests