microsoft / winget-pkgs

The Microsoft community Windows Package Manager manifest repository
MIT License
8.71k stars 4.54k forks source link

[New Feature]: Upgrade manual validation hardware #107639

Open superusercode opened 1 year ago

superusercode commented 1 year ago

Description of the new feature/enhancement

The absence of support for newer versions of opengl and lack of an audio driver on the manual validation VM causes launch errors that are specific to the pipeline and would not happen in the real world or even on a self set-up clean VM i.e. virtualbox (making this hard for new contributors to preemptively test for). This blocks PRs like https://github.com/microsoft/winget-pkgs/pull/107110 https://github.com/microsoft/winget-pkgs/pull/107333 https://github.com/microsoft/winget-pkgs/pull/107211 https://github.com/microsoft/winget-pkgs/pull/106964 https://github.com/microsoft/winget-pkgs/pull/107075 and would have blocked developer tools like https://github.com/microsoft/winget-pkgs/pull/107422 if not for the latter clearly stating it requires opengl 3.3+ - supported on GPUs in the last five years and near ubiquitous on windows 11. Open source programs and games lean on the newer side of opengl support since mesa is the default graphics package for most of their Linux users, so this may become a more common issue for some of the packages already in winget.

Proposed technical implementation details (optional)

A better gpu driver and an audio device would resolve these issues.

stephengillie commented 1 year ago

Some research notes:

stephengillie commented 1 year ago

The host may require some modification:

WARNING: We no longer support the RemoteFX 3D video adapter. If you are still using this adapter, you may become vulnerable to security risks. Learn more (https://go.microsoft.com/fwlink/?linkid=2131976)
Add-VMRemoteFx3dVideoAdapter: Hyper-V cannot add a RemoteFX 3D video adapter to this virtual machine. To add this adapter, the host must have at least one graphics processing unit (GPU) that supports RemoteFX and that meets the minimum requirements for DirectX.
stephengillie commented 1 year ago

Related: Request to revert Manual Validation pipeline to Windows 10, except for situations where MinimumOSVersion demands Windows 11.

stephengillie commented 1 year ago

Related: Request to revert Manual Validation pipeline to Windows 10, except for situations where MinimumOSVersion demands Windows 11.

Windows 10 pipeline VMs operational, completing this section.

superusercode commented 1 year ago

What's the exact MinimumOSVersion of windows 11 to force the validation pipeline to use it?

stephengillie commented 1 year ago

For the Manual Validation pipeline, I'm currently using 10.0.22000.0. I believe the Automatic Validation pipeline uses the same value.

(The Manual Validation pipeline is a ~1300 LOC PowerShell module that orchestrates minimally-modified VMs. It's currently hosted in a private repo, but I'd be happy to work to release it through a public Microsoft repository. I'm unsure of the best home for it.)

superusercode commented 1 year ago

I think it would make sense for it to live in the Tools directory with the other powershell scripts, but if it becomes more common for issues to be filed against the validation environment then I think it would be better for it to have its own repository.

stephengillie commented 1 year ago

This sounds like a good location.

stephengillie commented 1 year ago

In-PR:

stephengillie commented 1 year ago

Need 32-bit OSes:

stephengillie commented 1 year ago

For reference: Winget List installed packages: image

microsoft-github-policy-service[bot] commented 2 weeks ago

Hello @superusercode,

This package appears to require specific hardware.

This package is blocked until support for specific hardware requirements is implemented in:

Be sure to add your 👍 to the issue to help raise the priority and avoid posting "Me too!" messages to respect those who have subscribed to the issue.

Template: msftbot/blockingIssue/hardwareDependency