Skip to content

Conversation

@zeerayne
Copy link
Contributor

Pull Request

Description

This feature allow to manage volume using native pipewire utilities, if audioserver is running by PipeWire.

If volume is managed throug Pulse Audio when the actual audio server is pipewire this leads to audio stream is recreated every time any parameter is changed:

  • muted
  • unmuted
  • volume changes

This behaviour leads to some inconvenience:

  • Any equalizer/filter/etc applied to physical sink is discarded when stream is recreated
  • Waybar crashes on eq discard for some reason
  • Virtual sink should be used as workaround

Managing volume natively by pipewire utils solves all mentioned problems.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update (non-breaking change; modified files are limited to the documentations)
  • Technical debt (a code change that does not fix a bug or add a feature but makes something clearer for devs)
  • Other (provide details below)

Checklist

  • I have read the CONTRIBUTING document.
  • My code follows the code style of this project.
  • My commit message follows the commit guidelines.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added a changelog entry.
  • I have added necessary comments/documentation to my code.
  • I have added tests to cover my changes.
  • I have tested my code locally and it works as expected.
  • All new and existing tests passed.

Additional context

Warning

I have tested it only on my PC and my laptop, which are both AMD-only and have pretty similar audio configs. I will appreciate if someone can test this on different configurations

This feature allow to manage volume using native pipewire utilities, if
audioserver is running by PipeWire.

If volume is managed throug Pulse Audio when the actual audio server is
pipewire this leads to audio stream is recreated every time any
parameter is changed:
- muted
- unmuted
- volume changes

This behaviour leads to some inconvenience:
- Any equalizer/filter/etc applied to physical sink is discarded when
stream is recreated
- Waybar crashes on eq discard for some reason
- Virtual sink should be used as workaround

Managing volume natively by pipewire utils solves all mentioned
problems.
@kRHYME7
Copy link
Contributor

kRHYME7 commented Sep 30, 2025

is this a feat or a sort of fix? Assuming HyDE uses full pipewire right.

So this means this is the proper way to manage pipewire volume?

@kRHYME7
Copy link
Contributor

kRHYME7 commented Sep 30, 2025

@zeerayne Looks Good! please add CHANGELOG entry please

@zeerayne
Copy link
Contributor Author

is this a feat or a sort of fix? Assuming HyDE uses full pipewire right.

So this means this is the proper way to manage pipewire volume?

Yeah, some kind of "more proper way to manage volume if pipewire server is running".

  • By default volumecontrol.sh manage volume with Pulse utils, which leads to pipewire streams to be recreated when volume changes.
  • But when stream is recreated it discards all other settings from other sources (i.e. Equalizer)
  • Why it is recreated - looks like some internal logic in pipewire-pulse which can not be controlled externally
  • If volume is managed via pipwire-native utils, streams are not recteated, but amended instead, which is looks like more proper way and did not show any sideeffects during testings

@zeerayne
Copy link
Contributor Author

@zeerayne Looks Good! please add CHANGELOG entry please

Sure, will do it

@kRHYME7
Copy link
Contributor

kRHYME7 commented Sep 30, 2025

Thanks @zeerayne

@kRHYME7 kRHYME7 merged commit 900b573 into HyDE-Project:dev Sep 30, 2025
4 checks passed
kRHYME7 added a commit that referenced this pull request Oct 1, 2025
This is an automated PR to promote changes from `dev` to `rc`.
Please review and test before merging.

See [TESTING.md](./TESTING.md) for complete testing instructions.

According to our release policy, this PR is expected to be merged
during: **Freeze Week (see release policy)**
Testers are encouraged to test the changes before merging.
Please note that this schedule may be adjusted based on the needs of the
project.

---
* chore techdebt: window rules tided up (#1318) (31f02d4) by Khing
* chore techdebt: window rules tided up (d16be41) by Ilya Bogdanov
* fix: simplify window rules for `xdg-desktop-portal-gtk` (#1317)
(b54ee34) by Khing
* chore Merge branch 'dev' into small-fix-for-windowrules (c009b13) by
Khing
* feat: add pipewire support for `volumecontrol.sh` (#1316) (900b573)
by Khing
* fix: simplify window rules for `xdg-desktop-portal-gtk` (e9b13de) by
Ilya Bogdanov
* chore `volumecontrol.sh`: add changelog entry (0cd3484) by Ilya
Bogdanov
* feat: add pipewire support for `volumecontrol.sh` (41b0df3) by Ilya
Bogdanov
* chore Merge branch 'rc' into dev (94e7383) by Khing
* chore Merge branch 'rc' into dev (95f9ca4) by Khing
---

Please review the changes carefully before merging.
@github-actions github-actions bot mentioned this pull request Oct 1, 2025
kRHYME7 added a commit that referenced this pull request Oct 4, 2025
This is an automated PR to promote changes from `rc` to `master`.
Please review and test before merging.

See [TESTING.md](./TESTING.md) for complete testing instructions.

According to our release policy, this PR is expected to be merged on:
**1st or 3rd Friday of the month**
Testers are encouraged to test the changes before merging.
Please note that this schedule may be adjusted based on the needs of the
project.

---
* chore chore: Release - dev → rc (#1313) (df7300b) by Khing
* chore Merge branch 'rc' into dev (c5811d3) by Khing
* chore techdebt: window rules tided up (#1318) (31f02d4) by Khing
* chore techdebt: window rules tided up (d16be41) by Ilya Bogdanov
* fix: simplify window rules for `xdg-desktop-portal-gtk` (#1317)
(b54ee34) by Khing
* chore Merge branch 'dev' into small-fix-for-windowrules (c009b13) by
Khing
* feat: add pipewire support for `volumecontrol.sh` (#1316) (900b573)
by Khing
* fix: simplify window rules for `xdg-desktop-portal-gtk` (e9b13de) by
Ilya Bogdanov
* chore `volumecontrol.sh`: add changelog entry (0cd3484) by Ilya
Bogdanov
* feat: add pipewire support for `volumecontrol.sh` (41b0df3) by Ilya
Bogdanov
* chore Feat: Let Users modify there own config.fish (1d7e686) by
kRHYME7
* chore Merge branch 'rc' into dev (94e7383) by Khing
* chore Closes [Feature Request]: Framework-Specific Font Configuration
Support for High-DPI Displays Fixes #1309 (975982b) by kRHYME7
* chore Merge branch 'rc' into dev (95f9ca4) by Khing
* chore open dev PR (bf19663) by kRHYME7
* chore chore: Release - dev → rc (#1277) (a2ca5e9) by Khing
* chore Merge branch 'rc' into dev (c8218e6) by Khing
* chore Merge branch 'master' into rc (e13c1d6) by Khing
* chore Fix  broken fresh installation (3b17984) by kRHYME7
* chore Merge branch 'dev' of https://github.com/HyDE-Project/HyDE into
dev (b34b7c2) by kRHYME7
* chore Merge branch 'rc' into dev (8be8555) by Khing
* chore open rc PR (df39892) by kRHYME7
* chore Merge branch 'dev' of https://github.com/HyDE-Project/HyDE into
dev (bbb35c3) by kRHYME7
* chore Merge branch 'rc' into dev (f620a7a) by Khing
* fixes (cb3c99c) by kRHYME7
* chore Merge branch 'rc' into dev (ed3698e) by Khing
* feat: use `bat` as improvement of `cat` for fish shell (#822)
(80c4a6a) by Khing
* chore Merge branch 'dev' into replace-cat-with-bat (c021302) by Rubin
Bhandari
* fixups after rebase (7906c0a) by Ilya Bogdanov
* fix: prevent bat output colors when piped (638e997) by Ilya Bogdanov
* fix: move `eza` and `duf` to pkg_extra for fish shell (ea002ac) by
Ilya Bogdanov
* fix: move `bat` from pkg_core to pkg_extra (fec279e) by Ilya Bogdanov
* chore Merge branch 'dev' into replace-cat-with-bat (80eaa9e) by Ilya
Bogdanov
* chore Merge branch 'dev' into replace-cat-with-bat (cfa64b1) by Khing
* fix: remove duplicate fzf option (06d8622) by Ilya Bogdanov
---

Please review the changes carefully before merging.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants