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

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions