GNU bug report logs - #68512
Qutebrowser 3, no sound from pipewire-only system

Previous Next

Package: guix;

Reported by: chris <chris <at> bumblehead.com>

Date: Tue, 16 Jan 2024 16:45:01 UTC

Severity: normal

Done: chris <chris <at> bumblehead.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 68512 in the body.
You can then email your comments to 68512 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Tue, 16 Jan 2024 16:45:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to chris <chris <at> bumblehead.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Tue, 16 Jan 2024 16:45:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: bug-guix <at> gnu.org
Subject: Qutebrowser 3, no sound from pipewire-only system
Date: Tue, 16 Jan 2024 08:43:23 -0800
Hello,

The latest qutebrowser v3 from this pipewire-only system has no sound. Related messages from the shell process pasted below include CJK characters which debbugs renders as "??", all CJK messages translate as "file or directory not found"
```
ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open slave
[3003:3003:0116/083803.232761:ERROR:alsa_util.cc(204)] PcmOpen: default,そのようなファイルやディレクトリはありません
ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open slave
[3003:3003:0116/083803.233758:ERROR:alsa_util.cc(204)] PcmOpen: plug:default,そのようなファイルやディレクトリはありません
ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open slave
[3003:3003:0116/083808.743619:ERROR:alsa_util.cc(204)] PcmOpen: default,そのようなファイルやディレクトリはありません
ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open slave
[3003:3003:0116/083808.744661:ERROR:alsa_util.cc(204)] PcmOpen: plug:default,そのようなファイルやディレクトリはありません
```

About a year ago, user @iyzsong enabled pipewire support at qutebrowser v2 for me and sound has been good here until today when qutebrowser v3 was installed.  iirc, a flag was enabled in qutebrowser or one of its dependencies.

Related: https://issues.guix.gnu.org/68483, https://issues.guix.gnu.org/67289 




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Tue, 16 Jan 2024 17:32:02 GMT) Full text and rfc822 format available.

Message #8 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: 68512 <at> debbugs.gnu.org
Subject: Qutebrowser 3, no sound from pipewire-only system
Date: Tue, 16 Jan 2024 09:30:13 -0800
Possibly this was the change from Iyzsong which enabled sound here,
```sh
$ git diff fbbbc2088ce933d83f5b0be75308fdcb6b40fa57 d9368572abd3683bed4263eb5e149bb404baee59 
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 76e9e519c7..01327f6ccf 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2708,7 +2708,8 @@ (define-public qtwebengine-5
                   "src/buildtools/config/linux.pri"
                   (lambda (in out)
                     (display (get-string-all in) out)
-                    (display "\ngn_args += use_system_openh264=true\n" out)))
+                    (display "\ngn_args += use_system_openh264=true\n" out)
+                    (display "\ngn_args += link_pulseaudio = true\n" out)))
                  ;; Qtwebengine is not installed into the same prefix as
                  ;; qtbase.  Some qtbase QTLibraryInfo constants will not
                  ;; work.  Replace with the full path to the qtwebengine-5
```

No equivalent is found by me in the qtwebengine definition that supplies qtwebgine 6 




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Tue, 16 Jan 2024 17:42:02 GMT) Full text and rfc822 format available.

Message #11 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: 68512 <at> debbugs.gnu.org
Cc: chris <at> bumblehead.com
Subject: Qutebrowser 3, no sound from pipewire-only system
Date: Tue, 16 Jan 2024 09:39:36 -0800
For convenience, links to the upstream qt.scm file
 * https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/qt.scm#n2933
   qtwebengine-5 args
 * https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/qt.scm#n2998
   qtwebengine (qtwebengine-6)

Thanks for any input




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Tue, 16 Jan 2024 18:14:02 GMT) Full text and rfc822 format available.

Message #14 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: 68512 <at> debbugs.gnu.org
Cc: chris <at> bumblehead.com
Subject: Re: Qutebrowser 3, no sound from pipewire-only system
Date: Tue, 16 Jan 2024 10:12:04 -0800
On  1月16日 火, chris wrote:
> For convenience, links to the upstream qt.scm file
>  * https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/qt.scm#n2933
>    qtwebengine-5 args
>  * https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/qt.scm#n2998
>    qtwebengine (qtwebengine-6)
> 
> Thanks for any input

and a link to the commit with commit message

