Skip to content

Windows startup detection always times out #855

@Leonito2003

Description

@Leonito2003

What happened?

If I start a winapps program while the Windows VM if off, the VM is turned on as expected and windows boots quickly, but winapps never detects it and times out after 2 mins so the app is never started.
However, if I launch the app again after windows has finished starting it opens as expected, even if the boot timer is still runing in the background and eventually sends a "failed to boot" notification. The app continues to rune fine during and after the timer.
Every subsequent app start works as expected, and the issue is not present after pausing/unpausing the VM.

Your FreeRDP version and where you got it from

FreeRDP 2:3.20.0-1 (Arch extra)

Your Linux distribution and version

Arch

Your winapps.conf

##################################
#   WINAPPS CONFIGURATION FILE   #
##################################

# INSTRUCTIONS
# - Leading and trailing whitespace are ignored.
# - Empty lines are ignored.
# - Lines starting with '#' are ignored.
# - All characters following a '#' are ignored.

# [WINDOWS USERNAME]
RDP_USER="REDACTED"

# [WINDOWS PASSWORD]
# NOTES:
# - If using FreeRDP v3.9.0 or greater, you *have* to set a password
RDP_PASS="REDACTED"

# [WINDOWS DOMAIN]
# DEFAULT VALUE: '' (BLANK)
RDP_DOMAIN=""

# [WINDOWS IPV4 ADDRESS]
# NOTES:
# - If using 'libvirt', 'RDP_IP' will be determined by WinApps at runtime if left unspecified.
# DEFAULT VALUE:
# - 'docker': '127.0.0.1'
# - 'podman': '127.0.0.1'
# - 'libvirt': '' (BLANK)
RDP_IP=""

# [VM NAME]
# NOTES:
# - Only applicable when using 'libvirt'
# - The libvirt VM name must match so that WinApps can determine VM IP, start the VM, etc.
# DEFAULT VALUE: 'RDPWindows'
VM_NAME="RDPWindows"

# [WINAPPS BACKEND]
# DEFAULT VALUE: 'docker'
# VALID VALUES:
# - 'docker'
# - 'podman'
# - 'libvirt'
# - 'manual'
WAFLAVOR="libvirt"

# [DISPLAY SCALING FACTOR]
# NOTES:
# - If an unsupported value is specified, a warning will be displayed.
# - If an unsupported value is specified, WinApps will use the closest supported value.
# DEFAULT VALUE: '100'
# VALID VALUES:
# - '100'
# - '140'
# - '180'
RDP_SCALE="100"

# [MOUNTING REMOVABLE PATHS FOR FILES]
# NOTES:
# - By default, `udisks` (which you most likely have installed) uses /run/media for mounting removable devices.
#   This improves compatibility with most desktop environments (DEs).
# ATTENTION: The Filesystem Hierarchy Standard (FHS) recommends /media instead. Verify your system's configuration.
# - To manually mount devices, you may optionally use /mnt.
# REFERENCE: https://wiki.archlinux.org/title/Udisks#Mount_to_/media
REMOVABLE_MEDIA="/run/media"

# [ADDITIONAL FREERDP FLAGS & ARGUMENTS]
# NOTES:
# - You can try adding /network:lan to these flags in order to increase performance, however, some users have faced issues with this.
#   If this does not work or if it does not work without the flag, you can try adding /nsc and /gfx.
# DEFAULT VALUE: '/cert:tofu /sound /microphone +home-drive'
# VALID VALUES: See https://github.com/awakecoding/FreeRDP-Manuals/blob/master/User/FreeRDP-User-Manual.markdown
RDP_FLAGS="/cert:tofu /sound /microphone +home-drive"

# [DEBUG WINAPPS]
# NOTES:
# - Creates and appends to ~/.local/share/winapps/winapps.log when running WinApps.
# DEFAULT VALUE: 'true'
# VALID VALUES:
# - 'true'
# - 'false'
DEBUG="true"

# [AUTOMATICALLY PAUSE WINDOWS]
# NOTES:
# - This is currently INCOMPATIBLE with 'manual'.
# DEFAULT VALUE: 'off'
# VALID VALUES:
# - 'on'
# - 'off'
AUTOPAUSE="on"

# [AUTOMATICALLY PAUSE WINDOWS TIMEOUT]
# NOTES:
# - This setting determines the duration of inactivity to tolerate before Windows is automatically paused.
# - This setting is ignored if 'AUTOPAUSE' is set to 'off'.
# - The value must be specified in seconds (to the nearest 10 seconds e.g., '30', '40', '50', etc.).
# - For RemoteApp RDP sessions, there is a mandatory 20-second delay, so the minimum value that can be specified here is '20'.
# - Source: https://techcommunity.microsoft.com/t5/security-compliance-and-identity/terminal-services-remoteapp-8482-session-termination-logic/ba-p/246566
# DEFAULT VALUE: '300'
# VALID VALUES: >=20
AUTOPAUSE_TIME="300"

