575 Commits

Author SHA1 Message Date
Blue
9f77522f64
Update the initramfs to set 755 permissions on /init (#13567) 2025-10-06 17:19:49 -07:00
Blue
9b5659d4b9
Respect the distribution manifest ordering when listing distributions (#13561)
* Respect the distribution manifest ordering when listing distributions

* Fix test

* Update test/windows/UnitTests.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-06 12:42:32 -07:00
Blue
d4e64b658f
Add more verbose output to bsdtar to help root cause 'ImportExportStdout' test failures (#13555) 2025-10-03 17:37:40 -07:00
Blue
65eea7b31c
Introduce a new wsl.conf config value to allow distributions to opt-in to cgroupv1 mounts (#13546)
* Introduce a new wsl.conf config value to allow distributions to opt-in to cgroupv1 mounts

* Add test coverage

* Fix tmpfs on wsl1

---------

Co-authored-by: Ben Hillis <benhillis@gmail.com>
2025-10-02 23:36:12 -04:00
Junhao Liao
98f4960118
fix: correct sparse VHD command to include true (#13512)
* fix: correct sparse VHD command to include `true`

* Revert all localization strings to f8c26f7c3 except en-US/Resources.resw

* fix: run validate-localization.py with --fix option
2025-10-01 16:49:49 -07:00
Blue
e0c6196cd5
Create a persistent install log file to help root cause package upgrade issues (#13500)
* Create a persistent install log file to help root cause package upgrade issues

* Update src/windows/common/wslutil.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Collect log file in diagnostic script

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-01 15:40:41 -07:00
Blue
8313d50f2e
Introduce a new kernel command line argument to collect hvsocket event logs during boot (#13537)
* Introduce a new kernel command line argument to collect hvsocket event logs during boot

* Cleanup diff

* unset env

* Add test coverage

* Fix format

* Remove prefix
2025-10-01 15:35:49 -07:00
Arch Linux Technical User
582e15e4e0
archlinux: Release 2025.10.01.148042 (#13547)
This is an automated release [1].

[1] https://gitlab.archlinux.org/archlinux/archlinux-wsl/-/blob/main/.gitlab-ci.yml
2025-10-01 11:08:41 -07:00
Scott Bradnick
004bb36f9e
Swap Leap 16.0 in for Leap 15.6 (#13549)
If we can have Leap 15.6 AND Leap 16.0 (5 total distros), that would be great 

Tumbleweed
SLE 15SP6
SLE 15SP7
Leap 15.6
Leap 16.0
2025-10-01 11:08:29 -07:00
Blue
5c5fd4a1b4
Remove no-op GetRuntimeId() call (#13545) 2025-09-30 13:33:44 -07:00
Blue
f2bd6d60bc
wsla: Implement kernel module support (#13522)
* wsla: Implement kernel module support

* Expand tests

* Fix non-dev paths

* Skip disk permission change on read-only disks
2025-09-26 14:04:17 -07:00
yao-msft
87a7546638
Increase file descriptor limit in wsla init (#13524) 2025-09-26 11:30:00 -07:00
Blue
7e7bc436df
wsla: Implement writeable overlayfs support for GPU mounts (#13518)
* Merge User/oneblue/prototype lsw to a feature/wsl-for-apps (#13278)

* Save state

* Save state

* Save state

* Get the VM booting

* VM booting

* Disk mounting

* CreateLinuxProcess

* Move to a proper API

* Implement env

* Progress on fd

* Redesign fork model

* Add process wait & signal

* Include nuget package

* Format

* Format

* Format

* Cleanup

* Format

* Format

* Format

* Fix nuspec

* Implement VM termination

* Add lsw dll

* Implement termination callbacks

* Save state

* Various fixes in API header

* Save state

* Test coverage

* Don't block all signals by default

* Writeable overlay

* Add struct keyword

* rename WslCreateVirualMachine -> WslCreateVirtualMachine

* rename Environmnent -> Environment

* rename HandleToUlong -> HandleToULong

* ensure correct amount of memory is used to create the LSW VM

* Adjust LSWVirtualMachine::AttachDisk so it does not require caller to have elevated permission

* Add missing struct keyword

* PR feedback

* PR review

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

* Implement WSL for apps TCP port forwarding  (#13299)

* Merge User/oneblue/prototype lsw to a feature/wsl-for-apps (#13278)

* Save state

* Save state

* Save state

* Get the VM booting

* VM booting

* Disk mounting

* CreateLinuxProcess

* Move to a proper API

* Implement env

* Progress on fd

* Redesign fork model

* Add process wait & signal

* Include nuget package

* Format

* Format

* Format

* Cleanup

* Format

* Format

* Format

* Fix nuspec

* Implement VM termination

* Add lsw dll

* Implement termination callbacks

* Save state

* Various fixes in API header

* Save state

* Test coverage

* Don't block all signals by default

* Writeable overlay

* Add struct keyword

* rename WslCreateVirualMachine -> WslCreateVirtualMachine

* rename Environmnent -> Environment

* rename HandleToUlong -> HandleToULong

* ensure correct amount of memory is used to create the LSW VM

* Adjust LSWVirtualMachine::AttachDisk so it does not require caller to have elevated permission

* Add missing struct keyword

* PR feedback

* PR review

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

* Save state

* Progress

* Save state

* Move tests to socat

* Increase test coverage

* More test coverage

* Cleanup before PR

* Cleanup before PR

* Refresh branch

* Update comment

* Only run LSW tests on wsl2

* Fix missing '.0' in flight-stage.yml

* Revert "Fix missing '.0' in flight-stage.yml"

This reverts commit 9b3e9ae38f5086b201f2100bf4196a7afe14d9eb.

* PR suggestions

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

* Various fixes and improvements to the WSLA VM logic (#13338)

* Various fixes in the WSLA VM logic

* Update tests

* Fix ARM build

* LF

* Disable Firewall in WSLA VM config (#13345)

* Disable Firewall in WSLA VM config

* Add a version check

* Update setup-vm-for-tests.ps1 to include WSLA dll (#13362)

* Implement WSLA API's to query installed components, and install them when needed (#13363)

* Save state

* Save state

* Add tests

* Finalize tests

* Remove test logic

* Implement WSLA API to unmount & detach disks (#13364)

* Implement WSLA API to unmount & detach disks

* Add WSL2_TEST_ONLY();

* Fix wslg path

* Extend WslWaitForLinuxProcess test coverage (#13366)

* Add pipeline logic to publish nuget packages in the nightly pipeline (#13337)

* Add pipeline logic to publish nuget packages in the nightly pipeline

* Yaml

* Remove condition

* Fix version number

* Fix path

* Fix path

* Add support for using Linux files as processes' file descriptors (#13382)

* Save state

* Save state

* Add support for using Linux files as processes' file descriptors

* Cosmetics

* Missing return

* Signal the VM termination event to unblock any pending call when the service stops (#13389)

* Implement WSLA API to mount and unmount Windows folders via plan9 (#13393)

* Implement WSLA API to mount and unmount Windows folders via plan9

* Better handle when the folder is manually unmounted from the guest

* Add a test case to cover non plan9 mounts

* Update test

* wsla: do not leak fd's to user processes (#13406)

* Remove leftover logline in WSLA init (#13407)

* Implement WSLA GPU support (#13400)

* Implement WSLA GPU support

* Spelling

* Fix remaining typos

* More typos

* Merge

* Remove extra logline

* wsla: Refactor API to define `wsl` prefix on all types (#13410)

* Implement WSLA GPU support

* Spelling

* Fix remaining typos

* More typos

* Merge

* Remove extra logline

* Save state

* Reduce enum name

* Format

* Merge

* Fix merge

* Prepare for PR

* Update nuspec

* Pipeline update

* Implement WSL package version check (#13457)

* wsla: Mount the target on / when the chroot flag is set (#13455)

* wsla: Mount the target on / when the chroot flag is set

* Reuse existing helper

* wsa: Signa wsaclient.dll when building for release (#13466)

* wsa: Signal wsaclient.dll when building for release

* Typo

* Debug

* Debug

* Explicitely set targets to be built

* Build bundle

* Build tests before msipackage

* Build tests before msipackage

* Simplify

* Simplify

* wsla: Use a mount timeout when mounting a disk (#13471)

* Add an option to put a nuget suffix in the release pipeline parameters (#13474)

* Add an option to put a nuget suffix in the release pipeline parameters

* Yaml

* Yaml

* Yaml

* wsla: Implement writeable overlayfs support for GPU mounts

* Cleanup

* Typo

* Conflicts

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
2025-09-25 11:36:44 -07:00
Blue
332efe1a8d
Fix incorrect timeout causing WSL1 OOBE to fail if the OOBE process takes longer than 30 seconds (#13517)
* Fix incorrect timeout causing WSL1 OOBE to fail if the OOBE process takes longer than 30 seconds

* Pass the timeout to WaitForMessage
2025-09-24 19:58:39 -07:00
Blue
cc69ee0e10 Add an option to put a nuget suffix in the release pipeline parameters (#13474)
* Add an option to put a nuget suffix in the release pipeline parameters

* Yaml

* Yaml

* Yaml
2025-09-24 17:27:42 -07:00
Blue
ff2f490abe wsla: Use a mount timeout when mounting a disk (#13471) 2025-09-24 17:27:41 -07:00
Blue
fe5cd2d55a wsa: Signa wsaclient.dll when building for release (#13466)
* wsa: Signal wsaclient.dll when building for release

* Typo

* Debug

* Debug

* Explicitely set targets to be built

* Build bundle

* Build tests before msipackage

* Build tests before msipackage

* Simplify

* Simplify
2025-09-24 17:27:41 -07:00
Blue
9167e58679 wsla: Mount the target on / when the chroot flag is set (#13455)
* wsla: Mount the target on / when the chroot flag is set

* Reuse existing helper
2025-09-24 17:27:41 -07:00
Blue
0388a6dbfb Implement WSL package version check (#13457) 2025-09-24 17:27:41 -07:00
Blue
e6e380e556 wsla: Refactor API to define wsl prefix on all types (#13410)
* Implement WSLA GPU support

* Spelling

* Fix remaining typos

* More typos

* Merge

* Remove extra logline

* Save state

* Reduce enum name

* Format

* Merge

* Fix merge

* Prepare for PR

* Update nuspec

* Pipeline update
2025-09-24 17:27:41 -07:00
Blue
b45a5b8034 Implement WSLA GPU support (#13400)
* Implement WSLA GPU support

* Spelling

* Fix remaining typos

* More typos

* Merge

* Remove extra logline
2025-09-24 17:27:41 -07:00
Blue
449a8fc1a8 Remove leftover logline in WSLA init (#13407) 2025-09-24 17:27:41 -07:00
Blue
5949c06db2 wsla: do not leak fd's to user processes (#13406) 2025-09-24 17:27:41 -07:00
Blue
631ee32cc5 Implement WSLA API to mount and unmount Windows folders via plan9 (#13393)
* Implement WSLA API to mount and unmount Windows folders via plan9

* Better handle when the folder is manually unmounted from the guest

* Add a test case to cover non plan9 mounts

* Update test
2025-09-24 17:27:41 -07:00
Blue
d6a2f83837 Signal the VM termination event to unblock any pending call when the service stops (#13389) 2025-09-24 17:27:41 -07:00
Blue
914b81777f Add support for using Linux files as processes' file descriptors (#13382)
* Save state

* Save state

* Add support for using Linux files as processes' file descriptors

* Cosmetics

* Missing return
2025-09-24 17:27:41 -07:00
Blue
9fe5484658 Add pipeline logic to publish nuget packages in the nightly pipeline (#13337)
* Add pipeline logic to publish nuget packages in the nightly pipeline

* Yaml

* Remove condition

* Fix version number

* Fix path

* Fix path
2025-09-24 17:27:41 -07:00
Blue
e9b36a1aac Extend WslWaitForLinuxProcess test coverage (#13366) 2025-09-24 17:27:40 -07:00
Blue
28bcfe39d6 Implement WSLA API to unmount & detach disks (#13364)
* Implement WSLA API to unmount & detach disks

* Add WSL2_TEST_ONLY();

* Fix wslg path
2025-09-24 17:27:40 -07:00
Blue
3451e8213d Implement WSLA API's to query installed components, and install them when needed (#13363)
* Save state

* Save state

* Add tests

* Finalize tests

* Remove test logic
2025-09-24 17:27:40 -07:00
Blue
5438e046f9 Update setup-vm-for-tests.ps1 to include WSLA dll (#13362) 2025-09-24 17:27:40 -07:00
Blue
e44b01447d Disable Firewall in WSLA VM config (#13345)
* Disable Firewall in WSLA VM config

* Add a version check
2025-09-24 17:27:40 -07:00
Blue
82bb9a29a8 Various fixes and improvements to the WSLA VM logic (#13338)
* Various fixes in the WSLA VM logic

* Update tests

* Fix ARM build

* LF
2025-09-24 17:27:40 -07:00
Blue
c07fa29f0d Implement WSL for apps TCP port forwarding (#13299)
* Merge User/oneblue/prototype lsw to a feature/wsl-for-apps (#13278)

* Save state

* Save state

* Save state

* Get the VM booting

* VM booting

* Disk mounting

* CreateLinuxProcess

* Move to a proper API

* Implement env

* Progress on fd

* Redesign fork model

* Add process wait & signal

* Include nuget package

* Format

* Format

* Format

* Cleanup

* Format

* Format

* Format

* Fix nuspec

* Implement VM termination

* Add lsw dll

* Implement termination callbacks

* Save state

* Various fixes in API header

* Save state

* Test coverage

* Don't block all signals by default

* Writeable overlay

* Add struct keyword

* rename WslCreateVirualMachine -> WslCreateVirtualMachine

* rename Environmnent -> Environment

* rename HandleToUlong -> HandleToULong

* ensure correct amount of memory is used to create the LSW VM

* Adjust LSWVirtualMachine::AttachDisk so it does not require caller to have elevated permission

* Add missing struct keyword

* PR feedback

* PR review

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

* Save state

* Progress

* Save state

* Move tests to socat

* Increase test coverage

* More test coverage

* Cleanup before PR

* Cleanup before PR

* Refresh branch

* Update comment

* Only run LSW tests on wsl2

* Fix missing '.0' in flight-stage.yml

* Revert "Fix missing '.0' in flight-stage.yml"

This reverts commit 9b3e9ae38f5086b201f2100bf4196a7afe14d9eb.

* PR suggestions

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
2025-09-24 17:27:40 -07:00
Blue
b5769b4f97 Merge User/oneblue/prototype lsw to a feature/wsl-for-apps (#13278)
* Save state

* Save state

* Save state

* Get the VM booting

* VM booting

* Disk mounting

* CreateLinuxProcess

* Move to a proper API

* Implement env

* Progress on fd

* Redesign fork model

* Add process wait & signal

* Include nuget package

* Format

* Format

* Format

* Cleanup

* Format

* Format

* Format

* Fix nuspec

* Implement VM termination

* Add lsw dll

* Implement termination callbacks

* Save state

* Various fixes in API header

* Save state

* Test coverage

* Don't block all signals by default

* Writeable overlay

* Add struct keyword

* rename WslCreateVirualMachine -> WslCreateVirtualMachine

* rename Environmnent -> Environment

* rename HandleToUlong -> HandleToULong

* ensure correct amount of memory is used to create the LSW VM

* Adjust LSWVirtualMachine::AttachDisk so it does not require caller to have elevated permission

* Add missing struct keyword

* PR feedback

* PR review

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
2025-09-24 17:27:38 -07:00
Blue
4bba074bd2
Add logic to force terminate the VM if the session lock can't be acquired for 30 seconds when the service stops (#13493) 2025-09-24 14:46:28 -07:00
Blue
c8cd16a169
Add a logging profile to collect hvsocket logs (#13510) 2025-09-24 14:46:01 -07:00
Scott Bradnick
95fcc56983
Update openSUSE Tumbleweed v20250923.0 (#13515)
Updating .appx and .wsl offerings.
2025-09-24 11:37:37 -07:00
g0tmi1k
2d976b2ef9
Bump Kali 2025.3 (#13516)
Release notes: https://www.kali.org/blog/kali-linux-2025-3-release/
2025-09-24 11:37:26 -07:00
rodeka
f8c26f7c32
fix: UnboundLocalError in create-release.py (#13499) 2025-09-22 14:18:54 -07:00
Blue
7b17a7a7ab
Add WININET_E_TIMEOUT to g_commonErrors (#13506) 2025-09-22 13:32:12 -07:00
Blue
259ec4e5a9
Remove explicit '--tags' argument from find-release.py (#13481) 2025-09-17 11:27:21 -07:00
Blue
04eb4d4e8f
Increase the MSI installation timeout to 20 minutes (#13489)
* Increase the MSI installation timeout to 20 minutes

* Increase the MSI installation timeout to 20 minutes
2025-09-17 11:27:12 -07:00
Blue
b9e74a3361
Set TargetLatestRuntimePatch to false to prevent automatic framework version increases (#13483)
* Add lock files to wslsettings target to prevent automatic nuget version increases

* Update lock

* Update lock

* Enable strict mode

* Experiment

* Save state

* Experiment

* Experiment

* Experiment

* Experiment

* Experiment

* Experiment

* Experiment

* Try to set a matching version in packages.config

* Try to set a matching version in packages.config

* Experiment

* Experiment

* Experiment

* Restore pipeline

* Experiment

* Experiment

* Experiment

* Experiment

* Experiment

* Experiment

* Simplify

* Remove lock files
2025-09-16 17:46:53 -07:00
Blue
146a7511a5
Add VID event providers to WSL log profile (#13488) 2025-09-16 14:12:38 -07:00
Blue
2eac1dafec
Configure defender process exceptions when running tests (#13470)
* Configure defender process exceptions when running tests

* Use explicit %ls

* Save state

* Save state

* Add exceptions before the package is installed

* Remove extra call
2025-09-10 19:36:25 -07:00
Ben Hillis
25f7a7b38c
Notice change from build: 129899373 (#13475)
Co-authored-by: WSL notice <noreply@microsoft.com>
2025-09-10 19:35:02 -07:00
Ben Hillis
d43b725b3d
Fix: Always use 'WSLInterop` as the binfmt name (#13467)
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
2025-09-09 09:28:11 -07:00
Ben Hillis
36c077bd69
logging: add more settings to vm create begin / end events. (#13412)
* logging: add more settings to vm create begin / end events.

* pr feedback, less string allocations'

* Handle empty user module list differently

* pr feedback

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
2025-09-08 15:32:35 -07:00
Ben Hillis
3e322b719c
Update Microsoft .NET and AppSDK nuget packages. (#13450)
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
2025-09-07 12:00:21 -07:00