m1k1o / neko

A self hosted virtual browser that runs in docker and uses WebRTC.
https://neko.m1k1o.net/
Apache License 2.0
5.98k stars 449 forks source link

macOS Support through Docker #172

Open thebitstick opened 2 years ago

thebitstick commented 2 years ago

The WebUI is able to run through Docker, but I run into issues with WebRTC and I believe Pulseaudio as well. Neither the chromium, arm-chromium, firefox nor arm-firefox seem to work.

OS: macOS 12.3.1 arm64 Docker: 20.10.14

Log when attempting to login via WebUI:

2022-05-03 08:30:53,465 INFO Included extra file "/etc/neko/supervisord/chromium.conf" during parsing
2022-05-03 08:30:53,466 INFO Set uid to user 0 succeeded
2022-05-03 08:30:53,471 INFO supervisord started with pid 1
2022-05-03 08:30:54,492 INFO spawned: 'rendergroup-init' with pid 8
2022-05-03 08:30:54,502 INFO spawned: 'dbus' with pid 10
2022-05-03 08:30:54,508 INFO spawned: 'openbox' with pid 12
2022-05-03 08:30:54,513 INFO spawned: 'pulseaudio' with pid 14
2022-05-03 08:30:54,517 INFO spawned: 'x-server' with pid 16
2022-05-03 08:30:54,524 INFO spawned: 'chromium' with pid 18
2022-05-03 08:30:54,529 INFO spawned: 'neko' with pid 21
2022-05-03 08:30:54,613 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted

2022-05-03 08:30:54,615 INFO success: rendergroup-init entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2022-05-03 08:30:54,616 DEBG fd 6 closed, stopped monitoring <POutputDispatcher at 274906344608 for <Subprocess at 274906344560 with name rendergroup-init in state RUNNING> (stdout)>
2022-05-03 08:30:54,617 INFO exited: rendergroup-init (exit status 0; expected)
2022-05-03 08:30:54,619 DEBG received SIGCHLD indicating a child quit
2022-05-03 08:30:54,623 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us.
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
I: [pulseaudio] core-util.c: Failed to acquire high-priority scheduling: Input/output error
I: [pulseaudio] main.c: This is PulseAudio 14.2
D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2 -ffile-prefix-map=/build/pulseaudio-eJtUKc/pulseaudio-14.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -W -Wextra -pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -fno-common -fdiagnostics-show-option -fdiagnostics-color=auto
D: [pulseaudio] main.c: Running on host: Linux x86_64 5.10.104-linuxkit #1 SMP PREEMPT Thu Mar 17 17:05:54 UTC 2022

2022-05-03 08:30:54,623 DEBG 'x-server' stdout output:
_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root

2022-05-03 08:30:54,624 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] main.c: Found 8 CPUs.
I: [pulseaudio] main.c: Page size is 4096 bytes
D: [pulseaudio] main.c: Compiled with Valgrind support: no
D: [pulseaudio] main.c: Running in valgrind mode: no
D: [pulseaudio] main.c: Running in VM: yes
D: [pulseaudio] main.c: Running from build tree: no
D: [pulseaudio] main.c: Optimized build: yes
D: [pulseaudio] main.c: FASTPATH defined, only fast path asserts disabled.
I: [pulseaudio] main.c: Machine ID is 52f45eeb425c7a345cdcd144626f5956.

2022-05-03 08:30:54,626 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] main.c: Using runtime directory /home/neko/.config/pulse/52f45eeb425c7a345cdcd144626f5956-runtime.

2022-05-03 08:30:54,631 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] main.c: Using state directory /home/neko/.config/pulse.
I: [pulseaudio] main.c: Using modules directory /usr/lib/pulse-14.2/modules.
I: [pulseaudio] main.c: Running in system mode: no

2022-05-03 08:30:54,632 DEBG 'x-server' stdout output:

X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
Build Operating System: linux Debian
Current Operating System: Linux 9e9aeb8449d8 5.10.104-linuxkit #1 SMP PREEMPT Thu Mar 17 17:05:54 UTC 2022 x86_64
Kernel command line: page_poison=1 vsyscall=emulate panic=1 nospec_store_bypass_disable noibrs noibpb no_stf_barrier mitigations=off linuxkit.unified_cgroup_hierarchy=1 console=hvc0  irqaffinity=0 vpnkit.connect=tcp+bootstrap+client://192.168.65.2:56867/9e08a34283d859c22d2fb95401b92f4e399b9b78fc515c674b6ef29fb881da69 vpnkit.disable=osxfs-data com.docker.VMID=b49bcfc8-63d1-426d-afd4-fe04d395a2d7
Build Date: 16 December 2021  05:08:23PM
xorg-server 2:1.20.11-1+deb11u1 (https://www.debian.org/support)
Current version of pixman: 0.40.0
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

2022-05-03 08:30:54,635 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] main.c: System supports high resolution timers

2022-05-03 08:30:54,637 DEBG 'x-server' stdout output:
(==) Log file: "/home/neko/.local/share/xorg/Xorg.99.0.log", Time: Tue May  3 08:30:54 2022
(++) Using config file: "/etc/neko/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"

2022-05-03 08:30:54,642 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] memblock.c: Using shared memfd memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472

2022-05-03 08:30:54,645 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] cpu-x86.c: CPU flags: CMOV MMX SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 MMXEXT 3DNOW 3DNOWEXT
I: [pulseaudio] svolume_mmx.c: Initialising MMX optimized volume functions.
I: [pulseaudio] remap_mmx.c: Initialising MMX optimized remappers.
I: [pulseaudio] svolume_sse.c: Initialising SSE2 optimized volume functions.
I: [pulseaudio] remap_sse.c: Initialising SSE2 optimized remappers.
I: [pulseaudio] sconv_sse.c: Initialising SSE2 optimized conversions.

2022-05-03 08:30:54,647 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] svolume_orc.c: Initialising ORC optimized volume functions.

2022-05-03 08:30:54,659 DEBG 'pulseaudio' stdout output:
W: [pulseaudio] authkey.c: Failed to open cookie file '/home/neko/.config/pulse/cookie': No such file or directory
W: [pulseaudio] authkey.c: Failed to load authentication key '/home/neko/.config/pulse/cookie': No such file or directory

2022-05-03 08:30:54,661 DEBG 'dbus' stdout output:
36

2022-05-03 08:30:54,661 DEBG 'pulseaudio' stdout output:
W: [pulseaudio] authkey.c: Failed to open cookie file '/home/neko/.pulse-cookie': No such file or directory
W: [pulseaudio] authkey.c: Failed to load authentication key '/home/neko/.pulse-cookie': No such file or directory
D: [pulseaudio] authkey.c: Got 0 bytes from cookie file '/home/neko/.config/pulse/cookie', expected 256

2022-05-03 08:30:54,663 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] module.c: Loaded "module-native-protocol-unix" (index: #0; argument: "socket=/tmp/pulseaudio.socket auth-anonymous=1").

2022-05-03 08:30:54,665 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] module-always-sink.c: Autoloading null-sink as no other sinks detected.

2022-05-03 08:30:54,671 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] sink.c: Created sink 0 "auto_null" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] sink.c:     device.description = "Dummy Output"
I: [pulseaudio] sink.c:     device.class = "abstract"
I: [pulseaudio] sink.c:     device.icon_name = "audio-card"

2022-05-03 08:30:54,672 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] source.c: Created source 0 "auto_null.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] source.c:     device.description = "Monitor of Dummy Output"
I: [pulseaudio] source.c:     device.class = "monitor"
I: [pulseaudio] source.c:     device.icon_name = "audio-input-microphone"

2022-05-03 08:30:54,678 DEBG 'pulseaudio' stdout output:
D: [null-sink] module-null-sink.c: Thread starting up

2022-05-03 08:30:54,722 DEBG 'pulseaudio' stdout output:
I: [null-sink] util.c: Failed to acquire real-time scheduling: No such file or directory

2022-05-03 08:30:54,723 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] sink.c: auto_null: state: INIT -> IDLE

2022-05-03 08:30:54,725 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source.c: auto_null.monitor: state: INIT -> IDLE

2022-05-03 08:30:54,726 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] core.c: default_source: (unset) -> auto_null.monitor

2022-05-03 08:30:54,726 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] core.c: default_sink: (unset) -> auto_null
I: [pulseaudio] module.c: Loaded "module-null-sink" (index: #2; argument: "sink_name=auto_null sink_properties='device.description="Dummy Output"'").
I: [pulseaudio] module.c: Loaded "module-always-sink" (index: #1; argument: "").

2022-05-03 08:30:55,367 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] dbus-util.c: Successfully connected to D-Bus session bus 64b54efb4b1e90c45b137e4a6270e83f as :1.0

2022-05-03 08:30:55,370 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] main.c: Got org.PulseAudio1!

2022-05-03 08:30:55,371 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] main.c: Got org.pulseaudio.Server!
I: [pulseaudio] main.c: Daemon startup complete.

2022-05-03 08:30:55,417 DEBG 'chromium' stdout output:
Warning: Missing charsets in String to FontSet conversion

2022-05-03 08:30:55,592 DEBG 'neko' stdout output:
error: XDG_RUNTIME_DIR not set in the environment.

2022-05-03 08:30:55,592 INFO success: dbus entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-03 08:30:55,593 INFO success: openbox entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-03 08:30:55,593 INFO success: pulseaudio entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-03 08:30:55,593 INFO success: x-server entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-03 08:30:55,593 INFO success: chromium entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-03 08:30:55,593 INFO success: neko entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-03 08:30:56,467 DEBG 'neko' stdout output:

    _   __     __
   / | / /__  / /______   \    /\
  /  |/ / _ \/ //_/ __ \   )  ( ')
 / /|  /  __/ ,< / /_/ /  (  /  )
/_/ |_/\___/_/|_|\____/    \(__)|
 nurdism/m1k1o server v2.5.0 dev

2022-05-03 08:30:56,480 DEBG 'neko' stdout output:
8:30AM WRN preflight complete without config file config= debug=false logging=false

2022-05-03 08:30:56,482 DEBG 'neko' stdout output:
8:30AM INF starting neko server service=neko

2022-05-03 08:30:56,563 DEBG 'neko' stdout output:
8:30AM INF webrtc starting ephemeral_port_range=52000-52100 ice_lite=true ice_servers="[{URLs:[stun:stun.l.google.com:19302] Username: Credential:<nil> CredentialType:password}]" module=webrtc nat_ips=localhost

2022-05-03 08:30:56,566 DEBG 'neko' stdout output:
8:30AM WRN http listening on :8080 module=http

2022-05-03 08:30:56,566 DEBG 'neko' stdout output:
8:30AM INF neko ready service=neko

2022-05-03 08:31:06,474 DEBG 'neko' stdout output:
8:31AM INF Pipelines starting... audio_codec=Opus audio_device=auto_null.monitor audio_pipeline_src="pulsesrc device=auto_null.monitor ! audio/x-raw,channels=2 ! audioconvert ! opusenc inband-fec=true bitrate=128000 ! appsink name=appsink" module=remote screen_resolution=1280x720@60 video_codec=VP8 video_display=:99.0 video_pipeline_src="ximagesrc display-name=:99.0 show-pointer=true use-damage=false ! video/x-raw,framerate=25/1 ! videoconvert ! queue !  vp8enc target-bitrate=1996800 cpu-used=4 end-usage=cbr threads=4 deadline=1 undershoot=95 buffer-size=12288 buffer-initial-size=6144 buffer-optimal-size=9216 keyframe-max-dist=25 min-quantizer=4 max-quantizer=20  ! appsink name=appsink"

2022-05-03 08:31:06,522 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] client.c: Created 0 "Native client (UNIX socket client)"

2022-05-03 08:31:06,523 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] protocol-native.c: Client authenticated anonymously.

2022-05-03 08:31:06,529 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] protocol-native.c: Protocol version: remote 34, local 34
D: [pulseaudio] protocol-native.c: SHM possible: yes

2022-05-03 08:31:06,530 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] protocol-native.c: Negotiated SHM: yes
D: [pulseaudio] protocol-native.c: Memfd possible: yes
D: [pulseaudio] protocol-native.c: Negotiated SHM type: shared memfd

2022-05-03 08:31:06,532 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] memblock.c: Using shared memfd memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472

2022-05-03 08:31:06,533 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] srbchannel.c: SHM block is 65472 bytes, ringbuffer capacity is 2 * 32712 bytes

2022-05-03 08:31:06,533 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] protocol-native.c: Enabling srbchannel...

2022-05-03 08:31:06,541 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] protocol-native.c: Client enabled srbchannel.

2022-05-03 08:31:06,566 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source-output.c: Negotiated format: pcm, format.sample_format = "\"s16le\""  format.rate = "48000"  format.channels = "2"  format.channel_map = "\"front-left,front-right\""

2022-05-03 08:31:06,567 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] source-output.c: Trying to change sample spec

2022-05-03 08:31:06,568 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source.c: Suspending source auto_null.monitor due to changing format, desired format = s16le rate = 48000
D: [pulseaudio] sink.c: Suspending sink auto_null due to changing format, desired format = s16le rate = 48000

2022-05-03 08:31:06,568 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] sink.c: auto_null: suspend_cause: (none) -> INTERNAL

2022-05-03 08:31:06,569 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] sink.c: auto_null: state: IDLE -> SUSPENDED
D: [pulseaudio] source.c: auto_null.monitor: suspend_cause: (none) -> INTERNAL

2022-05-03 08:31:06,569 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source.c: auto_null.monitor: state: IDLE -> SUSPENDED
I: [pulseaudio] sink.c: Reconfigured successfully

2022-05-03 08:31:06,569 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] sink.c: auto_null: suspend_cause: INTERNAL -> (none)
D: [pulseaudio] sink.c: auto_null: state: SUSPENDED -> IDLE
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.

2022-05-03 08:31:06,570 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source.c: auto_null.monitor: suspend_cause: INTERNAL -> (none)
D: [pulseaudio] source.c: auto_null.monitor: state: SUSPENDED -> IDLE
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.
I: [pulseaudio] source.c: Reconfigured successfully

2022-05-03 08:31:06,570 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] memblockq.c: memblockq requested: maxlength=33554432, tlength=0, base=4, prebuf=0, minreq=1 maxrewind=0

2022-05-03 08:31:06,571 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] memblockq.c: memblockq sanitized: maxlength=33554432, tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0

2022-05-03 08:31:06,571 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] source-output.c: Created output 0 "Record Stream" on auto_null.monitor with sample spec s16le 2ch 48000Hz and channel map front-left,front-right
I: [pulseaudio] source-output.c:     media.name = "Record Stream"
I: [pulseaudio] source-output.c:     application.name = "neko"
I: [pulseaudio] source-output.c:     native-protocol.peer = "UNIX socket client"
I: [pulseaudio] source-output.c:     native-protocol.version = "34"
I: [pulseaudio] source-output.c:     application.process.id = "21"
I: [pulseaudio] source-output.c:     application.process.user = "neko"
I: [pulseaudio] source-output.c:     application.process.host = "9e9aeb8449d8"
I: [pulseaudio] source-output.c:     application.process.binary = "neko"
I: [pulseaudio] source-output.c:     application.language = "C"
I: [pulseaudio] source-output.c:     window.x11.display = ":99.0"
I: [pulseaudio] source-output.c:     application.process.machine_id = "52f45eeb425c7a345cdcd144626f5956"

2022-05-03 08:31:06,571 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] memblockq.c: memblockq requested: maxlength=38400, tlength=0, base=4, prebuf=1, minreq=0 maxrewind=0

2022-05-03 08:31:06,572 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] memblockq.c: memblockq sanitized: maxlength=38400, tlength=38400, base=4, prebuf=4, minreq=4 maxrewind=0
I: [pulseaudio] protocol-native.c: Final latency 20.00 ms = 10.00 ms + 10.00 ms

2022-05-03 08:31:06,590 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source.c: auto_null.monitor: state: IDLE -> RUNNING

2022-05-03 08:31:06,630 DEBG 'neko' stdout output:
8:31AM WRN Failed to initialize mDNS 10e5e85a-2679-4501-bb90-5a82e717456e.local: mDNS: failed to join multicast group module=webrtc subsystem=ice

2022-05-03 08:31:06,667 DEBG 'neko' stdout output:
8:31AM WRN session created with and error error="invalid 1:1 NAT IP mapping" id=bXcp5RaROEhSxAmQSWeq0rXDsApqY8Sj module=websocket

2022-05-03 08:31:21,416 DEBG 'neko' stdout output:
8:31AM WRN read message error error="websocket: close 1005 (no status)" module=websocket

2022-05-03 08:31:21,422 DEBG 'neko' stdout output:
8:31AM INF peer connection state changed: closed module=webrtc subsystem=pc

2022-05-03 08:31:21,423 DEBG 'neko' stdout output:
8:31AM INF Pipelines shutting down... module=remote

2022-05-03 08:31:21,424 DEBG 'neko' stdout output:
8:31AM INF peer closed id=bXcp5RaROEhSxAmQSWeq0rXDsApqY8Sj module=webrtc

2022-05-03 08:31:21,461 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source.c: auto_null.monitor: state: RUNNING -> IDLE

2022-05-03 08:31:21,464 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum.

2022-05-03 08:31:21,465 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] source-output.c: Freeing output 0 "Record Stream"

2022-05-03 08:31:21,468 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] client.c: Freed 0 "neko"

2022-05-03 08:31:21,469 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] protocol-native.c: Connection died.

2022-05-03 08:31:21,470 DEBG 'neko' stdout output:
8:31AM INF destroying session module=session session_id=bXcp5RaROEhSxAmQSWeq0rXDsApqY8Sj

