Need YOUR help fixing my Minibook X touchscreen

I was trying to improve my touchscreen and especially stylus performance, and found a HiPen update here on the forums (DON’T DO IT). It installed fine but was obviously incompatible with the Minibook X and now the touch is mis-aligned, mirrored, and has deadzones. These settings live on the touch controller, so re-installing windows or drivers doesn’t help.

Chuwi is so far unable to find the correct file that would fix this, so I wrote a small program that can read these settings from a properly setup Minibook X, and I could then use it to fix my device. Just need to run the app and copy the data that it prints out (click and drag to select, Enter to copy). If there are many 0x00s or there’s an error, try running it a few times. This happens rarely.


Here is the app: https://s3.amazonaws.com/mobby_6kl/apps/HID_Dumper.exe
You can check the source code as well to be safe: https://s3.amazonaws.com/mobby_6kl/apps/HID_Dumper.rar

I know that running some program made by a stranger on the internet is a big ask but you can check the forum here that I’ve been posting about the Minibook X for some time, so this really isn’t a long-planned scam :slight_smile: Your help would be really appreciated, this is my only hope for fixing the Minibook :blush:

1 Like

Sorry for such a late reply, hope this will still be useful to you!

Compile-time version matches runtime version of hidapi.

Found device: VID=10182, PID=282, Usage page=13
Found device: VID=10182, PID=282, Usage page=13
found our device!
Manufacturer String: Microsoft
Product String: HIDI2C Device
Serial Number String: (57) 9999
Device Found
  type: 27c6 011a
  path: \\?\HID#GXTP738&Col03#5&3e33063&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      1
  Interface:    -1
  Usage (page): 0x1 (0xfff0)
  Bus type: 3

Asking for version number

