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

Unbreak build on FreeBSD #73

Merged
merged 4 commits into from Jan 9, 2021
Merged

Unbreak build on FreeBSD #73

merged 4 commits into from Jan 9, 2021

Conversation

jbeich
Copy link
Contributor

@jbeich jbeich commented Dec 21, 2020

Depends on #77

@myfreeweb, can you test runtime and identify what's missing? Already in ports for easy testing.

@valpackett
Copy link

No video in Firefox…

2020/12/21 19:08:28 [INFO] - wlroots: output: DP-1
2020/12/21 19:08:28 [INFO] - dbus: start method invoked
2020/12/21 19:08:28 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_326/webrtc765839116
2020/12/21 19:08:28 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_326/webrtc_session170107638
2020/12/21 19:08:28 [INFO] - dbus: app_id: TEST
2020/12/21 19:08:28 [INFO] - dbus: parent_window:
2020/12/21 19:08:28 [DEBUG] - dbus: start: found matching session /org/freedesktop/portal/desktop/session/1_326/webrtc_session170107638
2020/12/21 19:08:28 [DEBUG] - wlroots: reset buffer
2020/12/21 19:08:28 [DEBUG] - wlroots: create shm buffer
2020/12/21 19:08:28 [DEBUG] - pipewire: registered event 0x8063cd9e0
2020/12/21 19:08:28 [INFO] - pipewire: stream state changed to "connecting"
2020/12/21 19:08:28 [INFO] - pipewire: node id is -1

Apparently always "suspended" in pipewire for some reason

[I][000016501.973784][module-portal.c:84 context_check_access()] portal 0x803563d20: portal managed client 0x803615500 added
[I][000016501.973796][module-access.c:150 context_check_access()] client 0x803615500: has already access: 'portal'
[I][000016501.976852][module-access.c:162 context_check_access()] client 0x803615280 has trusted pid 70462
[I][000016501.976856][module-access.c:225 context_check_access()] access 0x8035ab8c0: client 0x803615280 'unrestricted' access granted
[I][000016501.976992][impl-node.c:316 node_update_state()] (firefox-30) creating -> suspended
[I][000016501.977047][context.c:885 pw_context_recalc_graph()] context 0x803599000: busy:0 reason:node activate
[I][000016509.048104][module-protocol-native.c:279 handle_client_error()] protocol-native 0x8035b7240: client 0x803615280 disconnected
[I][000016509.048137][impl-node.c:1666 pw_impl_node_destroy()] (firefox-30) destroy
[I][000016509.048159][context.c:885 pw_context_recalc_graph()] context 0x803599000: busy:0 reason:active node destroy
[I][000017661.108703][module-portal.c:84 context_check_access()] portal 0x803563d20: portal managed client 0x803615280 added
[I][000017661.108714][module-access.c:150 context_check_access()] client 0x803615280: has already access: 'portal'
[I][000017661.111389][module-access.c:162 context_check_access()] client 0x803615780 has trusted pid 70462
[I][000017661.111392][module-access.c:225 context_check_access()] access 0x8035ab8c0: client 0x803615780 'unrestricted' access granted
[I][000017661.111516][impl-node.c:316 node_update_state()] (firefox-33) creating -> suspended
[I][000017661.111571][context.c:885 pw_context_recalc_graph()] context 0x803599000: busy:0 reason:node activate

In xdp-screen-cast.py, gstreamer-pipewire stuff crashes

* thread #1, name = 'python3.9', stop reason = signal SIGSEGV
  * frame #0: 0x0000136af38c817b libpipewire-0.3.so.0`pw_load_spa_handle [inlined] find_plugin(registry=0x0000000000000000, filename="(null)/(null).so") at pipewire.c:0
    frame #1: 0x0000136af38c817b libpipewire-0.3.so.0`pw_load_spa_handle [inlined] open_plugin(registry=0x0000000000000000, path=<unavailable>, lib=0x0000000000000000) at pipewire.c:109
    frame #2: 0x0000136af38c8154 libpipewire-0.3.so.0`pw_load_spa_handle(lib=0x0000000000000000, factory_name="", info=0x0000000000000000, n_support=0, support=0x00007fffffffc000) at pipewire.c:251
    frame #3: 0x0000136af38bc398 libpipewire-0.3.so.0`pw_loop_new(props=0x0000000000000000) at loop.c:80:24
    frame #4: 0x0000136af38db744 libpipewire-0.3.so.0`loop_new(loop=0x0000000000000000, name="", props=0x0000000000000000) at thread-loop.c:117:10
    frame #5: 0x0000136af38db6ef libpipewire-0.3.so.0`pw_thread_loop_new(name=<unavailable>, props=<unavailable>) at thread-loop.c:181:9 [artificial]
    frame #6: 0x0000136af2af6e1f libgstpipewire.so`gst_pipewire_core_get [inlined] make_core(fd=9) at gstpipewirecore.c:75:16
    frame #7: 0x0000136af2af6dfa libgstpipewire.so`gst_pipewire_core_get(fd=9) at gstpipewirecore.c:149
    frame #8: 0x0000136af2b000cc libgstpipewire.so`gst_pipewire_src_change_state [inlined] gst_pipewire_src_open(pwsrc=0x0000136ab53d6ae0) at gstpipewiresrc.c:1074:17
    frame #9: 0x0000136af2b000c0 libgstpipewire.so`gst_pipewire_src_change_state(element=0x0000136ab53d6ae0, transition=GST_STATE_CHANGE_NULL_TO_READY) at gstpipewiresrc.c:1174
    frame #10: 0x0000136aeb2dfa8f libgstreamer-1.0.so.0`gst_element_change_state + 207

@emersion
Copy link
Owner

emersion commented Jan 7, 2021

Maybe we can merge the first two commits separately? These would already be useful for systemd-less Linux distributions.

@jbeich jbeich mentioned this pull request Jan 8, 2021
@jbeich jbeich marked this pull request as ready for review January 8, 2021 18:31
@jbeich
Copy link
Contributor Author

jbeich commented Jan 8, 2021

@emersion, basu support without CI coverage may regress quickly. Alpine doesn't have basu package yet and already covers elogind support. I've removed "draft" state here, so this can be merged even if runtime isn't usable yet.

@emersion
Copy link
Owner

emersion commented Jan 8, 2021

basu support without CI coverage may regress quickly

That's a fair point. We might want to merge this just to have basu CI indeed.

In file included from ../src/screencast/wlr_screencast.c:18:
../include/pipewire_screencast.h:7:9: error: 'ALIGN' macro redefined [-Werror,-Wmacro-redefined]
 #define ALIGN 16
         ^
/usr/include/machine/param.h:79:9: note: previous definition is here
 #define ALIGN(p)                _ALIGN(p)
         ^
Test basu unlike Alpine (elogind) and Arch (systemd).
Copy link
Owner

@emersion emersion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@emersion emersion merged commit cf3e026 into emersion:master Jan 9, 2021
@danshick
Copy link
Collaborator

danshick commented Jan 9, 2021

@emersion from an AUR comment

xdg-desktop-portal-wlr-git/meson.build:31:1: ERROR: Assert failed: sd-
bus-provider must not be set to auto since auto_features != auto

@jbeich
Copy link
Contributor Author

jbeich commented Jan 9, 2021

@danshick, add -Dsd-bus-provider=libsystemd or drop arch-meson which probably injects -Dauto_features=enabled for reproducibility.

@danshick
Copy link
Collaborator

danshick commented Jan 9, 2021

@danshick, add -Dsd-bus-provider=systemd or drop arch-meson which probably injects -Dauto_features=enabled for reproducibility.

It does add auto_features=enabled. That's an easy fix.

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.

None yet

4 participants