diff --git a/Android.mk b/Android.mk
index 034495b..bf8bc65 100644
--- a/Android.mk
+++ b/Android.mk
@@ -546,12 +546,12 @@
 endif # PLATFORM_VERSION == R
 
 #####################################################
-# android.hardware.neuralnetworks@1.0-service-arm-armnn #
+# android.hardware.neuralnetworks@1.0-service-armnn #
 #####################################################
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := android.hardware.neuralnetworks@1.0-service-arm-armnn
-LOCAL_INIT_RC := android.hardware.neuralnetworks@1.0-service-arm-armnn.rc
+LOCAL_MODULE := android.hardware.neuralnetworks@1.0-service-armnn
+LOCAL_INIT_RC := android.hardware.neuralnetworks@1.0-service-armnn.rc
 ifeq ($(Q_OR_LATER),1)
 # "eng" is deprecated in Android Q
 LOCAL_MODULE_TAGS := optional
@@ -650,12 +650,12 @@
 # The following target is available starting from Android P
 
 #####################################################
-# android.hardware.neuralnetworks@1.1-service-arm-armnn #
+# android.hardware.neuralnetworks@1.1-service-armnn #
 #####################################################
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := android.hardware.neuralnetworks@1.1-service-arm-armnn
-LOCAL_INIT_RC := android.hardware.neuralnetworks@1.1-service-arm-armnn.rc
+LOCAL_MODULE := android.hardware.neuralnetworks@1.1-service-armnn
+LOCAL_INIT_RC := android.hardware.neuralnetworks@1.1-service-armnn.rc
 ifeq ($(Q_OR_LATER),1)
 # "eng" is deprecated in Android Q
 LOCAL_MODULE_TAGS := optional
@@ -751,12 +751,12 @@
 # The following target is available starting from Android Q
 
 #####################################################
-# android.hardware.neuralnetworks@1.2-service-arm-armnn #
+# android.hardware.neuralnetworks@1.2-service-armnn #
 #####################################################
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := android.hardware.neuralnetworks@1.2-service-arm-armnn
-LOCAL_INIT_RC := android.hardware.neuralnetworks@1.2-service-arm-armnn.rc
+LOCAL_MODULE := android.hardware.neuralnetworks@1.2-service-armnn
+LOCAL_INIT_RC := android.hardware.neuralnetworks@1.2-service-armnn.rc
 LOCAL_MODULE_TAGS := optional
 LOCAL_ARM_MODE := arm
 LOCAL_MODULE_RELATIVE_PATH := hw
@@ -839,12 +839,12 @@
 # The following target is available starting from Android R
 
 #####################################################
-# android.hardware.neuralnetworks@1.3-service-arm-armnn #
+# android.hardware.neuralnetworks@1.3-service-armnn #
 #####################################################
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := android.hardware.neuralnetworks@1.3-service-arm-armnn
-LOCAL_INIT_RC := android.hardware.neuralnetworks@1.3-service-arm-armnn.rc
+LOCAL_MODULE := android.hardware.neuralnetworks@1.3-service-armnn
+LOCAL_INIT_RC := android.hardware.neuralnetworks@1.3-service-armnn.rc
 LOCAL_MODULE_TAGS := optional
 LOCAL_ARM_MODE := arm
 LOCAL_MODULE_RELATIVE_PATH := hw
diff --git a/DriverOptions.cpp b/DriverOptions.cpp
index 94fd594..1f534b6 100644
--- a/DriverOptions.cpp
+++ b/DriverOptions.cpp
@@ -76,6 +76,10 @@
          po::value<std::string>(&m_RequestInputsAndOutputsDumpDir)->default_value(""),
          "If non-empty, the directory where request inputs and outputs should be dumped")
 
