Open
Description
Is there an existing issue for this?
- I have searched the existing issues
Current Behavior
When I open a session of Chromium or Chrome, I have to set the video options to display the way I want the browser to display (turn off HiDPI and set 1920x1080 preset usually). However, the next time I open a session everything is back to where it was and I have to set my preferences again.
Expected Behavior
Ideally, it would store the info in a cookie so it knew from session to session what my Selkies preferences were.
Steps To Reproduce
- Using Chrome or Safari, Open Chromium WebView (I am running all my containers on Unraid 7.1.4).
- Notice that all of the preferences (or most of them) are back at what I assume are the Defaults. Most notably, The Gamepad controls, audio, and video preferences all seem to revert every session.
- Set preferences the way you like.
- Close web view.
- Open web view again and see that all the preferences have reverted again.
Environment
- OS: Unraid 7.1.4
- How docker service was installed: Through the Community Apps plugin, like most things on Unraid.
Docker creation
docker run
-d
--name='chromium'
--entrypoint='/opt/unraid/tailscale'
--net='wg2'
--pids-limit 2048
-e TZ="America/New_York"
-e HOST_OS="Unraid"
-e HOST_HOSTNAME="Eeyore"
-e HOST_CONTAINERNAME="chromium"
-e 'CHROME_CLI'='https://www.linuxserver.io/'
-e 'PUID'='99'
-e 'PGID'='100'
-e 'UMASK'='022'
-e TAILSCALE_HOSTNAME='Chromium'
-e TAILSCALE_ALLOW_LAN_ACCESS='false'
-e TAILSCALE_USE_SSH='false'
-e TAILSCALE_USERSPACE_NETWORKING='false'
-e TAILSCALE_SERVE_PORT='3000'
-e ORG_ENTRYPOINT="/init"
-l net.unraid.docker.managed=dockerman
-l net.unraid.docker.webui='http://[IP]:[PORT:3000]'
-l net.unraid.docker.icon='https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/chromium-logo.png'
-l net.unraid.docker.tailscale.webui='https://[hostname][magicdns]'
-l net.unraid.docker.tailscale.hostname='Chromium'
-p '5000:3000/tcp'
-p '5001:3001/tcp'
-v '/mnt/cache/appdata/chromium':'/config':'rw'
-v '/usr/local/share/docker/tailscale_container_hook':'/opt/unraid/tailscale'
--cap-add=NET_ADMIN
--device='/dev/net/tun'
--shm-size=1gb
--device /dev/dri:/dev/dri 'ghcr.io/linuxserver/chromium:latest'
4b797ea336f2a356514e7de80bb2aceac4e46efa29fd75e7428e1b18c0af1ae2
Container logs
=======================
Executing Unraid Docker Hook for Tailscale
Detecting Package Manager...
Detected Advanced Package Tool!
Installing packages...
Please wait...
Packages installed!
Tailscale not found, downloading...
Please wait...
/tmp/tailscale/tail 0%[ ] 0 --.-KB/s
/tmp/tailscale/tail 0%[ ] 75.79K 371KB/s
/tmp/tailscale/tail 0%[ ] 307.00K 751KB/s
/tmp/tailscale/tail 3%[ ] 1.12M 1.85MB/s
/tmp/tailscale/tail 12%[=> ] 4.01M 4.96MB/s
/tmp/tailscale/tail 29%[====> ] 9.11M 9.02MB/s
/tmp/tailscale/tail 65%[============> ] 20.30M 16.8MB/s
/tmp/tailscale/tail 92%[=================> ] 28.71M 19.4MB/s
/tmp/tailscale/tail 100%[===================>] 31.10M 19.0MB/s in 1.6s
Download from Tailscale version 1.84.0 successful!
Installation Done!
Settings Tailscale state dir to: /config/.tailscale_state
Setting host name to "Chrome"
Starting tailscaled with log file location: /var/log/tailscaled
Starting tailscale
Enabling Serve! See https://tailscale.com/kb/1312/serve
Available within your tailnet:
https://chrome.minotaur-halfbeak.ts.net/
|-- proxy http://localhost:3000
Serve started and running in the background.
Starting container...
=======================
[custom-init] No custom services found, skipping...
[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: 99
User GID: 100
───────────────────────────────────────
**** creating video group video5jbe with id 18 ****
**** adding /dev/dri/renderD128 to video group video5jbe with id 18 ****
**** permissions for /dev/dri/card0 are good ****
[custom-init] No custom files found, skipping...
[ls.io-init] done.
Can't open display :1
Can't open display :1
Can't open display :1
_XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.
screen 0 shmid 0
17
18
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 GStreamer (WebSocket Mode) with args: Namespace(encoder='x264enc', framerate=60, video_bitrate=16000, h264_crf=25, h264_fullcolor=False, watermark_path='', watermark_location=-1, debug=False)
INFO:main:Initial Encoder: x264enc, Framerate: 60, Bitrate: 16000kbps
(gst-plugin-scanner:1120): GLib-GObject-WARNING **: 20:21:05.896: cannot register existing type 'GstRtpSrc'
(gst-plugin-scanner:1120): GLib-GObject-CRITICAL **: 20:21:05.896: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
(gst-plugin-scanner:1120): GLib-CRITICAL **: 20:21:05.896: g_once_init_leave: assertion 'result != 0' failed
(gst-plugin-scanner:1120): GStreamer-CRITICAL **: 20:21:05.896: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed
(gst-plugin-scanner:1120): GLib-GObject-WARNING **: 20:21:05.897: cannot register existing type 'GstRtpSink'
(gst-plugin-scanner:1120): GLib-GObject-CRITICAL **: 20:21:05.897: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
(gst-plugin-scanner:1120): GLib-CRITICAL **: 20:21:05.897: g_once_init_leave: assertion 'result != 0' failed
(gst-plugin-scanner:1120): GStreamer-CRITICAL **: 20:21:05.897: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed
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=0x045e, Product=0x028e, Version=0x0100, Reported Buttons=13 (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=13 (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=13 (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=13 (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.
WARNING:data_websocket:Cannot broadcast cursor data: prerequisites not met.
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', 33152)
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': 4112, 'initialClientHeight': 2222}
INFO:gst_app_resize:on_resize_handler attempting resize for: 4112x2222
INFO:gst_app_resize:App dimensions updated to 4112x2222 before xrandr call.
INFO:gst_app_resize:Mode 4112x2222 not found in xrandr list. Attempting to add for screen 'screen'.
INFO:gst_app_resize:Successfully ran: xrandr --newmode 4112x2222 786.25 4112 4456 4904 5696 2222 2225 2235 2301 -hsync +vsync
INFO:gst_app_resize:Successfully ran: xrandr --addmode screen 4112x2222
INFO:gst_app_resize:Applying xrandr mode '4112x2222' for screen 'screen'.
INFO:gst_app_resize:Successfully applied xrandr mode '4112x2222'.
INFO:gst_app_resize:resize_display('4112x2222') 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": 4112, "height": 2222}
WARNING:webrtc_input:No clipboard content to send
INFO:data_websocket:Received START_VIDEO for encoder: x264enc
INFO:data_websocket:Starting x264enc: 4112x2222 @ 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.
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 4112x2222.
CPU cores available: 16
Res: 4112x2222 Mode: H264 CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 3.00 EncStripes/s: 3.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).
Metadata
Metadata
Assignees
Labels
Type
Projects
Status