-
-
Notifications
You must be signed in to change notification settings - Fork 795
Description
Hi. Its a followup of this NixOS/nixpkgs#435350
Long story short, im struggling to get camera to work on my Surface 2 Go. It should be supported according to this: https://github.com/linux-surface/linux-surface/wiki/Camera-Support
But regardless of the kernel used ( i have tried 6.12, 6.15 from this project, 6.16 from the repo and i believe 6.16 from the repo with surface patches), and the way i configure pipewire/wireplumber in hardware-configuration.nix, im getting segfaults of wireplumber, which are causing pipewire to crash and i am ending up with a tablet without a camera nor audio.
Aug 24 07:47:30 michal-surface-go wireplumber[1543]: default: Failed to get percentage from UPower: org.freedesktop.DBus.Error.NameHasNoOwner
Aug 24 07:47:30 michal-surface-go wireplumber[1543]: [0:00:38.035069507] [1543] INFO IPAManager ipa_manager.cpp:137 libcamera is not installed. Adding '/nix/store/src/ipa' to the IPA search path
Aug 24 07:47:30 michal-surface-go wireplumber[1543]: [0:00:38.038433654] [1543] INFO Camera camera_manager.cpp:326 libcamera v0.5.1
Aug 24 07:47:30 michal-surface-go wireplumber[1543]: [0:00:38.183999473] [1664] INFO IPAProxy ipa_proxy.cpp:226 libcamera is not installed. Loading proxy workers from '/nix/store/src/libcamera/proxy/worker'
Aug 24 07:47:30 michal-surface-go wireplumber[1543]: [0:00:38.184087490] [1664] ERROR IPAProxy ipu3_ipa_proxy.cpp:52 Failed to get proxy worker path
Aug 24 07:47:30 michal-surface-go wireplumber[1543]: [0:00:38.184104802] [1664] ERROR IPAManager ipa_manager.h:47 Failed to load proxy
Aug 24 07:47:30 michal-surface-go kernel: wireplumber[1664]: segfault at 0 ip 00007f5e5f27d3ab sp 00007f5e5d5fbec0 error 4 in libcamera.so.0.5.1[a93ab,7f5e5f24c000+10b000] likely on CPU 0 (core 0, socket 0)
Aug 24 07:47:30 michal-surface-go kernel: Code: a0 48 8d 75 98 c7 45 98 00 00 00 00 4c 89 e7 8d 50 01 89 45 9c 89 93 f0 01 00 00 e8 7f 02 fd ff 48 8b bb 50 01 00 00 4c 89 e6 <48> 8b 07 ff 50 18 4c 8b 6d c8 4c 8b 65 c0 4d 39 e5 74 17 66 90 4c
Aug 24 07:47:30 michal-surface-go systemd-coredump[1666]: Process 1543 (wireplumber) of user 175 terminated abnormally with signal 11/SEGV, processing...
Aug 24 07:47:30 michal-surface-go systemd-coredump[1667]: Process 1543 (wireplumber) of user 175 dumped core.
Module /nix/store/yv426q9404f0vvbw0388wr56m30si4fx-wireplumber-0.5.10/bin/wireplumber without build-id.
Module libatomic.so.1 without build-id.
Module liblttng-ust-common.so.1 without build-id.
Module liblttng-ust-tracepoint.so.1 without build-id.
Module libnuma.so.1 without build-id.
Module libyaml-0.so.2 without build-id.
Module liblttng-ust.so.1 without build-id.
Module libgcc_s.so.1 without build-id.
Module libstdc++.so.6 without build-id.
Module libcamera-base.so.0.5 without build-id.
Module libcamera.so.0.5 without build-id.
Module libspa-libcamera.so without build-id.
Module libspa-v4l2.so without build-id.
Module libpipewire-module-spa-node-factory.so without build-id.
Module libspa-codec-bluez5-g722.so without build-id.
Module libspa-codec-bluez5-lc3.so without build-id.
Module libspa-codec-bluez5-opus-g.so without build-id.
Module libopus.so.0 without build-id.
Module libspa-codec-bluez5-opus.so without build-id.
Module libspa-codec-bluez5-sbc.so without build-id.
Module libldacBT_abr.so.2 without build-id.
Module libldacBT_enc.so.2 without build-id.
Module libspa-codec-bluez5-ldac.so without build-id.
Module libspa-codec-bluez5-faststream.so without build-id.
Module libfreeaptx.so.0 without build-id.
Module libspa-codec-bluez5-aptx.so without build-id.
Module libfdk-aac.so.2 without build-id.
Module libspa-codec-bluez5-aac.so without build-id.
Module liblc3.so.1 without build-id.
Module libusb-1.0.so.0 without build-id.
Module libbluetooth.so.3 without build-id.
Module libsbc.so.1 without build-id.
Module libspa-bluez5.so without build-id.
Module libwireplumber-module-logind.so without build-id.
Module libpipewire-module-adapter.so without build-id.
Module libpipewire-module-client-node.so without build-id.
Module libwireplumber-module-file-monitor-api.so without build-id.
Module libasound.so.2 without build-id.
Module libspa-alsa.so without build-id.
Module libwireplumber-module-reserve-device.so without build-id.
Module libpipewire-module-client-device.so without build-id.
Module libwireplumber-module-standard-event-source.so without build-id.
Module libwireplumber-module-si-node.so without build-id.
Module libwireplumber-module-si-audio-adapter.so without build-id.
Module libwireplumber-module-mixer-api.so without build-id.
Module libwireplumber-module-si-standard-link.so without build-id.
Module libwireplumber-module-default-nodes-api.so without build-id.
Module libwireplumber-module-portal-permissionstore.so without build-id.
Module libwireplumber-module-dbus-connection.so without build-id.
Module libncursesw.so.6 without build-id.
Module libreadline.so.8 without build-id.
Module liblua.so.5.4 without build-id.
Module libwireplumber-module-lua-scripting.so without build-id.
Module libwireplumber-module-log-settings.so without build-id.
Module libwireplumber-module-settings.so without build-id.
Module libpipewire-module-metadata.so without build-id.
Module libpipewire-module-protocol-native.so without build-id.
Module libpipewire-module-rt.so without build-id.
Module libcap.so.2 without build-id.
Module libspa-dbus.so without build-id.
Module libspa-support.so without build-id.
Module libselinux.so.1 without build-id.
Module libz.so.1 without build-id.
Module libpcre2-8.so.0 without build-id.
Module libffi.so.8 without build-id.
Module libpipewire-0.3.so.0 without build-id.
Module libwireplumber-0.5.so.0 without build-id.
Stack trace of thread 1664:
#0 0x00007f5e5f27d3ab _ZN9libcamera3ipa4ipu312IPAProxyIPU3D2Ev (libcamera.so.0.5 + 0xa93ab)
#1 0x00007f5e5f27d451 _ZN9libcamera3ipa4ipu312IPAProxyIPU3D0Ev (libcamera.so.0.5 + 0xa9451)
#2 0x00007f5e5f317eaf _ZN9libcamera14IPU3CameraData7loadIPAEv (libcamera.so.0.5 + 0x143eaf)
#3 0x00007f5e5f319773 _ZN9libcamera19PipelineHandlerIPU315registerCamerasEv (libcamera.so.0.5 + 0x145773)
#4 0x00007f5e5f31aa2c _ZN9libcamera19PipelineHandlerIPU35matchEPNS_16DeviceEnumeratorE (libcamera.so.0.5 + 0x146a2c)
#5 0x00007f5e5f293ff2 _ZN9libcamera13CameraManager7Private20pipelineFactoryMatchEPKNS_26PipelineHandlerFactoryBaseE (libcamera.so.0.5 + 0xbfff2)
#6 0x00007f5e5f2949b2 _ZN9libcamera13CameraManager7Private22createPipelineHandlersEv (libcamera.so.0.5 + 0xc09b2)
#7 0x00007f5e5f294a86 _ZN9libcamera13CameraManager7Private4initEv (libcamera.so.0.5 + 0xc0a86)
#8 0x00007f5e5f294b7e _ZN9libcamera13CameraManager7Private3runEv (libcamera.so.0.5 + 0xc0b7e)
#9 0x00007f5e5eeed064 execute_native_thread_routine (libstdc++.so.6 + 0xed064)
#10 0x00007f5e77e9af08 start_thread (libc.so.6 + 0x9af08)
#11 0x00007f5e77f230ac __clone3 (libc.so.6 + 0x1230ac)
Stack trace of thread 1543:
#0 0x00007f5e77e97249 __futex_abstimed_wait_common (libc.so.6 + 0x97249)
#1 0x00007f5e77e99f89 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x99f89)
#2 0x00007f5e5f294223 _ZN9libcamera13CameraManager7Private5startEv (libcamera.so.0.5 + 0xc0223)
#3 0x00007f5e5f294338 _ZN9libcamera13CameraManager5startEv (libcamera.so.0.5 + 0xc0338)
#4 0x00007f5e5f3b3036 _Z25libcamera_manager_acquireRi (libspa-libcamera.so + 0x8036)
#5 0x00007f5e5f3b438e _ZL24impl_device_add_listenerPvP8spa_hookPK17spa_device_eventsS_ (libspa-libcamera.so + 0x938e)
#6 0x00007f5e78419ee5 wp_spa_device_activate_execute_step (libwireplumber-0.5.so.0 + 0x2bee5)
#7 0x00007f5e7844eedc wp_transition_advance (libwireplumber-0.5.so.0 + 0x60edc)
#8 0x00007f5e7842b57c wp_object_advance_transitions (libwireplumber-0.5.so.0 + 0x3d57c)
#9 0x00007f5e7828a249 g_idle_dispatch (libglib-2.0.so.0 + 0x60249)
#10 0x00007f5e7828cf6d g_main_context_dispatch_unlocked (libglib-2.0.so.0 + 0x62f6d)
#11 0x00007f5e7828f2b8 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0x652b8)
#12 0x00007f5e7828fda7 g_main_loop_run (libglib-2.0.so.0 + 0x65da7)
#13 0x000000000040270a main (/nix/store/yv426q9404f0vvbw0388wr56m30si4fx-wireplumber-0.5.10/bin/wireplumber + 0x270a)
#14 0x00007f5e77e2a4d8 __libc_start_call_main (libc.so.6 + 0x2a4d8)
#15 0x00007f5e77e2a59b __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2a59b)
#16 0x0000000000402905 _start (/nix/store/yv426q9404f0vvbw0388wr56m30si4fx-wireplumber-0.5.10/bin/wireplumber + 0x2905)
Stack trace of thread 1581:
#0 0x00007f5e77f2357a epoll_wait (libc.so.6 + 0x12357a)
#1 0x00007f5e77d190a2 impl_pollfd_wait (libspa-support.so + 0x1e0a2)
#2 0x00007f5e77d02f5f loop_iterate (libspa-support.so + 0x7f5f)
#3 0x00007f5e781f1827 do_loop (libpipewire-0.3.so.0 + 0xbe827)
#4 0x00007f5e77e9af08 start_thread (libc.so.6 + 0x9af08)
#5 0x00007f5e77f230ac __clone3 (libc.so.6 + 0x1230ac)
Stack trace of thread 1618:
#0 0x00007f5e77f2357a epoll_wait (libc.so.6 + 0x12357a)
#1 0x00007f5e77d190a2 impl_pollfd_wait (libspa-support.so + 0x1e0a2)
#2 0x00007f5e77d02f5f loop_iterate (libspa-support.so + 0x7f5f)
#3 0x00007f5e78173d46 do_loop (libpipewire-0.3.so.0 + 0x40d46)
#4 0x00007f5e77e9af08 start_thread (libc.so.6 + 0x9af08)
#5 0x00007f5e77f230ac __clone3 (libc.so.6 + 0x1230ac)
Stack trace of thread 1603:
#0 0x00007f5e77f14d90 ppoll (libc.so.6 + 0x114d90)
#1 0x00007f5e7828f3a8 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0x653a8)
#2 0x00007f5e7828fda7 g_main_loop_run (libglib-2.0.so.0 + 0x65da7)
#3 0x00007f5e77b3f64e gdbus_shared_thread_func (libgio-2.0.so.0 + 0x13f64e)
#4 0x00007f5e782c2d2d g_thread_proxy (libglib-2.0.so.0 + 0x98d2d)
#5 0x00007f5e77e9af08 start_thread (libc.so.6 + 0x9af08)
#6 0x00007f5e77f230ac __clone3 (libc.so.6 + 0x1230ac)
Stack trace of thread 1662:
#0 0x00007f5e77f20c3d syscall (libc.so.6 + 0x120c3d)
#1 0x00007f5e5f0e23ae ust_listener_thread (liblttng-ust.so.1 + 0x153ae)
#2 0x00007f5e77e9af08 start_thread (libc.so.6 + 0x9af08)
#3 0x00007f5e77f230ac __clone3 (libc.so.6 + 0x1230ac)
Stack trace of thread 1583:
#0 0x00007f5e77f20c3d syscall (libc.so.6 + 0x120c3d)
#1 0x00007f5e782c25b9 g_cond_wait (libglib-2.0.so.0 + 0x985b9)
#2 0x00007f5e78253b7b g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x29b7b)
#3 0x00007f5e782c301f g_thread_pool_spawn_thread (libglib-2.0.so.0 + 0x9901f)
#4 0x00007f5e782c2d2d g_thread_proxy (libglib-2.0.so.0 + 0x98d2d)
#5 0x00007f5e77e9af08 start_thread (libc.so.6 + 0x9af08)
#6 0x00007f5e77f230ac __clone3 (libc.so.6 + 0x1230ac)
Stack trace of thread 1602:
#0 0x00007f5e77f20c3d syscall (libc.so.6 + 0x120c3d)
#1 0x00007f5e782c2aa0 g_cond_wait_until (libglib-2.0.so.0 + 0x98aa0)
#2 0x00007f5e78253b3b g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x29b3b)
#3 0x00007f5e782c33ca g_thread_pool_thread_proxy (libglib-2.0.so.0 + 0x993ca)
#4 0x00007f5e782c2d2d g_thread_proxy (libglib-2.0.so.0 + 0x98d2d)
#5 0x00007f5e77e9af08 start_thread (libc.so.6 + 0x9af08)
#6 0x00007f5e77f230ac __clone3 (libc.so.6 + 0x1230ac)
Stack trace of thread 1656:
#0 0x00007f5e77f20c3d syscall (libc.so.6 + 0x120c3d)
#1 0x00007f5e782c2aa0 g_cond_wait_until (libglib-2.0.so.0 + 0x98aa0)
#2 0x00007f5e78253b3b g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x29b3b)
#3 0x00007f5e782c33ca g_thread_pool_thread_proxy (libglib-2.0.so.0 + 0x993ca)
#4 0x00007f5e782c2d2d g_thread_proxy (libglib-2.0.so.0 + 0x98d2d)
#5 0x00007f5e77e9af08 start_thread (libc.so.6 + 0x9af08)
#6 0x00007f5e77f230ac __clone3 (libc.so.6 + 0x1230ac)
Stack trace of thread 1663:
#0 0x00007f5e77f20c3d syscall (libc.so.6 + 0x120c3d)
#1 0x00007f5e5f0e23ae ust_listener_thread (liblttng-ust.so.1 + 0x153ae)
#2 0x00007f5e77e9af08 start_thread (libc.so.6 + 0x9af08)
#3 0x00007f5e77f230ac __clone3 (libc.so.6 + 0x1230ac)
Stack trace of thread 1582:
#0 0x00007f5e77f14d90 ppoll (libc.so.6 + 0x114d90)
#1 0x00007f5e7828f3a8 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0x653a8)
#2 0x00007f5e7828fb4f g_main_context_iteration (libglib-2.0.so.0 + 0x65b4f)
#3 0x00007f5e7828fba1 glib_worker_main (libglib-2.0.so.0 + 0x65ba1)
#4 0x00007f5e782c2d2d g_thread_proxy (libglib-2.0.so.0 + 0x98d2d)
#5 0x00007f5e77e9af08 start_thread (libc.so.6 + 0x9af08)
#6 0x00007f5e77f230ac __clone3 (libc.so.6 + 0x1230ac)
ELF object binary architecture: AMD x86-64
Here is my nix config with a history of things i have tried: https://github.com/Dinth/nixos-config/blob/main/hosts/michal-surface-go/hardware-configuration.nix
Currently im back on the default kernel, because it seems to work better with my surface, but happy to get back to 6.15 if thats gonna fix the camera and audio
What am i doing wrong?