Tegra System Profiler on Nexus 9

I am trying to analyze some standard workloads like 3dmark on Nexus 9 device using tegra system profiler version 2.2. I have rooted my device and verified that using rootchecker. However, I am getting this error in log

Failed to start the daemon inside the tools package (com.nvidia.tegraprofiler.tools). Please try again

What’s the reason?

Hi, User shabby

We recently released a silent update for Tegra System Profiler and TADP, that addressed some of the issues for rooted Nexus 9.

Would you please confirm you have the latest?


Does the Tegra System Profiler require the Nexus 9 to be rooted? None of the instructions mention it, but trying to use it with a brand new Nexus 9 (with the 5.0.1 update, kernel version 3.10.40-ga3846f1) makes the profiler program freeze on “Initializing kernel module…”. On the Nexus 9 I found a file named “quadd_d.log” in /data/local/tmp/com.nvidia.tegraprofiler.tools which had the same error repeated over and over, “Error: non-root user cannot load KPROBES module”.

hi a_dunstan,

is is an issue, it seems that google didn’t merge our patch in this update. We will track it internally. Thank you for your reporting it.


I tried downgrading the device to Google’s LRX21Q factory image and it still gives the same error. Was the profiler ever actually confirmed to work with a retail Nexus 9?

hi a_dunstan,

Sorry for inconvenience you met, confirmed, Our patch will be the next update.


Should the profiler included in tadp-3.0r4 work with a rooted Nexus 9 ? When I run the application it recognizes the Nexus 9 and tries to prepare it for use and then just hangs on “Initializing kernel module”

I have tried with latest System Profiler, it is still not working with rooted Nexus 9, always reporting failure in “Initializing kernel module…”, any suggestion for it?


I have been monitoring this page since JinYang’s above post having the identical question. Any news on this?

@Victor: am I looking for the “next update” of the System Profiler or of Android?

An update is much appreciated, thanks!

A new official update for the Nexus 9 has been released (5.0.2), system profiler still doesn’t work. Was the mentioned patch included or not?

And still not working with the 5.1.1 update:

Has ANYONE EVER been able to successfully use System Profiler with the Nexus 9, or is nvidia just trolling us all by saying it’s possible?

Hi, System Profiler works on my Nexus 9 (rooted, Android 5.1.1). I’m pretty sure Perfhud ES CANNOT work with Nexus 9, right?


with Nexus 9, Android 5.1.1 (build lmy48m), kernel 3.10.40-g29ada51, rooted, I’m still not able to run profiler. I’m getting the same error as a_dustan:

W/quadd_d ( 1564): type=1400 audit(0.0:13): avc: denied { getattr } for path="/dev/quadd" dev="tmpfs" ino=6197 scontext=u:r:shell:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=0
W/quadd_d ( 1564): type=1400 audit(0.0:14): avc: denied { getattr } for path="/dev/quadd" dev="tmpfs" ino=6197 scontext=u:r:shell:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=0
W/TegraProfiler( 1550): is_module_loaded (/home/android/buildAgent/work/target-arm-android-32/Rel/QuadD_Golf/sw/devtools/Agora/Rel/QuadD_Golf/QuadD/Target/quadd_d/quadd_d/jni/qm.c:1066): Can not open kernel modules file: No such file or directory
I/TegraProfiler( 1550): Quadd misc device was found: /dev/quadd, major/minor: 10/58
E/TegraProfiler( 1550): quadd_mknod (/home/android/buildAgent/work/target-arm-android-32/Rel/QuadD_Golf/sw/devtools/Agora/Rel/QuadD_Golf/QuadD/Target/quadd_d/quadd_d/jni/qm.c:1051): Error: mknod for file: /dev/quadd (File exists)
E/TegraProfiler( 1550): dev_name_init (/home/android/buildAgent/work/target-arm-android-32/Rel/QuadD_Golf/sw/devtools/Agora/Rel/QuadD_Golf/QuadD/Target/quadd_d/quadd_d/jni/qm.c:1307): Error: misc device is not found
E/TegraProfiler( 1550): quadd_module_init (/home/android/buildAgent/work/target-arm-android-32/Rel/QuadD_Golf/sw/devtools/Agora/Rel/QuadD_Golf/QuadD/Target/quadd_d/quadd_d/jni/qm.c:1381): Error: quadd/quadd_mod are not existed
I/TegraProfiler( 1550): abort: module has already been stopped

I’m using NVIDIA Tegra System Profiler 2.4.19838011.

What else should I do to have the profiler working?


Here is the content of ‘More info’:

Type: KernelModuleServiceError (1406)
Additional Information:
    OriginalExceptionClass: class boost::exception_detail::clone_impl<class QuadDAnalysis::KernelModuleServiceError>
    OriginalFile: e:\rel\quadd_golf\sw\devtools\agora\rel\quadd_golf\quadd\host\analysis\linuxdevice.cpp
    OriginalLine: 173
    OriginalFunction: void __cdecl QuadDAnalysis::LinuxDevice::InitializeKernelModule(void)
Nested Error:
    Type: ServiceError (1400)
    Additional Information:
        OriginalExceptionClass: class boost::exception_detail::clone_impl<class QuadDAnalysis::ServiceError>
    Nested Error:
        Type: TargetSideError (1100)
        Additional Information:
            MethodName: Initialize
            ServiceName: Service
            ErrorText: /home/android/buildAgent/work/target-arm-android-32/Rel/QuadD_Golf/sw/devtools/Agora/Rel/QuadD_Golf/QuadD/Target/quadd_d/quadd_d/jni/KernelModuleServiceImpl.cpp(169): Throw in function void QuadDDaemon::KernelModuleServiceImpl::InitializeInternal()
Dynamic exception type: boost::exception_detail::clone_impl<QuadDDaemon::KmsModuleInitError>
std::exception::what: KmsModuleInitError
[boost::errinfo_nested_exception_*] = 
  Throw in function (unknown)
  Dynamic exception type: boost::exception_detail::clone_impl<QuadDDaemon::QMDeviceNotFound>
  std::exception::what: QMDeviceNotFound
  [QuadDDaemon::tag_error_code*] = 31
  [QuadDDaemon::tag_throw_file*] = /home/android/buildAgent/work/target-arm-android-32/Rel/QuadD_Golf/sw/devtools/Agora/Rel/QuadD_Golf/QuadD/Target/quadd_d/quadd_d/jni/qm.c
  [QuadDDaemon::tag_throw_func*] = dev_name_init
  [QuadDDaemon::tag_module_device_name*] = /dev/quadd
  [QuadDDaemon::tag_module_mod_device_name*] = /dev/quadd_mod

        Nested Error:
            Type: KmsModuleInitError (2004)
            Additional Information:
                OriginalExceptionClass: N5boost16exception_detail10clone_implIN11QuadDDaemon18KmsModuleInitErrorEEE
                OriginalFile: /home/android/buildAgent/work/target-arm-android-32/Rel/QuadD_Golf/sw/devtools/Agora/Rel/QuadD_Golf/QuadD/Target/quadd_d/quadd_d/jni/KernelModuleServiceImpl.cpp
                OriginalLine: 169
                OriginalFunction: void QuadDDaemon::KernelModuleServiceImpl::InitializeInternal()
            Nested Error:
                Type: QmDeviceNotFound (1817)
                Additional Information:
                    OriginalExceptionClass: N5boost16exception_detail10clone_implIN11QuadDDaemon16QMDeviceNotFoundEEE
                    OriginalLine: 1308
                    OriginalErrorCode: 31
                    OriginalFunction: dev_name_init
                    OriginalFile: /home/android/buildAgent/work/target-arm-android-32/Rel/QuadD_Golf/sw/devtools/Agora/Rel/QuadD_Golf/QuadD/Target/quadd_d/quadd_d/jni/qm.c
                    ModuleDeviceName: /dev/quadd
                    ModuleModDeviceName: /dev/quadd_mod


I’m sorry, the device was not rooted after all. I’ve flashed a new image with 5.1.1 in the process of finding the correct android version and that disabled the root.