Hi Rutherther,
thanks a lot for your explanations.
After removing
exec $HOME/.guix-home/profile/libexec/xdg-desktop-portal -r
/dev/null 2>&1 &
exec $HOME/.guix-home/profile/libexec/xdg-desktop-portal-wlr -r
/dev/null 2>&1 &
and starting sway without dbus-run-session screensharing worked
under jitsi in firefox.
I stopped sway logged out and started it again and it still
worked.
I should have stopped then and be happy but I continued...
Next thing I tried was if I can also remove
$HOME/.guix-home/profile/bin/dbus-update-activation-environment
--systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway >/dev/null
2>&1
or `(service home-pipewire-service-type)`.
Neither worked, so I put both in again and guess what,
screensharing doesn't work.
I logged out, rebooted, repeated the first steps, nothing helps.
I tried to debug the dbus while trying to activate
screensharing. There is an error, when I try to actiate
screensharing but I'm not a dbus expert so I have no idea what
goes wrong.
error time=1768490440.178991 sender=:1.35 -> destination=:1.34
error_name=org.freedesktop.DBus.Error.InvalidArgs
reply_serial=136
string "No such interface
“org.freedesktop.portal.ScreenCast”"
Maybe someone has an idea. Below comes the full output of
dbus-monitor.
Best regards
Alex
------------------------------
$ dbus-monitor
signal time=1768490428.791184 sender=org.freedesktop.DBus ->
destination=:1.43 serial=2 path=/org/freedesktop/DBus;
interface=org.freedesktop.DBus; member=NameAcquired
string ":1.43"
signal time=1768490428.791213 sender=org.freedesktop.DBus ->
destination=:1.43 serial=4 path=/org/freedesktop/DBus;
interface=org.freedesktop.DBus; member=NameLost
string ":1.43"
method call time=1768490440.173957 sender=:1.34 ->
destination=org.freedesktop.DBus serial=132
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=AddMatch
string
"type='signal',sender='org.freedesktop.portal.Desktop',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged',path='/org/freedesktop/portal/desktop',arg0='org.freedesktop.portal.ScreenCast'"
method return time=1768490440.173980 sender=org.freedesktop.DBus
-> destination=:1.34 serial=117 reply_serial=132
method call time=1768490440.173987 sender=:1.34 ->
destination=org.freedesktop.DBus serial=133
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=AddMatch
string
"type='signal',sender='org.freedesktop.portal.Desktop',interface='org.freedesktop.portal.ScreenCast',path='/org/freedesktop/portal/desktop'"
method return time=1768490440.173992 sender=org.freedesktop.DBus
-> destination=:1.34 serial=118 reply_serial=133
method call time=1768490440.173995 sender=:1.34 ->
destination=org.freedesktop.DBus serial=134
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=StartServiceByName
string "org.freedesktop.portal.Desktop"
uint32 0
method return time=1768490440.174002 sender=org.freedesktop.DBus
-> destination=:1.34 serial=119 reply_serial=134
uint32 2
method call time=1768490440.178390 sender=:1.34 ->
destination=org.freedesktop.DBus serial=135
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=GetNameOwner
string "org.freedesktop.portal.Desktop"
method return time=1768490440.178409 sender=org.freedesktop.DBus
-> destination=:1.34 serial=120 reply_serial=135
string ":1.35"
method call time=1768490440.178540 sender=:1.34 ->
destination=:1.35 serial=136 path=/org/freedesktop/portal/desktop;
interface=org.freedesktop.DBus.Properties; member=GetAll
string "org.freedesktop.portal.ScreenCast"
error time=1768490440.178991 sender=:1.35 -> destination=:1.34
error_name=org.freedesktop.DBus.Error.InvalidArgs reply_serial=136
string "No such interface “org.freedesktop.portal.ScreenCast”"
method call time=1768490440.179246 sender=:1.34 ->
destination=:1.35 serial=137 path=/org/freedesktop/portal/desktop;
interface=org.freedesktop.portal.ScreenCast; member=CreateSession
array [
dict entry(
string "session_handle_token"
variant string "webrtc_session215668795"
)
dict entry(
string "handle_token"
variant string "webrtc_544752765"
)
]
error time=1768490440.179464 sender=:1.35 -> destination=:1.34
error_name=org.freedesktop.DBus.Error.UnknownMethod
reply_serial=137
string "No such interface “org.freedesktop.portal.ScreenCast”
on object at path /org/freedesktop/portal/desktop"
method call time=1768490440.181008 sender=:1.34 ->
destination=org.freedesktop.DBus serial=138
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=RemoveMatch
string
"type='signal',sender='org.freedesktop.portal.Desktop',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged',path='/org/freedesktop/portal/desktop',arg0='org.freedesktop.portal.ScreenCast'"
method return time=1768490440.181029 sender=org.freedesktop.DBus
-> destination=:1.34 serial=121 reply_serial=138
method call time=1768490440.181035 sender=:1.34 ->
destination=org.freedesktop.DBus serial=139
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=RemoveMatch
string
"type='signal',sender='org.freedesktop.portal.Desktop',interface='org.freedesktop.portal.ScreenCast',path='/org/freedesktop/portal/desktop'"
method return time=1768490440.181044 sender=org.freedesktop.DBus
-> destination=:1.34 serial=122 reply_serial=139
On Thu, Jan 15 2026, 15:17:12, Rutherther <[email protected]>
wrote:
Hi Alex,
Alexander Asteroth <[email protected]> writes:
Dear all,
I considered all of the hints that were given in this 1 year
old
thread.
My configuration currently is similar to the one presented by
Arnaud:
```
(service
home-pipewire-service-type)
(service
home-dbus-service-type)
```
in my `home-config.scm` plus
```
exec
$HOME/.guix-home/profile/bin/dbus-update-activation-environment
--systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway >/dev/null
2>&1
&
exec $HOME/.guix-home/profile/libexec/xdg-desktop-portal -r
/dev/null 2>&1 &
exec $HOME/.guix-home/profile/libexec/xdg-desktop-portal-wlr -r
/dev/null 2>&1 &
```
Those are d-bus services. They should typically be started by
dbus. To
do that you would install them to your home. And you're good to
go.
Using -r can be good for debugging what implementations are
used.
Moreover even when starting manually, starting -wlr as well is
also
unnecessary as the main desktop portal does start all the
implementations it chooses. Feel free to try with -v verbose log
to see
what implementations are actually being chosen.
in my `$HOME/.config/sway/config`
And sway is started using `dbus-run-session -- sway` from a
login
tty.
This is wrong. By this you've made a nested dbus session that
cannot
communicate with the session that runs pipewire. And that is
probably
the cause of the issue you're seeing.
The home-dbus-service-type already starts a dbus session upon
login and
you should have DBUS_SESSION_BUS_ADDRESS set by it.
If you're already inside of a running d-bus session, just start
`sway`,
not with `dbus-run-session`.
Rutherther