2022-05-03 08:31:40,605 WARN received SIGTERM indicating exit request
2022-05-03 08:31:40,609 DEBG killing neko (pid 21) with signal SIGINT
2022-05-03 08:31:40,613 INFO waiting for dbus, openbox, pulseaudio, x-server, chromium, neko to die
2022-05-03 08:31:40,619 DEBG 'neko' stdout output:
8:31AM WRN received interrupt, attempting graceful shutdown service=neko

2022-05-03 08:31:40,622 DEBG 'neko' stdout output:
8:31AM INF broadcast manager shutdown service=neko
8:31AM INF remote shutting down module=remote
8:31AM INF remote manager shutdown service=neko
8:31AM INF webrtc shutting down module=webrtc
8:31AM INF shutdown module=remote

2022-05-03 08:31:40,625 DEBG 'neko' stdout output:
8:31AM INF webrtc manager shutdown service=neko

2022-05-03 08:31:40,631 DEBG 'neko' stdout output:
8:31AM INF shutdown module=websocket

2022-05-03 08:31:40,633 DEBG 'neko' stdout output:
8:31AM INF websocket handler shutdown service=neko

2022-05-03 08:31:40,644 DEBG 'neko' stdout output:
8:31AM INF server shutdown service=neko

2022-05-03 08:31:40,647 DEBG 'neko' stdout output:
8:31AM INF shutdown complete service=neko

2022-05-03 08:31:40,700 DEBG fd 24 closed, stopped monitoring <POutputDispatcher at 274906774352 for <Subprocess at 274906774304 with name neko in state STOPPING> (stdout)>
2022-05-03 08:31:40,701 INFO stopped: neko (exit status 0)
2022-05-03 08:31:40,701 DEBG received SIGCHLD indicating a child quit
2022-05-03 08:31:40,701 DEBG killing chromium (pid 18) with signal SIGINT
2022-05-03 08:31:43,731 INFO waiting for dbus, openbox, pulseaudio, x-server, chromium to die
2022-05-03 08:31:46,755 INFO waiting for dbus, openbox, pulseaudio, x-server, chromium to die
2022-05-03 08:31:49,779 INFO waiting for dbus, openbox, pulseaudio, x-server, chromium to die
2022-05-03 08:39:09,317 INFO Included extra file "/etc/neko/supervisord/chromium.conf" during parsing
2022-05-03 08:39:09,318 INFO Set uid to user 0 succeeded
2022-05-03 08:39:09,323 INFO supervisord started with pid 1
2022-05-03 08:39:10,342 INFO spawned: 'rendergroup-init' with pid 8
2022-05-03 08:39:10,350 INFO spawned: 'dbus' with pid 10
2022-05-03 08:39:10,358 INFO spawned: 'openbox' with pid 12
2022-05-03 08:39:10,365 INFO spawned: 'pulseaudio' with pid 14
2022-05-03 08:39:10,370 INFO spawned: 'x-server' with pid 16
2022-05-03 08:39:10,379 INFO spawned: 'chromium' with pid 18
2022-05-03 08:39:10,385 INFO spawned: 'neko' with pid 20
2022-05-03 08:39:10,468 DEBG fd 6 closed, stopped monitoring <POutputDispatcher at 274906344608 for <Subprocess at 274906344560 with name rendergroup-init in state STARTING> (stdout)>
2022-05-03 08:39:10,468 INFO success: rendergroup-init entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2022-05-03 08:39:10,469 INFO exited: rendergroup-init (exit status 0; expected)
2022-05-03 08:39:10,469 DEBG received SIGCHLD indicating a child quit
2022-05-03 08:39:10,497 DEBG 'x-server' stdout output:
(EE)
Fatal server error:
(EE) Server is already active for display 99
    If this server is no longer running, remove /tmp/.X99-lock
    and start again.

2022-05-03 08:39:10,498 DEBG 'x-server' stdout output:
(EE)
(EE)
Please consult the The X.Org Foundation support
     at http://wiki.x.org
 for help.
(EE)

2022-05-03 08:39:10,507 DEBG fd 18 closed, stopped monitoring <POutputDispatcher at 274906775456 for <Subprocess at 274906773920 with name x-server in state STARTING> (stdout)>
2022-05-03 08:39:10,507 INFO exited: x-server (exit status 1; not expected)
2022-05-03 08:39:10,508 DEBG received SIGCHLD indicating a child quit
2022-05-03 08:39:10,516 DEBG 'dbus' stdout output:
36

2022-05-03 08:39:10,523 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted

2022-05-03 08:39:10,524 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us.

2022-05-03 08:39:10,539 DEBG 'chromium' stdout output:
Error: Can't open display: :99.0

2022-05-03 08:39:10,544 DEBG fd 21 closed, stopped monitoring <POutputDispatcher at 274906774160 for <Subprocess at 274906774112 with name chromium in state STARTING> (stdout)>
2022-05-03 08:39:10,545 INFO exited: chromium (exit status 1; not expected)
2022-05-03 08:39:10,545 DEBG received SIGCHLD indicating a child quit
2022-05-03 08:39:10,555 DEBG 'openbox' stdout output:
Openbox-Message: Failed to open the display from the DISPLAY environment variable.

2022-05-03 08:39:10,562 DEBG fd 12 closed, stopped monitoring <POutputDispatcher at 274906774928 for <Subprocess at 274906773536 with name openbox in state STARTING> (stdout)>
2022-05-03 08:39:10,562 INFO exited: openbox (exit status 1; not expected)
2022-05-03 08:39:10,562 DEBG received SIGCHLD indicating a child quit
2022-05-03 08:39:10,572 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] core-util.c: Failed to acquire high-priority scheduling: No such file or directory
I: [pulseaudio] main.c: This is PulseAudio 14.2
D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2 -ffile-prefix-map=/build/pulseaudio-eJtUKc/pulseaudio-14.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -W -Wextra -pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -fno-common -fdiagnostics-show-option -fdiagnostics-color=auto

2022-05-03 08:39:10,573 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] main.c: Running on host: Linux x86_64 5.10.104-linuxkit #1 SMP PREEMPT Thu Mar 17 17:05:54 UTC 2022
D: [pulseaudio] main.c: Found 8 CPUs.
I: [pulseaudio] main.c: Page size is 4096 bytes
D: [pulseaudio] main.c: Compiled with Valgrind support: no
D: [pulseaudio] main.c: Running in valgrind mode: no
D: [pulseaudio] main.c: Running in VM: yes
D: [pulseaudio] main.c: Running from build tree: no
D: [pulseaudio] main.c: Optimized build: yes
D: [pulseaudio] main.c: FASTPATH defined, only fast path asserts disabled.

2022-05-03 08:39:10,574 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] main.c: Machine ID is 52f45eeb425c7a345cdcd144626f5956.

2022-05-03 08:39:10,574 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] main.c: Using runtime directory /home/neko/.config/pulse/52f45eeb425c7a345cdcd144626f5956-runtime.

2022-05-03 08:39:10,574 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] main.c: Using state directory /home/neko/.config/pulse.
I: [pulseaudio] main.c: Using modules directory /usr/lib/pulse-14.2/modules.
I: [pulseaudio] main.c: Running in system mode: no

2022-05-03 08:39:10,575 DEBG 'pulseaudio' stdout output:
E: [pulseaudio] pid.c: Daemon already running.

2022-05-03 08:39:10,576 DEBG 'pulseaudio' stdout output:
E: [pulseaudio] main.c: pa_pid_file_create() failed.

2022-05-03 08:39:10,580 DEBG fd 15 closed, stopped monitoring <POutputDispatcher at 274906775168 for <Subprocess at 274906773728 with name pulseaudio in state STARTING> (stdout)>
2022-05-03 08:39:10,581 INFO exited: pulseaudio (exit status 1; not expected)
2022-05-03 08:39:10,581 DEBG received SIGCHLD indicating a child quit
2022-05-03 08:39:10,697 DEBG 'neko' stdout output:
[FATAL-ERROR] XKeysPop() in xorg.c: Could not open main display!
2022-05-03 08:39:10,697 DEBG 'neko' stdout output:
fatal error: unexpected signal during runtime execution

2022-05-03 08:39:10,699 DEBG 'neko' stdout output:
[signal SIGSEGV: segmentation violation code=0x1
2022-05-03 08:39:10,700 DEBG 'neko' stdout output:
 addr=0x968 pc=0x4000b5b2f0]

runtime stack:

2022-05-03 08:39:10,700 DEBG 'neko' stdout output:
runtime.throw(
2022-05-03 08:39:10,700 DEBG 'neko' stdout output:
{0xb3b3cb, 0xb6b8944ccd109500})
    /usr/local/go/src/runtime/panic.go:1198 +0x71
runtime.sigpanic()
    /usr/local/go/src/runtime/signal_unix.go:719 +0x396

goroutine 1 [syscall
2022-05-03 08:39:10,701 DEBG 'neko' stdout output:
, locked to thread]:
runtime.cgocall(0x9e3380, 0xc000193a90)
    /usr/local/go/src/runtime/cgocall.go:156 +0x5c fp=0xc000193a68 sp=0xc000193a30 pc=0x407fbc

2022-05-03 08:39:10,701 DEBG 'neko' stdout output:
m1k1o/neko/internal/xorg._Cfunc_XGetScreenConfigurations()
    _cgo_gotypes.go:149 +0x45 fp=0xc000193a90 sp=0xc000193a68 pc=0x9b8685
m1k1o/neko/internal/xorg.init.0()
    /src/internal/xorg/xorg.go:27 +0x17 fp=0xc000193aa0 sp=0xc000193a90 pc=0x9b8c37
runtime.doInit(0xff4f80)
    /usr/local/go/src/runtime/proc.go:6498 +0x123 fp=0xc000193bd8 sp=0xc000193aa0 pc=0x4498e3
runtime.doInit(0xff5cc0)
    /usr/local/go/src/runtime/proc.go:6475 +0x71 fp=0xc000193d10 sp=0xc000193bd8 pc=0x449831
runtime.doInit(0xff70c0)
    /usr/local/go/src/runtime/proc.go:6475 +0x71 fp=0xc000193e48 sp=0xc000193d10 pc=0x449831
runtime.doInit(0xff2880)
    /usr/local/go/src/runtime/proc.go:6475 +0x71 fp=0xc000193f80 sp=0xc000193e48 pc=0x449831
runtime.main()
    /usr/local/go/src/runtime/proc.go:238 +0x1e6 fp=0xc000193fe0 sp=0xc000193f80 pc=0x43c5a6
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc000193fe8 sp=0xc000193fe0 pc=0x46d301

2022-05-03 08:39:10,704 DEBG fd 24 closed, stopped monitoring <POutputDispatcher at 274906774352 for <Subprocess at 274906774304 with name neko in state STARTING> (stdout)>
2022-05-03 08:39:10,704 INFO exited: neko (exit status 2; not expected)
2022-05-03 08:39:10,704 DEBG received SIGCHLD indicating a child quit
2022-05-03 08:39:11,707 INFO success: dbus entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-03 08:39:11,718 INFO spawned: 'openbox' with pid 50
2022-05-03 08:39:11,728 INFO spawned: 'pulseaudio' with pid 52
2022-05-03 08:39:11,735 INFO spawned: 'x-server' with pid 54
2022-05-03 08:39:11,743 INFO spawned: 'chromium' with pid 56
2022-05-03 08:39:11,747 INFO spawned: 'neko' with pid 58
2022-05-03 08:39:11,810 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us.

2022-05-03 08:39:11,823 DEBG 'x-server' stdout output:
_XSERVTrans
2022-05-03 08:39:11,825 DEBG 'x-server' stdout output:
mkdir: Owner of /tmp/.X11-unix should be set to root

2022-05-03 08:39:11,839 DEBG 'x-server' stdout output:

X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
Build Operating System: linux Debian
Current Operating System: Linux 9e9aeb8449d8 5.10.104-linuxkit #1 SMP PREEMPT Thu Mar 17 17:05:54 UTC 2022 x86_64
Kernel command line: page_poison=1 vsyscall=emulate panic=1 nospec_store_bypass_disable noibrs noibpb no_stf_barrier mitigations=off linuxkit.unified_cgroup_hierarchy=1 console=hvc0  irqaffinity=0 vpnkit.connect=tcp+bootstrap+client://192.168.65.2:64153/339912e5dd783cb277209f860def76920667b8713eb70f487008f09d516d155d vpnkit.disable=osxfs-data com.docker.VMID=9a18ef7b-f1c6-42ff-a4d5-ac8b98a9fa9a

2022-05-03 08:39:11,840 DEBG 'x-server' stdout output:
Build Date: 16 December 2021  05:08:23PM
xorg-server 2:1.20.11-1+deb11u1 (https://www.debian.org/support)
Current version of pixman: 0.40.0
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

2022-05-03 08:39:11,842 DEBG 'x-server' stdout output:
(==) Log file: "/home/neko/.local/share/xorg/Xorg.99.0.log", Time: Tue May  3 08:39:11 2022

2022-05-03 08:39:11,845 DEBG 'x-server' stdout output:
(++) Using config file: "/etc/neko/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"

2022-05-03 08:39:11,865 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] core-util.c: Failed to acquire high-priority scheduling: No such file or directory
I: [pulseaudio] main.c: This is PulseAudio 14.2
D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2 -ffile-prefix-map=/build/pulseaudio-eJtUKc/pulseaudio-14.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -W -Wextra -pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -fno-common -fdiagnostics-show-option -fdiagnostics-color=auto

2022-05-03 08:39:11,866 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] main.c: Running on host: Linux x86_64 5.10.104-linuxkit #1 SMP PREEMPT Thu Mar 17 17:05:54 UTC 2022
D: [pulseaudio] main.c: Found 8 CPUs.
I: [pulseaudio] main.c: Page size is 4096 bytes
D: [pulseaudio] main.c: Compiled with Valgrind support: no
D: [pulseaudio] main.c: Running in valgrind mode: no
D: [pulseaudio] main.c: Running in VM: yes
D: [pulseaudio] main.c: Running from build tree: no
D: [pulseaudio] main.c: Optimized build: yes
D: [pulseaudio] main.c: FASTPATH defined, only fast path asserts disabled.
I: [pulseaudio] main.c: Machine ID is 52f45eeb425c7a345cdcd144626f5956.
I: [pulseaudio] main.c: Using runtime directory /home/neko/.config/pulse/52f45eeb425c7a345cdcd144626f5956-runtime.
I: [pulseaudio] main.c: Using state directory /home/neko/.config/pulse.
I: [pulseaudio] main.c: Using modules directory /usr/lib/pulse-14.2/modules.
I: [pulseaudio] main.c: Running in system mode: no

2022-05-03 08:39:11,871 DEBG 'pulseaudio' stdout output:
W: [pulseaudio] pid.c: Stale PID file, overwriting.
I: [pulseaudio] main.c: System supports high resolution timers

2022-05-03 08:39:11,873 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] memblock.c: Using shared memfd memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472

2022-05-03 08:39:11,874 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] cpu-x86.c: CPU flags: CMOV MMX SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 MMXEXT 3DNOW 3DNOWEXT
I: [pulseaudio] svolume_mmx.c: Initialising MMX optimized volume functions.
I: [pulseaudio] remap_mmx.c: Initialising MMX optimized remappers.
I: [pulseaudio] svolume_sse.c: Initialising SSE2 optimized volume functions.
I: [pulseaudio] remap_sse.c: Initialising SSE2 optimized remappers.

2022-05-03 08:39:11,875 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] sconv_sse.c: Initialising SSE2 optimized conversions.

2022-05-03 08:39:11,876 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] svolume_orc.c: Initialising ORC optimized volume functions.

2022-05-03 08:39:11,891 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] module.c: Loaded "module-native-protocol-unix" (index: #0; argument: "socket=/tmp/pulseaudio.socket auth-anonymous=1").

2022-05-03 08:39:11,893 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] module-always-sink.c: Autoloading null-sink as no other sinks detected.

2022-05-03 08:39:11,900 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] sink.c: Created sink 0 "auto_null" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] sink.c:     device.description = "Dummy Output"
I: [pulseaudio] sink.c:     device.class = "abstract"
I: [pulseaudio] sink.c:     device.icon_name = "audio-card"

2022-05-03 08:39:11,901 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] source.c: Created source 0 "auto_null.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] source.c:     device.description = "Monitor of Dummy Output"
I: [pulseaudio] source.c:     device.class = "monitor"
I: [pulseaudio] source.c:     device.icon_name = "audio-input-microphone"

2022-05-03 08:39:11,905 DEBG 'pulseaudio' stdout output:
D: [null-sink] module-null-sink.c: Thread starting up

2022-05-03 08:39:11,916 DEBG 'pulseaudio' stdout output:
I: [null-sink] util.c: Failed to acquire real-time scheduling: No such file or directory

2022-05-03 08:39:11,917 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] sink.c: auto_null: state: INIT -> IDLE

2022-05-03 08:39:11,919 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source.c: auto_null.monitor: state: INIT -> IDLE

2022-05-03 08:39:11,919 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] core.c: default_source: (unset) -> auto_null.monitor
I: [pulseaudio] core.c: default_sink: (unset) -> auto_null
I: [pulseaudio] module.c: Loaded "module-null-sink" (index: #2; argument: "sink_name=auto_null sink_properties='device.description="Dummy Output"'").

2022-05-03 08:39:11,919 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] module.c: Loaded "module-always-sink" (index: #1; argument: "").

2022-05-03 08:39:12,480 DEBG 'neko' stdout output:

    _   __     __
   / | / /__  / /______   \    /\
  /  |/ / _ \/ //_/ __ \   )  ( ')
 / /|  /  __/ ,< / /_/ /  (  /  )
/_/ |_/\___/_/|_|\____/    \(__)|
 nurdism/m1k1o server v2.5.0 dev

2022-05-03 08:39:12,496 DEBG 'neko' stdout output:
8:39AM WRN preflight complete without config file config= debug=false logging=false

2022-05-03 08:39:12,498 DEBG 'neko' stdout output:
8:39AM INF starting neko server service=neko

2022-05-03 08:39:12,553 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] dbus-util.c: Successfully connected to D-Bus session bus 8ef6712f380ebd994d89346a6270ea30 as :1.0

2022-05-03 08:39:12,556 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] main.c: Got org.PulseAudio1!

2022-05-03 08:39:12,558 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] main.c: Got org.pulseaudio.Server!
I: [pulseaudio] main.c: Daemon startup complete.

2022-05-03 08:39:12,607 DEBG 'chromium' stdout output:
Warning: Missing charsets in String to FontSet conversion

2022-05-03 08:39:12,615 DEBG 'neko' stdout output:
8:39AM INF webrtc starting ephemeral_port_range=52000-52100 ice_lite=true ice_servers="[{URLs:[stun:stun.l.google.com:19302] Username: Credential:<nil> CredentialType:password}]" module=webrtc nat_ips=localhost

2022-05-03 08:39:12,619 DEBG 'neko' stdout output:
8:39AM WRN http listening on :8080 module=http

2022-05-03 08:39:12,620 DEBG 'neko' stdout output:
8:39AM INF neko ready service=neko

2022-05-03 08:39:13,623 INFO success: openbox entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-03 08:39:13,624 INFO success: pulseaudio entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-03 08:39:13,624 INFO success: x-server entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-03 08:39:13,625 INFO success: chromium entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-03 08:39:13,626 INFO success: neko entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-03 08:39:40,685 DEBG 'neko' stdout output:
8:39AM INF Pipelines starting... audio_codec=Opus audio_device=auto_null.monitor audio_pipeline_src="pulsesrc device=auto_null.monitor ! audio/x-raw,channels=2 ! audioconvert ! opusenc inband-fec=true bitrate=128000 ! appsink name=appsink" module=remote screen_resolution=1280x720@60 video_codec=VP8 video_display=:99.0 video_pipeline_src="ximagesrc display-name=:99.0 show-pointer=true use-damage=false ! video/x-raw,framerate=25/1 ! videoconvert ! queue !  vp8enc target-bitrate=1996800 cpu-used=4 end-usage=cbr threads=4 deadline=1 undershoot=95 buffer-size=12288 buffer-initial-size=6144 buffer-optimal-size=9216 keyframe-max-dist=25 min-quantizer=4 max-quantizer=20  ! appsink name=appsink"

2022-05-03 08:39:40,741 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] client.c: Created 0 "Native client (UNIX socket client)"

2022-05-03 08:39:40,741 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] protocol-native.c: Client authenticated anonymously.

2022-05-03 08:39:40,750 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] protocol-native.c: Protocol version: remote 34, local 34
D: [pulseaudio] protocol-native.c: SHM possible: yes

2022-05-03 08:39:40,753 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] protocol-native.c: Negotiated SHM: yes
D: [pulseaudio] protocol-native.c: Memfd possible: yes
D: [pulseaudio] protocol-native.c: Negotiated SHM type: shared memfd

2022-05-03 08:39:40,755 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] memblock.c: Using shared memfd memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472

2022-05-03 08:39:40,755 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] srbchannel.c: SHM block is 65472 bytes, ringbuffer capacity is 2 * 32712 bytes

2022-05-03 08:39:40,756 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] protocol-native.c: Enabling srbchannel...

2022-05-03 08:39:40,761 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] protocol-native.c: Client enabled srbchannel.

2022-05-03 08:39:40,788 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source-output.c: Negotiated format: pcm, format.sample_format = "\"s16le\""  format.rate = "48000"  format.channels = "2"  format.channel_map = "\"front-left,front-right\""

2022-05-03 08:39:40,789 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] source-output.c: Trying to change sample spec

2022-05-03 08:39:40,789 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source.c: Suspending source auto_null.monitor due to changing format, desired format = s16le rate = 48000
D: [pulseaudio] sink.c: Suspending sink auto_null due to changing format, desired format = s16le rate = 48000

2022-05-03 08:39:40,790 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] sink.c: auto_null: suspend_cause: (none) -> INTERNAL
D: [pulseaudio] sink.c: auto_null: state: IDLE -> SUSPENDED

2022-05-03 08:39:40,790 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source.c: auto_null.monitor: suspend_cause: (none) -> INTERNAL
D: [pulseaudio] source.c: auto_null.monitor: state: IDLE -> SUSPENDED
I: [pulseaudio] sink.c: Reconfigured successfully

2022-05-03 08:39:40,790 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] sink.c: auto_null: suspend_cause: INTERNAL -> (none)
D: [pulseaudio] sink.c: auto_null: state: SUSPENDED -> IDLE
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.

2022-05-03 08:39:40,791 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source.c: auto_null.monitor: suspend_cause: INTERNAL -> (none)
D: [pulseaudio] source.c: auto_null.monitor: state: SUSPENDED -> IDLE
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.
I: [pulseaudio] source.c: Reconfigured successfully

2022-05-03 08:39:40,791 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] memblockq.c: memblockq requested: maxlength=33554432, tlength=0, base=4, prebuf=0, minreq=1 maxrewind=0

2022-05-03 08:39:40,792 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] memblockq.c: memblockq sanitized: maxlength=33554432, tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0
I: [pulseaudio] source-output.c: Created output 0 "Record Stream" on auto_null.monitor with sample spec s16le 2ch 48000Hz and channel map front-left,front-right
I: [pulseaudio] source-output.c:     media.name = "Record Stream"
I: [pulseaudio] source-output.c:     application.name = "neko"
I: [pulseaudio] source-output.c:     native-protocol.peer = "UNIX socket client"
I: [pulseaudio] source-output.c:     native-protocol.version = "34"
I: [pulseaudio] source-output.c:     application.process.id = "58"
I: [pulseaudio] source-output.c:     application.process.user = "neko"
I: [pulseaudio] source-output.c:     application.process.host = "9e9aeb8449d8"
I: [pulseaudio] source-output.c:     application.process.binary = "neko"
I: [pulseaudio] source-output.c:     application.language = "C"
I: [pulseaudio] source-output.c:     window.x11.display = ":99.0"

2022-05-03 08:39:40,792 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] source-output.c:     application.process.machine_id = "52f45eeb425c7a345cdcd144626f5956"

2022-05-03 08:39:40,793 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] memblockq.c: memblockq requested: maxlength=38400, tlength=0, base=4, prebuf=1, minreq=0 maxrewind=0
D: [pulseaudio] memblockq.c: memblockq sanitized: maxlength=38400, tlength=38400, base=4, prebuf=4, minreq=4 maxrewind=0
I: [pulseaudio] protocol-native.c: Final latency 20.00 ms = 10.00 ms + 10.00 ms

2022-05-03 08:39:40,814 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source.c: auto_null.monitor: state: IDLE -> RUNNING

2022-05-03 08:39:40,863 DEBG 'neko' stdout output:
8:39AM WRN Failed to initialize mDNS 4d64a2c5-4fbe-483b-89a5-a411fd87d4e2.local: mDNS: failed to join multicast group module=webrtc subsystem=ice

2022-05-03 08:39:40,868 DEBG 'neko' stdout output:
8:39AM WRN session created with and error error="invalid 1:1 NAT IP mapping" id=0gpixFSEw3lxh7boIHEicCFs7C00keuu module=websocket

2022-05-03 08:39:55,628 DEBG 'neko' stdout output:
8:39AM WRN read message error error="websocket: close 1005 (no status)" module=websocket

2022-05-03 08:39:55,646 DEBG 'neko' stdout output:
8:39AM INF peer connection state changed: closed module=webrtc subsystem=pc

2022-05-03 08:39:55,648 DEBG 'neko' stdout output:
8:39AM INF peer closed id=0gpixFSEw3lxh7boIHEicCFs7C00keuu module=webrtc

2022-05-03 08:39:55,652 DEBG 'neko' stdout output:
8:39AM INF Pipelines shutting down... module=remote

2022-05-03 08:39:55,708 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source.c: auto_null.monitor: state: RUNNING -> IDLE

2022-05-03 08:39:55,711 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum.

2022-05-03 08:39:55,712 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] source-output.c: Freeing output 0 "Record Stream"

2022-05-03 08:39:55,715 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] client.c: Freed 0 "neko"
I: [pulseaudio] protocol-native.c: Connection died.

2022-05-03 08:39:55,716 DEBG 'neko' stdout output:
8:39AM INF destroying session module=session session_id=0gpixFSEw3lxh7boIHEicCFs7C00keuu

Docker Compose:

version: "3.4"
services:
  neko:
    image: "m1k1o/neko:chromium"
    restart: "unless-stopped"
    shm_size: "2gb"
    ports:
      - "8080:8080"
      - "52000-52100:52000-52100/udp"
    cap_add:
      - SYS_ADMIN
    environment:
      NEKO_SCREEN: 1280x720@60
      NEKO_PASSWORD: round1
      NEKO_PASSWORD_ADMIN: round1_admin
      NEKO_EPR: 52000-52100
      NEKO_ICELITE: 1
      NEKO_NAT1TO1: localhost
m1k1o commented 2 years ago

You set NEKO_NAT1TO1: localhost but in that context it is localhost of the container. You need to put there IP address of the host, where ports are exposed and that is reachable by the client.

Pulseaudio seems to be fine, it is just very noisy.

deviantintegral commented 1 year ago

I'm also having trouble getting this running on macOS. I'm using colima as my docker environment.

version: "3.4"
services:
  neko:
    image: "ghcr.io/m1k1o/neko/arm-firefox:latest"
    restart: "unless-stopped"
    shm_size: "2gb"
    ports:
      - "8080:8080"
      - "52000-52100:52000-52100/udp"
    environment:
      NEKO_SCREEN: 1920x1080@30
      NEKO_PASSWORD: neko
      NEKO_PASSWORD_ADMIN: admin
      NEKO_EPR: 52000-52100
      NEKO_ICELITE: 1
      NEKO_NAT1TO1: 192.168.20.166

I can pull up the web UI at http://192.168.20.166:8080 but WebRTC can't connect.

Server logs:

https://gist.github.com/deviantintegral/fd5ef00bf6cc6b8ac878574d7df2a104

Of note:

neko-neko-1 | 12:09AM WRN peer failed id=Onc8rsD9kkBl3mB-ucEvlnK3K9haqcPj module=webrtc neko-neko-1 | 12:09AM WRN Failed to discover mDNS candidate 9b986175-8514-4e74-aac6-7cfc6842d105.local: mDNS: connection is closed module=webrtc submodule=pion subsystem=ice

neko-neko-1 | 12:09AM WRN Failed to start manager: connecting canceled by caller module=webrtc submodule=pion subsystem=pc neko-neko-1 | 12:09AM WRN Failed to start SCTP: DTLS not established module=webrtc submodule=pion subsystem=pc neko-neko-1 | 12:09AM WRN Failed to discover mDNS candidate 00193967-9787-4013-b508-59f77ac34bce.local: mDNS: connection is closed module=webrtc submodule=pion subsystem=ice neko-neko-1 | 12:09AM WRN undeclaredMediaProcessor failed to open SrtcpSession: the DTLS transport has not started yet module=webrtc submodule=pion subsystem=pc neko-neko-1 | 12:09AM WRN undeclaredMediaProcessor failed to open SrtpSession: the DTLS transport has not started yet module=webrtc submodule=pion subsystem=pc

While I doubt many want to run neko on macOS in the long run, I do think many would want to use it for demos and trying it out. If I can get this working, I'd be glad to write a PR with any macOS specific steps.

VaidotasSm commented 6 months ago

Any updates on this? Seems to be unusable on Mac OS with Docker.

yesBad commented 6 months ago

Any updates on this? Seems to be unusable on Mac OS with Docker.

It has never been made to run with Mac OS or Windows in mind, so not really no... If it works it works™