Compiles OK on Linux and works, compiles OK on Windows but does not work

The problem:

  • My project when compiled on my Windows laptop, no longer runs on my Cheap Yellow Display. (The screen is just white(There are no errors and everything goes as expected) When I compile and upload using Linux it works OK.
  • When I start monitoring I get: indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714
Click to see monitor log

07:16:44.988 > 0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)

07:16:44.991 > configsip: 0, SPIWP:0xee

07:16:44.991 > clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00

07:16:44.998 > mode:DIO, clock div:2

07:16:44.998 > load:0x3fff0030,len:4744

07:16:45.003 > load:0x40078000,len:15712

07:16:45.003 > load:0x40080400,len:3152

07:16:45.003 > entry 0x4008059c

07:16:45.403 > LVGL_CYD version: 1.2.2
07:16:45.403 > TFT_eSPI version: 2.5.43
07:16:45.403 > LVGL version: 9.3.0
07:16:45.416 > E (15) gpio: gpio_pulldown_en(116): GPIO number error (input-only pad has no internal PD)

07:16:45.418 > Resistive touch detected

07:16:45.418 > ILI9341 detected

07:16:45.433 > [ 41][E][esp32-hal-cpu.c:128] addApbChangeCallback(): duplicate func=0x401263ec arg=0x3ffbddf8

07:16:46.412 > [Warn] (1.020, +1020) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.471 > [Warn] (1.084, +64) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.502 > [Warn] (1.114, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.534 > [Warn] (1.144, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.550 > [Warn] (1.174, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.592 > [Warn] (1.204, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.623 > [Warn] (1.234, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.646 > [Warn] (1.264, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.678 > [Warn] (1.294, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.709 > [Warn] (1.324, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.741 > [Warn] (1.354, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.773 > [Warn] (1.384, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.804 > [Warn] (1.414, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.836 > [Warn] (1.444, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.865 > [Warn] (1.474, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.895 > [Warn] (1.504, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.925 > [Warn] (1.534, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.956 > [Warn] (1.564, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:46.985 > [Warn] (1.594, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.015 > [Warn] (1.624, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.045 > [Warn] (1.654, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.076 > [Warn] (1.684, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.106 > [Warn] (1.714, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.135 > [Warn] (1.744, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.166 > [Warn] (1.774, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.195 > [Warn] (1.804, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.226 > [Warn] (1.834, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.256 > [Warn] (1.864, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.285 > [Warn] (1.894, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.316 > [Warn] (1.924, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.346 > [Warn] (1.954, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.376 > [Warn] (1.984, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.405 > [Warn] (2.014, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.436 > [Warn] (2.044, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.465 > [Warn] (2.074, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.495 > [Warn] (2.104, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.526 > [Warn] (2.134, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.556 > [Warn] (2.164, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.586 > [Warn] (2.194, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.616 > [Warn] (2.224, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.645 > [Warn] (2.254, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.676 > [Warn] (2.284, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.706 > [Warn] (2.314, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.736 > [Warn] (2.344, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.766 > [Warn] (2.374, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.795 > [Warn] (2.404, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.825 > [Warn] (2.434, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.856 > [Warn] (2.464, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.885 > [Warn] (2.494, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.916 > [Warn] (2.524, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.945 > [Warn] (2.554, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:47.975 > [Warn] (2.584, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.006 > [Warn] (2.614, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.036 > [Warn] (2.644, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.066 > [Warn] (2.674, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.095 > [Warn] (2.704, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.126 > [Warn] (2.734, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.155 > [Warn] (2.764, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.185 > [Warn] (2.794, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.215 > [Warn] (2.824, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.246 > [Warn] (2.854, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.276 > [Warn] (2.884, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.306 > [Warn] (2.914, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.335 > [Warn] (2.944, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.365 > [Warn] (2.974, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.396 > [Warn] (3.004, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.425 > [Warn] (3.034, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.455 > [Warn] (3.064, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.485 > [Warn] (3.094, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.515 > [Warn] (3.124, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.545 > [Warn] (3.154, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.576 > [Warn] (3.184, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.606 > [Warn] (3.214, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.636 > [Warn] (3.244, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.666 > [Warn] (3.274, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.695 > [Warn] (3.304, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.725 > [Warn] (3.334, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.756 > [Warn] (3.364, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.786 > [Warn] (3.394, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.815 > [Warn] (3.424, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

07:16:48.845 > [Warn] (3.454, +30) indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714

  • This has started only several days ago. Prior to that I was compiling and uploading from Windows without any issues. (I’m unaware of any changes to the system that would affect this but am asking here to get some pointers on what the next steps are to troubleshoot this issue.

Steps I’ve taken:

  • Ran Full Clean

Any help is appreciated!

You did not specify the platform version in the platformio.ini.

Please check the installed platform versions on your windows and linux machine. Are they exact the same versions?

Thanks for the quick response!

I’m sorry, I’m new to PIO (I loving it!) so I’m not sure what you’re referring to exactly or how to get the info you’ve requested.

Is this what you’re looking for?

pio platform show espressif32

pio platform show espressif32

WARNING: This command is deprecated and will be removed in the next releases.
Please use pio pkg show instead.

platformio/espressif32
Platform • 6.12.0 • Public • Published on Thu Jul 31 13:49:29 2025

ESP32 is a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi and Bluetooth. ESP32 integrates an antenna switch, RF balun, power amplifier, low-noise receive amplifier, filters, and power management modules.


Registry PlatformIO Registry
Homepage https://espressif.com/
Repository GitHub - platformio/platform-espressif32: Espressif 32: development platform for PlatformIO
License Apache-2.0
Popularity 1
Stars 1060
Examples 18
Installed Size 4.55MB
Dependencies 21
Compatible Frameworks arduino, espidf
Keywords dev-platform, wi-fi, bluetooth, xtensa, risc-v


Version Size Published


6.12.0 902.64KB 2025-07-31 13:49:29
6.11.0 894.69KB 2025-05-27 12:24:35
6.10.0 894.82KB 2025-01-25 18:26:42
6.9.0 894.04KB 2024-09-26 11:52:34
6.8.1 893.83KB 2024-07-30 20:48:21
6.8.0 893.85KB 2024-07-30 12:15:39
6.7.0 893.11KB 2024-05-14 12:10:08
6.6.0 1.06MB 2024-03-29 17:25:35
6.5.0 1.35MB 2023-12-27 12:32:46
6.4.0 1.35MB 2023-08-31 16:24:18
5.4.0 297.42KB 2023-06-23 14:49:25
6.3.2 1.35MB 2023-06-20 09:25:24
6.3.1 1.35MB 2023-05-26 07:40:49
6.3.0 1.35MB 2023-05-19 10:54:17
6.2.0 1.35MB 2023-04-29 10:29:15
6.1.0 1.35MB 2023-03-08 17:52:27
6.0.1 1.35MB 2023-02-06 12:44:38
6.0.0 1.35MB 2023-01-16 19:20:09
5.3.0 295.42KB 2022-12-29 09:50:22
5.2.0 293.90KB 2022-09-30 09:55:44
5.1.1 292.81KB 2022-08-26 13:21:05
5.1.0 293.46KB 2022-07-31 19:17:02
5.0.0 290.96KB 2022-06-30 14:56:44
4.4.0 293.64KB 2022-05-31 18:03:16
4.3.0 294.03KB 2022-05-20 17:31:55
4.2.0 291.41KB 2022-04-29 11:16:29
4.1.0 291.08KB 2022-04-21 13:47:06
4.0.0 290.99KB 2022-04-21 13:44:46
3.5.0 289.23KB 2022-01-28 13:18:31
3.4.0 290.02KB 2021-11-12 11:09:53
3.3.2 283.57KB 2021-08-31 13:44:07
3.3.1 283.75KB 2021-07-26 18:19:16
3.3.0 283.61KB 2021-06-30 11:40:13
3.2.1 283.70KB 2021-05-31 13:46:30
3.2.0 283.25KB 2021-03-29 12:33:46
3.1.1 283.28KB 2021-03-18 22:02:04
3.1.0 283.15KB 2021-02-26 13:42:10
3.0.0 278.80KB 2021-01-29 19:29:52
2.1.0 274.87KB 2020-12-02 14:45:17
2.0.0 273.40KB 2020-09-07 12:01:34
1.12.4 255.12KB 2020-06-17 10:41:53
1.11.2 199.07KB 2020-02-12 21:53:38
1.9.0 116.43KB 2019-06-28 12:26:54
1.7.0 90.48KB 2019-02-22 17:06:20
1.5.0 89.31KB 2018-11-05 16:29:09
1.2.0 51.80KB 2018-07-30 18:03:16
1.0.2 37.85KB 2018-06-04 15:24:27

Thanks!

EDIT:
BTW, both the Linux machine and the Windows machine show:
platformio/espressif32 Platform • 6.12.0 • Public • Published on Thu Jul 31 13:49:29 2025

UPDATE:
I changed the platformio.ini file to:

[env:nodemcu-32s]
platform = espressif32@6.12.0

Now on linux it does the same thing. The indev_pointer_proc: X is -1 which is smaller than zero lv_indev.c:714 issue.

I’m slowly climbing down the version ladder. I’m on 6.10.0 right now with the same issue.

@sivar2311 I figured out what the problem is. My extra_scripts = copy_configs.py is not running anymore. Earlier it was working flawlessly. What would cause that?

When I copy the configs in manually it compiles as it should. I created this copy_configs.py to eliminate this issue and now it created the exact *issue I was attempting to avoid because I was relying on it.

*The issue of the custom config files for the libraries needing to be in a special place.

Sorry, I don’t know. I have no expirience with advanced scripting.
I even didn’t noticed the extra script in your project.

In my opinion, the copy thing via an extra script is way to complex.
Why don’t you configure the libraries via the platformio.ini as described here for the TFT_eSPI library? Then no extra script would be needed (which reduces the level of complexity and sources for possible errors).

– As written before – “just my opinion” :wink:
I’m a fan of “keep it as simple as possible”

@sivar2311, thanks for the tip! I didn’t realize that was an option. Like I said, I’m new to PIO. The copy_configs.py was a solution that my AI agent suggested and it was working flawlessly. It allows me to use my config files from Arduino, so that’s the reason I was using it. But I see that I’ll likely need to use your suggestion. There’s likely another similar option for lvgl.

Thanks again for your help!