https://git.savannah.gnu.org/cgit/guix.git/commit/?id=d9368572abd3683bed4263eb5e149bb404baee59




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Tue, 16 Jan 2024 19:52:02 GMT) Full text and rfc822 format available.

Message #17 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: Sergey Trofimov <sarg <at> sarg.org.ru>
To: chris <chris <at> bumblehead.com>
Cc: 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Tue, 16 Jan 2024 20:25:44 +0100
chris <chris <at> bumblehead.com> writes:

> Hello,
>
> The latest qutebrowser v3 from this pipewire-only system has no 
> sound. Related
> messages from the shell process pasted below include CJK 
> characters which
> debbugs renders as "??", all CJK messages translate as "file or 
> directory not
> found"
>

yeah, debbugs doesn't support unicode on the web fully. But when 
checking your messages in emacs debbugs interface, I see the CJK 
characters just fine.

> ```
> ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open 
> slave
> [3003:3003:0116/083803.232761:ERROR:alsa_util.cc(204)] PcmOpen: 
> default,そのようなファイルやディレクトリはありません
> ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open 
> slave
> [3003:3003:0116/083803.233758:ERROR:alsa_util.cc(204)] PcmOpen: 
> plug:default,そのようなファイルやディレクトリはありません
> ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open 
> slave
> [3003:3003:0116/083808.743619:ERROR:alsa_util.cc(204)] PcmOpen: 
> default,そのようなファイルやディレクトリはありません
> ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open 
> slave
> [3003:3003:0116/083808.744661:ERROR:alsa_util.cc(204)] PcmOpen: 
> plug:default,そのようなファイルやディレクトリはありません
> ```
>
> About a year ago, user @iyzsong enabled pipewire support at 
> qutebrowser v2 for
> me and sound has been good here until today when qutebrowser v3 
> was installed.
> iirc, a flag was enabled in qutebrowser or one of its 
> dependencies.
>

How is pipewire configured on your system? The thing is that 
qtwebengine <at> 5 is linked with PulseAudio and ALSA libraries, but @6 
is linked only with alsa. You probably miss pipewire-alsa 
compatibility configuration. Do you use 
home-pipewire-service-type? It sets both pulse/alsa shims and it 
works for me this way.




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Tue, 16 Jan 2024 20:51:02 GMT) Full text and rfc822 format available.

Message #20 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: Sergey Trofimov <sarg <at> sarg.org.ru>
Cc: chris <at> bumblehead.com, 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Tue, 16 Jan 2024 12:49:26 -0800
On  1月16日 火, Sergey Trofimov wrote:

> How is pipewire configured on your system? The thing is that qtwebengine <at> 5
> is linked with PulseAudio and ALSA libraries, but @6 is linked only with
> alsa. You probably miss pipewire-alsa compatibility configuration. Do you
> use home-pipewire-service-type? It sets both pulse/alsa shims and it works
> for me this way.

This system does not use dbus and pipewire was configured about a year ago when there were few options for using pipewire out of the box in any sort of way.

Guix home is configured to write a pipewire and three wireplumber config files, as described at this link https://wiki.alpinelinux.org/wiki/PipeWire#Configuration

.config/pipewire/pipewire.conf
.config/wireplumber/wireplumber.conf
.config/wireplumber/main.lua.d/80-disable-dbus.lua
.config/wireplumber/bluetooth.lua.d/80-disable-logind.lua

With with those files in place, pipewire and wireplumber are started sequentially to get working sound. I use this in my .config/sway/config (possibly this is copy-pasted from unmatched-paren)
```
exec_always killall -wqr "(pipewire|wireplumber)" \
  || sleep 1 && ((pipewire &); sleep 2 && (wireplumber &))
```




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Wed, 17 Jan 2024 07:05:01 GMT) Full text and rfc822 format available.

Message #23 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: Sergey Trofimov <sarg <at> sarg.org.ru>
To: chris <chris <at> bumblehead.com>
Cc: 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Wed, 17 Jan 2024 07:58:20 +0100
chris <chris <at> bumblehead.com> writes:

> On  1月16日 火, Sergey Trofimov wrote:
>
>> How is pipewire configured on your system? The thing is that 
>> qtwebengine <at> 5
>> is linked with PulseAudio and ALSA libraries, but @6 is linked 
>> only with
>> alsa. You probably miss pipewire-alsa compatibility 
>> configuration. Do you
>> use home-pipewire-service-type? It sets both pulse/alsa shims 
>> and it works
>> for me this way.
>
> This system does not use dbus and pipewire was configured about 
> a year ago when
> there were few options for using pipewire out of the box in any 
> sort of way.
>
> Guix home is configured to write a pipewire and three 
> wireplumber config files,
> as described at this link
> https://wiki.alpinelinux.org/wiki/PipeWire#Configuration
>
> .config/pipewire/pipewire.conf
> .config/wireplumber/wireplumber.conf
> .config/wireplumber/main.lua.d/80-disable-dbus.lua
> .config/wireplumber/bluetooth.lua.d/80-disable-logind.lua
>
> With with those files in place, pipewire and wireplumber are 
> started
> sequentially to get working sound. I use this in my 
> .config/sway/config
> (possibly this is copy-pasted from unmatched-paren)
> ```
> exec_always killall -wqr "(pipewire|wireplumber)" \
>   || sleep 1 && ((pipewire &); sleep 2 && (wireplumber &))
> ```

Well, qtwebengine doesn't link with PipeWire anyway, you have to 
use either PulseAudio or ALSA. Here is an example 
~/.config/alsa/asoundrc on my system, created by 
home-pipewire-service-type. If you add such file to your setup - 
qutebrowser should be able to use alsa lib to output audio through 
pipewire.


--8<---------------cut here---------------start------------->8---
</gnu/store/a331f91m9g8898lccyj7fniqsyv406y9-pipewire-1.0.0/share/alsa/alsa.conf.d/50-pipewire.conf>
</gnu/store/a331f91m9g8898lccyj7fniqsyv406y9-pipewire-1.0.0/share/alsa/alsa.conf.d/99-pipewire-default.conf>
pcm_type.pipewire {
 lib 
 "/gnu/store/a331f91m9g8898lccyj7fniqsyv406y9-pipewire-1.0.0/lib/alsa-lib/libasound_module_pcm_pipewire.so"
}
ctl_type.pipewire {
 lib 
 "/gnu/store/a331f91m9g8898lccyj7fniqsyv406y9-pipewire-1.0.0/lib/alsa-lib/libasound_module_ctl_pipewire.so"
}
--8<---------------cut here---------------end--------------->8---




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Wed, 17 Jan 2024 09:51:02 GMT) Full text and rfc822 format available.

Message #26 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: Sergey Trofimov <sarg <at> sarg.org.ru>
Cc: chris <at> bumblehead.com, 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Wed, 17 Jan 2024 01:49:26 -0800
On  1月17日 水, Sergey Trofimov wrote:
> 
> Well, qtwebengine doesn't link with PipeWire anyway, you have to use either
> PulseAudio or ALSA. Here is an example ~/.config/alsa/asoundrc on my system,
> created by home-pipewire-service-type. If you add such file to your setup -
> qutebrowser should be able to use alsa lib to output audio through pipewire.
> 
> 
> --8<---------------cut here---------------start------------->8---
> </gnu/store/a331f91m9g8898lccyj7fniqsyv406y9-pipewire-1.0.0/share/alsa/alsa.conf.d/50-pipewire.conf>
> </gnu/store/a331f91m9g8898lccyj7fniqsyv406y9-pipewire-1.0.0/share/alsa/alsa.conf.d/99-pipewire-default.conf>
> pcm_type.pipewire {
>  lib  "/gnu/store/a331f91m9g8898lccyj7fniqsyv406y9-pipewire-1.0.0/lib/alsa-lib/libasound_module_pcm_pipewire.so"
> }
> ctl_type.pipewire {
>  lib  "/gnu/store/a331f91m9g8898lccyj7fniqsyv406y9-pipewire-1.0.0/lib/alsa-lib/libasound_module_ctl_pipewire.so"
> }
> --8<---------------cut here---------------end--------------->8---

Sergey,

Thanks for this help. Running `$(guix build pipewire)` returned the same path shown in your example, so I tried simply copy-pasting your example to ~/.config/alsa/asoundrc and restarting my system

