PVRTune GUI crashes while recording

Hi, I’m hitting a consistent crash in the PVRTune GUI while recording.

I’m using PVRTuneDeveloper v14.160 (Build 25.2@f530aeedf8c9), which AFAIK is the latest version. I repro the same crash in both the Linux (running under Ubuntu 24.04) and Windows (running under Windows 11) versions of the GUI.

The crash itself provides very little info, the window simply closes. Running it in gdb on Linux, I can see it’s a segfault, but since there are no symbols, I can’t make anything of the callstack.

I am using the build of PVRPerfServerDeveloper found in PVRPerfServer/Android_arm64-v8a/ in the same download as the GUI, so I would expect the versions to match, and I can see in the logs that it’s identifying itself as "PVRPerfServerDeveloper v14.160 64-bits - Build f530aeedf8c9.
" which seems correct. The server itself seems to run fine and is stable. When I restart the GUI after the crash, server is still running and I can reconnect.

The target device is a rooted Google Pixel 10, so DXT-48-1536.

The repro steps for me are:

  1. Launch server on the target with adb shell "su -c '/data/local/tmp/PVRPerfServerDeveloper'"
  2. Launch GUI on the host with ./GUI/Linux_x86_64/PVRTuneDeveloperGUI
  3. Connect to the broadcasting device over IP
  4. Wait. There is no need for the GPU to be active or for any interaction with the GUI. The time before a crash seems random but from my testing seems to consistently happen within a minute of connecting.

The issue is specific to while performance data is being streamed to the GUI. I have found the GUI to be entirely stable both before connecting and after disconnecting (even with a tune file loaded).

If you’re able to provide any advice or a fix, that would be great. If you need any further info from me or would like me to run any tests, please let me know. Thanks!

Hi Laurie!

Welcome (back?) to the PowerVR Developer forum!

I raised an internal ticket to notify the Tools team the reported issue. Also we will do a new release soon which hopefully will have the issue fixed.

As a workaround, you can use the PVRPerfServerDeveloper binary from PVRPerfServer/Android_arm64-v8a and take an on-device command-line recording (enter ./PVRPerfServerDeveloper --help to see available options).

You will need to:

  • Start PVRPerfServerDeveloper in a console with command line options (for instance, ./PVRPerfServerComplete --graphics=1 --periodic=1 --sendto=“recording_file_name” ).
  • Run the graphical workloads you want to profile.
  • Press Q in the console where PVRPerfServerDeveloper is running to stop the recording.

The file recording_file_name.pvrtune with the should be available in the same folder.

Please let me know if you have any other questions or need any clarifications.

Best regards,
Alejandro

Hi (again) Alejandro! Thanks, I forgot it could save directly to the device, that workaround works for me. I’ll keep an eye out for the new release too.

In case anyone else is profiling on Pixel 10 before the new PVRTune release comes out and finds this thread, these are the steps I’m following:

Start with a rooted Pixel 10, needs root permissions to access performance counters. Then

adb push "C:\Program Files\Imgtec\PowerVR_Tools\PVRTuneDeveloper\PVRPerfServer\Android_arm64-v8a\PVRPerfServerDeveloper" /data/local/tmp/
adb shell
su
cd /data/local/tmp/
chmod +x PVRPerfServerDeveloper
./PVRPerfServerDeveloper --graphics=1 --periodic=1 --sendto=perf-capture.pvrtune
# run benchmark
q
^D^D
adb pull /data/local/tmp/perf-capture.pvrtune
"C:\Program Files\Imgtec\PowerVR_Tools\PVRTuneDeveloper\GUI\Windows_x86_64\PVRTuneDeveloperGUI.exe" perf-capture.pvrtune

Thanks again for the help!