Skip to content

[BUG] Calibre fails to start after updating to v8.11.0-ls358 #194

@Chirishman

Description

@Chirishman

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Calibre does not start on latest container version. The screenshots generated by your CI show that the application didn't start versus the prior releases where the GUI is present so I'm not sure how that was counted as a pass.

Your CI/CD should probably be enhanced to determine whether the process for desired application the container is hosting is actually running.

Expected Behavior

The application that the container is hosting actually starts

Steps To Reproduce

  1. Start the container (or look at your CI/CD's screenshot output)
  2. Observe that the target application is not running

Environment

- OS: Ubuntu 24.04.2 LTS
- How docker service was installed:
Not Relevant

CPU architecture

x86-64

Docker creation

volumes:
  calibre_config:
    driver: local
    driver_opts:
      type: none
      device: "/var/containers/dockerconfigs/calibre"
      o: bind
services:
  calibre:
    image: lscr.io/linuxserver/calibre:latest
    deploy:
      placement:
        constraints:
          - "node.labels.role==nas"
#    security_opt:
#      - seccomp:unconfined #optional
    environment:
      - PUID=1001
      - PGID=1002
      - TZ=America/New_York
#      - PASSWORD= #optional
#      - CLI_ARGS= #optional
    volumes:
      - calibre_config:/config
      - /mnt/nvme1/literary:/literary
    ports:
      - 8180:8080
      - 8181:8181
      - 8081:8081

Container logs

───────────────────────────────────────

      ██╗     ███████╗██╗ ██████╗
      ██║     ██╔════╝██║██╔═══██╗
      ██║     ███████╗██║██║   ██║
      ██║     ╚════██║██║██║   ██║
      ███████╗███████║██║╚██████╔╝
      ╚══════╝╚══════╝╚═╝ ╚═════╝

   Brought to you by linuxserver.io
───────────────────────────────────────

To support LSIO projects visit:
https://www.linuxserver.io/donate/

───────────────────────────────────────
GID/UID
───────────────────────────────────────

User UID:    1001
User GID:    1002
───────────────────────────────────────
Linuxserver.io version: v8.11.0-ls358
Build-date: 2025-09-26T03:21:18+00:00
───────────────────────────────────────

[custom-init] No custom files found, skipping...
xsettingsd: Loaded 5 settings from /config/.xsettingsd
xsettingsd: Unable to open connection to X server
_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root
screen 0 shmid 0
[ls.io-init] done.
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Could not resolve keysym XF86CameraAccessEnable
> Warning:          Could not resolve keysym XF86CameraAccessDisable
> Warning:          Could not resolve keysym XF86CameraAccessToggle
> Warning:          Could not resolve keysym XF86NextElement
> Warning:          Could not resolve keysym XF86PreviousElement
> Warning:          Could not resolve keysym XF86AutopilotEngageToggle
> Warning:          Could not resolve keysym XF86MarkWaypoint
> Warning:          Could not resolve keysym XF86Sos
> Warning:          Could not resolve keysym XF86NavChart
> Warning:          Could not resolve keysym XF86FishingChart
> Warning:          Could not resolve keysym XF86SingleRangeRadar
> Warning:          Could not resolve keysym XF86DualRangeRadar
> Warning:          Could not resolve keysym XF86RadarOverlay
> Warning:          Could not resolve keysym XF86TraditionalSonar
> Warning:          Could not resolve keysym XF86ClearvuSonar
> Warning:          Could not resolve keysym XF86SidevuSonar
> Warning:          Could not resolve keysym XF86NavInfo
Errors from xkbcomp are not fatal to the X server
19
20
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='output.monitor', h264_crf=25, h264_fullcolor=False, h264_streaming_mode=False, watermark_path='', watermark_location=-1, port=8082, 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:System DPI detected as ~96. Cursor size cap set to 32x32px.
INFO:webrtc_input:Resetting keyboard modifiers.
INFO:webrtc_input:Clipboard monitor running (binary mode: False)
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: no clients connected or server not ready.
INFO:data_websocket:Data WebSocket Server listening on port 8082
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: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
xsettingsd: Loaded 5 settings from /config/.xsettingsd
xsettingsd: Created window 0x1400001 on screen 0 with timestamp 174983022
xsettingsd: Selection _XSETTINGS_S0 is owned by 0x0
xsettingsd: Took ownership of selection _XSETTINGS_S0
INFO:data_websocket:Data WebSocket connected from ('127.0.0.1', 55274)
INFO:data_websocket:Sending last known cursor to new client ('127.0.0.1', 55274)
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 client settings for 'primary' (initial=True): {'videoBitRate': 8000, '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': 2258, 'initialClientHeight': 1296, 'jpeg_quality': 60, 'paint_over_jpeg_quality': 90, 'use_cpu': False, 'h264_paintover_crf': 18, 'h264_paintover_burst_frames': 5, 'use_paint_over_quality': True, 'scaling_dpi': 96, 'enableBinaryClipboard': False, 'displayId': 'primary', 'displayPosition': 'right'}
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: 360.
xsettingsd: Reloading configuration
xsettingsd: Loaded 5 settings from /config/.xsettingsd
INFO:gst_app_resize:Sent SIGHUP to xsettingsd process 360 to reload config.
WARNING:data_websocket:Pipeline is inactive for the initial client. Forcing a start.
INFO:data_websocket:Client settings for 'primary' or resolution changed, triggering full display reconfiguration.
INFO:data_websocket:Calculating new extended desktop layout from ALL clients...
INFO:data_websocket:Aligned total width from 2258 to 2264 for xrandr.
INFO:data_websocket:Layout calculated: Total Size=2264x1296. Layouts: {'primary': {'x': 0, 'y': 0, 'w': 2258, 'h': 1296}}
INFO:data_websocket:Mode 2264x1296 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=2258x1296, 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": 2258, "height": 1296}
INFO:data_websocket:Broadcasting display config update: DISPLAY_CONFIG_UPDATE,{"type": "display_config_update", "displays": ["primary"]}
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'.
INFO:data_websocket:Client settings received, proceeding with backpressure loop for 'primary'.
[pcmflux] Attempting to connect to PulseAudio device: output.monitor...
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: output.monitor, Rate: 48000, Channels: 2, Bitrate: 320 kbps, VBR: On, Silence Gate: Off, Debug Logging: Off, PCM Chunk: 3840 bytes
X Shared Memory Extension available.
XShm setup complete for 2258x1296.
CPU cores available: 16
Stream settings active -> Res: 2258x1296 | 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 START_VIDEO for 'primary'. Starting stream without reconfiguring layout.
WARNING:data_websocket:Capture instance for 'primary' already exists. Skipping start.
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
INFO:data_websocket:New frame backpressure task started for display 'primary'.
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:Frame-based backpressure logic task started for display 'primary'.
INFO:data_websocket:Client settings received, proceeding with backpressure loop for 'primary'.
[pcmflux] First non-silent audio chunk detected! Encoding...

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