Sound did not work, but messages in the qutebrowser process output were slightly different. foreign text translates as: "host dropped",
```
[1588:1588:0117/013614.549773:ERROR:alsa_util.cc(204)] PcmOpen: default,ホストが落ちています
[1588:1588:0117/013614.559451:ERROR:alsa_util.cc(204)] PcmOpen: plug:default,ホストが落ちています
[1588:1588:0117/013614.575316:ERROR:alsa_util.cc(204)] PcmOpen: default,ホストが落ちています
[1588:1588:0117/013614.588043:ERROR:alsa_util.cc(204)] PcmOpen: plug:default,ホストが落ちています
```

These messages differ from the earlier messages that basically said "file not found".

Thanks for helping me. I will sleep now and maybe try more things tomorrow,

Chris




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Wed, 17 Jan 2024 09:58:01 GMT) Full text and rfc822 format available.

Message #29 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: Sergey Trofimov <sarg <at> sarg.org.ru>
Cc: 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Wed, 17 Jan 2024 01:56:11 -0800
On  1月17日 水, chris wrote:
> Sound did not work, but messages in the qutebrowser process output were slightly different. foreign text translates as: "host dropped",

The english variant of the same message is probably "Host is down"




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Thu, 25 Jan 2024 09:12:02 GMT) Full text and rfc822 format available.

Message #32 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: Sergey Trofimov <sarg <at> sarg.org.ru>, chris <at> bumblehead.com
Cc: 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Thu, 25 Jan 2024 01:09:47 -0800
Sergey, your configuration file is working and audio is heard from qutebrowser on this system.

Internet searches surfaced commands like these,
 `pw-cli`
 `strace -e connect pw-dump >/dev/null`

Error messages were seen relating to socket files not found,
 `$XDG_RUNTIME_DIR/pipewire-0`
 `$XDG_RUNTIME_DIR/pipewire-0-manager`

Various things attempted, but the socket files missing every time sway started

Finally, tried removing the pipewire-starting parts of the sway config
```
# exec_always killall -wqr "(pipewire|wireplumber)" \
#   || sleep 1 && ((pipewire &); sleep 2 && (wireplumber &))
```

Then separately started pipewire and wireplumber "manually" from the shell. The socket files were created and when qutebrowser sound could be heard.

Thank you Sergey,

Chris




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Thu, 25 Jan 2024 18:52:01 GMT) Full text and rfc822 format available.

Message #35 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: Sergey Trofimov <sarg <at> sarg.org.ru>
To: chris <chris <at> bumblehead.com>
Cc: 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Thu, 25 Jan 2024 19:37:23 +0100
chris <chris <at> bumblehead.com> writes:

> Sergey, your configuration file is working and audio is heard 
> from qutebrowser on this system.
>
> Internet searches surfaced commands like these,
>  `pw-cli`
>  `strace -e connect pw-dump >/dev/null`
>
> Error messages were seen relating to socket files not found,
>  `$XDG_RUNTIME_DIR/pipewire-0`
>  `$XDG_RUNTIME_DIR/pipewire-0-manager`
>
> Various things attempted, but the socket files missing every 
> time sway started
>
> Finally, tried removing the pipewire-starting parts of the sway 
> config
> ```
> # exec_always killall -wqr "(pipewire|wireplumber)" \
> #   || sleep 1 && ((pipewire &); sleep 2 && (wireplumber &))
> ```
>
> Then separately started pipewire and wireplumber "manually" from 
> the shell. The
> socket files were created and when qutebrowser sound could be 
> heard.

I'm glad you sorted it out. Check what are the environment 
variables for your sway process (cat /proc/<pid>/environ | tr -s 
'\0' '\n').
Maybe XDG_RUNTIME_DIR is missing there? Enabling debug logging for 
pipewire might help as well: 
https://docs.pipewire.org/page_daemon.html




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Thu, 25 Jan 2024 23:29:01 GMT) Full text and rfc822 format available.

Message #38 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: Sergey Trofimov <sarg <at> sarg.org.ru>
Cc: 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Thu, 25 Jan 2024 15:26:43 -0800
On  1月25日 木, Sergey Trofimov wrote:
> 
> I'm glad you sorted it out. Check what are the environment variables for
> your sway process (cat /proc/<pid>/environ | tr -s '\0' '\n').
> Maybe XDG_RUNTIME_DIR is missing there? Enabling debug logging for pipewire
> might help as well: https://docs.pipewire.org/page_daemon.html

Sergey,

Yesterday after reporting back here, I found that I was able to change the commands used by sway from this
```
exec_always killall -wqr "(pipewire|wireplumber)" \
  || sleep 1 && ((pipewire &); sleep 2 && (wireplumber &))
```

To this
```
exec sleep 2 && pipewire
exec sleep 4 && wireplumber
```

sound is working each time the machine is started or restarted.

In order to script-generate the asoundrc file, I wish to use pipewire's store directory path inside a scheme function. WOuld you teach me how to do this? eg, `$(guix build pipewire) # /gnu/store/8572wxb5138hanhvn1lbfdm1kicxsd2k-pipewire-1.0.0`

No success trying various things from this thread https://www.mail-archive.com/help-guix <at> gnu.org/msg11871.html

'have also tried the following
```
(use-modules (gnu packages linux)
             (gnu packages build-tools)
             (gnu packages package-management))

(guix build pipewire)
```

running the file fails with this message:
```
Wrong type to apply: #<package guix <at> 1.4.0-15.e0885fc gnu/packages/package-management.scm:179 7fd6dfe0ebb0>
```

Thanks in advance for any recommendations or advice. Thank you for conversing with me and helping me thus far,

Chris





Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Fri, 26 Jan 2024 00:02:02 GMT) Full text and rfc822 format available.

Message #41 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: Sergey Trofimov <sarg <at> sarg.org.ru>
Cc: chris <at> bumblehead.com, 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Thu, 25 Jan 2024 16:00:17 -0800
This attempt from the discussion here https://lists.gnu.org/archive/html/guix-devel/2021-03/msg00441.html
```
(define s (open-connection))

(display (derivation->output-path
          (package-derivation s pipewire #:graft? #f) "out"))
```

It runs but returns the wrong store path,
/gnu/store/kqw8zs84px1vzw98yv9xax4rc0n612qy-pipewire-0.3.77

The $(guix build pipewire) command returns this,
/gnu/store/8572wxb5138hanhvn1lbfdm1kicxsd2k-pipewire-1.0.0

Thanks,

Chris




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Fri, 26 Jan 2024 06:11:02 GMT) Full text and rfc822 format available.

Message #44 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: Sergey Trofimov <sarg <at> sarg.org.ru>
To: chris <chris <at> bumblehead.com>
Cc: 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Fri, 26 Jan 2024 06:56:01 +0100
chris <chris <at> bumblehead.com> writes:

> Sergey,
>
> Yesterday after reporting back here, I found that I was able to 
> change the commands used by sway from this
> ```
> exec_always killall -wqr "(pipewire|wireplumber)" \
>   || sleep 1 && ((pipewire &); sleep 2 && (wireplumber &))
> ```
>
> To this
> ```
> exec sleep 2 && pipewire
> exec sleep 4 && wireplumber
> ```

Ugh, why don't you use home-pipewire-service-type?

>
> In order to script-generate the asoundrc file, I wish to use 
> pipewire's store
> directory path inside a scheme function. WOuld you teach me how 
> to do this? eg,
> `$(guix build pipewire) #
> /gnu/store/8572wxb5138hanhvn1lbfdm1kicxsd2k-pipewire-1.0.0`
>
> No success trying various things from this thread 
> https://www.mail-archive.com/help-guix <at> gnu.org/msg11871.html
>

Packages are file-like, i.e. replaced with their location when 
used in g-exp.
Here is an example how to define the configuration, I've adapted 
it from gnu/home/services/home.scm

--8<---------------cut here---------------start------------->8---
(simple-service 'pipewire-configs 
home-xdg-configuration-files-service-type
 `(("alsa/asoundrc")
   ,(mixed-text-file
       "asoundrc"
       "<" pipewire "/share/alsa/alsa.conf.d/50-pipewire.conf>\n"
       "<" pipewire 
       "/share/alsa/alsa.conf.d/99-pipewire-default.conf>\n"
       "pcm_type.pipewire {\n"
       "  lib \"" pipewire 
       "/lib/alsa-lib/libasound_module_pcm_pipewire.so\"\n"
       "}\n"
       "ctl_type.pipewire {\n"
       "  lib \"" pipewire 
       "/lib/alsa-lib/libasound_module_ctl_pipewire.so\"\n"
       "}\n")))
--8<---------------cut here---------------end--------------->8---




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Fri, 26 Jan 2024 06:13:02 GMT) Full text and rfc822 format available.

Message #47 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: Sergey Trofimov <sarg <at> sarg.org.ru>
To: chris <chris <at> bumblehead.com>
Cc: 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Fri, 26 Jan 2024 07:10:25 +0100
chris <chris <at> bumblehead.com> writes:

> This attempt from the discussion here 
> https://lists.gnu.org/archive/html/guix-devel/2021-03/msg00441.html
>
> ```
> (define s (open-connection))
>
> (display (derivation->output-path
>           (package-derivation s pipewire #:graft? #f) "out"))
> ```
>
> It runs but returns the wrong store path,
> /gnu/store/kqw8zs84px1vzw98yv9xax4rc0n612qy-pipewire-0.3.77
>

> The $(guix build pipewire) command returns this,
> /gnu/store/8572wxb5138hanhvn1lbfdm1kicxsd2k-pipewire-1.0.0
>

0.3.77 is the previous version, from a month ago. Is your checkout 
fresh? Did you `guix pull`?




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Fri, 26 Jan 2024 08:20:02 GMT) Full text and rfc822 format available.

Message #50 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: Sergey Trofimov <sarg <at> sarg.org.ru>, chris <at> bumblehead.com
Cc: 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Fri, 26 Jan 2024 00:18:20 -0800
On  1月26日 金, Sergey Trofimov wrote:
> 
> Ugh, why don't you use home-pipewire-service-type?

`home-pipewire-service-type` has no option to skip dbus and thus far this system does not use dbus, ibus, elogind and systemd etc.


> Packages are file-like, i.e. replaced with their location when used in
> g-exp.

Interesting. Thanks for teaching me this.


> Here is an example how to define the configuration, I've adapted it from
> gnu/home/services/home.scm
> 
> --8<---------------cut here---------------start------------->8---
> (simple-service 'pipewire-configs home-xdg-configuration-files-service-type
>  `(("alsa/asoundrc")
>    ,(mixed-text-file
>        "asoundrc"
>        "<" pipewire "/share/alsa/alsa.conf.d/50-pipewire.conf>\n"
>        "<" pipewire
> "/share/alsa/alsa.conf.d/99-pipewire-default.conf>\n"
>        "pcm_type.pipewire {\n"
>        "  lib \"" pipewire
> "/lib/alsa-lib/libasound_module_pcm_pipewire.so\"\n"
>        "}\n"
>        "ctl_type.pipewire {\n"
>        "  lib \"" pipewire
> "/lib/alsa-lib/libasound_module_ctl_pipewire.so\"\n"
>        "}\n")))
> --8<---------------cut here---------------end--------------->8---

The above does work :) thank you. I'm interested to explore writing a function that wraps g-exp behaviour to return a package as store path string and might do that outside of this ticket.

Thank you for your kind help and correspondence,

Chris




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Fri, 26 Jan 2024 08:21:02 GMT) Full text and rfc822 format available.

Message #53 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: Sergey Trofimov <sarg <at> sarg.org.ru>
Cc: 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Fri, 26 Jan 2024 00:19:35 -0800
On  1月26日 金, Sergey Trofimov wrote:
> 
> 0.3.77 is the previous version, from a month ago. Is your checkout fresh?
> Did you `guix pull`?

yes `guix pull` has been used :|




Reply sent to chris <chris <at> bumblehead.com>:
You have taken responsibility. (Fri, 26 Jan 2024 09:12:01 GMT) Full text and rfc822 format available.

Notification sent to chris <chris <at> bumblehead.com>:
bug acknowledged by developer. (Fri, 26 Jan 2024 09:12:01 GMT) Full text and rfc822 format available.

Message #58 received at 68512-done <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: 68512-done <at> debbugs.gnu.org
Cc: chris <at> bumblehead.com
Subject: done
Date: Fri, 26 Jan 2024 01:10:02 -0800
done




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Fri, 26 Jan 2024 09:46:01 GMT) Full text and rfc822 format available.

Message #61 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: Clément Lassieur <clement <at> lassieur.org>
To: Sergey Trofimov <sarg <at> sarg.org.ru>
Cc: chris <chris <at> bumblehead.com>, 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Fri, 26 Jan 2024 10:45:04 +0100
On Fri, Jan 26 2024, Sergey Trofimov wrote:

