Skip to content

[BUG] [ARM64] Terminal Broken After Latest Update – Missing Symbols & Terminal Apps Not Working #10

@nvroot

Description

@nvroot

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

After the latest update of linuxserver/kali-linux on ARM64, the terminal is broken. It no longer displays symbols correctly, and installed terminal applications like WezTerm and Kitty fail to launch or function properly.

Image

Expected Behavior

Working terminal

Steps To Reproduce

  1. Install kali on arm64
  2. try to open terminal

Environment

- OS: Ubuntu 24.04.02
- How docker service was installed: Apt

CPU architecture

arm64

Docker creation

services:
  kali-linux:
    image: linuxserver/kali-linux:latest
    container_name: kali
    restart: unless-stopped
    security_opt:
      - seccomp:unconfined
    environment:
      - 'PUID=1000'
      - 'PGID=1000'
      - 'TZ=Asia/Baku'
      - 'SUBFOLDER=/'
      - 'TITLE=Kali'
      - 'CUSTOM_USER=username'
      - 'PASSWORD=password'
      - 'FM_HOME=/config'
      - 'NO_FULL=true'
      - 'NO_DECOR=true'
    volumes:
      - ./data:/config
    expose:
      - 3000
      - 3001
    devices:
      - /dev/dri:/dev/dri
    shm_size: "1gb"
    networks:
      - proxy
    healthcheck:
      test: ["CMD", "echo", "health"]
      interval: 60s
      timeout: 20s
      retries: 5
      start_period: 1m30s
      start_interval: 10s
