Skip to content

Instantly share code, notes, and snippets.

@dantmnf
Last active April 6, 2024 19:33
Show Gist options
  • Save dantmnf/5c393e03962ff113aad704b5cc795d45 to your computer and use it in GitHub Desktop.
Save dantmnf/5c393e03962ff113aad704b5cc795d45 to your computer and use it in GitHub Desktop.
Huawei MateBook E Go (Wi-Fi)

The Huawei MateBook E Go (Wi-Fi) is a Windows on ARM device based on Qualcomm Snapdragon 8cx Gen 3 platform at a reasonable price compared to Surface and ThinkPad.

Before you purchase…

Caveats

  • The native orientation of the display panel is portrait.
  • The keyboard cover doesn’t outperform 2015 Surface.
    • No backlight
    • No wired connection - lags
    • Doesn’t get disabled when flipped to back
  • The quality of touch panel and pen driver is questionable.
    • The driver package is not DCH-compliant (an extra installer is needed to be properly installed)
    • Userspace daemon runs in amd64 emulation
    • Ships debug-version runtimes (msvcp140d.dll) and API set stub DLLs (only needed for Windows 7)
    • Uses a kernel-mode driver for userspace USB communication
      • Leaks handles on pen contact/leave/attach/detach
    • Log spam in C:\ProgramData\Huawei\HuaweiTHP
  • Wide-gamut display but doesn’t support the new MHC calibration pipeline and auto color management.
    • Despite Microsoft saying 8cx Gen 3 is supported.

Firmware keys

F2: Setup

F10: Recovery

F12: Boot menu

Clean OS (re)installation

Preparation

  • Windows 11 ARM64 installation ISO。

  • Files from stock OS that are worth keeping:

# drivers and post-install customizations
C:\Recovery\OEM

# stock recovery image
(LABEL=WINPE)\*
(LABEL=Onekey)\*
(LABEL=WINRE)\*
  • Files from stock OS that are worth restoring after installation:
# Qualcomm color management libraries
C:\Windows\System32\qdcmlib.dll
C:\Windows\System32\qdcmlib_x64.dll

# informational ICC profiles for Huawei PC Manager
C:\Windows\System32\spool\drivers\color\native.icc
C:\Windows\System32\spool\drivers\color\sRGBICC.icc
C:\Windows\System32\spool\drivers\color\displayP3.icc
C:\Windows\System32\spool\drivers\color\digest.sha

# rotate display in Windows PE/RE
(LABEL=WINRE)\Recovery\WindowsRE\Winre.wim:\Windows\System32\changeDisplay.exe
(LABEL=WINRE)\Recovery\WindowsRE\Winre.wim:\Windows\System32\winpeshl.ini

Drivers for Windows PE

  • Inject drivers in C:\Recovery\OEM\Customization\Product\Dirvers2PE\WinPEDriver to boot.wim.

  • Be aware that USB hot-plugging may not work in Windows PE.

  • Firmware enumerates an I2C HID touch panel on USB or recovery boot (but not on normal OS boot).

  • To rotate display orientation in Windows PE, run changeDisplay.exe in command prompt (Shift-F10 in Windows Setup),

  • Alternatively, you can use Windows RE of stock OS (hold Shift and click reboot, no touch input though).

Drivers for full Windows OS

Inject drivers in C:\Recovery\OEM\Customization\Product\Dirvers2PE\PlatformDriver to install.wim, or the offline image after extracting WIM.

Configure Windows RE

The vanilla winre.wim (located in (install.wim):\System32\Recovery) need the following customizations:

  • Inject drivers in WinPEDriver
  • Put changeDisplay.exe and winpeshl.ini to (winre.wim):\Windows\System32.

💡 Remove stock winre.wim from WINRE partition before first boot to the new installation so that the partition can be automatically reused.

Caveats on USB boot

Chained bootloaders (e.g. booting via UEFI shell, GRUB or Rufus UEFI_NTFS) may fail to boot even if secure boot is disabled. It is recommended to split install.wim to swm files and place them in FAT32 filesystem.

Perform installation

When everything are ready, follow generic instructions on installing vanilla Windows.

Extra drivers (that can work without Huawei PC Manager)

Touch panel

Pen

Huawei softwares

Huawei PC Manager

Download from https://consumer.huawei.com/cn/support/laptops/matebook-e-go/

Hardware features that need Huawei PC Manager

  • Driver/firmware updates
  • Charge limit
  • Display calibration (3DLUT stored in firmware flash memory)
  • Use detached keyboard cover

Almost everything runs in amd64 emulation, though.

@TWT233
Copy link

TWT233 commented Mar 25, 2024

TWT233, thank you, it's work. The same result - if run Deployment Tools - copype - then (don't close Deployment Tools) copy and replace stock Microsoft sources\boot.wim to modified boot wim from final Dantmnf. Then - create WinPE boot media.

It's interest, but after booting Dantmnf full installation media and after choose keyboard layout you will get only WinPE standard interface. No Windows 11 setup process. You will need to open CMD manually, then go to X:\root then run setup.exe - manually too. Is this happens to everyone who installed Win11 according to the Dantmnf script?

idk since I just turned to this post for the resolution to boot loop issue, I got over it via the vanilla pe and cmd is not issue to me

and the vanilla pe ought to be cmd only without any extension intergrated in

@TWT233
Copy link

TWT233 commented Mar 25, 2024

TWT233, thank you very much. In fact, I pretended to be cunning and lazy at first and did this... 1. I took it right original Winpe.wim from here C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\arm64\en-us and copy it to separate folder. 2. Then - Mount it with DISM and Add Drivers and copy changeDisplay.exe and winpeshl.ini to System32. 3. Then - Unmount - commit and replace original winpe.wim in C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\arm64\en-us by modified winpe.wim. 4. Then - use Deployment Tools - MakeWinPEMedia command to create bootable WinPE flash. As we can see this fast method does not work)

Btw, I performed the Whole Dantmnf 99% Scenario described it this article and tried to boot from from newest created installation W11 flash. WOW! Boot Ok! Lanscape mode automatically - Ok! You can see comfortable initial (landscape) screen offering to choose keyboard layout ) But... 1% remaining. Dantmnf writes: Remove stock winre.wim from WINRE partition before first boot to the new installation so that the partition can be automatically reused. He writes it not in vain. Stock winre.wim located in hidden WinRE partition - it's the only winre.wim file and the only place. W11 installation wizard can see it and use it. This is not allowed at least because this winre.wim has the onle language - Chineese (in my case). If you try create to create Recovery Drive i stock W11 from Huawei you will get error - Some files missing ( Oh.. Huawei, shame on you?). You will need to Unhide Winre partition, then cnange attribute it folders and subfolders, then use command reagetnc to show Windows - where Winre located. And finally - create recovery drive. That's not all :( Boot from this winre drive show exclusively Cineese interface. English users, How do you like this entertainment? ))) My question: How and when to remove stock winre.wim from WINRE partition? In Windows it's not allowed (access denied).

@DimkaL62 im not involved myself in the huawei winre and the recovery partition

but i thought you can get touch with it in pe

and notice that the diskpart in vanilla pe is not full functional (according to my experince, not fully tested)

@DimkaL62
Copy link

TWT233, WinPE, WinRE and Boot.wim in fact are the same. It's sufficient to put winpeshl.ini with recenv.exe to Windows\System32 mounted Boot.wim (of course with drivers already injected :)) and WinPE drive become WinRE drive.
As to Dism++. I putted it folder to to Mount folder (created by Deployment Tools copype) then Unmount and create WinPE flash drive. After boot and run X:\Dism++ folder\Dism++ARM64.exe it said Tip - to copy Dism++ folder to another drive with 5GB+ space. Just I understand why you created second partition on the same flash.

@DimkaL62
Copy link

DimkaL62 commented Apr 6, 2024

Let me shortly give you history of the Win11 installation according Dantmnf Scenario. I decided to keep the existing Windows 11 system from Huawei and install a second Windows 11 on a free SSD space (before that, I shrink the existing C: partition). Created in strict accordance with the Dantmnf article, the installation flash media booted in Landscape mode, but it was the WinRE interface :). Ok, no problem, go to CMD and run X:\Setup.exe. Installation started in Landscape mode but The installation started in comfort landscape mode, but almost immediately switched to portrait mode. Ok, wait for finish.
Once the installation was complete, I simply switched the display orientation in Windows settings to landscape. Then - go to Device Manager: I can see Unknown devices (it's Touchscreen - Angelos2250 wrote about it). I decided to take my time and just rebooted computer for now. I saw a blue dual-boot menu for Windows Bootmanager in landscape mode. It's beautiful! Let's boot in new system then run Windows Update. In addition to the usual 23H2 service packs, Windows Update offered something like the Huawei Hardware component and installed it only on reboot (in the WinPE environment). After boot to new system I can see ideal Device Manager an even Touchscreen works fine! Isn't that happiness?
But...
After next reboot I can see Legasy Black&White Windows Boot Menu, moreover, lying on its side, i.e. in portrait mode :(. See picture.
Of course, I've tried the well-known bcdedit commands - bootmenupolicy standard etc., but - no result.
Can anybody help me:

  1. How to restore Windows Boot menu to Landscape mode (at least in legacy B&W mode)?
  2. How to restore Windows Boot menu to Graphics mode?
    Thank you.
    EGo_Win_Boot_Menu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment