If you only need a clean path to make Enhanced Session Mode work on Fedora in Hyper-V, this is the short version. Use it as a layer-by-layer triage flow so host and guest settings do not get mixed.

Question

What exact sequence gets Hyper-V Enhanced Session working on Fedora without trial-and-error?

Quick answer

Enhanced Session Mode usually fails for one of three reasons:

  1. xrdp is not fully installed or active.
  2. xrdp.ini is missing the HvSocket transport configuration.
  3. The VM transport type was never set to HvSocket from the Windows host.

10-minute checklist

  1. Install and enable xrdp services in Fedora.
  2. Confirm xrdp and xrdp-sesman are running.
  3. Set port=vsock://-1:3389 in xrdp.ini.
  4. Restart xrdp services.
  5. Shut down the VM fully.
  6. From host PowerShell:
Set-VM -VMName "<Your VM Name>" -EnhancedSessionTransportType HvSocket
  1. Start VM again from Hyper-V Manager.
  2. Verify transport state:
Get-VM -VMName "<Your VM Name>" | Select-Object EnhancedSessionTransportType

If result is HvSocket, you are in the right state.

Common failure pattern

People reboot the guest and keep retrying inside Fedora, but the broken state is often on the host side. If the VM transport type is wrong, guest tweaks will not fix it.

Verification outputs

After setup, confirm these expected states:

  1. systemctl status xrdp xrdp-sesman shows both active/running.
  2. Get-VM ... EnhancedSessionTransportType returns HvSocket.
  3. Session reconnect succeeds after cold boot.

If one state is missing, debug that layer only before changing anything else.

10-minute action step

  1. Snapshot your current VM/display settings before changing anything.
  2. Apply one configuration change at a time and test immediately.
  3. Record command output and service status for each step.
  4. Keep the smallest known-good configuration as your rollback baseline.

Success signal

A fresh reboot lands in a working desktop/session with no manual recovery steps.