diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index 4b3d2cf7..59ded513 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -322,7 +322,18 @@ int RkISP1CameraData::loadIPA(unsigned int hwRevision)
 	ipa_->paramsBufferReady.connect(this, &RkISP1CameraData::paramFilled);
 	ipa_->metadataReady.connect(this, &RkISP1CameraData::metadataReady);
 
-	int ret = ipa_->init(IPASettings{ "", sensor_->model() }, hwRevision);
+	/*
+	 * The API tuning file is made from the sensor name unless
+	 * the environment variable overrides it.
+	 */
+	std::string ipaTunigFile;
+	char const *configFromEnv = utils::secure_getenv("LIBCAMERA_RKISP1_TUNING_FILE");
+	if (!configFromEnv || *configFromEnv == '\0')
+		ipaTunigFile = ipa_->configurationFile(sensor_->model() + ".yaml");
+	else
+		ipaTunigFile = std::string(configFromEnv);
+
+	int ret = ipa_->init({ ipaTunigFile, sensor_->model() }, hwRevision);
 	if (ret < 0) {
 		LOG(RkISP1, Error) << "IPA initialization failure";
 		return ret;
