Skip to content

[BUG] Can't see Brave in Selkies #4

@s-celles

Description

@s-celles

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Hello,

I'm new to Selkies and want to have a Brave browser in my NAS which supports Docker.

My Docker compose looks like

services:
  brave:
    image: lscr.io/linuxserver/brave:latest
    container_name: brave
    security_opt:
      - seccomp:unconfined
    environment:
      - PUID=1000
      - PGID=10
      - TZ=Europe/Paris
      - CUSTOM_USER=${CUSTOM_USER}
      - PASSWORD=${PASSWORD}
    volumes:
      - /volume1/docker/brave/config:/config
    ports:
      - 3010:3000
      - 3011:3001
    shm_size: "2gb"
    restart: unless-stopped

But I can't see Brave in Selkies.

No idea what I did wrong.

Image Image

Any idea?

Expected Behavior

No response

Steps To Reproduce

  1. With my NAS (UGREEN)
  2. Docker app installed
  3. Docker composed copied
  4. Browse to http://192.168.1.x:3010

Environment

- OS:
- How docker service was installed:

CPU architecture

x86-64

Docker creation

throught Docker app UI of UGOS (UGREEN OS)

Container logs

brave  | Linuxserver.io version: 1.80.124-ls25
brave  | Build-date: 2025-07-25T21:45:33+00:00

brave  | ───────────────────────────────────────
brave  |     

brave  | [custom-init] No custom files found, skipping...

brave  | _XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.

brave  | screen 0 shmid 0


brave  | [ls.io-init] done.


brave  | 17


brave  | 18


brave  | INFO:data_websocket:pcmflux library found. Audio capture is available.


brave  | INFO:data_websocket:pixelflux library found. Striped encoding modes available.


brave  | INFO:root:Expected C js_config_t size (from ctypes): 1354 bytes


brave  | INFO:main:Upload directory ensured: /config/Desktop


brave  | INFO:main:Starting Selkies (WebSocket Mode) with args: Namespace(encoder='x264enc', framerate=60, video_bitrate=16000, dri_node='', audio_device_name='', h264_crf=25, h264_fullcolor=False, h264_streaming_mode=False, watermark_path='', watermark_location=-1, debug=False)


brave  | INFO:main:Initial Encoder: x264enc, Framerate: 60, Bitrate: 16000kbps


brave  | INFO:main:SelkiesStreamingApp initialized: encoder=x264enc, display=1024x768


brave  | INFO:main:All main components initialized. Running server...


brave  | INFO:webrtc_input:Resetting keyboard modifiers.


brave  | INFO:webrtc_input:Initializing 4 persistent gamepad instances...


brave  | INFO:root:Packed js_config payload for 'Microsoft X-Box 360 pad' (js0): len=1360 bytes. Name='Microsoft X-Box 360 pad', Vendor=0x045e, Product=0x028e, Version=0x0100, Reported Buttons=11 (Array capacity: 512), Reported Axes=8 (Array capacity: 64)


brave  | INFO:selkies_gamepad:Gamepad configured. JS socket: /tmp/selkies_js0.sock, EVDEV socket: /tmp/selkies_event1000.sock. Using fixed config: Microsoft X-Box 360 pad


brave  | INFO:webrtc_input:Initialized and started persistent gamepad instance for index 0 (Name: 'Microsoft X-Box 360 pad', JS: /tmp/selkies_js0.sock, EVDEV: /tmp/selkies_event1000.sock).


brave  | INFO:root:Packed js_config payload for 'Microsoft X-Box 360 pad' (js1): len=1360 bytes. Name='Microsoft X-Box 360 pad', Vendor=0x045e, Product=0x028e, Version=0x0100, Reported Buttons=11 (Array capacity: 512), Reported Axes=8 (Array capacity: 64)


brave  | INFO:selkies_gamepad:Gamepad configured. JS socket: /tmp/selkies_js1.sock, EVDEV socket: /tmp/selkies_event1001.sock. Using fixed config: Microsoft X-Box 360 pad


brave  | INFO:webrtc_input:Initialized and started persistent gamepad instance for index 1 (Name: 'Microsoft X-Box 360 pad', JS: /tmp/selkies_js1.sock, EVDEV: /tmp/selkies_event1001.sock).


brave  | INFO:root:Packed js_config payload for 'Microsoft X-Box 360 pad' (js2): len=1360 bytes. Name='Microsoft X-Box 360 pad', Vendor=0x045e, Product=0x028e, Version=0x0100, Reported Buttons=11 (Array capacity: 512), Reported Axes=8 (Array capacity: 64)


brave  | INFO:selkies_gamepad:Gamepad configured. JS socket: /tmp/selkies_js2.sock, EVDEV socket: /tmp/selkies_event1002.sock. Using fixed config: Microsoft X-Box 360 pad


brave  | INFO:webrtc_input:Initialized and started persistent gamepad instance for index 2 (Name: 'Microsoft X-Box 360 pad', JS: /tmp/selkies_js2.sock, EVDEV: /tmp/selkies_event1002.sock).


brave  | INFO:root:Packed js_config payload for 'Microsoft X-Box 360 pad' (js3): len=1360 bytes. Name='Microsoft X-Box 360 pad', Vendor=0x045e, Product=0x028e, Version=0x0100, Reported Buttons=11 (Array capacity: 512), Reported Axes=8 (Array capacity: 64)


brave  | INFO:selkies_gamepad:Gamepad configured. JS socket: /tmp/selkies_js3.sock, EVDEV socket: /tmp/selkies_event1003.sock. Using fixed config: Microsoft X-Box 360 pad


brave  | INFO:webrtc_input:Initialized and started persistent gamepad instance for index 3 (Name: 'Microsoft X-Box 360 pad', JS: /tmp/selkies_js3.sock, EVDEV: /tmp/selkies_event1003.sock).


brave  | INFO:webrtc_input:Starting clipboard monitor


brave  | INFO:webrtc_input:Found XFIXES version 4.0


brave  | INFO:webrtc_input:starting cursor monitor


brave  | INFO:webrtc_input:watching for cursor changes


brave  | WARNING:data_websocket:Cannot broadcast cursor data: prerequisites not met.


brave  | INFO:selkies_gamepad:Gamepad /tmp/selkies_js0.sock: Event processor started.


brave  | INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js0.sock


brave  | INFO:selkies_gamepad:Gamepad /tmp/selkies_js1.sock: Event processor started.


brave  | INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js1.sock


brave  | INFO:selkies_gamepad:Gamepad /tmp/selkies_js2.sock: Event processor started.


brave  | INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js2.sock


brave  | INFO:selkies_gamepad:Gamepad /tmp/selkies_js3.sock: Event processor started.


brave  | INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js3.sock


brave  | INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1000.sock


brave  | INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1001.sock


brave  | INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1002.sock


brave  | INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1003.sock


brave  | INFO:data_websocket:Data WebSocket Server listening on port 8082

brave  | WARNING:data_websocket:Cannot broadcast cursor data: prerequisites not met.
brave  | INFO:data_websocket:Data WebSocket connected from ('127.0.0.1', 41066)

brave  | INFO:data_websocket:Broadcasting stream resolution: {"type": "stream_resolution", "width": 1024, "height": 768}

brave  | INFO:data_websocket:Sending last known cursor to new client ('127.0.0.1', 41066)
brave  | INFO:data_websocket:Attempting to establish PulseAudio connection...
brave  | INFO:data_websocket:PulseAudio connection established.
brave  | INFO:data_websocket:Applying client settings (initial=True): {'videoBitRate': 16000000, 'videoFramerate': 60, 'videoCRF': 25, 'encoder': 'x264enc', 'h264_fullcolor': False, 'h264_streaming_mode': False, 'resizeRemote': True, 'isManualResolutionMode': False, 'manualWidth': 1024, 'manualHeight': 768, 'audioBitRate': 320000, 'videoBufferSize': 0, 'initialClientWidth': 1920, 'initialClientHeight': 836}
brave  | INFO:gst_app_resize:on_resize_handler attempting resize for: 1920x836
brave  | INFO:gst_app_resize:App dimensions updated to 1920x836 before xrandr call.
brave  | INFO:gst_app_resize:Mode 1920x836 not found in xrandr list. Attempting to add for screen 'screen'.
brave  | INFO:gst_app_resize:Successfully ran: xrandr --newmode 1920x836 131.50 1920 2024 2224 2528 836 839 849 868 -hsync +vsync
brave  | INFO:gst_app_resize:Successfully ran: xrandr --addmode screen 1920x836
brave  | INFO:gst_app_resize:Applying xrandr mode '1920x836' for screen 'screen'.
brave  | INFO:gst_app_resize:Successfully applied xrandr mode '1920x836'.

brave  | INFO:gst_app_resize:resize_display('1920x836') reported success.
brave  | INFO:data_websocket:Initial client settings processed and event set by _apply_client_settings.
brave  | INFO:data_websocket:Initial client settings message processed by ws_handler.
brave  | WARNING:data_websocket:Initial setup: Video pipeline for 'x264enc' was expected to be started by _apply_client_settings but is not. This might indicate an issue or a no-op change.
brave  | INFO:data_websocket:Initial setup: Audio pipeline not yet active, attempting start.
brave  | INFO:data_websocket:Starting pcmflux audio pipeline...
brave  | INFO:data_websocket:pcmflux settings: device='', bitrate=320000, channels=2
brave  | INFO:data_websocket:Broadcasting stream resolution: {"type": "stream_resolution", "width": 1920, "height": 836}
brave  | [pcmflux] Attempting to connect to PulseAudio device: system_default...

