Vulkan Hardware Capability Viewer 4.01 released

New client application

A bit delayed, but version 4.01 of the Vulkan Hardware Capability Viewer is now available for all platforms (Windows, Linux, Android, Mac OSX).

New extensions

This version is based on Vulkan Headers 1.4.313 and adds support for the following new extension features and properties provided via VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2:

  • VK_ARM_pipeline_opacity_micromap
  • VK_EXT_fragment_density_map_offset
  • VK_KHR_depth_clamp_zero_one
  • VK_KHR_maintenance8
  • VK_KHR_shader_bfloat16
  • VK_KHR_video_maintenance2
  • VK_NV_cluster_acceleration_structure
  • VK_NV_cooperative_vector
  • VK_NV_partitioned_acceleration_structure
  • VK_NV_present_metering
  • VK_NV_ray_tracing_linear_swept_spheres

Updated build environments

One of the reasons it took me so long to update this release were required updates to the build environments. I’m using github’s CI to build most binaries (except for Android) and github did retire a few runners since the 4.00 release. So in order to get this version build on all platforms I support I had to update the CI enviroments for Linux and Mac OS. Esp. the latter wasn’t trivial, as the Qt version I’m using (5.15) no longer works out of the box with recent Mac OS github images. For Linux I had to move from Ubuntu 20.04 to 22.04.

I hope those CI updates didn’t break anything, but from my testing on Linux, the appimages now require fuse to be installed.

Fix for uploading Android reports

Unlike desktop platforms, GPU names on Android are not unique to a device. So the database needs to query additional data to check if the report is already present or not. This was partially broken as recent Android Caps Viewer versions used a new back-end route for uploading. I have fixed that back-end route, and it’ll now also check for the actual device’ name using platform specific information. So uploading Android reports should work as expected again.

Update plans for Qt

The Caps Viewer is still using Qt 5.15, which is kinda outdated and not receiving any updates. While that’s not an issue on desktop systems, it’s starting to become a burden on Android. The playstore requires your app to support a min. SDK version, and that version is not compatible with Qt 5.15 (that’s why the playstore version lags behind).

First tests with Qt 6.9 looked good on Desktop, but on Android, apps using Qt’s widgets are sadly broken. Rendering the UI no longer works, making the app unusable. It seems the maker’s of Qt are aware of this, but this has been broken since Qt 6.5, so no idea when this will be fixed. I did take a look at Qt Quick (QML), which seems to be the successor to Qt Widgets (at least on mobile), but moving to that would require a large rewrite of the application for supporting a UI framework that sadl lacks things that Qt Widgets to have (e.g. CSS support).

So until then, I’ll stick with Qt 5.15.

If you’re on Android and want the latest version, download the apk from here and sideload it onto your device.