Differences in upload_protocol = usbasp vs upload_flags -c usbasp

I am trying to establish a reliable configuration to be used by my pupils with an entire set of microcontrollers: UNO, pro-mini & nano, ESP 12 & 32, wemos, rp2040, Leonardo, and everything we can get our hands on. Each of them needs an environment (pro-mini uses 2 different, one for usb interface included, and the other with usbasp programmer).

I test all this with both macos and linux, and here it goes:

MacOS doesn’t need any upload_protocol parameter in .ini file, but Linux needs it. Both require -c usbasp parameter in order for avrdude to do its work.

It seems my Mac has a kind of default usbasp protocol while my Linux has not, and I don’t know how to set it, apart from explicitly writing the proper line in config file. Has anyone any deeper knowledge about this?