Skip to content

[BUG] dolphin won't run unless I disable WAYLAND #8

Description

@tf486486-design

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Hello,

I can't get docker dolphin to work correctly with WAYLAND
I have a black screen unless I disable Wayland "PIXELFLUX_WAYLAND=false"
But with PIXELFLUX_WAYLAND=false, still using old X11 and games are running at 15% speed.

Still using a very old NVIDIA QUADRO P600 GPU (but it should work with dolphin), a Ryzen 7 2700x CPU and 8GB of RAM.

The compose file:
....
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- PIXELFLUX_WAYLAND=false
- AUTO_GPU=true
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=all
devices:
- /dev/dri:/dev/dri
volumes:
- /data/dolphin/config:/config
ports:
- 3000:3000
- 3001:3001
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [compute,video,graphics,utility]

And the driver installed:
| NVIDIA-SMI 550.163.01 Driver Version: 550.163.01 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 Quadro P600 Off | 00000000:01:00.0 Off | N/A |
| 34% 34C P8 N/A / N/A | 14MiB / 2048MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 596695 G labwc 1MiB |

Expected Behavior

No response

Steps To Reproduce

.

Environment

- OS:
- How docker service was installed:

CPU architecture

x86-64

Docker creation

services:
  dolphin:
    image: lscr.io/linuxserver/dolphin:latest
    container_name: dolphin
    shm_size: "2gb"
    security_opt:
      - seccomp=unconfined
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - PIXELFLUX_WAYLAND=false
     # - DRINODE=/dev/dri/renderD128
     # - DRI_NODE=/dev/dri/renderD128
      - AUTO_GPU=true
      - NVIDIA_VISIBLE_DEVICES=all
      - NVIDIA_DRIVER_CAPABILITIES=all
    devices:
      - /dev/dri:/dev/dri
    volumes:
      - /data/dolphin/config:/config 
    ports:
      - 3000:3000
      - 3001:3001
    restart: unless-stopped
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [compute,video,graphics,utility]

Container logs

INFO:selkies_gamepad:Gamepad /tmp/selkies_event1000.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1000.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 1.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1000.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1000.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 2.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1001.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1001.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 2.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1002.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1002.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 2.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1003.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1003.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 2.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1000.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1000.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 3.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1001.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1001.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 3.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1002.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1002.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 3.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1003.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1003.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 3.
INFO:selkies_gamepad:Gamepad /tmp/selkies_js0.sock Client  (JS): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_js0.sock Client  (JS): Added to active list. Total JS clients: 1.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1000.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1000.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 4.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1000.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1000.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 5.
INFO:selkies_gamepad:Gamepad /tmp/selkies_js1.sock Client  (JS): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_js1.sock Client  (JS): Added to active list. Total JS clients: 1.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1001.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1001.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 4.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1001.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1001.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 5.
INFO:selkies_gamepad:Gamepad /tmp/selkies_js2.sock Client  (JS): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_js2.sock Client  (JS): Added to active list. Total JS clients: 1.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1002.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1002.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 4.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1002.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1002.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 5.
INFO:selkies_gamepad:Gamepad /tmp/selkies_js3.sock Client  (JS): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_js3.sock Client  (JS): Added to active list. Total JS clients: 1.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1003.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1003.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 4.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1003.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1003.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 5.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1000.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1000.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 6.
INFO:selkies_gamepad:Gamepad /tmp/selkies_js0.sock Client  (JS): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_js0.sock Client  (JS): Added to active list. Total JS clients: 2.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1000.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1000.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 7.
INFO:selkies_gamepad:Gamepad /tmp/selkies_js1.sock Client  (JS): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_js1.sock Client  (JS): Added to active list. Total JS clients: 2.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1001.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1001.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 6.
INFO:selkies_gamepad:Gamepad /tmp/selkies_js2.sock Client  (JS): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_js2.sock Client  (JS): Added to active list. Total JS clients: 2.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1002.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1002.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 6.
INFO:selkies_gamepad:Gamepad /tmp/selkies_js3.sock Client  (JS): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_js3.sock Client  (JS): Added to active list. Total JS clients: 2.
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1003.sock Client  (EVDEV): Received arch specifier: 8 bytes (64-bit).
INFO:selkies_gamepad:Gamepad /tmp/selkies_event1003.sock Client  (EVDEV): Added to active list. Total EVDEV clients: 6.
INFO:data_websocket:Legacy client ('127.0.0.1', 38456) connected. Role: controller, Slot: None
INFO:data_websocket:Data WebSocket connected from ('127.0.0.1', 38456)
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 and sanitizing client settings for 'primary' (initial=True)
INFO:data_websocket:DPI changed from None to 120. Applying system-level change.
INFO:data_websocket:Wayland Settings: Executing 'wlr-randr --output WL-1 --scale 1.25' on wayland-0
INFO:data_websocket:Initial setup or dimensional change detected for 'primary'. Performing full display reconfiguration.
INFO:data_websocket:Starting display reconfiguration...
INFO:data_websocket:Calculating new extended desktop layout from ALL clients...
INFO:data_websocket:Layout calculated: Total Size=1920x876. Layouts: {'primary': {'x': 0, 'y': 0, 'w': 1920, 'h': 876}}
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=1920x876, Offset=0x0
INFO:data_websocket:Registered Wayland cursor callback for 'primary'
[Wayland] Configuring Output: 1920x876 @ 60.00 FPS (Scale 1.00)
INFO:data_websocket:Video chunk sender started for display 'primary'.
INFO:data_websocket:SUCCESS: Capture started for 'primary'.
INFO:data_websocket:Broadcasting primary stream resolution to all clients: {"type": "stream_resolution", "width": 1920, "height": 876}
INFO:data_websocket:Broadcasting display config update: DISPLAY_CONFIG_UPDATE,{"type": "display_config_update", "displays": ["primary"]}
INFO:data_websocket:Display reconfiguration finished successfully.
INFO:data_websocket:Reconfiguration process complete (state unlocked).
[Wayland] CPU encoding selected (use_cpu=true or encode_node_index=-1).
[Wayland] Decision: Readback path (encode thread) active.
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
Stream settings active -> Res: 1920x876 | 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
[pcmflux] Attempting to connect to PulseAudio device: output.monitor (latency 10ms)
[pcmflux] SUCCESS: Connected to PulseAudio.
[pcmflux] SUCCESS: Opus encoder created (2 ch).
[pcmflux] Capture loop started. Device: output.monitor, Rate: 48000, Channels: 2, Bitrate: 320 kbps, VBR: On, Silence Gate: Off
INFO:data_websocket:pcmflux audio capture started successfully.
INFO:data_websocket:pcmflux audio chunk broadcasting task started.
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:Received redundant resize request for primary (1920x876). No action taken.
[pcmflux] First non-silent audio chunk detected! Encoding...

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions