Skip to content

[BUG] Command/Controll key gets stuck #32

@AndreiArdelean1

Description

@AndreiArdelean1

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

When I try to copy something from chromium using the command + c keys, the command key remains pressed until the container is restarted.

Expected Behavior

The key should remain pressed only as long as the actual key is pressed.

Steps To Reproduce

  1. Open chromium (in Chrome on macOS)
  2. Press command + c to copy a text
  3. Release all keys
  4. Press the key F and the search is triggered

Environment

- OS: Ubuntu 24.04.2 LTS
- How docker service was installed: docker compose with image lscr.io/linuxserver/chromium:latest

CPU architecture

x86-64

Docker creation

chromium:
    image: lscr.io/linuxserver/chromium:latest
    container_name: chromium
    security_opt:
      - seccomp:unconfined #optional
    environment:
      CHROME_CLI: "--disable-session-crashed-bubble  --hide-crash-restore-bubble --disable-infobars" # optional
      CUSTOM_PORT: 3000
      CUSTOM_HTTPS_PORT: 3001
      DRINODE: "/dev/dri/renderD128"
      
      TZ: ${TZ}
      PUID: ${PUID}
      PGID: ${PGID}      
    volumes:
      - ${DOCKER_DIR}/chromium/config:/config
      - /dev/shm:/dev/shm      
    devices:
      - /dev/dri:/dev/dri
      
    # ports:
    #   # http
    #   - 63647:3000
    #   # https
    #   # - 3001:3001
    networks:
      - common_network
    deploy:
      restart_policy:
        condition: any
        delay: 5s
        # max-attempts: 5
      resources:
        limits:
          cpus: '5.0'
          memory: 4096M
        reservations:
          cpus: '0.00'
          memory: 0M

Container logs

[migrations] started
[migrations] no migrations found
───────────────────────────────────────
      ██╗     ███████╗██╗ ██████╗
      ██║     ██╔════╝██║██╔═══██╗
      ██║     ███████╗██║██║   ██║
      ██║     ╚════██║██║██║   ██║
      ███████╗███████║██║╚██████╔╝
      ╚══════╝╚══════╝╚═╝ ╚═════╝
   Brought to you by linuxserver.io
───────────────────────────────────────
To support LSIO projects visit:
https://www.linuxserver.io/donate/
───────────────────────────────────────
GID/UID
───────────────────────────────────────
User UID:    1000
User GID:    1001
───────────────────────────────────────
[custom-init] No custom files found, skipping...
[ls.io-init] done.
_XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.
screen 0 shmid 0
INFO:data_websocket:pcmflux library found. Audio capture is available.
INFO:data_websocket:pixelflux library found. Striped encoding modes available.
INFO:root:Expected C js_config_t size (from ctypes): 1354 bytes
INFO:main:Upload directory ensured: /config/Desktop
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, watermark_path='', watermark_location=-1, debug=False)
INFO:main:Initial Encoder: x264enc, Framerate: 60, Bitrate: 16000kbps
INFO:main:SelkiesStreamingApp initialized: encoder=x264enc, display=1024x768
INFO:main:All main components initialized. Running server...
INFO:webrtc_input:Resetting keyboard modifiers.
INFO:webrtc_input:Initializing 4 persistent gamepad instances...
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)
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
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).
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)
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
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).
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)
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
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).
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)
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
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).
INFO:webrtc_input:Starting clipboard monitor
INFO:webrtc_input:Found XFIXES version 4.0
INFO:webrtc_input:starting cursor monitor
INFO:webrtc_input:watching for cursor changes
WARNING:data_websocket:Cannot broadcast cursor data: prerequisites not met.
INFO:selkies_gamepad:Gamepad /tmp/selkies_js0.sock: Event processor started.
INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js0.sock
INFO:selkies_gamepad:Gamepad /tmp/selkies_js1.sock: Event processor started.
INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js1.sock
INFO:selkies_gamepad:Gamepad /tmp/selkies_js2.sock: Event processor started.
INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js2.sock
INFO:selkies_gamepad:Gamepad /tmp/selkies_js3.sock: Event processor started.
INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js3.sock
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
INFO:data_websocket:Data WebSocket Server listening on port 8082
WARNING:data_websocket:Cannot broadcast cursor data: prerequisites not met.
WARNING:data_websocket:Cannot broadcast cursor data: prerequisites not met.
WARNING:data_websocket:Cannot broadcast cursor data: prerequisites not met.
INFO:data_websocket:Data WebSocket connected from ('127.0.0.1', 48644)
INFO:data_websocket:Broadcasting stream resolution: {"type": "stream_resolution", "width": 1024, "height": 768}
INFO:data_websocket:Attempting to establish PulseAudio connection...
INFO:data_websocket:PulseAudio connection established.
INFO:data_websocket:Applying client settings (initial=True): {'videoBitRate': 16000000, 'videoFramerate': 60, 'videoCRF': 25, 'encoder': 'x264enc', 'h264_fullcolor': False, 'resizeRemote': True, 'isManualResolutionMode': False, 'manualWidth': 1024, 'manualHeight': 768, 'audioBitRate': 320000, 'videoBufferSize': 0, 'initialClientWidth': 3456, 'initialClientHeight': 1746}
INFO:gst_app_resize:on_resize_handler attempting resize for: 3456x1746
INFO:gst_app_resize:App dimensions updated to 3456x1746 before xrandr call.
INFO:gst_app_resize:Mode 3456x1746 not found in xrandr list. Attempting to add for screen 'screen'.
INFO:gst_app_resize:Successfully ran: xrandr --newmode 3456x1746 513.75 3456 3720 4096 4736 1746 1749 1759 1809 -hsync +vsync
INFO:gst_app_resize:Successfully ran: xrandr --addmode screen 3456x1746
INFO:gst_app_resize:Applying xrandr mode '3456x1746' for screen 'screen'.
INFO:gst_app_resize:Successfully applied xrandr mode '3456x1746'.
INFO:gst_app_resize:resize_display('3456x1746') reported success.
INFO:data_websocket:Initial client settings processed and event set by _apply_client_settings.
INFO:data_websocket:Initial client settings message processed by ws_handler.
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.
INFO:data_websocket:Initial setup: Audio pipeline not yet active, attempting start.
INFO:data_websocket:Starting pcmflux audio pipeline...
INFO:data_websocket:pcmflux settings: device='', bitrate=320000, channels=2
INFO:data_websocket:Broadcasting stream resolution: {"type": "stream_resolution", "width": 3456, "height": 1746}
[pcmflux] Attempting to connect to PulseAudio device: system_default...
INFO:data_websocket:pcmflux audio capture started successfully.
INFO:data_websocket:pcmflux audio chunk broadcasting task started.
[pcmflux] SUCCESS: Connected to PulseAudio.
[pcmflux] SUCCESS: Opus encoder created.
[pcmflux] Capture loop started. Device: system_default, Rate: 48000, Channels: 2, Bitrate: 320 kbps, VBR: On, Silence Gate: Off, PCM Chunk: 3840 bytes
WARNING:webrtc_input:No clipboard content to send
INFO:data_websocket:Received START_AUDIO command from client for server-to-client audio.
INFO:data_websocket:START_AUDIO: pcmflux audio pipeline already active.
[pcmflux] First non-silent audio chunk detected! Encoding...
[pcmflux] Status | Read: 1, Silent: 0 (0.0%), Encoded: 1, Rate: 0.01 kbps
INFO:webrtc_input:Set clipboard content, length: 1248
INFO:webrtc_input:Sending clipboard content, length: 1248
[pcmflux] Status | Read: 17, Silent: 0 (0.0%), Encoded: 17, Rate: 0.20 kbps
INFO:data_websocket:Received STOP_VIDEO
[pcmflux] Status | Read: 102, Silent: 0 (0.0%), Encoded: 102, Rate: 1.22 kbps
[pcmflux] Status | Read: 98, Silent: 0 (0.0%), Encoded: 98, Rate: 1.18 kbps
INFO:data_websocket:Received START_VIDEO for encoder: x264enc
INFO:data_websocket:Starting x264enc: 3456x1746 @ 60.0fps, CRF: 25, FullFrame: True
INFO:data_websocket:New frame backpressure task started (current encoder: 'x264enc').
INFO:data_websocket:x264enc capture started successfully.
X Shared Memory Extension available.
XShm setup complete for 3456x1746.
INFO:data_websocket:Frame-based backpressure logic task started.
CPU cores available: 8
INFO:data_websocket:Client settings received, proceeding with backpressure loop.
INFO:webrtc_input:Set clipboard content, length: 1248
[pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
Res: 3456x1746 Mode: H264 (CPU) CS_IN:I420 LR FF Stripes: 1 CRF:25 CapFPS: 5.00 Jobs/s: 5.00
Res: 3456x1746 Mode: H264 (CPU) CS_IN:I420 LR FF Stripes: 1 CRF:25 CapFPS: 4.00 Jobs/s: 4.00
[pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
Res: 3456x1746 Mode: H264 (CPU) CS_IN:I420 LR FF Stripes: 1 CRF:25 CapFPS: 4.00 Jobs/s: 4.00
Res: 3456x1746 Mode: H264 (CPU) CS_IN:I420 LR FF Stripes: 1 CRF:25 CapFPS: 10.00 Jobs/s: 10.00
INFO:data_websocket:Received STOP_VIDEO
INFO:data_websocket:Stopping X11 x264-striped capture...
Capture loop stopped. X resources released.
INFO:data_websocket:Frame-based backpressure logic task cancelled.
INFO:data_websocket:Frame-based backpressure logic task finished.
INFO:data_websocket:Backpressure task was stopped. Calling _reset_frame_ids_and_notify.
INFO:data_websocket:Resetting frame IDs.
INFO:data_websocket:Broadcasting PIPELINE_RESETTING to 1 client(s).
[pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
[pcmflux] Status | Read: 100, Silent: 0 (0.0%), Encoded: 100, Rate: 1.20 kbps
[pcmflux] Status | Read: 102, Silent: 0 (0.0%), Encoded: 102, Rate: 1.22 kbps

Metadata

Metadata

Assignees

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