| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 | ||||||
Running the XGecu T76 chip programmer with x86 emulation has been miserably slow, even on my M4 MacBook Pro, and so I finally took some time to figure out how to get it working on Windows 11 ARM in Parallels on Apple Silicon. There wasn’t any information online about this, except for one person who had some luck with Zadig, but had no idea what they actually did. I’ve documented the entire process below, which works with or without Zadig; the key is not only changing the driver to a native WinUSB driver, but also correcting some crucial GUIDs in the registry to ensure driver matching works in the software. For this, I’ve created a simple registry file that can be easily imported.
My Configuration: Xgpro_T76 v13.03, Windows 11 Pro for ARM, Parallels Desktop 26, macOS Tahoe, Apple M4 Max.
That’s it. There’s no need to disable driver signing or download Zadig. WinUSB works natively, and is signed by Microsoft. The only tricky part was getting the driver matching correct. This information can be found in the .inf file and applied to other XGecu programmers.
If the registry file doesn’t work, the important thing is to take note of the DeviceInterfaceGUIDs in the driver registry entry’s DeviceProperties, and make sure to copy that registry key/value pair back after updating the driver to WinUSB. In the case of 13.11, I had to do it both before and after reflashing the firmware, as the reflash caused the driver identifier to change, and created a new device in the registry. Same with 13.17. I also sometimes need to power cycle and/or restart the app after re-flash. So the order of actions for an update seem to be:
What a time to be alive.
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 | ||||||