# [FREERDP COMMAND]
# NOTES:
# - WinApps will attempt to automatically detect the correct command to use for your system.
# DEFAULT VALUE: '' (BLANK)
# VALID VALUES: The command required to run FreeRDPv3 on your system (e.g., 'xfreerdp', 'xfreerdp3', etc.).
FREERDP_COMMAND="xfreerdp3"

# [TIMEOUTS]
# NOTES:
# - These settings control various timeout durations within the WinApps setup.
# - Increasing the timeouts is only necessary if the corresponding errors occur.
# - Ensure you have followed all the Troubleshooting Tips in the error message first.

# PORT CHECK
# - The maximum time (in seconds) to wait when checking if the RDP port on Windows is open.
# - Corresponding error: "NETWORK CONFIGURATION ERROR" (exit status 13).
# DEFAULT VALUE: '5'
PORT_TIMEOUT="5"

# RDP CONNECTION TEST
# - The maximum time (in seconds) to wait when testing the initial RDP connection to Windows.
# - Corresponding error: "REMOTE DESKTOP PROTOCOL FAILURE" (exit status 14).
# DEFAULT VALUE: '30'
RDP_TIMEOUT="30"

# APPLICATION SCAN
# - The maximum time (in seconds) to wait for the script that scans for installed applications on Windows to complete.
# - Corresponding error: "APPLICATION QUERY FAILURE" (exit status 15).
# DEFAULT VALUE: '60'
APP_SCAN_TIMEOUT="60"

# WINDOWS BOOT
# - The maximum time (in seconds) to wait for the Windows VM to boot if it is not running, before attempting to launch an application.
# DEFAULT VALUE: '120'
BOOT_TIMEOUT="120"

# FREERDP RAIL HIDEF
# - This option controls the value of the `hidef` option passed to the /app parameter of the FreeRDP command.
# - Setting this option to 'off' may resolve window misalignment issues related to maximized windows.
# DEFAULT VALUE: 'on'
HIDEF="on"

Logs

[jeu. 08 janv. 2026 16:06:59 CET-26556] START
[jeu. 08 janv. 2026 16:06:59 CET-26556] SCRIPT_DIR: /home/REDACTED/.local/bin
[jeu. 08 janv. 2026 16:06:59 CET-26556] SCRIPT_ARGS: BecquerelMonitor
[jeu. 08 janv. 2026 16:06:59 CET-26556] HOME_DIR: /home/REDACTED
[jeu. 08 janv. 2026 16:06:59 CET-26556] LAST_RUN: 1767488396
[jeu. 08 janv. 2026 16:06:59 CET-26556] THIS_RUN: 1767884819
[jeu. 08 janv. 2026 16:06:59 CET-26556] Using FreeRDP command 'xfreerdp3'.
[jeu. 08 janv. 2026 16:06:59 CET-26556] WINDOWS SHUT OFF. BOOTING WINDOWS.
[jeu. 08 janv. 2026 16:07:00 CET-26556] WAITING FOR VM TO BE FULLY READY...
[jeu. 08 janv. 2026 16:07:43 CET-26671] START
[jeu. 08 janv. 2026 16:07:43 CET-26671] SCRIPT_DIR: /home/REDACTED/.local/bin
[jeu. 08 janv. 2026 16:07:43 CET-26671] SCRIPT_ARGS: BecquerelMonitor
[jeu. 08 janv. 2026 16:07:43 CET-26671] HOME_DIR: /home/REDACTED
[jeu. 08 janv. 2026 16:07:43 CET-26671] LAST_RUN: 1767884819
[jeu. 08 janv. 2026 16:07:43 CET-26671] THIS_RUN: 1767884863
[jeu. 08 janv. 2026 16:07:43 CET-26671] Using FreeRDP command 'xfreerdp3'.
[jeu. 08 janv. 2026 16:07:43 CET-26671] UPTIME_DIFF: 408349 seconds
[jeu. 08 janv. 2026 16:07:43 CET-26671] DETECTED SLEEP/WAKE CYCLE (uptime gap: 408349s). CREATING SLEEP MARKER TO SYNC WINDOWS TIME.
[jeu. 08 janv. 2026 16:07:43 CET-26671] CREATED SLEEP MARKER
[jeu. 08 janv. 2026 16:09:00 CET-26556] TIMEOUT WAITING FOR VM TO BE READY
[jeu. 08 janv. 2026 16:09:00 CET-26556] ERROR: WINDOWS FAILED TO START. EXITING.

Terms

  • I am running the latest version.
  • To the best of my knowledge, this is a bug and not a setup nor a FreeRDP problem.
  • I have checked for duplicate issues.
  • I agree to follow this project's Code of Conduct.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions