Skip to content

Instantly share code, notes, and snippets.

@HarmfulBreeze
Last active January 7, 2026 18:28
Show Gist options
  • Select an option

  • Save HarmfulBreeze/9d013676301d784ce9783a39b0e66a84 to your computer and use it in GitHub Desktop.

Select an option

Save HarmfulBreeze/9d013676301d784ce9783a39b0e66a84 to your computer and use it in GitHub Desktop.
Setting up Hyper-V Enhanced Session Mode with Fedora 43

Tested working on Fedora Workstation 39, 40, 41, 42, and 43.

(Commands prefixed with a # should be run as the root user or with sudo. Commands prefixed with a $ should be run as a regular/unprivileged user.)

  1. # dnf install xrdp (with Xorg session support: # dnf install xrdp xorgxrdp)
  2. If using GNOME: # $EDITOR /etc/pam.d/xrdp-sesman and comment and uncomment the appropriate lines.
  3. If using Xfce: $ echo startxfce4 > $HOME/.xsession and $ chmod +x $HOME/.xsession.
  4. Optionally, rename the shared drives mount: # $EDITOR /etc/xrdp/sesman.ini and set FuseMountName=shared-drives
  5. # $EDITOR /etc/xrdp/xrdp.ini and set:
    • port=vsock://-1:3389 ([Globals] section)
    • vmconnect=true (uncomment)
    • security_layer=rdp
    • bitmap_compression=false
    • If you chose to install the xorgxrdp package: uncomment the whole [Xorg] section.
  6. $ systemctl enable xrdp xrdp-sesman
  7. Shut down the virtual machine (do NOT reboot) and close the Virtual Machine Connection window.
  8. On your host, in PowerShell (as admin or as a user in the "Hyper-V Administrators" group): Set-VM -VMName "Name of your Fedora VM" -EnhancedSessionTransportType HvSocket
  9. Connect to your VM by reopening the Virtual Machine Connection window, and boot it.

You can now enable Enhanced Session Mode.

@beastwick
Copy link

beastwick commented Dec 24, 2025

This might be less to do with getting an enhanced session to work, but I had trouble booting into a fresh 43 install using the non rescue kernel. The rescue kernel did work, so it seems that some modules/drivers were missing from the other kernel image. I had to do the following, otherwise I would get an indefinite hang looking for a device that doesn't exist:

The error:

image

Create a new config file specifically for Hyper-V drivers

echo 'add_drivers+=" hv_vmbus hv_netvsc hv_storvsc hv_utils "' | sudo tee /etc/dracut.conf.d/hyperv.conf

Get the version of the bad kernel.

ls /lib/modules

Replace [VERSION] with the string from step 2

sudo dracut -f --kver [VERSION]

Update initramfs.

$ dracut -f --kver 6.17.12-300.fc43.x86_64

Then I was able to boot under Hyper-V.

Can confirm that this guide got enhanced session working for me.

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