-
-
Notifications
You must be signed in to change notification settings - Fork 56
Description
Is there an existing issue for this?
- I have searched the existing issues
Current Behavior
Hi everyone,
I'm running the linuxserver/firefox Docker container on my FNOS NAS (hardware: Dell Wyse 5070). Recently I noticed an issue with clipboard pasting of Chinese text.
When I copy Chinese text from other applications on my host machine and paste it into Firefox inside the container, it turns into garbled characters (mojibake).
Example:
Original text: "为什么这很重要?"
After pasting into container Firefox: "为�������"
Additional details:
This only happens when pasting from outside the container.
Typing Chinese directly inside the container Firefox (using Microsoft IME) works perfectly.
I have other Selkies-based Docker browsers running on the same setup, and they do not have this clipboard issue.
The issue may or may not have existed before — I only noticed it recently.
Here is my current docker-compose.yaml:
YAMLservices:
firefox:
image: lscr.io/linuxserver/firefox:latest
container_name: firefox
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- LC_ALL=zh_CN.UTF-8
- FIREFOX_CLI=https://www.google.com
# - CUSTOM_USER=yourusername # recommended for basic auth
# - PASSWORD=yourstrongpassword # recommended for basic auth
volumes:
- ./config:/config
- ./fonts:/usr/share/fonts/custom # optional, custom fonts
ports:
- 13000:3000 # optional HTTP
- 13001:3001 # HTTPS main port
devices:
- /dev/dri:/dev/dri # Intel iGPU hardware acceleration
shm_size: "1gb"
restart: unless-stopped
Has anyone encountered this clipboard encoding issue with Chinese (or other non-ASCII) text in the linuxserver/firefox container? Any suggestions for fixes or workarounds would be greatly appreciated.
Thanks in advance!
Expected Behavior
No response
Steps To Reproduce
When I copy Chinese text from other applications on my host machine and paste it into Firefox inside the container, it turns into garbled characters (mojibake).
Example:
Original text: "为什么这很重要?"
After pasting into container Firefox: "为�������"
Environment
- OS:
- How docker service was installed:
FN nas os
Dell wyse 5070CPU architecture
x86-64
Docker creation
YAMLservices:
firefox:
image: lscr.io/linuxserver/firefox:latest
container_name: firefox
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- LC_ALL=zh_CN.UTF-8
- FIREFOX_CLI=https://www.google.com
# - CUSTOM_USER=yourusername # recommended for basic auth
# - PASSWORD=yourstrongpassword # recommended for basic auth
volumes:
- ./config:/config
- ./fonts:/usr/share/fonts/custom # optional, custom fonts
ports:
- 13000:3000 # optional HTTP
- 13001:3001 # HTTPS main port
devices:
- /dev/dri:/dev/dri # Intel iGPU hardware acceleration
shm_size: "1gb"
restart: unless-stoppedContainer logs
INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1000.sock
INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1001.sock
INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1002.sock
INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1003.sock
dbus-daemon[283]: [system] Activating service name='org.freedesktop.login1' requested by ':1.15' (uid=1000 pid=387 comm="/usr/lib/firefox/firefox https://www.linuxserver.i") (using servicehelper)
dbus-daemon[283]: [system] Activating service name='org.freedesktop.timedate1' requested by ':1.15' (uid=1000 pid=387 comm="/usr/lib/firefox/firefox https://www.linuxserver.i") (using servicehelper)
dbus-daemon[283]: [system] Activated service 'org.freedesktop.login1' failed: Failed to execute program org.freedesktop.login1: Permission denied
WARNING:data_websocket:Cannot broadcast cursor data: no clients connected or server not ready.
INFO:data_websocket:Legacy client ('127.0.0.1', 40274) connected. Role: controller, Slot: None
INFO:data_websocket:Data WebSocket connected from ('127.0.0.1', 40274)
INFO:data_websocket:Sending last known cursor to new client ('127.0.0.1', 40274)
INFO:data_websocket:Attempting to establish PulseAudio connection...
INFO:data_websocket:PulseAudio connection established.
INFO:data_websocket:Registering new client for display: primary
INFO:data_websocket:Applying and sanitizing client settings for 'primary' (initial=True)
INFO:data_websocket:DPI changed from None to 96. Applying system-level change.
INFO:gst_app_resize:Openbox detected. Applying xrdb for DPI 96.
INFO:gst_app_resize:Wrote 'Xft.dpi: 96' to /config/.Xresources.
INFO:gst_app_resize:Successfully loaded /config/.Xresources using xrdb.
INFO:gst_app_resize:Wrote font and DPI settings to /config/.xsettingsd.
INFO:gst_app_resize:Found xsettingsd process with PID: 286.
xsettingsd: Reloading configuration
xsettingsd: Loaded 5 settings from /config/.xsettingsd
INFO:gst_app_resize:Sent SIGHUP to xsettingsd process 286 to reload config.
INFO:data_websocket:Initial setup or dimensional change detected for 'primary'. Performing full display reconfiguration.
INFO:data_websocket:Starting display reconfiguration...
INFO:data_websocket:Calculating new extended desktop layout from ALL clients...
INFO:data_websocket:Aligned total width from 1910 to 1912 for xrandr.
INFO:data_websocket:Layout calculated: Total Size=1912x952. Layouts: {'primary': {'x': 0, 'y': 0, 'w': 1910, 'h': 952}}
INFO:data_websocket:Mode 1912x952 not found. Creating it.
INFO:data_websocket:Defining logical monitors for the window manager...
INFO:data_websocket:Starting separate capture instances for each ACTIVE display region...
INFO:data_websocket:Client 'primary' is active. Starting its capture.
INFO:data_websocket:Preparing to start capture for display='primary': Res=1910x952, Offset=0x0
INFO:data_websocket:Video chunk sender started for display 'primary'.
INFO:data_websocket:SUCCESS: Capture started for 'primary'.
INFO:data_websocket:New frame backpressure task started for display 'primary'.
INFO:data_websocket:Broadcasting primary stream resolution to all clients: {"type": "stream_resolution", "width": 1910, "height": 952}
INFO:data_websocket:Broadcasting display config update: DISPLAY_CONFIG_UPDATE,{"type": "display_config_update", "displays": ["primary"]}
INFO:data_websocket:Display reconfiguration finished successfully.
INFO:data_websocket:Reconfiguration process complete (state unlocked).
INFO:data_websocket:Initial client settings message processed by ws_handler.
INFO:data_websocket:Initial setup: Primary client connected, audio not active, attempting start.
INFO:data_websocket:Starting pcmflux audio pipeline...
INFO:data_websocket:pcmflux settings: device='output.monitor', bitrate=320000, channels=2
INFO:data_websocket:Frame-based backpressure logic task started for display 'primary'.
[pcmflux] Attempting to connect to PulseAudio device: output.monitor...
INFO:data_websocket:Client settings received, proceeding with backpressure loop for 'primary'.
INFO:data_websocket:pcmflux audio capture started successfully.
INFO:data_websocket:pcmflux audio chunk broadcasting task started.
X Shared Memory Extension available.
XShm setup complete for 1910x952.
CPU cores available: 4
Stream settings active -> Res: 1910x952 | FPS: 60.0 | Stripes: 1 | Mode: H264 (CPU) FullFrame | CRF: 25 | PaintOver CRF: 18 (Burst: 5f) | Colorspace: I420 (Limited Range) | Damage Thresh: 10f | Damage Dur: 20f
[pcmflux] SUCCESS: Connected to PulseAudio.
[pcmflux] SUCCESS: Opus encoder created.
[pcmflux] Capture loop started. Device: output.monitor, Rate: 48000, Channels: 2, Bitrate: 320 kbps, VBR: On, Silence Gate: Off, Debug Logging: Off, PCM Chunk: 3840 bytes
INFO:data_websocket:Received START_AUDIO command from client for server-to-client audio.
INFO:data_websocket:START_AUDIO: pcmflux audio pipeline already active.
INFO:data_websocket:Client is taking over existing display 'primary'. Updating state for new connection.
INFO:data_websocket:Applying and sanitizing client settings for 'primary' (initial=False)
INFO:data_websocket:Received redundant resize request for primary (1910x952). No action taken.
[pcmflux] First non-silent audio chunk detected! Encoding...
INFO:webrtc_input:Clipboard changed. Sending content (text/plain)
INFO:data_websocket:Received STOP_VIDEO for 'primary'. Stopping stream.
INFO:data_websocket:Stopping all streams for display 'primary'...
INFO:data_websocket:Backpressure logic task for 'primary' cancelled.
INFO:data_websocket:Backpressure logic task for 'primary' finished.
INFO:data_websocket:Backpressure task for 'primary' was stopped. Resetting its frame IDs.
INFO:data_websocket:Resetting frame IDs for display 'primary'.
INFO:data_websocket:Broadcasting primary pipeline reset to all 1 clients: PIPELINE_RESETTING primary
Capture loop stopped. X resources released.
INFO:data_websocket:Successfully stopped all streams for display 'primary'.
INFO:data_websocket:Video chunk sender for 'primary' cancelled.
INFO:data_websocket:Video chunk sender for 'primary' finished.
INFO:data_websocket:Received START_VIDEO for 'primary'. Starting its stream.
INFO:data_websocket:Found existing layout for 'primary'. Starting capture with: {'x': 0, 'y': 0, 'w': 1910, 'h': 952}
INFO:data_websocket:Preparing to start capture for display='primary': Res=1910x952, Offset=0x0
INFO:data_websocket:Video chunk sender started for display 'primary'.
INFO:data_websocket:SUCCESS: Capture started for 'primary'.
INFO:data_websocket:New frame backpressure task started for display 'primary'.
INFO:data_websocket:Frame-based backpressure logic task started for display 'primary'.
INFO:data_websocket:Client settings received, proceeding with backpressure loop for 'primary'.
X Shared Memory Extension available.
XShm setup complete for 1910x952.
CPU cores available: 4
Stream settings active -> Res: 1910x952 | FPS: 60.0 | Stripes: 1 | Mode: H264 (CPU) FullFrame | CRF: 25 | PaintOver CRF: 18 (Burst: 5f) | Colorspace: I420 (Limited Range) | Damage Thresh: 10f | Damage Dur: 20f
INFO:webrtc_input:Set clipboard content, length: 249
INFO:webrtc_input:Set clipboard content, length: 249
INFO:webrtc_input:Set clipboard content, length: 249
INFO:data_websocket:Received STOP_VIDEO for 'primary'. Stopping stream.
INFO:data_websocket:Stopping all streams for display 'primary'...
INFO:data_websocket:Backpressure logic task for 'primary' cancelled.
INFO:data_websocket:Backpressure logic task for 'primary' finished.
INFO:data_websocket:Backpressure task for 'primary' was stopped. Resetting its frame IDs.
INFO:data_websocket:Resetting frame IDs for display 'primary'.
INFO:data_websocket:Broadcasting primary pipeline reset to all 1 clients: PIPELINE_RESETTING primary
Capture loop stopped. X resources released.
INFO:data_websocket:Successfully stopped all streams for display 'primary'.
INFO:data_websocket:Video chunk sender for 'primary' cancelled.
INFO:data_websocket:Video chunk sender for 'primary' finished.
INFO:data_websocket:Received START_VIDEO for 'primary'. Starting its stream.
INFO:data_websocket:Found existing layout for 'primary'. Starting capture with: {'x': 0, 'y': 0, 'w': 1910, 'h': 952}
INFO:data_websocket:Preparing to start capture for display='primary': Res=1910x952, Offset=0x0
INFO:data_websocket:Video chunk sender started for display 'primary'.
INFO:data_websocket:SUCCESS: Capture started for 'primary'.
INFO:data_websocket:New frame backpressure task started for display 'primary'.
INFO:data_websocket:Frame-based backpressure logic task started for display 'primary'.
INFO:data_websocket:Client settings received, proceeding with backpressure loop for 'primary'.
X Shared Memory Extension available.
XShm setup complete for 1910x952.
CPU cores available: 4
Stream settings active -> Res: 1910x952 | FPS: 60.0 | Stripes: 1 | Mode: H264 (CPU) FullFrame | CRF: 25 | PaintOver CRF: 18 (Burst: 5f) | Colorspace: I420 (Limited Range) | Damage Thresh: 10f | Damage Dur: 20f
INFO:webrtc_input:Set clipboard content, length: 249
INFO:data_websocket:Received STOP_VIDEO for 'primary'. Stopping stream.
INFO:data_websocket:Stopping all streams for display 'primary'...
INFO:data_websocket:Backpressure logic task for 'primary' cancelled.
INFO:data_websocket:Backpressure logic task for 'primary' finished.
INFO:data_websocket:Backpressure task for 'primary' was stopped. Resetting its frame IDs.
INFO:data_websocket:Resetting frame IDs for display 'primary'.
INFO:data_websocket:Broadcasting primary pipeline reset to all 1 clients: PIPELINE_RESETTING primary
Capture loop stopped. X resources released.
INFO:data_websocket:Successfully stopped all streams for display 'primary'.
INFO:data_websocket:Video chunk sender for 'primary' cancelled.
INFO:data_websocket:Video chunk sender for 'primary' finished.
INFO:data_websocket:Received START_VIDEO for 'primary'. Starting its stream.
INFO:data_websocket:Found existing layout for 'primary'. Starting capture with: {'x': 0, 'y': 0, 'w': 1910, 'h': 952}
INFO:data_websocket:Preparing to start capture for display='primary': Res=1910x952, Offset=0x0
INFO:data_websocket:Video chunk sender started for display 'primary'.
INFO:data_websocket:SUCCESS: Capture started for 'primary'.
INFO:data_websocket:New frame backpressure task started for display 'primary'.
INFO:data_websocket:Frame-based backpressure logic task started for display 'primary'.
INFO:data_websocket:Client settings received, proceeding with backpressure loop for 'primary'.
X Shared Memory Extension available.
XShm setup complete for 1910x952.
CPU cores available: 4
Stream settings active -> Res: 1910x952 | FPS: 60.0 | Stripes: 1 | Mode: H264 (CPU) FullFrame | CRF: 25 | PaintOver CRF: 18 (Burst: 5f) | Colorspace: I420 (Limited Range) | Damage Thresh: 10f | Damage Dur: 20f
INFO:webrtc_input:Set clipboard content, length: 249
INFO:data_websocket:Received STOP_VIDEO for 'primary'. Stopping stream.
INFO:data_websocket:Stopping all streams for display 'primary'...
INFO:data_websocket:Backpressure logic task for 'primary' cancelled.
INFO:data_websocket:Backpressure logic task for 'primary' finished.
INFO:data_websocket:Backpressure task for 'primary' was stopped. Resetting its frame IDs.
INFO:data_websocket:Resetting frame IDs for display 'primary'.
INFO:data_websocket:Broadcasting primary pipeline reset to all 1 clients: PIPELINE_RESETTING primary
Capture loop stopped. X resources released.
INFO:data_websocket:Successfully stopped all streams for display 'primary'.
INFO:data_websocket:Video chunk sender for 'primary' cancelled.
INFO:data_websocket:Video chunk sender for 'primary' finished.
INFO:data_websocket:Received START_VIDEO for 'primary'. Starting its stream.
INFO:data_websocket:Found existing layout for 'primary'. Starting capture with: {'x': 0, 'y': 0, 'w': 1910, 'h': 952}
INFO:data_websocket:Preparing to start capture for display='primary': Res=1910x952, Offset=0x0
INFO:data_websocket:Video chunk sender started for display 'primary'.
INFO:data_websocket:SUCCESS: Capture started for 'primary'.
INFO:data_websocket:New frame backpressure task started for display 'primary'.
INFO:data_websocket:Frame-based backpressure logic task started for display 'primary'.
INFO:data_websocket:Client settings received, proceeding with backpressure loop for 'primary'.
X Shared Memory Extension available.
XShm setup complete for 1910x952.
CPU cores available: 4
Stream settings active -> Res: 1910x952 | FPS: 60.0 | Stripes: 1 | Mode: H264 (CPU) FullFrame | CRF: 25 | PaintOver CRF: 18 (Burst: 5f) | Colorspace: I420 (Limited Range) | Damage Thresh: 10f | Damage Dur: 20f
INFO:webrtc_input:Set clipboard content, length: 13
WARNING:webrtc_input:unhandled on_mouse_pointer_visible
INFO:data_websocket:Received SET_NATIVE_CURSOR_RENDERING: True
INFO:data_websocket:Cursor rendering changed, triggering display reconfiguration.
INFO:data_websocket:Starting display reconfiguration...
INFO:data_websocket:Stopping all existing capture and backpressure tasks...
INFO:data_websocket:Backpressure logic task for 'primary' cancelled.
INFO:data_websocket:Backpressure logic task for 'primary' finished.
INFO:data_websocket:Backpressure task for 'primary' was stopped. Resetting its frame IDs.
INFO:data_websocket:Resetting frame IDs for display 'primary'.
INFO:data_websocket:Broadcasting primary pipeline reset to all 1 clients: PIPELINE_RESETTING primary
Capture loop stopped. X resources released.
INFO:data_websocket:All capture instances, senders, and backpressure tasks stopped.
INFO:data_websocket:Calculating new extended desktop layout from ALL clients...
INFO:data_websocket:Aligned total width from 1910 to 1912 for xrandr.
INFO:data_websocket:Layout calculated: Total Size=1912x952. Layouts: {'primary': {'x': 0, 'y': 0, 'w': 1910, 'h': 952}}
INFO:data_websocket:Video chunk sender for 'primary' cancelled.
INFO:data_websocket:Video chunk sender for 'primary' finished.
INFO:data_websocket:Defining logical monitors for the window manager...
INFO:data_websocket:Starting separate capture instances for each ACTIVE display region...
INFO:data_websocket:Client 'primary' is active. Starting its capture.
INFO:data_websocket:Preparing to start capture for display='primary': Res=1910x952, Offset=0x0
INFO:data_websocket:Video chunk sender started for display 'primary'.
INFO:data_websocket:SUCCESS: Capture started for 'primary'.
INFO:data_websocket:New frame backpressure task started for display 'primary'.
INFO:data_websocket:Broadcasting primary stream resolution to all clients: {"type": "stream_resolution", "width": 1910, "height": 952}
INFO:data_websocket:Broadcasting display config update: DISPLAY_CONFIG_UPDATE,{"type": "display_config_update", "displays": ["primary"]}
INFO:data_websocket:Display reconfiguration finished successfully.
INFO:data_websocket:Reconfiguration process complete (state unlocked).
INFO:data_websocket:Frame-based backpressure logic task started for display 'primary'.
INFO:data_websocket:Client settings received, proceeding with backpressure loop for 'primary'.
X Shared Memory Extension available.
XFixes Extension available.
XShm setup complete for 1910x952.
CPU cores available: 4
Stream settings active -> Res: 1910x952 | FPS: 60.0 | Stripes: 1 | Mode: H264 (CPU) FullFrame | CRF: 25 | PaintOver CRF: 18 (Burst: 5f) | Colorspace: I420 (Limited Range) | Damage Thresh: 10f | Damage Dur: 20f
INFO:data_websocket:Received resize request for primary: 1918x1078 from ('127.0.0.1', 40274)
INFO:gst_app_resize:on_resize_handler for display 'primary' with resolution: 1918x1078
INFO:gst_app_resize:Display client 'primary' dimensions updated to 1918x1078. Triggering reconfiguration.
INFO:data_websocket:Starting display reconfiguration...
INFO:data_websocket:Stopping all existing capture and backpressure tasks...
INFO:data_websocket:Backpressure logic task for 'primary' cancelled.
INFO:data_websocket:Backpressure logic task for 'primary' finished.
INFO:data_websocket:Backpressure task for 'primary' was stopped. Resetting its frame IDs.
INFO:data_websocket:Resetting frame IDs for display 'primary'.
INFO:data_websocket:Broadcasting primary pipeline reset to all 1 clients: PIPELINE_RESETTING primary
Capture loop stopped. X resources released.
INFO:data_websocket:All capture instances, senders, and backpressure tasks stopped.
INFO:data_websocket:Calculating new extended desktop layout from ALL clients...
INFO:data_websocket:Aligned total width from 1918 to 1920 for xrandr.
INFO:data_websocket:Layout calculated: Total Size=1920x1078. Layouts: {'primary': {'x': 0, 'y': 0, 'w': 1918, 'h': 1078}}
INFO:data_websocket:Video chunk sender for 'primary' cancelled.
INFO:data_websocket:Video chunk sender for 'primary' finished.
INFO:data_websocket:Mode 1920x1078 not found. Creating it.
INFO:data_websocket:Defining logical monitors for the window manager...
INFO:data_websocket:Starting separate capture instances for each ACTIVE display region...
INFO:data_websocket:Client 'primary' is active. Starting its capture.
INFO:data_websocket:Preparing to start capture for display='primary': Res=1918x1078, Offset=0x0
INFO:data_websocket:Video chunk sender started for display 'primary'.
INFO:data_websocket:SUCCESS: Capture started for 'primary'.
INFO:data_websocket:New frame backpressure task started for display 'primary'.
INFO:data_websocket:Broadcasting primary stream resolution to all clients: {"type": "stream_resolution", "width": 1918, "height": 1078}
INFO:data_websocket:Broadcasting display config update: DISPLAY_CONFIG_UPDATE,{"type": "display_config_update", "displays": ["primary"]}
INFO:data_websocket:Display reconfiguration finished successfully.
INFO:data_websocket:Reconfiguration process complete (state unlocked).
INFO:data_websocket:Frame-based backpressure logic task started for display 'primary'.
INFO:data_websocket:Client settings received, proceeding with backpressure loop for 'primary'.
X Shared Memory Extension available.
XFixes Extension available.
XShm setup complete for 1918x1078.
CPU cores available: 4
Stream settings active -> Res: 1918x1078 | FPS: 60.0 | Stripes: 1 | Mode: H264 (CPU) FullFrame | CRF: 25 | PaintOver CRF: 18 (Burst: 5f) | Colorspace: I420 (Limited Range) | Damage Thresh: 10f | Damage Dur: 20f
WARNING:webrtc_input:unhandled on_mouse_pointer_visible
INFO:data_websocket:Received SET_NATIVE_CURSOR_RENDERING: False
INFO:data_websocket:Cursor rendering changed, triggering display reconfiguration.
INFO:data_websocket:Starting display reconfiguration...
INFO:data_websocket:Stopping all existing capture and backpressure tasks...
INFO:data_websocket:Backpressure logic task for 'primary' cancelled.
INFO:data_websocket:Backpressure logic task for 'primary' finished.
INFO:data_websocket:Backpressure task for 'primary' was stopped. Resetting its frame IDs.
INFO:data_websocket:Resetting frame IDs for display 'primary'.
INFO:data_websocket:Broadcasting primary pipeline reset to all 1 clients: PIPELINE_RESETTING primary
Capture loop stopped. X resources released.
INFO:data_websocket:All capture instances, senders, and backpressure tasks stopped.
INFO:data_websocket:Calculating new extended desktop layout from ALL clients...
INFO:data_websocket:Aligned total width from 1918 to 1920 for xrandr.
INFO:data_websocket:Layout calculated: Total Size=1920x1078. Layouts: {'primary': {'x': 0, 'y': 0, 'w': 1918, 'h': 1078}}
INFO:data_websocket:Video chunk sender for 'primary' cancelled.
INFO:data_websocket:Video chunk sender for 'primary' finished.
INFO:data_websocket:Defining logical monitors for the window manager...
INFO:data_websocket:Starting separate capture instances for each ACTIVE display region...
INFO:data_websocket:Client 'primary' is active. Starting its capture.
INFO:data_websocket:Preparing to start capture for display='primary': Res=1918x1078, Offset=0x0
INFO:data_websocket:Video chunk sender started for display 'primary'.
INFO:data_websocket:SUCCESS: Capture started for 'primary'.
INFO:data_websocket:New frame backpressure task started for display 'primary'.
INFO:data_websocket:Broadcasting primary stream resolution to all clients: {"type": "stream_resolution", "width": 1918, "height": 1078}
INFO:data_websocket:Broadcasting display config update: DISPLAY_CONFIG_UPDATE,{"type": "display_config_update", "displays": ["primary"]}
INFO:data_websocket:Display reconfiguration finished successfully.
INFO:data_websocket:Reconfiguration process complete (state unlocked).
INFO:webrtc_input:Resetting keyboard modifiers.
INFO:data_websocket:Frame-based backpressure logic task started for display 'primary'.
INFO:data_websocket:Client settings received, proceeding with backpressure loop for 'primary'.
X Shared Memory Extension available.
XShm setup complete for 1918x1078.
CPU cores available: 4
Stream settings active -> Res: 1918x1078 | FPS: 60.0 | Stripes: 1 | Mode: H264 (CPU) FullFrame | CRF: 25 | PaintOver CRF: 18 (Burst: 5f) | Colorspace: I420 (Limited Range) | Damage Thresh: 10f | Damage Dur: 20f
INFO:data_websocket:Received resize request for primary: 1910x952 from ('127.0.0.1', 40274)
INFO:gst_app_resize:on_resize_handler for display 'primary' with resolution: 1910x952
INFO:gst_app_resize:Display client 'primary' dimensions updated to 1910x952. Triggering reconfiguration.
INFO:data_websocket:Starting display reconfiguration...
INFO:data_websocket:Stopping all existing capture and backpressure tasks...
INFO:data_websocket:Backpressure logic task for 'primary' cancelled.
INFO:data_websocket:Backpressure logic task for 'primary' finished.
INFO:data_websocket:Backpressure task for 'primary' was stopped. Resetting its frame IDs.
INFO:data_websocket:Resetting frame IDs for display 'primary'.
INFO:data_websocket:Broadcasting primary pipeline reset to all 1 clients: PIPELINE_RESETTING primary
Capture loop stopped. X resources released.
INFO:data_websocket:All capture instances, senders, and backpressure tasks stopped.
INFO:data_websocket:Calculating new extended desktop layout from ALL clients...
INFO:data_websocket:Aligned total width from 1910 to 1912 for xrandr.
INFO:data_websocket:Layout calculated: Total Size=1912x952. Layouts: {'primary': {'x': 0, 'y': 0, 'w': 1910, 'h': 952}}
INFO:data_websocket:Video chunk sender for 'primary' cancelled.
INFO:data_websocket:Video chunk sender for 'primary' finished.
INFO:data_websocket:Defining logical monitors for the window manager...
INFO:data_websocket:Starting separate capture instances for each ACTIVE display region...
INFO:data_websocket:Client 'primary' is active. Starting its capture.
INFO:data_websocket:Preparing to start capture for display='primary': Res=1910x952, Offset=0x0
INFO:data_websocket:Video chunk sender started for display 'primary'.
INFO:data_websocket:SUCCESS: Capture started for 'primary'.
INFO:data_websocket:New frame backpressure task started for display 'primary'.
INFO:data_websocket:Broadcasting primary stream resolution to all clients: {"type": "stream_resolution", "width": 1910, "height": 952}
INFO:data_websocket:Broadcasting display config update: DISPLAY_CONFIG_UPDATE,{"type": "display_config_update", "displays": ["primary"]}
X Shared Memory Extension available.
XShm setup complete for 1910x952.
CPU cores available: 4
Stream settings active -> Res: 1910x952 | FPS: 60.0 | Stripes: 1 | Mode: H264 (CPU) FullFrame | CRF: 25 | PaintOver CRF: 18 (Burst: 5f) | Colorspace: I420 (Limited Range) | Damage Thresh: 10f | Damage Dur: 20f
INFO:data_websocket:Display reconfiguration finished successfully.
INFO:data_websocket:Reconfiguration process complete (state unlocked).
INFO:data_websocket:Frame-based backpressure logic task started for display 'primary'.
INFO:data_websocket:Client settings received, proceeding with backpressure loop for 'primary'.
INFO:webrtc_input:Set clipboard content, length: 13
INFO:data_websocket:Received STOP_VIDEO for 'primary'. Stopping stream.
INFO:data_websocket:Stopping all streams for display 'primary'...
INFO:data_websocket:Backpressure logic task for 'primary' cancelled.
INFO:data_websocket:Backpressure logic task for 'primary' finished.
INFO:data_websocket:Backpressure task for 'primary' was stopped. Resetting its frame IDs.
INFO:data_websocket:Resetting frame IDs for display 'primary'.
INFO:data_websocket:Broadcasting primary pipeline reset to all 1 clients: PIPELINE_RESETTING primary
Capture loop stopped. X resources released.
INFO:data_websocket:Successfully stopped all streams for display 'primary'.
INFO:data_websocket:Video chunk sender for 'primary' cancelled.
INFO:data_websocket:Video chunk sender for 'primary' finished.
INFO:data_websocket:Received START_VIDEO for 'primary'. Starting its stream.
INFO:data_websocket:Found existing layout for 'primary'. Starting capture with: {'x': 0, 'y': 0, 'w': 1910, 'h': 952}
INFO:data_websocket:Preparing to start capture for display='primary': Res=1910x952, Offset=0x0
INFO:data_websocket:Video chunk sender started for display 'primary'.
INFO:data_websocket:SUCCESS: Capture started for 'primary'.
INFO:data_websocket:New frame backpressure task started for display 'primary'.
INFO:data_websocket:Frame-based backpressure logic task started for display 'primary'.
INFO:data_websocket:Client settings received, proceeding with backpressure loop for 'primary'.
X Shared Memory Extension available.
XShm setup complete for 1910x952.
CPU cores available: 4
Stream settings active -> Res: 1910x952 | FPS: 60.0 | Stripes: 1 | Mode: H264 (CPU) FullFrame | CRF: 25 | PaintOver CRF: 18 (Burst: 5f) | Colorspace: I420 (Limited Range) | Damage Thresh: 10f | Damage Dur: 20f
INFO:data_websocket:Received STOP_VIDEO for 'primary'. Stopping stream.
INFO:data_websocket:Stopping all streams for display 'primary'...
INFO:data_websocket:Backpressure logic task for 'primary' cancelled.
INFO:data_websocket:Backpressure logic task for 'primary' finished.
INFO:data_websocket:Backpressure task for 'primary' was stopped. Resetting its frame IDs.
INFO:data_websocket:Resetting frame IDs for display 'primary'.
INFO:data_websocket:Broadcasting primary pipeline reset to all 1 clients: PIPELINE_RESETTING primary
Capture loop stopped. X resources released.
INFO:data_websocket:Successfully stopped all streams for display 'primary'.
INFO:data_websocket:Video chunk sender for 'primary' cancelled.
INFO:data_websocket:Video chunk sender for 'primary' finished.
WARNING:data_websocket:Data WS closed with error from ('127.0.0.1', 40274): sent 1011 (internal error) keepalive ping timeout; no close frame received
INFO:data_websocket:Cleaning up Data WS handler for ('127.0.0.1', 40274) (Display ID: primary)...
INFO:data_websocket:Client for 'primary' disconnected. Removing and triggering full display reconfiguration.
INFO:data_websocket:Starting display reconfiguration...
WARNING:data_websocket:No display clients connected. Video pipelines remain stopped.
INFO:data_websocket:Reconfiguration process complete (state unlocked).
INFO:data_websocket:Last client (('127.0.0.1', 40274)) disconnected. All pipelines should have been stopped by reconfigure_displays.
INFO:main:Initiating unified pipeline shutdown...
WARNING:data_websocket:Reconfiguration already in progress. Ignoring concurrent request.
INFO:data_websocket:Stopping pcmflux audio pipeline...
INFO:data_websocket:pcmflux audio chunk broadcasting task cancelled.
INFO:data_websocket:pcmflux audio chunk broadcasting task finished.
[pcmflux] Stop requested. Cleaning up capture loop...
[pcmflux] Audio capture loop finished. Resources released.
INFO:data_websocket:pcmflux audio pipeline stopped.
INFO:main:Unified pipeline shutdown complete.
INFO:data_websocket:Data WS handler for ('127.0.0.1', 40274) finished all cleanup.
INFO:data_websocket:Stats sender: WS connection closed.
INFO:data_websocket:Legacy client ('127.0.0.1', 52100) connected. Role: controller, Slot: None
INFO:data_websocket:Data WebSocket connected from ('127.0.0.1', 52100)
INFO:data_websocket:Sending last known cursor to new client ('127.0.0.1', 52100)
INFO:data_websocket:Attempting to establish PulseAudio connection...
INFO:data_websocket:PulseAudio connection established.
INFO:data_websocket:Registering new client for display: primary
INFO:data_websocket:Applying and sanitizing client settings for 'primary' (initial=True)
INFO:data_websocket:DPI changed from None to 96. Applying system-level change.
INFO:gst_app_resize:Openbox detected. Applying xrdb for DPI 96.
INFO:gst_app_resize:Wrote 'Xft.dpi: 96' to /config/.Xresources.
INFO:gst_app_resize:Successfully loaded /config/.Xresources using xrdb.
INFO:gst_app_resize:Wrote font and DPI settings to /config/.xsettingsd.
INFO:gst_app_resize:Found xsettingsd process with PID: 286.
xsettingsd: Reloading configuration
xsettingsd: Loaded 5 settings from /config/.xsettingsd
INFO:gst_app_resize:Sent SIGHUP to xsettingsd process 286 to reload config.
INFO:data_websocket:Initial setup or dimensional change detected for 'primary'. Performing full display reconfiguration.
INFO:data_websocket:Starting display reconfiguration...
INFO:data_websocket:Calculating new extended desktop layout from ALL clients...
INFO:data_websocket:Aligned total width from 1910 to 1912 for xrandr.
INFO:data_websocket:Layout calculated: Total Size=1912x952. Layouts: {'primary': {'x': 0, 'y': 0, 'w': 1910, 'h': 952}}
INFO:data_websocket:Defining logical monitors for the window manager...
INFO:data_websocket:Starting separate capture instances for each ACTIVE display region...
INFO:data_websocket:Client 'primary' is active. Starting its capture.
INFO:data_websocket:Preparing to start capture for display='primary': Res=1910x952, Offset=0x0
INFO:data_websocket:Video chunk sender started for display 'primary'.
INFO:data_websocket:SUCCESS: Capture started for 'primary'.
INFO:data_websocket:New frame backpressure task started for display 'primary'.
INFO:data_websocket:Broadcasting primary stream resolution to all clients: {"type": "stream_resolution", "width": 1910, "height": 952}
INFO:data_websocket:Broadcasting display config update: DISPLAY_CONFIG_UPDATE,{"type": "display_config_update", "displays": ["primary"]}
INFO:data_websocket:Display reconfiguration finished successfully.
INFO:data_websocket:Reconfiguration process complete (state unlocked).
INFO:data_websocket:Initial client settings message processed by ws_handler.
INFO:data_websocket:Initial setup: Primary client connected, audio not active, attempting start.
INFO:data_websocket:Starting pcmflux audio pipeline...
INFO:data_websocket:pcmflux settings: device='output.monitor', bitrate=320000, channels=2
INFO:data_websocket:Frame-based backpressure logic task started for display 'primary'.
[pcmflux] Attempting to connect to PulseAudio device: output.monitor...
X Shared Memory Extension available.
XShm setup complete for 1910x952.
CPU cores available: 4
Stream settings active -> Res: 1910x952 | FPS: 60.0 | Stripes: 1 | Mode: H264 (CPU) FullFrame | CRF: 25 | PaintOver CRF: 18 (Burst: 5f) | Colorspace: I420 (Limited Range) | Damage Thresh: 10f | Damage Dur: 20f
INFO:data_websocket:Client settings received, proceeding with backpressure loop for 'primary'.
INFO:data_websocket:pcmflux audio capture started successfully.
[pcmflux] SUCCESS: Connected to PulseAudio.
[pcmflux] SUCCESS: Opus encoder created.
[pcmflux] Capture loop started. Device: output.monitor, Rate: 48000, Channels: 2, Bitrate: 320 kbps, VBR: On, Silence Gate: Off, Debug Logging: Off, PCM Chunk: 3840 bytes
INFO:data_websocket:pcmflux audio chunk broadcasting task started.
INFO:data_websocket:Received START_AUDIO command from client for server-to-client audio.
INFO:data_websocket:START_AUDIO: pcmflux audio pipeline already active.
INFO:data_websocket:Received redundant resize request for primary (1910x952). No action taken.
[pcmflux] First non-silent audio chunk detected! Encoding...
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.0s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.1s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.3s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.4s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.1s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.2s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.3s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.5s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.1s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.3s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.4s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.0s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.2s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.4s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.0s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.1s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.3s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.4s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.1s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.2s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.4s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.0s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.2s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.3s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.5s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.1s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.3s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.4s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.1s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.2s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.4s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.1s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.2s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.4s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.0s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.1s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.3s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.4s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.1s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.3s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.4s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.1s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.2s. Forcing backpressure.
INFO:data_websocket:Backpressure LIFTED for 'primary'. S:92, C:92 (EffDesync:-21.7f <= Allowed:120.0f).
WARNING:data_websocket:Client stall for 'primary': No ACK in 4.4s. Forcing backpressure.Metadata
Metadata
Assignees
Labels
Type
Projects
Status