Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement CPU Generation Check Fully #3

Closed
DrJaymz opened this issue Jun 25, 2021 · 13 comments
Closed

Implement CPU Generation Check Fully #3

DrJaymz opened this issue Jun 25, 2021 · 13 comments
Assignees
Labels
enhancement New feature or request

Comments

@DrJaymz
Copy link

DrJaymz commented Jun 25, 2021

Screenshot 2021-06-25 084008

I have TPM 2.0 and its enabled and Secure boot is enabled and the PC is plenty fast enough but the windows upgrade tool says no, you must buy a new pc. Its like windows 95 all over again!

@zurgeg
Copy link

zurgeg commented Jun 25, 2021

Screenshot 2021-06-25 084008

I have TPM 2.0 and its enabled and Secure boot is enabled and the PC is plenty fast enough but the windows upgrade tool says no, you must buy a new pc. Its like windows 95 all over again!

@DrJaymz The tool will put a "?" on places you don't meet the soft floor, which the Windows 11 upgrade tool goes off of.

What is the soft floor and the hard floor?

Well, the soft floor is the recommended specs, the hard floor is the bare minimum, IIRC if you don't meet the soft floor, your specs aren't supported, but if you don't meet the hard floor W11 won't work at all

@blinkzz
Copy link

blinkzz commented Jun 25, 2021

@DrJaymz
Looks like you CPU is out of luck, i5-7200U is not in list of supported CPUs
https://docs.microsoft.com/en-us/windows-hardware/design/minimum/supported/windows-11-supported-intel-processors

@zurgeg
Copy link

zurgeg commented Jun 25, 2021

@DrJaymz
Looks like you CPU is out of luck, i5-7200U is not in list of supported CPUs
https://docs.microsoft.com/en-us/windows-hardware/design/minimum/supported/windows-11-supported-intel-processors

Correct, it's not in the list of supported CPUs on the soft floor, but I believe it meets the hard floor if you see a "?"

@AnishDe12020
Copy link

Well given that it supports the system requirements, I don't see why it should not support WIndows 11. Well now this goes into arguing about if Microsoft is getting us to buy a new PC. Now once we get hold of Windows 11 we can really see if we can just check the system requirements using this tool and go ahead with installing Windows 11 or do we need to run Microsoft's tool

@zurgeg
Copy link

zurgeg commented Jun 25, 2021

Well given that it supports the system requirements, I don't see why it should not support WIndows 11. Well now this goes into arguing about if Microsoft is getting us to buy a new PC. Now once we get hold of Windows 11 we can really see if we can just check the system requirements using this tool and go ahead with installing Windows 11 or do we need to run Microsoft's tool

The leaks (which I did some research on) have showed me that the installer will let you install, but Windows 10 won't let you upgrade if you don't meet the soft floor, but we will see once the production build comes out

@AnishDe12020
Copy link

Well given that it supports the system requirements, I don't see why it should not support WIndows 11. Well now this goes into arguing about if Microsoft is getting us to buy a new PC. Now once we get hold of Windows 11 we can really see if we can just check the system requirements using this tool and go ahead with installing Windows 11 or do we need to run Microsoft's tool

The leaks (which I did some research on) have showed me that the installer will let you install, but Windows 10 won't let you upgrade if you don't meet the soft floor, but we will see once the production build comes out

Oh thanks for the info. Will need to wait till it is at least available for insiders (which i will be testing)

@DrJaymz
Copy link
Author

DrJaymz commented Jun 25, 2021

I think the requirements will cause a lot of confusion. It doesn't help by the stupid naming conventions from intel like you can have an i7 but lots of different generations which are not that easy to determine - its not like you can see on windows 10 device specifications what generation it is.

The next thing that I think will cause huge confusion and I predict back-tracking is the TPM / secure boot requirement. There are a lot of PC's that support it but are not set up that way - and I would say its beyond your average user to reconfigure without making the pc unbootable.

Finally, TPM is NOT globally available. Embargos prevent encryption (TPM included) being supplied to some countries and others don't allow it. So what happens there?

I installed the 11 "preview" on a VM on this machine and I don't recall any issue, but you're right when you say the windows 10 upgrader may be finicky about it.

Since my daily PC is a Gigabyte Brix I can't easily upgrade unless I find one with a supported CPU that I can just switch everything over to - which to be honest I probably can.

@rcmaehl rcmaehl added the enhancement New feature or request label Jun 25, 2021
@rcmaehl rcmaehl changed the title Why not WhyNotWin11? Implement CPU Generation Check Fully Jun 25, 2021
@rcmaehl
Copy link
Owner

rcmaehl commented Jun 25, 2021

Morning all,

The CPU Check isn't fully implemented yet but I'll be starting on it shortly. I'll probably keep the Yellow ? as CPU compatibility isn't even know as a solid requirement. For example, Zen+ is supported but Zen2 is not but there's no major reason why this would be as they're almost exactly the same in terms of features and capability.

Additionally, the tool isn't designed to check if you can install the insider preview(s), but if your computer meets the install requirements listed by Microsoft. Even then, Microsoft continues to change and update these requirements as I've had reports of Secure Boot check failing but the MS tool still passing. The official MS Tool is obfuscated so the actual current checks are unknown.

I'll create a discussion issue for checks to add/remove later today.

@rcmaehl rcmaehl self-assigned this Jun 25, 2021
rcmaehl added a commit that referenced this issue Jun 25, 2021
@rcmaehl rcmaehl pinned this issue Jun 25, 2021
@fre4kyC0de
Copy link

fre4kyC0de commented Jun 25, 2021

Could you determine the CPUID using AutoIt3?
I could post you a list of CPUIDs I know and tell, which processors have this CPUID and if they are compatible or not.

EDIT: Should work using WMI. Query "ProcessorId" in "Win32_Processor".

@rcmaehl
Copy link
Owner

rcmaehl commented Jun 25, 2021

Could you determine the CPUID using AutoIt3?
I could post you a list of CPUIDs I know and tell, which processors have this CPUID and if they are compatible or not.

EDIT: Should work using WMI. Query "ProcessorId" in "Win32_Processor".

I'd appreciate it, hopefully I can find a processorID list somewhere instead of String In String matching which is gonna be horrid

@fre4kyC0de
Copy link

fre4kyC0de commented Jun 25, 2021

I'd appreciate it, hopefully I can find a processorID list somewhere instead of String In String matching which is gonna be horrid

It will take some time...
I'll report the CPUIDs as "supported" (= in list), "most likely supported" (= not in list, but same series OR newer than the ones in the list) and "most likely not supported" (= older than oldest processor in the list)

Everything below has been created to the best of my knowledge and belief.

EDIT 1: Intel Processors I found in my local list (I hope I didn't misread something) as "supported":

  • 06_7A_1 = 706A1
  • 06_7A_8 = 706A8
  • 06_8E_9 = 806E9
  • 06_8E_A = 806EA
  • 06_8E_B = 806EB
  • 06_8E_C = 806EC
  • 06_96_? = 9066?
  • 06_9E_B = 906EB
  • 06_A5_3 = A0653
    Note: Some processors not listed by MS share the same CPUIDs.

EDIT 2: Intel Processors extracted from the Microcode repository of "UEFI BIOS Updater" and sorted by Architecture, then short search
most likely supported
[Socket 1151-v2]

  • 906EA
  • 906EB
  • 906EC
  • 906ED

[Socket 1200]

  • A0650
  • A0651
  • A0652
  • A0653
  • A0654
  • A0655
  • A0670
  • A0671

[Socket 4189]

  • 606A0
  • 606A4
  • 606A5
  • 606A6

[Socket 2066]

  • 50650
  • 50651
  • 50652
  • 50653
  • 50654
  • 50655

[Socket 3647]

  • 5065B
  • 50656
  • 50657

most likely unsupported
[Socket 1155]

  • 206A0
  • 206A1
  • 206A2
  • 206A3
  • 206A4
  • 206A5
  • 206A6
  • 206A7
  • 306A0
  • 306A2
  • 306A4
  • 306A5
  • 306A6
  • 306A8
  • 306A9

[Socket 2011]

  • 206D1
  • 206D3
  • 206D5
  • 206D6
  • 206D7
  • 306E0
  • 306E2
  • 306E3
  • 306E4
  • 306E6
  • 306E7

[Socket 2011-v3]

  • 306F1
  • 306F2
  • 406F0
  • 406F1

[Socket 1150]

  • 306C1
  • 306C2
  • 306C3
  • 40671

[Socket 1151]

  • 506E0
  • 506E1
  • 506E2
  • 506E3
  • 506E8
  • 906E9

EDIT 3: And here are the AMD processors from "UBU"
supported
[AM4]

  • A00F11
  • A20F00
  • A20F10
  • A50F00
  • 800F82
  • 820F00
  • 830F10
  • 850F00
  • 870F10

most likely supported (Zen+ or newer)

  • 810F81
  • 820F01
  • 860F00
  • 860F01
  • 860F81
  • 870F00

most likely unsupported
[AM4]

  • 800F00
  • 800F11
  • 800F12
  • 810F00
  • 810F10
  • 810F80

[pre-AM4]

  • 100F00
  • 100F20
  • 100F22
  • 100F40
  • 100F41
  • 100F42
  • 100F43
  • 100F62
  • 100F80
  • 100F81
  • 100FA0
  • 120F00
  • 200F30
  • 200F31
  • 200F32
  • 300F01
  • 300F10
  • 500F00
  • 500F01
  • 500F10
  • 500F20
  • 580F00
  • 580F01
  • 580F10
  • 580F20
  • 600F00
  • 600F01
  • 600F10
  • 600F11
  • 600F12
  • 600F20
  • 610F00
  • 610F01
  • 630F00
  • 630F01
  • 660F00
  • 660F01
  • 670F00
  • 680F00
  • 680F01
  • 680F10
  • 690F00
  • 700F00
  • 700F01
  • 730F00
  • 730F01

unknown
[AM4]

  • A00F00
  • A00F10
  • A20F12
  • 800F00
  • 800F10 (EPYC)
  • 810F11
  • 830F00

That's the most complete list I was able to create. If I find some additional CPUIDs, I'll post them as a new reply (may include some I already posted here).

rcmaehl added a commit that referenced this issue Jun 25, 2021
rcmaehl added a commit that referenced this issue Jun 25, 2021
Prep for release
@rcmaehl
Copy link
Owner

rcmaehl commented Jun 25, 2021

That's the most complete list I was able to create. If I find some additional CPUIDs, I'll post them as a new reply (may include some I already posted here).

I'm keeping this saved for future improvements for the CPU checker, but closing the issue as this has been added in 2.1.0

@rcmaehl rcmaehl closed this as completed Jun 25, 2021
@rcmaehl rcmaehl unpinned this issue Jun 25, 2021
@fre4kyC0de
Copy link

I'll just add this one:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases

But you'll have to "translate" the IDs in the following manner:
first number/letter of the "model number" then the two digit "family code" (if it has just one, add a "0" before) + second number/letter of the "model number" + "stepping id".
Example: Family code "6"; model number "4e", stepping id "3" would "translate" to "406e3" ["mffms", with "m" being "model number", ...]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants