microsoft / winget-cli

WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
https://learn.microsoft.com/windows/package-manager/
MIT License
23.37k stars 1.45k forks source link

Support hardware requirements. #1417

Open denelon opened 3 years ago

denelon commented 3 years ago

Custom Hardware Dependencies

Some packages require custom hardware.

Proposed technical implementation details (optional)

Extend schema, and perform validations for hardware requirements

vedantmgoyal9 commented 3 years ago

After this, I hope we would be able to add Nvidia GPU Drivers to the repository.

denelon commented 3 years ago

I've added the label "Hardware" and use a query to help find PRs identified as needing this feature.

Rolling2405 commented 3 years ago

@denelon Any update on when this feature will be implemented?

denelon commented 3 years ago

@Rolling2405 this is likely to be a "long tail" feature. We've been discussing alternatives to having to go through the process to purchase hardware just for the sake of package validation. One of the concerns is how we deal with systems that may not meet the hardware requirements. We don't have a good way to filter apps out as we don't necessarily know how to probe for the required hardware in advance.

Maybe it could be as simple as a "Warning: This package has been identified as one requiring custom hardware". What are your thoughts on edge cases?

Rolling2405 commented 3 years ago

@Rolling2405 this is likely to be a "long tail" feature. We've been discussing alternatives to having to go through the process to purchase hardware just for the sake of package validation. One of the concerns is how we deal with systems that may not meet the hardware requirements. We don't have a good way to filter apps out as we don't necessarily know how to probe for the required hardware in advance.

Maybe it could be as simple as a "Warning: This package has been identified as one requiring custom hardware". What are your thoughts on edge cases?

I think the warning about requiring custom hardware would be a good alternate solution to Microsoft purchasing the hardware to validate packages. Although, if Microsoft is able to purchase the hardware that would be best!

denelon commented 2 years ago

We may add an informational warning for packages with specific hardware requirements if the client isn't extended to check for them as a shorter-term solution. That would at least allow us to begin including hardware specific packages, but we will still need to have access to the specific hardware in order to perform validation.

dellclientopensource commented 1 year ago

Dell.command monitor 10.9.1 4 a10 b4 de567824 (PR #113067), Requires physical system to install and run, as VM does not have a WMI-ACPI compliant BIOS. Is it possible to enable hardware support for winget validation? 256026390-286a3aaf-d849-42a6-85a0-7cae79f653c3

upintheairsheep commented 1 year ago

@Rolling2405 this is likely to be a "long tail" feature. We've been discussing alternatives to having to go through the process to purchase hardware just for the sake of package validation. One of the concerns is how we deal with systems that may not meet the hardware requirements. We don't have a good way to filter apps out as we don't necessarily know how to probe for the required hardware in advance.

Maybe it could be as simple as a "Warning: This package has been identified as one requiring custom hardware". What are your thoughts on edge cases?

Honestly, it should either check for specific devices in the system, or if not possible, ask the user to connect X device, use X vendor/device, etc.

S1rDan commented 1 month ago

One of the concerns is how we deal with systems that may not meet the hardware requirements. We don't have a good way to filter apps out as we don't necessarily know how to probe for the required hardware in advance.

Potentially silly question: Why not make the user responsible for meeting the hardware requirements for any software they install until a solution is found? So it would be my own fault if I tried to install something for which I don't have the necessary hardware. Or is there a deeper technical problem with simply allowing this?

yuusou commented 2 weeks ago

Don't most installers for specific hardware drivers or software already have built-in checks? What if the user wants to install software for a device they haven't plugged in? As mentioned by @S1rDan the user should be responsible.