> chris <chris <at> bumblehead.com> writes:
>
>> This attempt from the discussion here
>> https://lists.gnu.org/archive/html/guix-devel/2021-03/msg00441.html
>>
>> ```
>> (define s (open-connection))
>>
>> (display (derivation->output-path
>>           (package-derivation s pipewire #:graft? #f) "out"))
>> ```
>>
>> It runs but returns the wrong store path,
>> /gnu/store/kqw8zs84px1vzw98yv9xax4rc0n612qy-pipewire-0.3.77

Maybe you should check your GUILE_LOAD_PATH and
GUILE_LOAD_COMPILED_PATH.  That's where guile finds the guix modules.
They might include folders from an old guix.

>>
>
>> The $(guix build pipewire) command returns this,
>> /gnu/store/8572wxb5138hanhvn1lbfdm1kicxsd2k-pipewire-1.0.0
>>
>
> 0.3.77 is the previous version, from a month ago. Is your checkout fresh? Did
> you `guix pull`?




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Fri, 26 Jan 2024 12:49:01 GMT) Full text and rfc822 format available.

Message #64 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: Sergey Trofimov <sarg <at> sarg.org.ru>
To: chris <chris <at> bumblehead.com>
Cc: 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Fri, 26 Jan 2024 13:46:29 +0100
chris <chris <at> bumblehead.com> writes:

> On  1月26日 金, Sergey Trofimov wrote:
>>
>> Ugh, why don't you use home-pipewire-service-type?
>
> `home-pipewire-service-type` has no option to skip dbus and thus 
> far this system does not use dbus, ibus, elogind and systemd 
> etc.
>

The only dependency on `dbus` is that pipewire shepherd service 
has it in the requirement field.
You can add a no-op shepherd service which would have (provision 
'(dbus)) to satisfy the dependency.




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Fri, 26 Jan 2024 23:34:02 GMT) Full text and rfc822 format available.

Message #67 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: Clément Lassieur <clement <at> lassieur.org>
Cc: Sergey Trofimov <sarg <at> sarg.org.ru>, 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Fri, 26 Jan 2024 15:32:07 -0800
On  1月26日 金, Clément Lassieur wrote:
> 
> Maybe you should check your GUILE_LOAD_PATH and
> GUILE_LOAD_COMPILED_PATH.  That's where guile finds the guix modules.
> They might include folders from an old guix.

I'm not sure how to investigate or verify that but here is the result of echo

$ echo $GUILE_LOAD_PATH 
/home/bumble/.guix-home/profile/share/guile/site/3.0:/run/current-system/profile/share/guile/site/3.0
$ echo $GUILE_LOAD_COMPILED_PATH 
/home/bumble/.guix-home/profile/lib/guile/3.0/site-ccache:/home/bumble/.guix-home/profile/share/guile/site/3.0:/run/current-system/profile/lib/guile/3.0/site-ccache:/run/current-system/profile/share/guile/site/3.0

`.guix-home/profile/share/guile/site/3.0` only has a few symlinks ice-9/  ncurses  shepherd  shepherd.scm

`/run/current-system/profile/share/guile/site/3.0` has many more symlinks




Information forwarded to bug-guix <at> gnu.org:
bug#68512; Package guix. (Fri, 26 Jan 2024 23:38:02 GMT) Full text and rfc822 format available.

Message #70 received at 68512 <at> debbugs.gnu.org (full text, mbox):

From: chris <chris <at> bumblehead.com>
To: Sergey Trofimov <sarg <at> sarg.org.ru>, chris <at> bumblehead.com
Cc: 68512 <at> debbugs.gnu.org
Subject: Re: bug#68512: Qutebrowser 3, no sound from pipewire-only system
Date: Fri, 26 Jan 2024 15:35:54 -0800
On  1月26日 金, Sergey Trofimov wrote:
> 
> The only dependency on `dbus` is that pipewire shepherd service has it in
> the requirement field.
> You can add a no-op shepherd service which would have (provision '(dbus)) to
> satisfy the dependency.

I don't know how to do this. If you share links to documentation or examples I will read those. It would be nice to use the home-pipewire-service rather than manage these files myself.

Thank you and thank you for any further suggestions or advice you may give,

Chris




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 24 Feb 2024 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 113 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.