7382í   {
Now configuration
0x0e 0x20 0x01 0x00 0x3c 0x99 0x02 0x65 0x01 0xcf 0x0a 0xc0 0x12 0x00 0x1e 0xc2 0x05 0x2b 0x09 0x7d 0x90 0x04 0x00 0x1b 0x09 0x12 0x03 0x82 0x64 0x56 0x04 0x11 0x00 0x0f 0x05 0x7e 0x02 0x63 0x03 0x62 0x56 0x22 0x44 0x33 0x00 0x00 0x80 0x00 0x00 0x06 0x28 0x34 0x05 0x1e 0x08 0x0a 0x14 0x50 0x14 0x08 0x08 0x08 0x08 0x12 0x30
0x0e 0x20 0x01 0x01 0x3c 0x23 0x42 0x34 0x23 0x44 0xb8 0x84 0x17 0x33 0x77 0x1a 0x33 0x6a 0x1e 0x55 0x00 0x55 0x23 0x32 0x32 0x02 0x00 0x00 0x26 0x27 0x40 0x90 0x14 0x32 0x17 0x14 0x1e 0x1f 0x20 0x21 0x22 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x37 0x5a 0x3c 0x60
0x0e 0x20 0x01 0x02 0x3c 0x00 0x57 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbf 0x9c 0x84 0x77 0x6a 0x60 0x0f 0x13 0x17 0x1a 0x1e 0x00 0x64 0x4b 0x95 0x80 0x00 0x0c 0x94 0x03 0x0a 0x08 0x00 0x08 0x60 0x14 0xa0 0x82 0xa0 0x82 0x00 0x4b 0x0f 0x0a 0x02 0x03 0x00 0xbb 0xbb
0x0e 0x20 0x01 0x03 0x3c 0x82 0x96 0x78 0x78 0x43 0x43 0x44 0x44 0x00 0x00 0x00 0x00 0x00 0x00 0x3e 0x3e 0x89 0x89 0x18 0x01 0x2c 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x06 0x14 0x02 0xe4 0x05 0x07 0x08 0x0a 0x09 0x0c 0x0d 0x0e 0x11 0x10 0x0b 0x0f 0x12 0x13 0x15 0x14 0x17 0x19 0x16 0x18 0x1a 0x2b 0x2c 0x29 0x28
0x0e 0x20 0x00 0x04 0x0f 0x2a 0x26 0x27 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x03 0x08 0x06 0x3e 0x89 0x89 0x18 0x01 0x2c 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x06 0x14 0x02 0xe4 0x05 0x07 0x08 0x0a 0x09 0x0c 0x0d 0x0e 0x11 0x10 0x0b 0x0f 0x12 0x13 0x15 0x14 0x17 0x19 0x16 0x18 0x1a 0x2b 0x2c 0x29 0x28
0x0e 0x20 0x01 0x00 0x3c 0x09 0x0b 0x0a 0x0e 0x0d 0x11 0x10 0x0c 0x0f 0x12 0x14 0x13 0x15 0x16 0x17 0x18 0x19 0x1a 0x29 0x2a 0x2c 0x27 0x28 0x2b 0x25 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x30 0x32 0x34 0x33 0x35 0x37 0x36 0x38 0x3a 0x39 0x3b 0x3c 0x3e 0x3d 0x40 0x3f 0x41 0x42 0xff 0xff 0xff 0xff 0xff 0x2e 0x34 0x33
0x0e 0x20 0x01 0x01 0x3c 0x32 0x37 0x36 0x35 0x3a 0x39 0x38 0x3d 0x3b 0x3f 0x3c 0x40 0x3e 0x41 0x42 0xff 0x00 0x00 0x00 0x00 0xe0 0x1e 0x36 0x73 0x03 0x00 0xc8 0x32 0x34 0x35 0x0b 0xb8 0x24 0x24 0x64 0x40 0x00 0x32 0x00 0x00 0x00 0x00 0x02 0x00 0x03 0x03 0x07 0x03 0x04 0x14 0xc8 0x18 0x1a 0x12 0x14 0x18 0x1a 0x1c 0x82 0x64
0x0e 0x20 0x01 0x02 0x3c 0x64 0x5e 0x01 0x00 0x60 0x1c 0x12 0x1c 0x12 0x8d 0x13 0x64 0x01 0x15 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xc7 0x09 0xc0 0x0a 0x77 0x00 0x66 0x00 0x82 0x0a 0x07 0x08 0x66 0x00 0x0e 0x20 0x01 0x00 0x3c 0x99 0x02 0x65 0x01 0xcf 0x0a 0xc0 0x12 0x00 0x1e 0xc2 0x05 0x2b 0x09 0x7d 0x90 0x04 0x00 0x1b 0x09 0x12 0x03 0x82 0x64 0x56 0x04 0x11 0x00 0x0f 0x05 0x7e 0x02 0x63 0x03 0x62 0x56 0x22 0x44 0x33 0x00 0x00 0x80 0x00 0x00 0x06 0x28 0x34 0x05 0x1e 0x08 0x0a 0x14 0x50 0x14 0x08 0x08 0x08 0x08 0x12 0x30
0x0e 0x20 0x01 0x01 0x3c 0x23 0x42 0x34 0x23 0x44 0xb8 0x84 0x17 0x33 0x77 0x1a 0x33 0x6a 0x1e 0x55 0x00 0x55 0x23 0x32 0x32 0x02 0x00 0x00 0x26 0x27 0x40 0x90 0x14 0x32 0x17 0x14 0x1e 0x1f 0x20 0x21 0x22 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x37 0x5a 0x3c 0x60
Press any key to continue . . . 57 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

You’re a hero! Not too late at all (unfortunately, lol), thanks a lot!

I’m almost there. I don’t know if something changed due to Windows or driver update (or I messed up during testing) but it didn’t work quite right and it’s missing the last 20 or so values. It worked perfectly for me 90% of the time but now I always get the same results as you :frowning:

I might be able to figure it out eventually but if it’s not too difficult, could you try this new version? I added some delays which seem to fix it, and made the output clearer.

https://s3.amazonaws.com/mobby_6kl/apps/HID_Dumper.exe

It should look like this, 4 batches x 60 bytes, 15 bytes, then 3x 60, then 9. This gives 444 in total.

All the stuff below isn’t really important, just some background information for curiosity or anyone else who runs into this issue later.


I tried combining your configuration with the ending of mine, but it’s not recognized - the last value is a checksum that is calculated based on the rest of the file to verify it’s not “corrupted”, so I’d have to find how it’s calculated somehow.

Not sure what exactly went wrong here. The configuration is split into 65-byte chunks. The first 5 are a header, 3 of them aren’t important. Then it tells you the batch #, and how much actual data it has (3C is the maximum 60, 0F is 15). It moves to a different location after batch 0x04 so it resets the count.

But in the highlighted row instead of going to batch 3, it goes to 0 again, and the data also repeats from the beginning. This cuts off the end of the configuration.


While I was waiting for a response, I tried another way. There’s a tool called GTP (GuitarTestPlatform ??? ) that lets you change the settings of the touchscreen directly (after installing an unsigned driver).

Unfortunately there’s like a million settings and almost no explanation or documentation, so it’s not going very well. I was only able to fix the flipped axis. So the situation is like this now. The screen is divided into 4 sectors (with some dead zones), and a touch on one of them is detected as being on the one to the left/right of it. They grey deadzones interrupt the touch movement.

As I understood, the screen has a number of “drivers” along one edge, each of which has a bunch of “sensors”, creating a grid. So for example you could invert the response if you put them in the opposite order. And this worked! But it will not let me swap the two groups of Sensors (everything before Sensor_CH26) with those after. This would theoretically fix my main issue.

Of course there would be other problems with the deadzones and even worse, random false touches. Sometimes the screen just goes nuts and starts detecting touches at random points, which makes it almost impossible to even revert back. So it’s pretty dangerous.

Anyway, the tool is quite difficult to find, so here’s a copy a former poster here shared. Again, don’t use it if your touchscreen works fine, you’ll only make it worse probably :slight_smile:

Hope it works this time:

Compile-time version matches runtime version of hidapi.

Found device: VID=10182, PID=282, Usage page=13
Found device: VID=10182, PID=282, Usage page=13
found our device!
Manufacturer String: Microsoft
Product String: HIDI2C Device
Serial Number String: (57) 9999
Device Found
  type: 27c6 011a
  path: \\?\HID#GXTP738&Col03#5&3e33063&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      1
  Interface:    -1
  Usage (page): 0x1 (0xfff0)
  Bus type: 3

Asking for version number

7382í   {
Now configuration

Batch #0, bytes: 60
0x0e 0x20 0x01 0x00 0x3c 0x99 0x02 0x65 0x01 0xcf 0x0a 0xc0 0x12 0x00 0x1e 0xc2 0x05 0x2b 0x09 0x7d 0x90 0x04 0x00 0x1b 0x09 0x12 0x03 0x82 0x64 0x56 0x04 0x11 0x00 0x0f 0x05 0x7e 0x02 0x63 0x03 0x62 0x56 0x22 0x44 0x33 0x00 0x00 0x80 0x00 0x00 0x06 0x28 0x34 0x05 0x1e 0x08 0x0a 0x14 0x50 0x14 0x08 0x08 0x08 0x08 0x12 0x30

Batch #1, bytes: 60
0x0e 0x20 0x01 0x01 0x3c 0x23 0x42 0x34 0x23 0x44 0xb8 0x84 0x17 0x33 0x77 0x1a 0x33 0x6a 0x1e 0x55 0x00 0x55 0x23 0x32 0x32 0x02 0x00 0x00 0x26 0x27 0x40 0x90 0x14 0x32 0x17 0x14 0x1e 0x1f 0x20 0x21 0x22 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x37 0x5a 0x3c 0x60

Batch #2, bytes: 60
0x0e 0x20 0x01 0x02 0x3c 0x00 0x57 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbf 0x9c 0x84 0x77 0x6a 0x60 0x0f 0x13 0x17 0x1a 0x1e 0x00 0x64 0x4b 0x95 0x80 0x00 0x0c 0x94 0x03 0x0a 0x08 0x00 0x08 0x60 0x14 0xa0 0x82 0xa0 0x82 0x00 0x4b 0x0f 0x0a 0x02 0x03 0x00 0xbb 0xbb

Batch #3, bytes: 60
0x0e 0x20 0x01 0x03 0x3c 0x82 0x96 0x78 0x78 0x43 0x43 0x44 0x44 0x00 0x00 0x00 0x00 0x00 0x00 0x3e 0x3e 0x89 0x89 0x18 0x01 0x2c 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x06 0x14 0x02 0xe4 0x05 0x07 0x08 0x0a 0x09 0x0c 0x0d 0x0e 0x11 0x10 0x0b 0x0f 0x12 0x13 0x15 0x14 0x17 0x19 0x16 0x18 0x1a 0x2b 0x2c 0x29 0x28

Batch #4, bytes: 15
0x0e 0x20 0x00 0x04 0x0f 0x2a 0x26 0x27 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x03 0x08 0x06 0x3e 0x89 0x89 0x18 0x01 0x2c 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x06 0x14 0x02 0xe4 0x05 0x07 0x08 0x0a 0x09 0x0c 0x0d 0x0e 0x11 0x10 0x0b 0x0f 0x12 0x13 0x15 0x14 0x17 0x19 0x16 0x18 0x1a 0x2b 0x2c 0x29 0x28

Batch #0, bytes: 60
0x0e 0x20 0x01 0x00 0x3c 0x09 0x0b 0x0a 0x0e 0x0d 0x11 0x10 0x0c 0x0f 0x12 0x14 0x13 0x15 0x16 0x17 0x18 0x19 0x1a 0x29 0x2a 0x2c 0x27 0x28 0x2b 0x25 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x30 0x32 0x34 0x33 0x35 0x37 0x36 0x38 0x3a 0x39 0x3b 0x3c 0x3e 0x3d 0x40 0x3f 0x41 0x42 0xff 0xff 0xff 0xff 0xff 0x2e 0x34 0x33

Batch #1, bytes: 60
0x0e 0x20 0x01 0x01 0x3c 0x32 0x37 0x36 0x35 0x3a 0x39 0x38 0x3d 0x3b 0x3f 0x3c 0x40 0x3e 0x41 0x42 0xff 0x00 0x00 0x00 0x00 0xe0 0x1e 0x36 0x73 0x03 0x00 0xc8 0x32 0x34 0x35 0x0b 0xb8 0x24 0x24 0x64 0x40 0x00 0x32 0x00 0x00 0x00 0x00 0x02 0x00 0x03 0x03 0x07 0x03 0x04 0x14 0xc8 0x18 0x1a 0x12 0x14 0x18 0x1a 0x1c 0x82 0x64

Batch #2, bytes: 60
0x0e 0x20 0x01 0x02 0x3c 0x64 0x5e 0x01 0x00 0x60 0x1c 0x12 0x1c 0x12 0x8d 0x13 0x64 0x01 0x15 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xc7 0x09 0xc0 0x0a 0x77 0x00 0x66 0x00 0x82 0x0a 0x07 0x08 0x66 0x00 0x77 0x00 0xc7 0x09 0x0a 0x10 0x8b 0x09 0x09 0x12 0xc7 0x09 0x0a 0x1e 0x80 0x60 0x00

Batch #3, bytes: 9
0x0e 0x20 0x00 0x03 0x09 0x0e 0x24 0x04 0x53 0x30 0x00 0x00 0x00 0x22 0x8d 0x13 0x64 0x01 0x15 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xc7 0x09 0xc0 0x0a 0x77 0x00 0x66 0x00 0x82 0x0a 0x07 0x08 0x66 0x00 0x77 0x00 0xc7 0x09 0x0a 0x10 0x8b 0x09 0x09 0x12 0xc7 0x09 0x0a 0x1e 0x80 0x60 0x00

Looks like everything went fine, read 444 bytes of config. Please copy the above data!

Yes it does! Thank you!!! I can paypal you like ten bucks if you want, just send me a PM.

For some reason I had to change the output resolution to what was in my config, otherwise it didn’t map correctly to the screen coordinates. But now it works exactly like it did before. So not great, but at least it works!

The reason I tried to install the stupid update in the first place is that the stylus was really bad at making small circles especially if you did them at normal speed. On the right is how it was stock (and now). After the bad update, the diagonal jitter is still about the same, but the circular shapes are much better (my handwriting just sucks).

Does it work the same for you? Which stylus are you using? I had the Hipen H6 from my mom’s Ubook so that could be the reason, but I don’t want to spend another $40 on the H7 to find out it’s the same.

Of course now I have the two versions, I could compare them to find out the difference, but I probably won’t have much time soon because of work.


So, if someone installed the wrong update as well, here’s the stock configuration for the Minibook X Goodix 7382 Touchscreen controller. You’ll know what to do with it :slight_smile:

Here it is exactly as JacekJagosz had it:

0x99,0x02,0x65,0x01,0xCF,0x0A,0xC0,0x12,0x00,0x1E,0xC2,0x05,0x2B,0x09,0x7D,0x90,0x04,0x00,0x1B,0x09,0x12,0x03,0x82,0x64,0x56,0x04,0x11,0x00,0x0F,0x05,0x7E,0x02,0x63,0x03,0x62,0x56,0x22,0x44,0x33,0x00,0x00,0x80,0x00,0x00,0x06,0x28,0x34,0x05,0x1E,0x08,0x0A,0x14,0x50,0x14,0x08,0x08,0x08,0x08,0x12,0x30,0x23,0x42,0x34,0x23,0x44,0xB8,0x84,0x17,0x33,0x77,0x1A,0x33,0x6A,0x1E,0x55,0x00,0x55,0x23,0x32,0x32,0x02,0x00,0x00,0x26,0x27,0x40,0x90,0x14,0x32,0x17,0x14,0x1E,0x1F,0x20,0x21,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0x5A,0x3C,0x60,0x00,0x57,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0x9C,0x84,0x77,0x6A,0x60,0x0F,0x13,0x17,0x1A,0x1E,0x00,0x64,0x4B,0x95,0x80,0x00,0x0C,0x94,0x03,0x0A,0x08,0x00,0x08,0x60,0x14,0xA0,0x82,0xA0,0x82,0x00,0x4B,0x0F,0x0A,0x02,0x03,0x00,0xBB,0xBB,0x82,0x96,0x78,0x78,0x43,0x43,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3E,0x89,0x89,0x18,0x01,0x2C,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x14,0x02,0xE4,0x05,0x07,0x08,0x0A,0x09,0x0C,0x0D,0x0E,0x11,0x10,0x0B,0x0F,0x12,0x13,0x15,0x14,0x17,0x19,0x16,0x18,0x1A,0x2B,0x2C,0x29,0x28,0x2A,0x26,0x27,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x08,0x06,0x09,0x0B,0x0A,0x0E,0x0D,0x11,0x10,0x0C,0x0F,0x12,0x14,0x13,0x15,0x16,0x17,0x18,0x19,0x1A,0x29,0x2A,0x2C,0x27,0x28,0x2B,0x25,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x32,0x34,0x33,0x35,0x37,0x36,0x38,0x3A,0x39,0x3B,0x3C,0x3E,0x3D,0x40,0x3F,0x41,0x42,0xFF,0xFF,0xFF,0xFF,0xFF,0x2E,0x34,0x33,0x32,0x37,0x36,0x35,0x3A,0x39,0x38,0x3D,0x3B,0x3F,0x3C,0x40,0x3E,0x41,0x42,0xFF,0x00,0x00,0x00,0x00,0xE0,0x1E,0x36,0x73,0x03,0x00,0xC8,0x32,0x34,0x35,0x0B,0xB8,0x24,0x24,0x64,0x40,0x00,0x32,0x00,0x00,0x00,0x00,0x02,0x00,0x03,0x03,0x07,0x03,0x04,0x14,0xC8,0x18,0x1A,0x12,0x14,0x18,0x1A,0x1C,0x82,0x64,0x64,0x5E,0x01,0x00,0x60,0x1C,0x12,0x1C,0x12,0x8D,0x13,0x64,0x01,0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC7,0x09,0xC0,0x0A,0x77,0x00,0x66,0x00,0x82,0x0A,0x07,0x08,0x66,0x00,0x77,0x00,0xC7,0x09,0x0A,0x10,0x8B,0x09,0x09,0x12,0xC7,0x09,0x0A,0x1E,0x80,0x60,0x00,0x0E,0x24,0x04,0x53,0x30,0x00,0x00,0x00,0x22

After I changed the resolution, it looks like this:

0x99,0x02,0x65,0x01,0xCF,0x0A,0x70,0x17,0x80,0x25,0x52,0x05,0x7E,0x08,0x7D,0x90,0x04,0x00,0x1B,0x09,0x12,0x03,0x82,0x64,0x56,0x04,0x11,0x00,0x0F,0x05,0x7E,0x02,0x63,0x03,0x62,0x56,0x22,0x44,0x33,0x00,0x00,0x80,0x00,0x00,0x06,0x28,0x34,0x05,0x1E,0x08,0x0A,0x14,0x50,0x14,0x08,0x08,0x08,0x08,0x12,0x30,0x23,0x42,0x34,0x23,0x44,0xB8,0x84,0x17,0x33,0x77,0x1A,0x33,0x6A,0x1E,0x55,0x00,0x55,0x23,0x32,0x32,0x02,0x00,0x00,0x26,0x27,0x40,0x90,0x14,0x32,0x17,0x14,0x1E,0x1F,0x20,0x21,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0x5A,0x3C,0x60,0x00,0x57,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0x9C,0x84,0x77,0x6A,0x60,0x0F,0x13,0x17,0x1A,0x1E,0x00,0x64,0x4B,0x95,0x80,0x00,0x0C,0x94,0x03,0x0A,0x08,0x00,0x08,0x60,0x14,0xA0,0x82,0xA0,0x82,0x00,0x4B,0x0F,0x0A,0x02,0x03,0x00,0xBB,0xBB,0x82,0x96,0x78,0x78,0x43,0x43,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3E,0x89,0x89,0x18,0x01,0x2C,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0xF6,0x02,0xE4,0x05,0x07,0x08,0x0A,0x09,0x0C,0x0D,0x0E,0x11,0x10,0x0B,0x0F,0x12,0x13,0x15,0x14,0x17,0x19,0x16,0x18,0x1A,0x2B,0x2C,0x29,0x28,0x2A,0x26,0x27,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x08,0x06,0x09,0x0B,0x0A,0x0E,0x0D,0x11,0x10,0x0C,0x0F,0x12,0x14,0x13,0x15,0x16,0x17,0x18,0x19,0x1A,0x29,0x2A,0x2C,0x27,0x28,0x2B,0x25,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x30,0x32,0x34,0x33,0x35,0x37,0x36,0x38,0x3A,0x39,0x3B,0x3C,0x3E,0x3D,0x40,0x3F,0x41,0x42,0xFF,0xFF,0xFF,0xFF,0xFF,0x2E,0x34,0x33,0x32,0x37,0x36,0x35,0x3A,0x39,0x38,0x3D,0x3B,0x3F,0x3C,0x40,0x3E,0x41,0x42,0xFF,0xFF,0x00,0x00,0x00,0xE0,0x1E,0x36,0x73,0x03,0x00,0xC8,0x32,0x34,0x35,0x0B,0xB8,0x24,0x24,0x64,0x40,0x00,0x32,0x00,0x00,0x00,0x00,0x02,0x00,0x03,0x03,0x07,0x03,0x04,0x14,0xC8,0x18,0x1A,0x12,0x14,0x18,0x1A,0x1C,0x82,0x64,0x64,0x5E,0x01,0x00,0x60,0x1C,0x12,0x1C,0x12,0x8D,0x13,0x64,0x01,0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC7,0x09,0xC0,0x0A,0x77,0x00,0x66,0x00,0x82,0x0A,0x07,0x08,0x66,0x00,0x77,0x00,0xC7,0x09,0x0A,0x10,0x8B,0x09,0x09,0x12,0xC7,0x09,0x0A,0x1E,0x80,0x60,0x00,0x0E,0x24,0x04,0x53,0x30,0x00,0x00,0x00,0x26

I can’t guarantee that this won’t blow up your laptop :wink:

2 Likes

Haha I lied, I couldn’t let it go! Thankfully it turned out to be super easy.

The configuration has settings for the stylus, and with the GTP tool you can see them on one of the tabs. Even after just a quick look, it’s clear that the stock settings have much higher values for various filters, which I assumed correspond to stronger smoothing/filtering.

I just copied all the values (except for tilt, I don’t think tilt works anyway?) from the updated settings to Jagosz’s configuration, and that did the trick.

As you can see from the small sample, the letters now have normal shapes, or as normal as I can make them. The default settings were trying to smooth out the inputs way too much for some reason. I don’t know if it had the same effect for everyone, but for me it made writing normal sized text almost impossible.

Right now I’m very happy with it. Other than slightly worse diagonal jitter, I’d say it feels about the same as the pen on X1 Yoga (it would be great to store the stylus inside the laptop!). Maybe still not as natural as the Wacom EMR tablet / S-Pen, but I’m not a real artist so it’s good enough.

This was the final config:

0x99,0x02,0x65,0x01,0xCF,0x0A,0x70,0x17,0x80,0x25,0xC2,0x05,0x2B,0x09,0x7D,0x90,0x04,0x00,0x1B,0x09,0x12,0x03,0x82,0x64,0x56,0x04,0x11,0x00,0x0F,0x05,0x7E,0x02,0x63,0x03,0x62,0x68,0x22,0x22,0x33,0x00,0x00,0x80,0x00,0x00,0x06,0x28,0x34,0x05,0x1E,0x08,0x0A,0x14,0x50,0x14,0x08,0x08,0x08,0x08,0x12,0x30,0x23,0x42,0x34,0x23,0x44,0x88,0x87,0x33,0x33,0x33,0x33,0x34,0x34,0x1E,0x55,0x00,0x55,0x23,0x32,0x32,0x02,0x00,0x00,0x26,0x21,0x40,0x90,0x14,0x32,0x17,0x14,0x1E,0x1F,0x20,0x21,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0x5A,0x3C,0x60,0x00,0x57,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0x9C,0x84,0x77,0x6A,0x60,0x0F,0x13,0x17,0x1A,0x1E,0x00,0x64,0x4B,0x91,0x80,0x00,0x0C,0x94,0x0F,0x00,0x00,0x00,0x08,0x60,0x00,0xA0,0x82,0xA0,0x82,0x00,0x4B,0x03,0x03,0x02,0x03,0x00,0xBB,0xBB,0x82,0x96,0x78,0x78,0x43,0x43,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x4B,0x4B,0x65,0x65,0x8C,0x00,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0xF6,0x02,0xE4,0x05,0x07,0x08,0x0A,0x09,0x0C,0x0D,0x0E,0x11,0x10,0x0B,0x0F,0x12,0x13,0x15,0x14,0x17,0x19,0x16,0x18,0x1A,0x2B,0x2C,0x29,0x28,0x2A,0x26,0x27,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x08,0x06,0x09,0x0B,0x0A,0x0E,0x0D,0x11,0x10,0x0C,0x0F,0x12,0x14,0x13,0x15,0x16,0x17,0x18,0x19,0x1A,0x29,0x2A,0x2C,0x27,0x28,0x2B,0x25,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x30,0x32,0x34,0x33,0x35,0x37,0x36,0x38,0x3A,0x39,0x3B,0x3C,0x3E,0x3D,0x40,0x3F,0x41,0x42,0xFF,0xFF,0xFF,0xFF,0xFF,0x2E,0x34,0x33,0x32,0x37,0x36,0x35,0x3A,0x39,0x38,0x3D,0x3B,0x3F,0x3C,0x40,0x3E,0x41,0x42,0xFF,0xFF,0x00,0x00,0x00,0xE0,0x1E,0x36,0x73,0x03,0x00,0xC8,0x32,0x34,0x35,0x0B,0xB8,0x24,0x24,0x64,0x40,0x00,0x32,0x00,0x00,0x00,0x00,0x02,0x00,0x03,0x03,0x07,0x03,0x04,0x14,0xC8,0x18,0x1A,0x12,0x14,0x18,0x1A,0x1C,0x82,0x64,0x64,0xB4,0x00,0x00,0x60,0x1C,0x12,0x1C,0x12,0x8D,0x13,0x64,0x01,0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC7,0x09,0xC0,0x0A,0x77,0x00,0x66,0x00,0x82,0x0A,0x07,0x08,0x66,0x00,0x77,0x00,0xC7,0x09,0x0A,0x10,0x8B,0x09,0x09,0x12,0xC7,0x09,0x0A,0x1E,0x80,0x60,0x00,0x0E,0x24,0x04,0x53,0x30,0x00,0x00,0x00,0xD1
1 Like

Wow, awesome job! I have bought RENAISSER 520C, which is supposedly a really good pen, but it was so bad on the Minibook X i stopped doing any handwritten notes. It is so much worse than Wacom EMR I was using before, completely unusable for handwriting in my opinion. Oh and on Linux it actually is even slightly worse than on Windows, like if polling was even lower or smoothing even higher.
So if it works reliably for you for a few days I would really want to mod mine too, so the pen becomes actually usable.

@mobby Could you describe in short how change and flash it myself?
I want to try to change some of the settings you did to try and see if it helps.
I totally understand the risks, but the stylus input right now is unusable for my handwriting.
What is the program you showed in those screenshots?

All right!

In your case it seems that the resolution was for some reason different than on my Minibook, so I wouldn’t suggest using my file directly. I think the simplest way would be:

  • Open the “a_JacekJagosz_original” file with the GTP tool. This is exactly the settings you gave me earlier.
  • Change the filtering settings (as on the screenshot) and save it to a new file
  • Use the “hid_i2c_update” tool to flash the new configuration

This is exactly what I did at the end: used your file, changed the resolution and filtering, and then uploaded it. The upside is that you don’t have to install/uninstall drivers. This worked perfectly for me, but I can’t guarantee it :slight_smile:


Disclaimer for anyone else brave enough to try it:
Following this could make your touchscreen or even the whole laptop useless. It involves updating data on the touchscreen controller chip, and no Windows or driver re-installations will fix it if something goes wrong.

There are two options overall:

  • The GTP software, it has GUI but requires installing unsigned drivers. Another downside is that the touchscreen stops working with these drivers (until you restore them) so it’s more difficult to test.
  • Use my tool to make a backup of your settings, then use Chuwi/Goodix? Tool to update the configuration. No drivers to install but it’s all command line

For the first option, download the zip file and see the powerpoint with instructions inside. It already existed, I just added some slides. The general process is

  • Install drivers
  • Use the tool to read your current settings and back up to file
  • Make the changes in the tool, or load one of our settings from the file
  • Upload the new settings to the controller
  • Uninstall drivers

For option two:

  • Run the HID_Dumper and copy the output to a text file. It should look like above, and have 444 bytes. To make a valid config file, you’ll have to manually copy the appropriate number of bytes from each batch (should be 60, 15 or 5) after skipping the first 5, separated by commas.
  • You can try one of our files. Or, open your backup with the GTP tool (no drivers needed, just make sure to set to the 7382/5 model first), make changes as you want, and save it. This will also confirm if the config file is correct, otherwise it will give you an error.
  • Run the command “hid_i2c_update-20180419.exe -d -p name_of_config.txt” This will update the configuration while printing more information about what is happening. If you see errors, you can try running it again.

I packed everything into this file. Good luck!

2 Likes

Thank you a ton, once my Minibook X comes back from warranty I will get onto it.
This laptop is so nice on one hand, and so unreliable from the other, this time SSD died, all my data lost. Probably from the heat of no active cooling.

No way, I used my previous config as a base, just input your settings and it is SO MUCH better! Now the stylus is actually usable for handwriting, thank you so much!
For future reference I used my config as a base that was included in the download, opened the tool and CFG edit in it, didn’t have to change the device type, just changed the values and saved it.
The update script didn’t work on 2 first tries, but after a reboot it finally did.

Awesome, really glad it worked for you! It’s just such a bizarre issue that made the pen almost completely useless because of a few settings.

I’m not 100% sure if changing the model is necessary, I noticed that for certain models some pages in the settings are just missing, but if it doesn’t wipe out those values then it should be still fine.

We probably talked about this in another thread, but the Minibook X refresh is still not out, they announced it in November-December. I hope it’ll be updated with the new processors, it’s like 60% faster which would be a huge update: https://browser.geekbench.com/v5/cpu/compare/19709299?baseline=18508547

1 Like

I just think the default one when you open the software is correct, for me it was GT7385P. When I set it to GT7385 the settings looked completely different to what you showed in a screenshot, meanwhile with the default they looked exactly the same as what you showed. So I went back to the default.

As for the Minibook X upgrade, the CPU performance was not a problem for me on Linux, on Windows it can be sluggish, but on Linux it actually flies. I even set the CPU Governor to maximum power saving and it still is fast.
I more hope they fix the reliability woes, mine came back from the second warranty repair, I really hope it will stay working from now on, but I doubt it. I guess the SSD failed from too much heat, so active cooling might help with that, but the keyboard, stylus, actually using locktite on the screws mounting the screen so it doesn’t fall off, all need to be adressed. And that still leaves the too small battery

1 Like

Hmm, maybe it’s something I changed in the GTP settings, the important thing is that it worked :slight_smile:

I’m afraid the SSDs in these budget devices are the cheapest stuff possible. The only SSD that failed for me was also in a cheap Cube Mix Plus tablet. So it’s better to have backups and/or replace it with Samsung or something.

I checked the temperature and it’s not even updating correctly, it’s always showing 40C lol.

Tried with a thermal camera and the controller is around 54 degrees and the flash chips probably around 40, even when not doing heavy read/write. It might be worth putting some thermal pads on it but it’s hard to test without a working temperature sensor.

1 Like

Thank you for the amazing instructions.

I had trouble with the stylus for the model below:
Book XPro - Intel Core i7 and Windows 11, 8GB RAM 256GB ROM and 2160 x 1440 IPS

I followed your instructions and my stylus is MUCH better now. I can write properly and join up my circular letters like o and e.

This was my original cfg

0x95,0x02,0x69,0x01,0xcf,0x0a,0xc0,0x21,0x80,0x16,0xc6,0x0a,0x32,0x07,0x45,0x90,0x04,0x00,0x03,0x03,0x1e,0x03,0x64,0x46,0x56,0x04,0x11,0x34,0x0f,0x05,0x7e,0x02,0x63,0x03,0x62,0x68,0x22,0x22,0x33,0x00,0x00,0x80,0x00,0x00,0x02,0x28,0x34,0x05,0x1e,0x08,0x0a,0x14,0x50,0x14,0x08,0x06,0x08,0x06,0x23,0x40,0x99,0x11,0x34,0x8d,0x14,0xff,0xcc,0x18,0x33,0x4c,0x1b,0x33,0x77,0x1e,0x1e,0x03,0x55,0x23,0x32,0x14,0x02,0x17,0x00,0x26,0x21,0x48,0x90,0x14,0x32,0x1c,0x23,0x11,0x12,0x13,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0x5a,0x3c,0x70,0x00,0x57,0x00,0xe3,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x99,0x8d,0x82,0x7c,0x77,0x73,0x11,0x14,0x18,0x1b,0x1e,0x00,0x64,0x4b,0x93,0x80,0x00,0x0c,0x94,0x0f,0x0a,0x08,0x00,0x08,0x60,0x14,0xa0,0x82,0xa0,0x82,0x03,0x4b,0x12,0x03,0x02,0x03,0x00,0xbb,0xbb,0x82,0x96,0x78,0x78,0x43,0x43,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x81,0x81,0x90,0x01,0xc2,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x4d,0x02,0xe4,0x24,0x27,0x26,0x2a,0x28,0x29,0x2c,0x2b,0x1a,0x18,0x16,0x19,0x17,0x14,0x15,0x13,0x12,0x0f,0x0b,0x10,0x11,0x0e,0x0d,0x0c,0x09,0x0a,0x08,0x07,0x05,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x24,0x25,0x2b,0x28,0x27,0x2c,0x2a,0x29,0x1a,0x19,0x18,0x17,0x16,0x15,0x13,0x14,0x12,0x0f,0x0c,0x10,0x11,0x0d,0x0e,0x0a,0x0b,0x09,0x06,0x08,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2f,0x30,0x32,0x34,0x33,0x35,0x37,0x36,0x38,0x3a,0x39,0x3b,0x3c,0x3e,0x3d,0x40,0x3f,0x41,0x42,0xff,0xff,0xff,0xff,0x30,0x2e,0x34,0x33,0x32,0x37,0x36,0x35,0x3a,0x39,0x38,0x3d,0x3b,0x3f,0x3c,0x40,0x3e,0x41,0x42,0x00,0x00,0x00,0x00,0xe0,0x1e,0x36,0x73,0x03,0x00,0xc8,0x32,0x34,0x35,0x0b,0xb8,0x24,0x24,0x64,0x40,0x00,0x32,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x03,0x07,0x03,0x03,0x14,0xc8,0x19,0x1b,0x15,0x18,0x1b,0x1e,0x21,0x82,0x64,0x64,0xe0,0x01,0x00,0x60,0x1d,0x13,0x1d,0x13,0x8d,0x13,0x64,0x01,0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0x09,0xc0,0x0a,0x77,0x00,0x66,0x00,0x82,0x0a,0x07,0x08,0x66,0x00,0x77,0x00,0xc7,0x09,0x0a,0x10,0x8b,0x09,0x09,0x12,0xc7,0x09,0x0a,0x1e,0x70,0x70,0x00,0x10,0x24,0x04,0x43,0x30,0x00,0x00,0x00,0xea

And this is my new cfg with your filtering edits:

0x95,0x02,0x69,0x01,0xCF,0x0A,0xC0,0x21,0x80,0x16,0xC6,0x0A,0x32,0x07,0x45,0x90,0x04,0x00,0x03,0x03,0x1E,0x03,0x64,0x46,0x56,0x04,0x11,0x34,0x0F,0x05,0x7E,0x02,0x63,0x03,0x62,0x68,0x22,0x22,0x33,0x00,0x00,0x80,0x00,0x00,0x02,0x28,0x34,0x05,0x1E,0x08,0x0A,0x14,0x50,0x14,0x08,0x06,0x08,0x06,0x23,0x40,0x99,0x11,0x34,0x8D,0x14,0x88,0x87,0x33,0x33,0x33,0x33,0x34,0x34,0x1E,0x1E,0x03,0x55,0x23,0x32,0x14,0x02,0x00,0x00,0x26,0x21,0x48,0x90,0x14,0x32,0x1C,0x23,0x11,0x12,0x13,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0x5A,0x3C,0x70,0x00,0x57,0x00,0xE3,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x99,0x8D,0x82,0x7C,0x77,0x73,0x11,0x14,0x18,0x1B,0x1E,0x00,0x64,0x4B,0x93,0x80,0x00,0x0C,0x94,0x0F,0x00,0x00,0x00,0x08,0x60,0x00,0xA0,0x82,0xA0,0x82,0x00,0x4B,0x03,0x03,0x02,0x03,0x00,0xBB,0xBB,0x82,0x96,0x78,0x78,0x43,0x43,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x4B,0x4B,0x65,0x65,0x8C,0x00,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0xCE,0x02,0xE4,0x24,0x27,0x26,0x2A,0x28,0x29,0x2C,0x2B,0x1A,0x18,0x16,0x19,0x17,0x14,0x15,0x13,0x12,0x0F,0x0B,0x10,0x11,0x0E,0x0D,0x0C,0x09,0x0A,0x08,0x07,0x05,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x24,0x25,0x2B,0x28,0x27,0x2C,0x2A,0x29,0x1A,0x19,0x18,0x17,0x16,0x15,0x13,0x14,0x12,0x0F,0x0C,0x10,0x11,0x0D,0x0E,0x0A,0x0B,0x09,0x06,0x08,0x03,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x2F,0x30,0x32,0x34,0x33,0x35,0x37,0x36,0x38,0x3A,0x39,0x3B,0x3C,0x3E,0x3D,0x40,0x3F,0x41,0x42,0xFF,0xFF,0xFF,0xFF,0x30,0x2E,0x34,0x33,0x32,0x37,0x36,0x35,0x3A,0x39,0x38,0x3D,0x3B,0x3F,0x3C,0x40,0x3E,0x41,0x42,0xFF,0x00,0x00,0x00,0xE0,0x1E,0x36,0x73,0x03,0x00,0xC8,0x32,0x34,0x35,0x0B,0xB8,0x24,0x24,0x64,0x40,0x00,0x32,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x03,0x07,0x03,0x03,0x14,0xC8,0x19,0x1B,0x15,0x18,0x1B,0x1E,0x21,0x82,0x64,0x64,0xB4,0x00,0x00,0x60,0x1D,0x13,0x1D,0x13,0x8D,0x13,0x64,0x01,0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC7,0x09,0xC0,0x0A,0x77,0x00,0x66,0x00,0x82,0x0A,0x07,0x08,0x66,0x00,0x77,0x00,0xC7,0x09,0x0A,0x10,0x8B,0x09,0x09,0x12,0xC7,0x09,0x0A,0x1E,0x70,0x70,0x00,0x10,0x24,0x04,0x43,0x30,0x00,0x00,0x00,0x1B

Glad it was useful for someone else, thanks for sharing!

Pretty shocking that this is still happening with a completely different model. I guess there’s a step to update this configuration to the correct one and it usually works, but based on my experience, sometimes the config update process just randmoly fails and they don’t catch it.

1 Like