-
-
Notifications
You must be signed in to change notification settings - Fork 315
Description
Is there an existing issue for this?
- I have searched the existing issues
Current Behavior
Scaling is not working as expected on arm64v8-ubuntu-xfce. Refer to following screen shot.

My laptop has 3840x2400 resolution with 300% scaling. When I am using webtop on the laptop resolution of webtop has been changed to 3840x2160, but scaling has not effect. This may occur the above bug.
Changing resolution to 1920x1080 also does help me.
If I changes scaling from selkies pannel. It ask me to restart container and may fix scaling for all. It will create same issue with different resolutions like using the same webtop on my pc which has 1920x1080 resolution. Further, scaling doesn't increase size, but only increase font size, due to this, text gets mess with each other.
I have tried other image i.e. arm64v8-ubuntu-mate. It also has the same issue, but in this image it allow me to change scaling from "Monitor Preference" window in the webtop.
Expected Behavior
UI Scaling in selkies pane should change display scale like windows does.
Steps To Reproduce
Run using docker compose
Environment
- OS: Windows 11, 3840x2400
- Image: arm64v8-ubuntu-xfceCPU architecture
x86-64
Docker creation
- Docker-compose:
webtop:
image: lscr.io/linuxserver/webtop:arm64v8-ubuntu-xfce
container_name: webtop
hostname: webtop
security_opt:
- seccomp:unconfined #optional
environment:
- PUID=1001
- PGID=1001
- TZ=Asia/Koltaka
- TITLE=WebTop #optional
- CUSTOM_PORT=80
- CUSTOM_HTTPS_PORT=443
- DOCKER_MTU=1344
volumes:
# - ./volumes/webtop/config:/config
# - ./volumes/webtop/kasm-user/:/home/kasm-user/
# - ./volumes/webtop/custom-files:/custom-cont-init.d:ro
- /var/run/docker.sock:/var/run/docker.sock #optional
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- 3000:80
- 3001:443
shm_size: "1gb" #optional
restart: unless-stoppedContainer logs
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', 60256)
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': 128000, 'videoBufferSize': 0, 'initialClientWidth': 3840, 'initialClientHeight': 2160}
INFO:gst_app_resize:on_resize_handler attempting resize for: 3840x2160
INFO:gst_app_resize:App dimensions updated to 3840x2160 before xrandr call.
INFO:gst_app_resize:Mode 3840x2160 not found in xrandr list. Attempting to add for screen 'screen'.
INFO:gst_app_resize:Successfully ran: xrandr --newmode 3840x2160 712.75 3840 4160 4576 5312 2160 2163 2168 2237 -hsync +vsync
INFO:gst_app_resize:Successfully ran: xrandr --addmode screen 3840x2160
INFO:gst_app_resize:Applying xrandr mode '3840x2160' for screen 'screen'.
INFO:gst_app_resize:Successfully applied xrandr mode '3840x2160'.
INFO:gst_app_resize:resize_display('3840x2160') 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:Broadcasting stream resolution: {"type": "stream_resolution", "width": 3840, "height": 2160}
WARNING:webrtc_input:No clipboard content to send
INFO:data_websocket:Received START_VIDEO for encoder: x264enc
INFO:data_websocket:Starting x264enc: 3840x2160 @ 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:Frame-based backpressure logic task started.
INFO:data_websocket:Client settings received, proceeding with backpressure loop.
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 3840x2160.
CPU cores available: 4
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:webrtc_input:Resetting keyboard modifiers.
INFO:webrtc_input:Set clipboard content, length: 873
INFO:data_websocket:Received START_VIDEO for encoder: x264enc
INFO:data_websocket:Starting x264enc: 3840x2160 @ 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:Frame-based backpressure logic task started.
INFO:data_websocket:Client settings received, proceeding with backpressure loop.
X Shared Memory Extension available.
XShm setup complete for 3840x2160.
CPU cores available: 4
INFO:webrtc_input:Sending clipboard content, length: 846
INFO:data_websocket:Cleaning up Data WS handler for ('127.0.0.1', 60256)...
INFO:data_websocket:Last client (('127.0.0.1', 60256)) 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', 60256) disconnected. Marking pipelines for stop.
INFO:data_websocket:Stopping global pipelines due to last client disconnect (('127.0.0.1', 60256)).
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', 60256) 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.Metadata
Metadata
Assignees
Labels
Type
Projects
Status