networks:
  proxy:
    external: true

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:    1000
───────────────────────────────────────
[REDACTED]
-----
**** adding /dev/dri/renderD128 to video group kvm with id 993 ****
**** adding /dev/dri/card0 to video group video with id 44 ****
[custom-init] No custom files found, skipping...
_XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.
screen 0 shmid 0
[ls.io-init] done.
17
18
INFO:data_websocket:pixelflux library found. Striped encoding modes available.
INFO:root:Expected C js_config_t size (from ctypes): 1360 bytes
INFO:main:Upload directory ensured: /config/Desktop
INFO:main:Starting Selkies GStreamer (WebSocket Mode) with args: Namespace(encoder='x264enc', framerate=60, video_bitrate=16000, h264_crf=25, h264_fullcolor=False, debug=False)
INFO:main:Initial Encoder: x264enc, Framerate: 60, Bitrate: 16000kbps
MESA: error: DRM_IOCTL_VIRTGPU_GET_CAPS failed with Function not implemented
MESA: error: DRM_IOCTL_VIRTGPU_CONTEXT_INIT failed with Invalid argument, continuing without context...
MESA: error: DRM_VIRTGPU_RESOURCE_CREATE_BLOB failed with Invalid argument
MESA: error: Failed to create virtgpu AddressSpaceStream
MESA: error: DRM_VIRTGPU_RESOURCE_CREATE_BLOB failed with Invalid argument
MESA: error: Failed to create virtgpu AddressSpaceStream
MESA: error: DRM_VIRTGPU_RESOURCE_CREATE_BLOB failed with Invalid argument
MESA: error: Failed to create virtgpu AddressSpaceStream
MESA: error: DRM_VIRTGPU_RESOURCE_CREATE_BLOB failed with Invalid argument
MESA: error: Failed to create virtgpu AddressSpaceStream
MESA: error: DRM_VIRTGPU_RESOURCE_CREATE_BLOB failed with Invalid argument
MESA: error: Failed to create virtgpu AddressSpaceStream
MESA: error: DRM_VIRTGPU_RESOURCE_CREATE_BLOB failed with Invalid argument
MESA: error: Failed to create virtgpu AddressSpaceStream
MESA: error: DRM_VIRTGPU_RESOURCE_CREATE_BLOB failed with Invalid argument
MESA: error: Failed to create virtgpu AddressSpaceStream
INFO:main:GSTStreamingApp 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=0x1118, Product=0x0654, Version=0x0276, Buttons=11, Axes=8
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=0x1118, Product=0x0654, Version=0x0276, Buttons=11, Axes=8
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=0x1118, Product=0x0654, Version=0x0276, Buttons=11, Axes=8
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=0x1118, Product=0x0654, Version=0x0276, Buttons=11, Axes=8
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:gst_app:GStreamer bus handling loop finished.
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
INFO:data_websocket:Data WebSocket connected from ('127.0.0.1', 47928)
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': 2560, 'manualHeight': 1440, 'audioBitRate': 128000, 'videoBufferSize': 0, 'initialClientWidth': 1460, 'initialClientHeight': 896}
INFO:gst_app_resize:on_resize_handler attempting resize for: 1460x896
INFO:gst_app_resize:App dimensions updated to 1460x896 before xrandr call.
INFO:gst_app_resize:Mode 1460x896 not found in xrandr list. Attempting to add for screen 'screen'.
INFO:gst_app_resize:Successfully ran: xrandr --newmode 1460x896 107.50 1464 1544 1696 1928 896 899 909 930 -hsync +vsync
INFO:gst_app_resize:Successfully ran: xrandr --addmode screen 1460x896
INFO:gst_app_resize:Applying xrandr mode '1460x896' for screen 'screen'.
INFO:gst_app_resize:Successfully applied xrandr mode '1460x896'.
INFO:gst_app_resize:resize_display('1460x896') 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:gst_app:Starting WebSocket audio pipeline...
INFO:gst_app:Building WebSocket audio pipeline...
INFO:gst_app:Audio pipeline state change to PLAYING is ASYNC.
INFO:gst_app:WebSocket audio pipeline started.
INFO:data_websocket:Received DPI setting from client: 2
INFO:gst_app_resize:Successfully set XFCE DPI to 2 using xfconf-query.
INFO:gst_app_resize:Wrote 'Xft.dpi:   2' to /config/.Xresources.
INFO:gst_app_resize:Successfully loaded /config/.Xresources using xrdb.
WARNING:gst_app_resize:Failed to set GNOME text-scaling-factor using gsettings. RC: 1, Error: The provided value is outside of the valid range
INFO:data_websocket:Successfully set DPI to 2
INFO:data_websocket:Attempting to set cursor size to: 1 (based on DPI 2)
INFO:data_websocket:Successfully set cursor size to 1
INFO:data_websocket:Broadcasting stream resolution: {"type": "stream_resolution", "width": 1460, "height": 896}
WARNING:webrtc_input:No clipboard content to send
INFO:data_websocket:Received START_VIDEO for encoder: x264enc
INFO:data_websocket:Starting x264enc: 1460x896 @ 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 1460x896.
CPU cores available: 12
INFO:data_websocket:Received START_AUDIO command from client for server-to-client audio.
INFO:data_websocket:START_AUDIO: Server-to-client audio pipeline already reported as active.
INFO:data_websocket:Frame-based backpressure logic task started.
INFO:data_websocket:Client settings received, proceeding with backpressure loop.
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 55.00 EncStripes/s: 55.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 61.00 EncStripes/s: 61.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 61.00 EncStripes/s: 61.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 55.00 EncStripes/s: 55.00
INFO:data_websocket:Cleaning up Data WS handler for ('127.0.0.1', 47928)...
INFO:data_websocket:Last client (('127.0.0.1', 47928)) disconnected. Cancelling frame backpressure task.
WARNING:data_websocket:Cannot broadcast GStreamer audio: data_streaming_server.clients not available or empty. Scheduling audio pipeline shutdown.
INFO:data_websocket:No other clients in set after ('127.0.0.1', 47928) disconnected. Marking pipelines for stop.
INFO:data_websocket:Stopping global pipelines due to last client disconnect (('127.0.0.1', 47928)).
INFO:data_websocket:Stopping X11 x264-striped capture...
INFO:gst_app:Stopping WebSocket audio pipeline...
INFO:gst_app:WebSocket audio pipeline stopped.
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:Frame IDs reset, but no clients to notify.
INFO:data_websocket:Data WS handler for ('127.0.0.1', 47928) finished all cleanup.
INFO:data_websocket:Frame-based backpressure logic task started.
INFO:data_websocket:Client settings received, proceeding with backpressure loop.
INFO:data_websocket:Stats sender: WS connection closed.
WARNING:data_websocket:Cannot broadcast cursor data: prerequisites not met.
INFO:data_websocket:Data WebSocket connected from ('127.0.0.1', 47940)
INFO:data_websocket:Broadcasting stream resolution: {"type": "stream_resolution", "width": 1460, "height": 896}
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': 2560, 'manualHeight': 1440, 'audioBitRate': 128000, 'videoBufferSize': 0, 'initialClientWidth': 1460, 'initialClientHeight': 896}
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:gst_app:Starting WebSocket audio pipeline...
INFO:gst_app:Building WebSocket audio pipeline...
INFO:gst_app:Audio pipeline state change to PLAYING is ASYNC.
INFO:gst_app:WebSocket audio pipeline started.
INFO:data_websocket:Received DPI setting from client: 2
INFO:gst_app_resize:Successfully set XFCE DPI to 2 using xfconf-query.
INFO:gst_app_resize:Wrote 'Xft.dpi:   2' to /config/.Xresources.
INFO:gst_app_resize:Successfully loaded /config/.Xresources using xrdb.
WARNING:gst_app_resize:Failed to set GNOME text-scaling-factor using gsettings. RC: 1, Error: The provided value is outside of the valid range
INFO:data_websocket:Successfully set DPI to 2
INFO:data_websocket:Attempting to set cursor size to: 1 (based on DPI 2)
INFO:data_websocket:Successfully set cursor size to 1
WARNING:webrtc_input:No clipboard content to send
INFO:data_websocket:Received START_VIDEO for encoder: x264enc
INFO:data_websocket:Starting x264enc: 1460x896 @ 60.0fps, CRF: 25, FullFrame: True
INFO:data_websocket:New frame backpressure task started (current encoder: 'x264enc').
INFO:data_websocket:x264enc capture started successfully.
INFO:data_websocket:Received START_AUDIO command from client for server-to-client audio.
INFO:data_websocket:START_AUDIO: Server-to-client audio pipeline already reported as active.
X Shared Memory Extension available.
XShm setup complete for 1460x896.
CPU cores available: 12
INFO:data_websocket:Frame-based backpressure logic task started.
INFO:data_websocket:Client settings received, proceeding with backpressure loop.
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 2.00 EncStripes/s: 2.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 1.00 EncStripes/s: 1.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 31.00 EncStripes/s: 31.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 59.00 EncStripes/s: 59.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 29.00 EncStripes/s: 29.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 12.00 EncStripes/s: 12.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 5.00 EncStripes/s: 5.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 31.00 EncStripes/s: 31.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 8.00 EncStripes/s: 8.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 1.00 EncStripes/s: 1.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 2.00 EncStripes/s: 2.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 41.00 EncStripes/s: 41.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 17.00 EncStripes/s: 17.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 10.00 EncStripes/s: 10.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 10.00 EncStripes/s: 10.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 12.00 EncStripes/s: 12.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 1.00 EncStripes/s: 1.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
WARNING:data_websocket:Backpressure TRIGGERED. S:1467, C:970 (Desync:497f, EffDesync:485.1f > Allowed:120.0f). FPS:60.0, RTT:198.3ms. Disabling frame sending.
INFO:data_websocket:Backpressure LIFTED. S:1467, C:1467 (Desync:0f, EffDesync:-12.1f <= Allowed:120.0f). Enabling frame sending.
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 2.00 EncStripes/s: 2.00
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 4.00 EncStripes/s: 4.00
INFO:webrtc_input:Resetting keyboard modifiers.
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).
INFO:data_websocket:Received START_VIDEO for encoder: x264enc
INFO:data_websocket:Starting x264enc: 1460x896 @ 60.0fps, CRF: 25, FullFrame: True
INFO:data_websocket:New frame backpressure task started (current encoder: 'x264enc').
INFO:data_websocket:x264enc capture started successfully.
INFO:webrtc_input:Resetting keyboard modifiers.
X Shared Memory Extension available.
XShm setup complete for 1460x896.
CPU cores available: 12
INFO:data_websocket:Frame-based backpressure logic task started.
INFO:data_websocket:Client settings received, proceeding with backpressure loop.
INFO:webrtc_input:Set clipboard content, length: 875
INFO:webrtc_input:Sending clipboard content, length: 875
INFO:webrtc_input:Resetting keyboard modifiers.
Res: 1460x896 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 4.00 EncStripes/s: 4.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).
WARNING:data_websocket:Client stall detected: No ACK update in 4.2s. Last ACK ID: 31. Forcing backpressure.

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