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

x86 platform #204

Closed
Sen15260 opened this issue Jun 11, 2022 · 16 comments
Closed

x86 platform #204

Sen15260 opened this issue Jun 11, 2022 · 16 comments

Comments

@Sen15260
Copy link

Can we get an x86 versions of the game and of launcher itself? Tried to run the launcher on my Win10 tablet - obviously didnt work. Tried to install the appx downloaded by launcher - didnt work

@mojontwins
Copy link

Is it possible to compile the launcher for 32 bits? If so, how?

@mojontwins
Copy link

In fact, that was the easy part. I managed to compile for a 32 bits platform just by changing the target in VS. The app now works in 32 bit devices but the versions it downloads are still 64bits. I think the reason is this line in WUProtocol.cs:

new XElement(wuclient + "deviceAttributes", "E:BranchReadinessLevel=CBB&DchuNvidiaGrfxExists=1&ProcessorIdentifier=Intel64%20Family%206%20Model%2063%20Stepping%202&CurrentBranch=rs4_release&DataVer_RS5=1942&FlightRing=Retail&AttrDataVer=57&InstallLanguage=en-US&DchuAmdGrfxExists=1&OSUILocale=en-US&InstallationType=Client&FlightingBranchName=&Version_RS5=10&UpgEx_RS5=Green&GStatus_RS5=2&OSSkuId=48&App=WU&InstallDate=1529700913&ProcessorManufacturer=GenuineIntel&AppVer=10.0.17134.471&OSArchitecture=AMD64&UpdateManagementGroup=2&IsDeviceRetailDemo=0&HidOverGattReg=C%3A%5CWINDOWS%5CSystem32%5CDriverStore%5CFileRepository%5Chidbthle.inf_amd64_467f181075371c89%5CMicrosoft.Bluetooth.Profiles.HidOverGatt.dll&IsFlightingEnabled=0&DchuIntelGrfxExists=1&TelemetryLevel=1&DefaultUserRegion=244&DeferFeatureUpdatePeriodInDays=365&Bios=Unknown&WuClientVer=10.0.17134.471&PausedFeatureStatus=1&Steam=URL%3Asteam%20protocol&Free=8to16&OSVersion=10.0.17134.472&DeviceFamily=Windows.Desktop"))));

But I'm not sure what I should replace "Intel64" with. Any pointers?

@mojontwins
Copy link

I've checked the environment variables in system properties in the 32 bits machine, and I've got these results:

PROCESSOR INDENTIFIER: x86 Family 6 Model 142 Stepping 9, GenuineIntel
PROCESSOR ARCHITECTURE: x86

So hopefully changing that string so it reads...

new XElement(wuclient + "deviceAttributes", "E:BranchReadinessLevel=CBB&DchuNvidiaGrfxExists=1&ProcessorIdentifier=x86%20Family%206%20Model%20142%20Stepping%209&CurrentBranch=rs4_release&DataVer_RS5=1942&FlightRing=Retail&AttrDataVer=57&InstallLanguage=en-US&DchuAmdGrfxExists=1&OSUILocale=en-US&InstallationType=Client&FlightingBranchName=&Version_RS5=10&UpgEx_RS5=Green&GStatus_RS5=2&OSSkuId=48&App=WU&InstallDate=1529700913&ProcessorManufacturer=GenuineIntel&AppVer=10.0.17134.471&OSArchitecture=x86&UpdateManagementGroup=2&IsDeviceRetailDemo=0&HidOverGattReg=C%3A%5CWINDOWS%5CSystem32%5CDriverStore%5CFileRepository%5Chidbthle.inf_amd64_467f181075371c89%5CMicrosoft.Bluetooth.Profiles.HidOverGatt.dll&IsFlightingEnabled=0&DchuIntelGrfxExists=1&TelemetryLevel=1&DefaultUserRegion=244&DeferFeatureUpdatePeriodInDays=365&Bios=Unknown&WuClientVer=10.0.17134.471&PausedFeatureStatus=1&Steam=URL%3Asteam%20protocol&Free=8to16&OSVersion=10.0.17134.472&DeviceFamily=Windows.Desktop"))));

Will download 32 bits version? I'll try later this afternoon and keep you posted.

@mojontwins
Copy link

Nope, maybe that's not it. The launcher loads a list of versions from https://mrarm.io/r/w10-vdb, and such list contains hashes associated to only AMD64 versions.

For example, if you try to download "1.19.10.22", the list at https://mrarm.io/r/w10-vdb will use the hash 297a3833-310d-4bdc-9607-6443f7d28cb7 which, according to https://raw.githubusercontent.com/MCMrARM/mc-w10-versiondb/master/versions.txt, corresponds to the AMD64 version:

297a3833-310d-4bdc-9607-6443f7d28cb7 Microsoft.MinecraftWindowsBeta_1.19.1022.0_x64__8wekyb3d8bbwe 265544129

Fot the x86 version, this hash should be used (based upon the same list):

40a7b700-b554-468e-8a03-48cf04c847a2 Microsoft.MinecraftWindowsBeta_1.19.1022.0_x86__8wekyb3d8bbwe 265544130

I guess the file read by the app is pre-generated somehow based upon the general list. One possible solution would be pre-generate another file for the .x86 platform (and posibly another one for the .arm platform!) and point the 32 bits app to that, OR attempt to auto-detect the platform and download the proper version. But that's somehow beyond my posibilities, methinks.

@mojontwins
Copy link

I've created a very ugly php script which parses https://raw.githubusercontent.com/MCMrARM/mc-w10-versiondb/master/versions.txt for any of the three platforms (x64, x86, arm) and outputs a json array simmilar to https://mrarm.io/r/w10-vdb

https://gist.github.com/mojontwins/48c5eab5483a385f318dab1689f29c92

For instance, this is the output for the x86 platform:

https://gist.githubusercontent.com/mojontwins/8fed284f81a309d4355762c9ecc7b917/raw/738816cc8ba55daf70094cb15d284c38aebbb47e/gistfile1.txt

I'll try and create a MCLauncher which uses this list and see what happens.

@mojontwins
Copy link

Well, it worked - kinda. Now it downloads de x86 version but it's unable to launch it. Button stays on but nothing happens. Maybe I am not building the project correctly or there's a problem with my tablet. I'll try and generate a debug version later and try to understand what's failing.

My fork is here, BTW https://github.com/mojontwins/mc-w10-version-launcher

@DLazaridisGM
Copy link

can it download appx files at least i cant test it because i cant compile shit

@mojontwins
Copy link

mojontwins commented Jun 13, 2022

It downloads, but fails to launch, silently. Maybe the windows version in this tablet is too old? I don't have another 32 bits system to test.

If, after downloading a 32 bits version in the tablet, I copy the whole folder to a pen drive and run in one of my 64bit boxes, I can play the game.

Here's a ZIP with the compiled x86 project which loads the x86 links and downloads x86 versions so you can test if you like:
MCLauncher.zip

Note that, in order for it to download a 32 bits version, it HAS to be run in a 32 bits environment, as the detection is made at runtime:

            if (Environment.Is64BitOperatingSystem)
            {
                api = VERSIONS_API_X64;
            }
            else
            {
                api = VERSIONS_API_X86;
            }

@MrRubberDucky
Copy link

It downloads, but fails to launch, silently. Maybe the windows version in this tablet is too old? I don't have another 32 bits system to test.

If, after downloading a 32 bits version in the tablet, I copy the whole folder to a pen drive and run in one of my 64bit boxes, I can play the game.

Here's a ZIP with the compiled x86 project which loads the x86 links and downloads x86 versions so you can test if you like: MCLauncher.zip

Note that, in order for it to download a 32 bits version, it HAS to be run in a 32 bits environment, as the detection is made at runtime:

            if (Environment.Is64BitOperatingSystem)
            {
                api = VERSIONS_API_X64;
            }
            else
            {
                api = VERSIONS_API_X86;
            }

tested it just now on my win10 tablet (win10 21H1), works well and the game actually launches (unless i try 1.19 but that's due to increased requirements needed to run it)

@mojontwins
Copy link

Then it's time to update my tablet a bit. Thanks for testing!

@mojontwins
Copy link

Yay it worked! I'll tidy my stuff for a pull request
photo_2022-06-14_21-01-29
.

@dktapps
Copy link
Collaborator

dktapps commented Jun 21, 2022

A very brief search of the issue tracker would have revealed that there are already several issues open about this: https://github.com/MCMrARM/mc-w10-version-launcher/issues?q=is%3Aissue+x86+

@dktapps dktapps closed this as completed Jun 21, 2022
@dktapps
Copy link
Collaborator

dktapps commented Jun 21, 2022

Duplicate of #114

@dktapps dktapps marked this as a duplicate of #114 Jun 21, 2022
@Max-RM
Copy link

Max-RM commented Apr 30, 2024

Here's a ZIP with the compiled x86 project which loads the x86 links and downloads x86 versions so you can test if you like: MCLauncher.zip

Hi @mojontwins. Can you make ARM32 version too? Need exact ARM32v7 compiled build because for MCBE UWP exist only ARM32 builds, and there is not ARM64v8 UWP builds. + ARM32v7 exe of launcher will support Jailbreaked Windows Phones and Windows ARM32 desktop build (it exist btw).

@mojontwins
Copy link

Sorry I don't have the means to do so.

@Max-RM
Copy link

Max-RM commented May 2, 2024

Sorry I don't have the means to do so.

ок. So sad

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

No branches or pull requests

6 participants