{"id":28710897,"url":"https://github.com/arm-software/vulkan-sdk","last_synced_at":"2025-07-26T00:35:22.305Z","repository":{"id":41156346,"uuid":"76020656","full_name":"ARM-software/vulkan-sdk","owner":"ARM-software","description":"Github repository for the Vulkan SDK","archived":false,"fork":false,"pushed_at":"2023-02-25T22:17:23.000Z","size":11687,"stargazers_count":232,"open_issues_count":6,"forks_count":51,"subscribers_count":39,"default_branch":"master","last_synced_at":"2025-03-18T11:38:40.457Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ARM-software.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-09T09:21:14.000Z","updated_at":"2025-02-28T00:18:42.000Z","dependencies_parsed_at":"2024-10-27T18:25:49.324Z","dependency_job_id":null,"html_url":"https://github.com/ARM-software/vulkan-sdk","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ARM-software/vulkan-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2Fvulkan-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2Fvulkan-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2Fvulkan-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2Fvulkan-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ARM-software","download_url":"https://codeload.github.com/ARM-software/vulkan-sdk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2Fvulkan-sdk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259884525,"owners_count":22926446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-14T21:08:31.374Z","updated_at":"2025-06-14T21:08:32.149Z","avatar_url":"https://github.com/ARM-software.png","language":"C","readme":"# Vulkan SDK for Android\n\n![Vulkan SDK banner](https://cloud.githubusercontent.com/assets/26139625/26449690/86b0f378-414b-11e7-8e64-3ee5eb0fdb97.jpg)\n\n***\nThis project is not supported. For the latest tutorials and samples please go to:\n\n- [Vulkan-Samples](https://github.com/khronosGroup/Vulkan-samples)\n***\n\n## Introduction\n\nThe Vulkan Software Development Kit is a collection of resources to help you build Vulkan applications\nfor a platform with a Mali GPU and an ARM processor.\nYou can use it for creating new applications, training, and exploration of implementation possibilities.\n\n## Setting up development environment\n\n### Minimum NDK requirements\n\nMinimum android-ndk-r12 is required. The NDK can be downloaded from Android Studio 2.2 or later.\nIt is recommended to use the NDK provided in Android Studio.\n\n### OS requirements\n\nThe Vulkan SDK has been tested to build on Linux (Android Studio) and Windows (Android Studio).\nPartial support for running on Linux desktop is also included.\n\n### Android requirements\n\nNot all Android devices support Vulkan. To make sure your Android device has the Vulkan API supported download the [Hardware CapsViewer for Vulkan](https://play.google.com/store/apps/details?id=de.saschawillems.vulkancapsviewer\u0026hl=en) app to verify your device's status.\n\n### License\n\nThe software is provided under an MIT license. Contributions to this project are accepted under the same license.\n\n### Trademarks\n\nVulkan is a registered trademark of the Khronos Group Inc.\n\n### Building\n\n#### Check out submodules\n\nThis repo uses GLM and STB as submodules, before building, make sure you pull those in.\n\n```\ngit submodule init\ngit submodule update\n```\n\n#### Build and run samples from Android Studio\n\n  - Open Android Studio 3.4 or newer\n  - Open an existing Android Studio project\n  - Import a sample project\n  - You might be prompted to update or install the Gradle wrapper. Do so if asked.\n  - You might be prompted to download and/or update Android SDK tools if Android Studio has not downloaded these before.\n  - Under Tools -\u003e Android -\u003e SDK manager, install cmake, lldb and NDK components if these are not installed already.\n  - In the top menu, run Build -\u003e Make Project.\n  - In the bottom of the screen, the Messages tab should display a build log which shows that libnative.so has been built and that build was successful.\n  - Run the app on the device by pressing the Play button on the top toolbar.\n  - To debug the code, Run -\u003e Debug app. In the project view, you will find app/cpp/native/hellotriangle.cpp or similar. You can set breakpoints and step through the code.\n\n#### Build samples for desktop Linux\n\n```\nmkdir build\ncd build\ncmake ..\nmake -j8\n```\nwill build samples with a PNG backend. Running the binary on desktop should dump out PNG images.\nThis is useful when developing samples and for creating screenshots.\n\nX11 or Wayland backends can be used instead on Linux by passing in extra parameters to cmake:\n\n```\ncmake .. -DPLATFORM=wayland   # or xcb for X11\n```\n\n#### Documentation\n\nFor online tutorials, documentation and explanation of the samples,\nsee [Vulkan SDK documentation](https://arm-software.github.io/vulkan-sdk/).\n\nTo build the same documentation for yourself for offline use, build Doxygen documentation with `./build_documentation.sh`.\nThis requires Doxygen to be installed on your machine.\n\n## Adding new samples\n\nThe build system for samples is designed to be as general as possible. To create a new sample based on hellotriangle:\n\n```\ncd samples\n$EDITOR CMakeLists.txt             # add_subdirectory(newsample)\nmkdir newsample\ncp -r hellotriangle/{CMakeLists.txt,app,build.gradle,settings.gradle} newsample/\n$EDITOR CMakeLists.txt             # Edit add_sample\n$EDITOR app/AndroidManifest.xml    # Edit manifest:package\n$EDITOR app/res/values/strings.xml # Edit resources:string\n```\n\nSource files go in `newsample/`,\nGLSL source files go in `newsample/shaders` and general assets (if needed) go in\n`newsample/assets`.\n\nSamples must implement the `VulkanApplication` interface as well as implementing `MaliSDK::create_application()`.\n```\n#include \"framework/application.hpp\"\n#include \"framework/context.hpp\"\n#include \"framework/common.hpp\"\n#include \"framework/assets.hpp\"\n#include \"platform/platform.hpp\"\n\nclass MyVulkanApplication : public VulkanApplication\n{\n    // ...\n};\n\nVulkanApplication* MaliSDK::create_application()\n{\n    return new MyVulkanApplication();\n}\n```\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farm-software%2Fvulkan-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farm-software%2Fvulkan-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farm-software%2Fvulkan-sdk/lists"}