There are multiple ways for a program to start up and what is available can depend on both the user running the program and what has been set in raspi-config for logging on.
Have a look through https://www.dexterindustries.com/howto/ ... t-startup/
Without knowing a bit more about your program I’m stuck but I would check:
1) Does the program require a network - Set in raspi-config
2) Do you want to start the GUI as Pi - Set in raspi-config
I would then look to the systemd module start up rather than rc.local as it’s very easy to lock yourself out with rc.local errors (though you can fix it with a edit to cmdline.txt).