Repository navigation
Releases
44.0.0
Fedora Remix for WSL 44 Release Notes
Fedora Remix for WSL 44 updates the distribution to Fedora 44 and introduces a redesigned remote-desktop experience for WSL 2, alongside graphics, compatibility, launcher, and build-system improvements.
Highlights
Fedora 44 base
- The default root filesystem build now targets Fedora 44.
- Fedora Remix release metadata has been updated to version 44.0.0.
References: [Fedora 44 rootfs support](WhitewaterFoundry/fedora-remix-rootfs-build@48abde7), [final rootfs changes since March 9](WhitewaterFoundry/fedora-remix-rootfs-build@fcf79be...master)
New GNOME remote-desktop experience for WSL 2
The Fedora 44 desktop installer has been redesigned around a native, headless GNOME Wayland session.
Running install-desktop.sh now guides the user through:
- Selecting the distribution hostname.
- Selecting an RDP port, with port 3396 as the default.
- Configuring a dedicated RDP username and password.
- Installing and configuring GNOME automatically.
- Enabling systemd and the required headless-session services.
- Generating a self-signed TLS certificate.
- Configuring GNOME Remote Desktop.
- Restarting the WSL distribution when setup is complete.
After installation, connect from Windows using Remote Desktop Connection at:
localhost:3396
The configured hostname and WSL IP address are also shown as alternative connection methods.
The new implementation replaces xrdp on Fedora 44 with GNOME Remote Desktop and a native headless Wayland session. It also configures Xwayland compatibility, prevents display and audio settings from being overwritten by the WSL shell environment, disables conflicting display-manager services, and applies WSL-specific GTK and Vulkan workarounds.
References: [headless Wayland/RDP implementation](WhitewaterFoundry/fedora-remix-rootfs-build@bddefba), [session-environment fixes](WhitewaterFoundry/fedora-remix-rootfs-build@532e492), [desktop and dependency refinements](WhitewaterFoundry/fedora-remix-rootfs-build@5c9dc4c)
GNOME is the supported Fedora 44 desktop
GNOME is the only desktop currently presented by the Fedora 44 installer.
Experimental KDE Plasma/KRdp support was developed during the release cycle but was removed from the selection menu because Windows RDP authentication remains unreliable. It should therefore not be described as a supported Fedora Remix 44 feature.
References: [hide KDE from the installer](WhitewaterFoundry/fedora-remix-rootfs-build@126e183)
Desktop support for earlier releases is preserved
Fedora Remix 43 and earlier releases now use the separate install-desktop-xorg.sh compatibility installer. This preserves the existing Xorg/xrdp-based setup while allowing Fedora 44 to use the new Wayland-based implementation.
References: [legacy Xorg installer](WhitewaterFoundry/fedora-remix-rootfs-build@32c4b8d), [packaging and compatibility integration](WhitewaterFoundry/fedora-remix-rootfs-build@6240a5c)
Graphics and WSL integration
Updated WSL graphics stack
On x86_64, Fedora Remix 44 includes the WSL-specific Mesa 26.2.4 build. The relevant Mesa packages are version-locked to prevent incompatible Fedora updates from replacing them unintentionally.
Installation of mesa-va-drivers is now handled separately to avoid dependency-resolution failures during image creation and upgrades.
ARM64 installations continue to use Fedoraβs standard Mesa packages.
References: [Fedora 44 WSL Mesa support](WhitewaterFoundry/fedora-remix-rootfs-build@e7278d9), [VA-driver installation fix](WhitewaterFoundry/fedora-remix-rootfs-build@97ccd15)
Improved systemd desktop-session support
systemd-pam is now included in new root filesystems and installed automatically when upgrading under WSL 2. This is required for proper user sessions, runtime directories, PAM integration, and headless desktop startup.
References: [systemd-pam upgrade support](WhitewaterFoundry/fedora-remix-rootfs-build@a84949f)
Safer WSL environment handling
The Bash and Fish startup scripts now recognize GNOME and KDE remote-desktop sessions. They restore only the WSL variables those sessions requireβsuch as interoperability and distribution informationβwithout replacing the sessionβs own Wayland, display, or audio environment.
WSL interoperability socket discovery was also made more robust for restarted and remote sessions.
References: [remote-session environment handling](WhitewaterFoundry/fedora-remix-rootfs-build@532e492)
WSL 1 compatibility
Fedora 44 retains WSL 1 upgrade support despite WSL 1 not implementing memfd.
On affected Fedora 43 and later installations, the upgrade script now:
- Detects whether
memfdis available. - Uses the compatible
gdk-pixbuf22.42 build when required. - Removes the incompatible Glycin loader stack.
- Version-locks the compatibility packages to prevent a later update from undoing the workaround.
The new Fedora 44 remote-desktop installer itself requires WSL 2.
References: [WSL 1 compatibility implementation](WhitewaterFoundry/fedora-remix-rootfs-build@303e26c), [final compatibility refinement](WhitewaterFoundry/fedora-remix-rootfs-build@4decbaf)
Important notes
- The Fedora 44 desktop installer requires WSL 2 and must be run as the regular Linux user, not as root.
- Only GNOME is currently offered as a supported Fedora 44 desktop.
- The first RDP connection will display a warning because the installer generates a self-signed certificate.
- Fedora Remix currently stops when no WSL process remains active. Keep a Fedora Remix terminal open while using the remote desktop.
- Existing Fedora Remix installations can obtain updated scripts and compatibility fixes through the normal
update.shworkflow; moving an installation to Fedora 44 remains a separate distribution-version upgrade.
43.0.0
Changelog β Fedora Remix for WSL 43.0.0
Highlights
- Updated to Fedora 43.
- Updated logo to the new Fedora Remix branding.
- First-run welcome message added (one-time per user) with support and upgrade guidance.
- Major WSL1 compatibility fixes for Fedora 43 (gdk-pixbuf/glycin workaround with pinning + cleanup).
- GNOME support removed due to lack of Xorg support; upgrade users must move to an alternative desktop.
- Updated default desktop selection (Xfce) and improved terminal profile behavior.
- Mesa install flow streamlined and updated for Fedora 43.
Changes
Fedora 43 update
- Updated scripts/CI to support Fedora 43.
Desktop environments
- Removed GNOME support due to lack of Xorg support.
- Users upgrading from 42 will no longer be able to use GNOME.
- Recommended migration path: uninstall GNOME and install Xfce, KDE, or LXDE.
First-run UX (user experience)
-
Added a one-time welcome message on first run for:
- Bash/sh shells
- fish
-
Includes support resources, update recommendations, and WSL1-specific guidance.
WSL1 compatibility (Fedora 43)
-
Implemented a targeted workaround for the Fedora 43 WSL1 gdk-pixbuf/glycin incompatibility:
- Version pinning (to avoid incompatible combinations)
- Removal of incompatible packages where needed
- Cache refresh/rebuild steps
- Executed both pre-update and post-update to reduce upgrade regressions
Mesa and graphics stack
- Updated Mesa installation logic and pinning to cover Fedora 43.
- Microsoft Experimental Vulkan-to-Direct3D 12 driver (Dozen) is now included and enabled by default.
- Direct3D 12 acceleration is now available on ARM64 via an upstream Fedora change.
- Streamlined Mesa package lists in build and upgrade paths.
Terminal and session behavior
- Changed default desktop environment selection in the setup flow to Xfce.
- Improved terminal profile defaults to prevent the terminal from auto-closing on exit.
- Ensured shell history is flushed/saved before terminating WSL distributions in the desktop installer.
Full Changelog: 42.1.0...43.0.0
42.1.0
Changelog β Fedora Remix for WSL 42.1.0
Highlights
- XDG (base directories) now consistently defined and auto-created for better standards compliance.
- More reliable graphics/session bootstrap for WSLg: user runtime directories and audio paths are created/cleaned up safely.
- D-Bus session environment is isolated per-user via runtime directories, with tighter exported variables.
- Bash prompt logic rebuilt for clearer behavior and fewer side-effects.
- More robust repository configuration validation for the Fedora Remix repo.
Changes
Environment + XDG
-
Added
define_xdg_environmentto both shell init paths:linux_files/00-remix.shlinux_files/00-remix.fish
-
Ensures XDG base directories are set and created when missing (improves app compatibility and reduces βmissing dirβ edge cases).
-
Updated environment persistence (
save_environment) to only save variables that are actually set (reduces noise and prevents invalid exports).
Display + runtime directory handling (WSLg/X11)
- Improved WSLg display setup to reliably manage
/run/user/$UIDplus PulseAudio runtime paths/symlinks. - Added a new
create_userpathhelper + sudoers entry to create required runtime paths when needed, including cleanup of stale sockets and missing directories. - Improved fallback logic to determine Windows host IP for X11 display using
route.exe+ip routefor higher reliability. thanks @te-horie
D-Bus session management
- D-Bus environment files now live under user-specific runtime directories (better isolation and security posture).
- Only the necessary variables are exported and reused, reducing cross-session contamination.
Shell prompt + packaging
-
Rewrote
linux_files/bash-prompt-wsl.sh:- Applies prompt customization only in Bash and Windows Terminal.
- Uses clearer constants and export logic to reduce unexpected prompt behavior.
-
Ensures correct permissions for the new prompt script in
create-targz.sh.
Repo configuration check
- Updated
linux_files/check-dnfto directly modify repo files for disablinggpgcheck(more deterministic and scoped to the relevant repo). thanks to @jeffmcutter
42.0.5.Final
- Fixed the Windows Terminal menu icon
42.0.4.Final
- Make a workaround to an error in WSL 2.5.x that prevented the GPU video acceleration from working. (microsoft/WSL#12702 (comment))
42.0.3.Final
- Made it compatible with Windows 1809 or Windows Server 2019 again. Fixes #239
42.0.0.Final
- Upgraded to Fedora 42
- Now systemd is enabled by default, and it's the recommended mode
- Upgraded to Mesa 25.0.4 and the D3D12 driver includes:
- OpenGL 4.6 support completed
- Expanded video encode/decode support (HEVC 4:2:2/4:4:4, H.264 Baseline)
- Added VP9 and AV1 codecs in GPU Video Acceleration
- GNOME 48 with tripleβbuffered rendering, notification stacking and, wellβbeing timers
- XFCE 4.20 (experimental Wayland session) and LXQt 2.1 (default Wayland via Miriway) refresh the lightweight spins
- IBus 1.5.32 adds speechβtoβtext with offline VOSK models and WaylandβIMβv2 support
- GNU toolβchain refresh: GCC 15, glibc 2.41, binutils 2.44, GDB 15+
- Ruby 3.4, PHP 8.4, Go 1.24, Haskell GHC 9.8/Stackage LTS 23, Tcl/Tk 9 all land as defaults
- DNF 5 gains automatic purge of expired / obsolete repo keys, plus ongoing performance work
41.0.0.Final
- Upgraded to Fedora 41
- GNOME 47 and KDE Plasma 6.2
- Package updates such as LLVM 19, LXQt 2.0, Python 3.13, RPM 4.20, PyTorch 2.4, Perl 5.40, Golang 1.23, GIMP version 3
- dnf5: Faster, more efficient package manager.
- Upgraded to Mesa 24.2.5
40.1.0.Final
- Upgraded to Mesa 24.1.2 and the Microsoft D3D12 driver now supports OpenGL 4.6
- Be sure that the dbus-daemon is started once, regardless of the number of times that Fedora is invoked.
- Upgraded to Fedora 40
- Fixed a small typo in the fedoraremix.exe /? message by @acuteaura
39.0.1 Final
- A new script, "install-desktop.sh", allows installing GNOME, KDE, XFCE, or LXDE Desktops Environments with minimal manual steps or configuration.
- Support for Windows Terminal Shell Integration with built-in support for "Opening new tabs in the same working directory", "Show marks for each command in the scrollbar", "Automatically jump between commands," and "Select the entire output of a command." by adding some actions in the settings.json file:. More info: How to enable shell integration marks.
- Support for Windows Terminal v1.19's Command History in the Suggestions UI
- [FIX] Now, if you configure Fedora Remix as your Default Profile in Windows Terminal, right-click a folder in File Explorer, and select Open in Terminal, it will correctly open in the desired directory.
- The color prompt has been improved, read
/etc/profile.d/bash-color-prompt.shto see what you can do with the PROMPT_* environment variables.