The ESP32 core has macro CONFIGURE_FREERTOS_UNICORE affecting many files. The official IDF applies this when projects are compiled but the Arduino IDE applies this to precompiled libraries in the distribution package. So the choice of dual-core or single core is made before you install it.
I suppose the tool chain could be redesigned to support both ESP32 types in the IDE instance. But is there a perceived advantage in doing that.
I think of it as an improved 8266 which has more I/O and BLE support. Sometimes I just need an I/O champ without optimal wireless.
What do you mean by “the Arduino IDE applies this to precompiled libraries in the distribution package”?
There is another post somewhere in this forum where a person got the ESP32-SOLO to work by replacing a header file and three libraries in the Arduino ESP32 packages. He put the solution on Github.
I was curious and investigated the ESP-IDF. The project template includes menucfg which presents many options which are applied at compile time. That is when the UNICORE decision is made and explains why some ESP32 core files need to be replaced for SOLO support under Arduino.
So, if I understand correctly, this limitation has nothing to do with the Arduino IDE. It's about the ESP32 boards platform.
Is that correct?