A library for applying rootless Adreno GPU driver modifications/replacements

Overview

Adreno Tools

A library for applying rootless Adreno GPU driver modifications/replacements. Currently supports loading custom GPU drivers such as turnip, enabling BCn textures and redirecting file operations to allow accessing shader dumps and modification of the driver config file without root.

Documentation

API is documented in the include/adrenotools headers.

Support

Android 9+ Arm64

Please create an issue if support for anything else is desired.

You might also like...
Monitoring Radeon GPU temperature on macOS
Monitoring Radeon GPU temperature on macOS

RadeonSensor - Kext and Gadget to show Radeon GPU temperature on macOS The kext is based on FakeSMCs RadeonMonitor to provide GPU temperature to a ded

Vulkan and other GPU API bugs I found.
Vulkan and other GPU API bugs I found.

GPU-my-list-of-bugs what is it - list of bugs I found writing shaders, mostly shader bugs. Maybe this is my code bug or/and shader bugs, but this code

Risc-V RV32IMAFC + 80s ERA SoC (bitmap + GPU, sprites, tilemaps)
Risc-V RV32IMAFC + 80s ERA SoC (bitmap + GPU, sprites, tilemaps)

A simple (no interrupts or exceptions/traps), Risc-V RV32IMAFC CPU, with a pseudo SMT (dual thread) capability. The display is similar to the 8-bit era machines, along with audio, SDCARD read support, UART and PS/2 keyboard input.

Move CS beacon to GPU memory when sleeping

Blog post Tested on Windows 21H1, Visual Studio 2019 (v142) and an NVIDIA GTX860M. GPUSleep GPUSleep moves the beacon image to GPU memory before the b

A composable container for Adaptive ROS 2 Node computations. Select between FPGA, CPU or GPU at run-time.

adaptive_component A composable stateless container for Adaptive ROS 2 Node computations. Select between FPGA, CPU or GPU at run-time. Nodes using har

Cross-platform GPU-oriented C++ application/game framework
Cross-platform GPU-oriented C++ application/game framework

Introduction neoGFX is a C++ app/game engine and development platform targeted at app and game developers that wish to leverage modern GPUs for perfor

Fast, gpu-based CSV parser

nvParse Parsing CSV files with GPU Parsing delimiter-separated files is a common task in data processing. The regular way of extracting the columns fr

Basis Universal GPU Texture Codec
Basis Universal GPU Texture Codec

basis_universal Basis Universal Supercompressed GPU Texture Codec Basis Universal is a "supercompressed" GPU texture data interchange system that supp

Get CPU & GPU temperatures and fan and battery statistics from your Mac.

macOS Hardware Stats Get CPU & GPU temperatures and fan and battery statistics from your Mac. This simple script will output a JSON array containing h

Comments
  • hook_android_dlopen_ext and android_dlopen_ext calls are inter-looped and resulting a call-stack overflow

    hook_android_dlopen_ext and android_dlopen_ext calls are inter-looped and resulting a call-stack overflow

    Hi,

    Getting this issue of call looping between these two functions.

    backtrace: hook_impl: hook_android_dlopen_ext: filename: libhook_impl.so /base.apk!libhook_impl.so (offset 0x3d9000) (hook_android_dlopen_ext+168) /base.apk!libmain_hook.so (offset 0x3e0000) (android_dlopen_ext+36) /base.apk!libhook_impl.so (offset 0x3d9000) (hook_android_dlopen_ext+168) /base.apk!libmain_hook.so (offset 0x3e0000) (android_dlopen_ext+36) /base.apk!libhook_impl.so (offset 0x3d9000) (hook_android_dlopen_ext+168) /base.apk!libmain_hook.so (offset 0x3e0000) (android_dlopen_ext+36) /base.apk!libhook_impl.so (offset 0x3d9000) (hook_android_dlopen_ext+168)

    opened by shakti-hub 1
  • 3 questions/requests for this project..

    3 questions/requests for this project..

    Hi, this project is exciting(!) for finally allowing updating Qualcomm drivers on some devices..

    thinking about this project I have this 3 questions/requests:

    1)Can share if there is some flag/env variable to Adreno Vulkan driver to enable additional (perhaps experimental?) extensions as seems for example some Qualcomm driver 512.615 roms expose lot of new exts more on Adreno 650 than even on Adreno 730 using same 512.615 driver: http://vulkan.gpuinfo.org/compare.php?compare=compare&id%5B14524%5D=on&id%5B14505%5D=on#extensions

    2)Qualcomm Vulkan drivers DB with download links? I know how to extract Vulkan driver from OTAs and factory images but lazy to download large files (2-4GB) to just extract vulkan Adreno driver.. and seem every one must do the same lenghty way.. do you know of some easier way to acquire it? if not would be nice if somebody maintained a site/DB with these drivers (only Qualcomm Vulkan driver ".so" file) updated regularly.. I know it's not the scope of this work, but wanted to ask anyway..

    3)Finally it would be great also an equivalent libmalitools project, reason is now with Pixel 6 devices having Mali GPUs, seems we are getting frequently updated Mali drivers, Google is shipping newer Mali drivers on Android 13 developer previews, for example for Pixel 6: Android 12 : Mali r32p1 Android 13 dp1 : Mali r34p0 Android 13 dp2 : Mali r35p0 Mali r35 already have 9 new VK extensions (see http://vulkan.gpuinfo.org/compare.php?compare=compare&id%5B14514%5D=on&id%5B13271%5D=on#extensions ) and and conformanceVersion 1.2.7.2 is vs 1.2.6.0 on r32p1 so new bug fixes.. on website says newest is r36 (https://developer.arm.com/tools-and-software/graphics-and-gaming/mali-drivers/valhall-kernel) and seems plausible DP3 to ship with these drivers.. It would be nice for example to use this updated Mali drivers on Samsung Sxx devices which use Mali GPUs on Europe at least.. All this is to motivate to try doing a libmalitools project.. can you at least answer if you expect to be much work or most work can be shared by libadrenotools (like hooking functionality) and should not be much work left to enable..

    Thanks.

    opened by oscarbg 2
Owner
Billy Laws
Low level developer currently working on a Nintendo Switch compatibility layer for Android and a port of Android to the Nintendo Switch.
Billy Laws
Loads a signed kernel driver which allows you to map any driver to kernel mode without any traces of the signed / mapped driver.

CosMapper Loads a signed kernel driver (signed with leaked cert) which allows you to map any driver to kernel mode without any traces of the signed /

null 157 Jan 2, 2023
Embed read-only filesystems into any C++11 program w. a single header, zero dependencies and zero modifications to your code

c-embed Embed read-only filesystems into any C++11 program w. a single header, zero dependencies and zero modifications to your code. Usage c-embed al

Nick McDonald 9 Dec 29, 2022
This is the source code for Mirai. The compilation method has been simplified a little and some modifications have been made.

Mirai BotNet to Tashiro(未来砲) Leaked Linux.Mirai Source Code for Research/IoT Development Purposes Uploaded for research purposes and so we can develop

われ 28 Jul 30, 2022
x64 Windows kernel driver mapper, inject unsigned driver using anycall

anymapper x64 Windows kernel driver mapper, inject unsigned driver using anycall This project is WIP. Todo Fix: Can't make API calls from IAT nor func

Kento Oki 72 Dec 26, 2022
Driver leap - Self-sustainable fork of SteamVR driver for Leap Motion controller with updated vendor libraries

Driver Leap Self-sustainable fork of SteamVR driver for Leap Motion controller with updated vendor libraries Installation (for users) Install Ultralea

null 68 Jan 5, 2023
Hygieia, a vulnerable driver traces scanner written in C++ as an x64 Windows kernel driver.

Hygieia The Greek goddess of health, her name is the source for the word "hygiene". Hygieia is a windows driver that works similarly to how pagewalkr

Deputation 103 Dec 4, 2022
SinMapper - usermode driver mapper that forcefully loads any signed kernel driver

usermode driver mapper that forcefully loads any signed kernel driver (legit cert) with a big enough section (example: .data, .rdata) to map your driver over. the main focus of this project is to prevent modern anti-cheats (BattlEye, EAC) from finding your driver and having the power to hook anything due to being inside of legit memory (signed legit driver).

null 170 Dec 29, 2022
GPU 3D signed distance field generator, written with DirectX 11 compute shader

GPU SDF Generator GPU 3D signed distance field generator, written with DirectX 11 compute shader Building git clone --recursive https://github.com/Air

Z Guan 30 Dec 13, 2022
Performance Evaluation of a Parallel Image Enhancement Technique for Dark Images on Multithreaded CPU and GPU Architectures

Performance Evaluation of a Parallel Image Enhancement Technique for Dark Images on Multithreaded CPU and GPU Architectures Image processing is a rese

Batuhan Hangün 5 Nov 4, 2021
Experiments using the RPI Zero GPU for FFT (1D and 2D)

RPI0_GPU_FFT Experiments using the RPI Zero GPU for FFT/IFFT 1D/2D For an input 4194304 (1D), the GPU was around 7X faster than np.fft.fft and np.fft.

Ricardo de Azambuja 30 Nov 15, 2022