+        ("service-name,n",
+         po::value<std::string>(&m_ServiceName)->default_value("armnn"),
+         "If non-empty, the driver service name to be registered")
+
         ("unsupported-operations,u",
          po::value<std::string>(&unsupportedOperationsAsString)->default_value(""),
          "If non-empty, a comma-separated list of operation indices which the driver will forcibly "
diff --git a/DriverOptions.hpp b/DriverOptions.hpp
index 141ca8a..b05647c 100644
--- a/DriverOptions.hpp
+++ b/DriverOptions.hpp
@@ -25,6 +25,7 @@
     const std::vector<armnn::BackendId>& GetBackends() const { return m_Backends; }
     bool IsVerboseLoggingEnabled() const { return m_VerboseLogging; }
     const std::string& GetRequestInputsAndOutputsDumpDir() const { return m_RequestInputsAndOutputsDumpDir; }
+    const std::string& GetServiceName() const { return m_ServiceName; }
     const std::set<unsigned int>& GetForcedUnsupportedOperations() const { return m_ForcedUnsupportedOperations; }
     const std::string& GetClTunedParametersFile() const { return m_ClTunedParametersFile; }
     armnn::IGpuAccTunedParameters::Mode GetClTunedParametersMode() const { return m_ClTunedParametersMode; }
@@ -37,6 +38,7 @@
     std::vector<armnn::BackendId> m_Backends;
     bool m_VerboseLogging;
     std::string m_RequestInputsAndOutputsDumpDir;
+    std::string m_ServiceName;
     std::set<unsigned int> m_ForcedUnsupportedOperations;
     std::string m_ClTunedParametersFile;
     armnn::IGpuAccTunedParameters::Mode m_ClTunedParametersMode;
diff --git a/android.hardware.neuralnetworks@1.0-service-arm-armnn.rc b/android.hardware.neuralnetworks@1.0-service-arm-armnn.rc
deleted file mode 100644
index b8a2c9c..0000000
--- a/android.hardware.neuralnetworks@1.0-service-arm-armnn.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-service neuralnetworks_hal_service_armnn /vendor/bin/hw/android.hardware.neuralnetworks@1.0-service-arm-armnn
-    class hal
-    user system
-    group system
diff --git a/android.hardware.neuralnetworks@1.3-service-arm-armnn.rc b/android.hardware.neuralnetworks@1.0-service-armnn.rc
similarity index 70%
rename from android.hardware.neuralnetworks@1.3-service-arm-armnn.rc
rename to android.hardware.neuralnetworks@1.0-service-armnn.rc
index 25855d4..d720086 100644
--- a/android.hardware.neuralnetworks@1.3-service-arm-armnn.rc
+++ b/android.hardware.neuralnetworks@1.0-service-armnn.rc
@@ -1,4 +1,4 @@
-service neuralnetworks_hal_service_armnn /vendor/bin/hw/android.hardware.neuralnetworks@1.3-service-arm-armnn
+service neuralnetworks_hal_service_armnn /vendor/bin/hw/android.hardware.neuralnetworks@1.0-service-armnn
     class hal
     user system
     group system
diff --git a/android.hardware.neuralnetworks@1.1-service-arm-armnn.rc b/android.hardware.neuralnetworks@1.1-service-arm-armnn.rc
deleted file mode 100644
index fad1905..0000000
--- a/android.hardware.neuralnetworks@1.1-service-arm-armnn.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-service neuralnetworks_hal_service_armnn /vendor/bin/hw/android.hardware.neuralnetworks@1.1-service-arm-armnn
-    class hal
-    user system
-    group system
diff --git a/android.hardware.neuralnetworks@1.3-service-arm-armnn.rc b/android.hardware.neuralnetworks@1.1-service-armnn.rc
similarity index 70%
copy from android.hardware.neuralnetworks@1.3-service-arm-armnn.rc
copy to android.hardware.neuralnetworks@1.1-service-armnn.rc
index 25855d4..98efaf9 100644
--- a/android.hardware.neuralnetworks@1.3-service-arm-armnn.rc
+++ b/android.hardware.neuralnetworks@1.1-service-armnn.rc
@@ -1,4 +1,4 @@
-service neuralnetworks_hal_service_armnn /vendor/bin/hw/android.hardware.neuralnetworks@1.3-service-arm-armnn
+service neuralnetworks_hal_service_armnn /vendor/bin/hw/android.hardware.neuralnetworks@1.1-service-armnn
     class hal
     user system
     group system
diff --git a/android.hardware.neuralnetworks@1.2-service-arm-armnn.rc b/android.hardware.neuralnetworks@1.2-service-arm-armnn.rc
deleted file mode 100644
index 81f6bc9..0000000
--- a/android.hardware.neuralnetworks@1.2-service-arm-armnn.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-service neuralnetworks_hal_service_armnn /vendor/bin/hw/android.hardware.neuralnetworks@1.2-service-arm-armnn
-    class hal
-    user system
-    group system
diff --git a/android.hardware.neuralnetworks@1.3-service-arm-armnn.rc b/android.hardware.neuralnetworks@1.2-service-armnn.rc
similarity index 70%
copy from android.hardware.neuralnetworks@1.3-service-arm-armnn.rc
copy to android.hardware.neuralnetworks@1.2-service-armnn.rc
index 25855d4..5889446 100644
--- a/android.hardware.neuralnetworks@1.3-service-arm-armnn.rc
+++ b/android.hardware.neuralnetworks@1.2-service-armnn.rc
@@ -1,4 +1,4 @@
-service neuralnetworks_hal_service_armnn /vendor/bin/hw/android.hardware.neuralnetworks@1.3-service-arm-armnn
+service neuralnetworks_hal_service_armnn /vendor/bin/hw/android.hardware.neuralnetworks@1.2-service-armnn
     class hal
     user system
     group system
diff --git a/android.hardware.neuralnetworks@1.3-service-arm-armnn.rc b/android.hardware.neuralnetworks@1.3-service-armnn.rc
similarity index 70%
copy from android.hardware.neuralnetworks@1.3-service-arm-armnn.rc
copy to android.hardware.neuralnetworks@1.3-service-armnn.rc
index 25855d4..3f84d9c 100644
--- a/android.hardware.neuralnetworks@1.3-service-arm-armnn.rc
+++ b/android.hardware.neuralnetworks@1.3-service-armnn.rc
@@ -1,4 +1,4 @@
-service neuralnetworks_hal_service_armnn /vendor/bin/hw/android.hardware.neuralnetworks@1.3-service-arm-armnn
+service neuralnetworks_hal_service_armnn /vendor/bin/hw/android.hardware.neuralnetworks@1.3-service-armnn
     class hal
     user system
     group system
diff --git a/docs/IntegratorGuide.md b/docs/IntegratorGuide.md
index d454f21..8200d81 100644
--- a/docs/IntegratorGuide.md
+++ b/docs/IntegratorGuide.md
@@ -21,19 +21,19 @@
 
 For Android P or Q, using NN API version (1.0), the following should be added to `device.mk`:
 <pre>
-PRODUCT_PACKAGES += android.hardware.neuralnetworks@1.0-service-arm-armnn
+PRODUCT_PACKAGES += android.hardware.neuralnetworks@1.0-service-armnn
 </pre>
 
 For Android P or Q, a new version of the NN API is available (1.1),
 thus the following should be added to `device.mk` instead:
 <pre>
-PRODUCT_PACKAGES += android.hardware.neuralnetworks@1.1-service-arm-armnn
+PRODUCT_PACKAGES += android.hardware.neuralnetworks@1.1-service-armnn
 </pre> `Android.mk` contains the module definition of both versions of the ArmNN driver.
 
 For Android Q, a new version of the NN API is available (1.2),
 thus the following should be added to `device.mk` instead:
 <pre>
-PRODUCT_PACKAGES += android.hardware.neuralnetworks@1.2-service-arm-armnn
+PRODUCT_PACKAGES += android.hardware.neuralnetworks@1.2-service-armnn
 </pre> `Android.mk` contains the module definition of all three versions (1.0, 1.1 and 1.2) of the ArmNN driver.
 
 Similarly, the Neon, CL or reference backend can be enabled/disabled by setting ARMNN_COMPUTE_CL_ENABLE,
@@ -66,7 +66,7 @@
 </pre>
 For example, if the ArmNN driver has been built with the NN API 1.0, check for the following file:
 <pre>
-<ANDROID_ROOT>/out/target/product/<product>/system/vendor/bin/hw/android.hardware.neuralnetworks@1.0-service-arm-armnn
+<ANDROID_ROOT>/out/target/product/<product>/system/vendor/bin/hw/android.hardware.neuralnetworks@1.0-service-armnn
 </pre>
 
 Android Q has a different path:
@@ -79,7 +79,7 @@
 1. Run the ArmNN driver service executable in the background.
 The following examples assume that the 1.0 version of the driver is being used:
 <pre>
-adb shell /system/vendor/bin/hw/android.hardware.neuralnetworks@1.0-service-arm-armnn &
+adb shell /system/vendor/bin/hw/android.hardware.neuralnetworks@1.0-service-armnn &
 </pre>
 2. Run some code that exercises the Android Neural Networks API, for example Android's
 `NeuralNetworksTest` unit tests (note this is an optional component that must be built).
@@ -101,12 +101,12 @@
 1. Run the ArmNN driver service executable in tuning mode. The path to the tuning data must be writable by the service.
 The following examples assume that the 1.0 version of the driver is being used:
 <pre>
-adb shell /system/vendor/bin/hw/android.hardware.neuralnetworks@1.0-service-arm-armnn --cl-tuned-parameters-file &lt;PATH_TO_TUNING_DATA&gt; --cl-tuned-parameters-mode UpdateTunedParameters --cl-tuning-level exhaustive &
+adb shell /system/vendor/bin/hw/android.hardware.neuralnetworks@1.0-service-armnn --cl-tuned-parameters-file &lt;PATH_TO_TUNING_DATA&gt; --cl-tuned-parameters-mode UpdateTunedParameters --cl-tuning-level exhaustive &
 </pre>
 2. Run a representative set of Android NNAPI testing loads. In this mode of operation, each NNAPI workload will be slow the first time it is executed, as the tuning parameters are being selected. Subsequent executions will use the tuning data which has been generated.
 3. Stop the service.
 4. Deploy the tuned parameters file to a location readable by the ArmNN driver service (for example, to a location within /vendor/etc).
 5. During normal operation, pass the location of the tuning data to the driver service (this would normally be done by passing arguments via Android init in the service .rc definition):
 <pre>
-adb shell /system/vendor/bin/hw/android.hardware.neuralnetworks@1.0-service-arm-armnn --cl-tuned-parameters-file &lt;PATH_TO_TUNING_DATA&gt; &
+adb shell /system/vendor/bin/hw/android.hardware.neuralnetworks@1.0-service-armnn --cl-tuned-parameters-file &lt;PATH_TO_TUNING_DATA&gt; &
 </pre>
diff --git a/service.cpp b/service.cpp
index 740198a..823f0c7 100644
--- a/service.cpp
+++ b/service.cpp
@@ -18,6 +18,7 @@
 int main(int argc, char** argv)
 {
     android::sp<ArmnnDriver> driver;
+    DriverOptions driverOptions(argc, argv);
     try
     {
         driver = new ArmnnDriver(DriverOptions(argc, argv));
@@ -32,7 +33,7 @@
     android::status_t status = android::UNKNOWN_ERROR;
     try
     {
-        status = driver->registerAsService("arm-armnn");
+        status = driver->registerAsService(driverOptions.GetServiceName());
     }
     catch (const std::exception& e)
     {
