Skip to content

DreamConnect v1.4

Choose a tag to compare

@ghostpsalm ghostpsalm released this 28 Jul 13:28

Keyboard fidelity, multi-monitor capture, and a second reboot-survival path.

  • Layout-independent keyboard (H1) — character keys inject as a base X11
    keysym via Mutter's NotifyKeyboardKeysym, resolved on the guest's layout,
    so the right character lands on US, QWERTZ, AZERTY, etc. Modifiers and
    functional keys stay evdev (position-based, correct on every layout).
    Empirically verified with a focused key-logger on German and US layouts.

  • Multi-monitor capture (H2) — the daemon now captures the whole logical
    desktop via RecordArea over the bounding box of all logical monitors,
    auto-enabled when more than one is present (or forced with
    --all-monitors), falling back to the proven single-monitor RecordMonitor
    otherwise. Verified on a single-monitor box with no regression; true
    multi-monitor spanning is architecturally in place but not yet confirmed
    end to end on multi-monitor hardware.

  • Dedicated display-host account (H6) — a second way to survive an
    unattended reboot alongside autologin: DREAMCONNECT_HOST_ACCOUNT=<name>
    creates a hidden, sudo-less, password-disabled account and runs the daemon
    there instead, so no human's session is ever exposed. This release also
    fixes a startup race found in on-device testing: loginctl enable-linger
    starts the account's systemd user manager asynchronously, and the installer
    could try to configure its user service before the manager's bus was up,
    aborting a first-time install. The account path is code-complete and unit
    tested but still needs a full on-device reboot verification
    — treat it as
    best-effort until that's done.

  • Fixed the GDM-autologin WaylandEnable=false warning to only fire when the
    session actually isn't Wayland, instead of on every autologin install
    regardless of whether the setting could bite.

Install

curl -fsSL https://github.com/ghostpsalm/DreamConnect/releases/latest/download/dreamconnect-install.sh | sudo bash

Add DREAMCONNECT_AUTOLOGIN=1 before bash for unattended/reboot survival, or
DREAMCONNECT_HOST_ACCOUNT=<name> for the dedicated-account path above.