brave  | INFO:data_websocket:pcmflux audio capture started successfully.
brave  | INFO:data_websocket:pcmflux audio chunk broadcasting task started.
brave  | [pcmflux] SUCCESS: Connected to PulseAudio.
brave  | [pcmflux] SUCCESS: Opus encoder created.
brave  | [pcmflux] Capture loop started. Device: system_default, Rate: 48000, Channels: 2, Bitrate: 320 kbps, VBR: On, Silence Gate: Off, PCM Chunk: 3840 bytes
brave  | WARNING:webrtc_input:No clipboard content to send
brave  | INFO:data_websocket:Received START_VIDEO for encoder: x264enc
brave  | INFO:data_websocket:Starting x264enc: 1920x836 @ 60.0fps, CRF: 25, FullFrame: True
brave  | INFO:data_websocket:New frame backpressure task started (current encoder: 'x264enc').
brave  | INFO:data_websocket:x264enc capture started successfully.
brave  | INFO:data_websocket:Received START_AUDIO command from client for server-to-client audio.
brave  | INFO:data_websocket:START_AUDIO: pcmflux audio pipeline already active.
brave  | INFO:data_websocket:Frame-based backpressure logic task started.
brave  | INFO:data_websocket:Client settings received, proceeding with backpressure loop.
brave  | X Shared Memory Extension available.

brave  | XShm setup complete for 1920x836.
brave  | CPU cores available: 6
brave  | Res: 1920x836 Mode: H264 (CPU) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 4.00 EncStripes/s: 4.00
brave  | [pcmflux] First non-silent audio chunk detected! Encoding...
brave  | [pcmflux] Status | Read: 1, Silent: 0 (0.0%), Encoded: 1, Rate: 0.01 kbps
brave  | Res: 1920x836 Mode: H264 (CPU) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
brave  | Res: 1920x836 Mode: H264 (CPU) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
brave  | [pcmflux] Status | Read: 17, Silent: 0 (0.0%), Encoded: 17, Rate: 0.20 kbps
brave  | Res: 1920x836 Mode: H264 (CPU) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
brave  | Res: 1920x836 Mode: H264 (CPU) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
brave  | [pcmflux] Status | Read: 101, Silent: 0 (0.0%), Encoded: 101, Rate: 1.21 kbps
brave  | Res: 1920x836 Mode: H264 (CPU) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
brave  | Res: 1920x836 Mode: H264 (CPU) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
brave  | INFO:data_websocket:Received STOP_VIDEO
brave  | INFO:data_websocket:Stopping X11 x264-striped capture...
brave  | Capture loop stopped. X resources released.
brave  | INFO:data_websocket:Frame-based backpressure logic task cancelled.
brave  | INFO:data_websocket:Frame-based backpressure logic task finished.
brave  | INFO:data_websocket:Backpressure task was stopped. Calling _reset_frame_ids_and_notify.
brave  | INFO:data_websocket:Resetting frame IDs.
brave  | INFO:data_websocket:Broadcasting PIPELINE_RESETTING to 1 client(s).
brave  | [pcmflux] Status | Read: 99, Silent: 0 (0.0%), Encoded: 99, Rate: 1.19 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps

brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 101, Silent: 0 (0.0%), Encoded: 101, Rate: 1.21 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 99, Silent: 0 (0.0%), Encoded: 99, Rate: 1.19 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 102, Silent: 0 (0.0%), Encoded: 102, Rate: 1.22 kbps
brave  | [pcmflux] Status | Read: 99, Silent: 0 (0.0%), Encoded: 99, Rate: 1.19 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps

brave  | [pcmflux] Status | Read: 101, Silent: 0 (0.0%), Encoded: 101, Rate: 1.21 kbps
brave  | [pcmflux] Status | Read: 102, Silent: 0 (0.0%), Encoded: 102, Rate: 1.22 kbps
brave  | [pcmflux] Status | Read: 98, Silent: 0 (0.0%), Encoded: 98, Rate: 1.18 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps

brave  | [pcmflux] Status | Read: 99, Silent: 0 (0.0%), Encoded: 99, Rate: 1.19 kbps
brave  | [pcmflux] Status | Read: 101, Silent: 0 (0.0%), Encoded: 101, Rate: 1.21 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 101, Silent: 0 (0.0%), Encoded: 101, Rate: 1.21 kbps

brave  | [pcmflux] Status | Read: 99, Silent: 0 (0.0%), Encoded: 99, Rate: 1.19 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
brave  | [pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions