How To Guide GPU Drivers from Qualcomm - How to update

Search This thread

alb94

Senior Member
Dec 21, 2016
114
42
No, this is a weird behaviour of TWRP. Not everyone has it, and it's random. In case when this happens, you can use mouse over OTG to trigger the touch screen again, or you can just use mouse to control it.
One question, is the flash of the systemrw file and driver done through external storage (OTG-USB) or is it possible to mount the internal memory and transfer it from the PC to the device's internal memory within TWRP?
 

ekin_strops

Senior Member
Apr 29, 2016
1,293
539
Munich
OnePlus 9 Pro
One question, is the flash of the systemrw file and driver done through external storage (OTG-USB) or is it possible to mount the internal memory and transfer it from the PC to the device's internal memory within TWRP?
SystemRW can be ADB Sideload(ed) and SystemRW requires access to internal storage since it needs to dump the partitions during the repack, hence why format of the data is part of the tutorial so that internal data can be accessed.
 

Psych Engel

Senior Member
Apr 7, 2017
54
8
OnePlus 9 Pro
Sry, but one question.
Did only a single one of you notice, that the screenshots in the first post are really suspicios?
Time in Screenshot Screenshot1/Before:
NC: 8:59
App: 20:54/8:54

Time in Screenshot Screenshot2/After:
NC: 8:53
App: 20:20/8:20

So it seems, he did the after-shot befor the before-shot (also the percentage states this, but even more strange is the layout of the picture. the before-shot has round corners on the upper side and the after-shot has nearly square-corners on the upper side.

I don´t like to say, that´s a scam, but it feels like a scam, or at least not what it should be...
 

ekin_strops

Senior Member
Apr 29, 2016
1,293
539
Munich
OnePlus 9 Pro
Sry, but one question.
Did only a single one of you notice, that the screenshots in the first post are really suspicios?
Time in Screenshot Screenshot1/Before:
NC: 8:59
App: 20:54/8:54

Time in Screenshot Screenshot2/After:
NC: 8:53
App: 20:20/8:20

So it seems, he did the after-shot befor the before-shot (also the percentage states this, but even more strange is the layout of the picture. the before-shot has round corners on the upper side and the after-shot has nearly square-corners on the upper side.

I don´t like to say, that´s a scam, but it feels like a scam, or at least not what it should be...
I wish I could attach here a drooling GIF, but I'm gonna keep it to myself this time since XDA is strict regarding internet bullying.

If you would just use PLAIN LOGIC, do you REALLY think I would waste an hour writing all this down, and DAYS figuring out how to work around the TWRP issue on A12 (INCOMPATIBLE Android VERSION), plus spending days of testing different ROMs, Firmwares, etc...ONLY to somehow "scam" people here which I literally gain NOTHING from?

The screenshots were taken in the "wrong" order, that's all...

Also, instead of acting suspicious, try debunking this, and then you're free to call it or "feel" it's a scam, AT ANY TIME.

Have fun proving yourself wrong.
 
Last edited:

rejectedjs

Senior Member
Apr 1, 2012
445
141
Sry, but one question.
Did only a single one of you notice, that the screenshots in the first post are really suspicios?
Time in Screenshot Screenshot1/Before:
NC: 8:59
App: 20:54/8:54

Time in Screenshot Screenshot2/After:
NC: 8:53
App: 20:20/8:20

So it seems, he did the after-shot befor the before-shot (also the percentage states this, but even more strange is the layout of the picture. the before-shot has round corners on the upper side and the after-shot has nearly square-corners on the upper side.

I don´t like to say, that´s a scam, but it feels like a scam, or at least not what it should be...
I seriously hope you're trolling.
 
  • Like
Reactions: JWnSC and gillim74

alb94

Senior Member
Dec 21, 2016
114
42
SystemRW can be ADB Sideload(ed) and SystemRW requires access to internal storage since it needs to dump the partitions during the repack, hence why format of the data is part of the tutorial so that internal data can be accessed.
I don't understand... The RW mod, can be via adb sideload, but the drivers file, needs to be through internal storage?
 

alb94

Senior Member
Dec 21, 2016
114
42
Both can be sideloaded, but RW needs access to internal storage. What don't you understand there?
Because you repeated ''SystemRW'' twice. Therefore. My language is not English. Pardon me.
There are days that I'm fighting to update, but it's hard lol. I can even flash the systemRW, but when I restart to flash the drivers, I lose the internal storage.
 

ekin_strops

Senior Member
Apr 29, 2016
1,293
539
Munich
OnePlus 9 Pro
Because you repeated ''SystemRW'' twice. Therefore. My language is not English. Pardon me.
There are days that I'm fighting to update, but it's hard lol. I can even flash the systemRW, but when I restart to flash the drivers, I lose the internal storage.
English is not my language either.

Once more, you can sideload the drivers through the ADB sideload.

While SystemRW needs to be DONE prior to even booting the ROM after you formated your data so the internal storage becomes readable.
 

alb94

Senior Member
Dec 21, 2016
114
42
English is not my language either.

Once more, you can sideload the drivers through the ADB sideload.

While SystemRW needs to be DONE prior to even booting the ROM after you formated your data so the internal storage becomes readable.
I got an OTG adapter, and now I have access to the files. But I keep doing something wrong. Even doing the installation of SystemRW and after the Drivers, when initializing to be able to update the firmware again, I get stuck in a loop and crash dumper. Unfortunately the recovery does not restart within fastbootD. I believe that my error must be related to the moment I flash the SystemMOD or the drivers. Maybe I'm marking something in the assembly wrong.
 
Last edited:

alb94

Senior Member
Dec 21, 2016
114
42
@ekin_strops To flash the SystemMod, do I need to mount something else? Because after formatting and booting TWRP, the date and firmware are already mounted, I leave it like that, or do I dismount these options and just '' ISNTALL ''?
Do the drivers leave only the vendor mounted?
Sorry for the inconvenience, but I would really like to update the drivers.
 

Mr.Conkel

Senior Member
Oct 10, 2020
241
73
London
Nexus 7 (2013)
OnePlus 5T
Small question regarding these drivers, has there been any more updates? Or is this mod a thing of the past? Also, how long until we stop seeing improvements from new drivers, I assume the chip would eventually bottleneck somewhere...
Thanks for any answers cheers!
 

ekin_strops

Senior Member
Apr 29, 2016
1,293
539
Munich
OnePlus 9 Pro
Small question regarding these drivers, has there been any more updates? Or is this mod a thing of the past? Also, how long until we stop seeing improvements from new drivers, I assume the chip would eventually bottleneck somewhere...
Thanks for any answers cheers!
These drivers are not released from Qualcomm directly, therefore updates may or may not come, it depends on how "often" Qualcomm actually updates the drivers on the GPU, which AFAIK, doesn't happen often. So, when a new driver appears on some devices, the community tries to extract those drivers and make them usable on "all" devices with XY SOC.

Now regarding the bottleneck, well, we already kind of hit the bottleneck. We won't see much improvement in performance anymore, but we might see more "stability" across the platform, which is also beneficial.

Funny thing is, even with Android 13, and OOS13-ColorOS13, OEMs still implemented the OLD V525/530 drivers, so, these drivers are still giving an advantage. The only issue now with OOS13 and COS13 is that the partitions are EROFS, and so far there is no known "easy" way to make those partitions RW and use the TWRP-based drivers.

Magisk module driver still works though.
 
  • Like
Reactions: Mr.Conkel

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Small question regarding these drivers, has there been any more updates? Or is this mod a thing of the past? Also, how long until we stop seeing improvements from new drivers, I assume the chip would eventually bottleneck somewhere...
    Thanks for any answers cheers!
    These drivers are not released from Qualcomm directly, therefore updates may or may not come, it depends on how "often" Qualcomm actually updates the drivers on the GPU, which AFAIK, doesn't happen often. So, when a new driver appears on some devices, the community tries to extract those drivers and make them usable on "all" devices with XY SOC.

    Now regarding the bottleneck, well, we already kind of hit the bottleneck. We won't see much improvement in performance anymore, but we might see more "stability" across the platform, which is also beneficial.

    Funny thing is, even with Android 13, and OOS13-ColorOS13, OEMs still implemented the OLD V525/530 drivers, so, these drivers are still giving an advantage. The only issue now with OOS13 and COS13 is that the partitions are EROFS, and so far there is no known "easy" way to make those partitions RW and use the TWRP-based drivers.

    Magisk module driver still works though.
  • 13
    First, a small "introduction":

    Would you like to gain up to 10-15% more performance in GPU-based tasks just by replacing the GPU drivers with something newer?

    Sadly, Qualcomm doesn't seem to care about updating the GPU drivers on older devices or generally updating drivers at all after the initial release of the device.

    Both OpenGL and Vulkan APIs are mostly outdated on our devices, and thanks to some folks, they extracted the GPU drivers from newer devices/GPUs, added some tweaks, and made it flashable to any device using XY compatible GPU.

    Now, the issue with this device (The OnePlus 9 Pro) is that it doesn't have an A12 compatible TWRP, and these drivers REQUIRE TWRP, otherwise they can't be flashed. The other problem is that most of the Custom A12 ROMs come with their Vendor partitions being only RO (Read Only). In order to flash the custom drivers, Vendor partitions need to be mounted as RW (Read-Write) and it requires a certain amount of free space so that the drivers can be replaced by the custom ones (GPU drivers are located in the Vendor partition).

    So, let's start with the tutorial...It might get a bit lengthy, and the process is a bit time-consuming and requires patience and careful execution. (I'm not gonna write about basics like how to use Fastboot and ALL of the commands, you should be familiar with some basics, otherwise, maybe you should skip the tutorial and stay on the old drivers, I don't have much free time to explain the basics, sorry).

    WARNING: This tutorial requires FORMATING your DATA during the process. BACKUP YOUR DATA BEFORE ATTEMPTING ANYTHING, I'M NOT RESPONSIBLE FOR YOUR FILES OR WHATEVER HAPPENS TO YOUR PHONE.

    This tutorial is tested on BOTH OOS11 and OOS12 based CUSTOM ROMs. This tutorial doesn't apply to STOCK OOS ROMs and I don't support STOCK ROMs in this case.

    There are two parts to this process, one concerning only people who are on OOS11-based CUSTOM ROMs, and the other part is an addition to the first part for people who are on OOS12-based custom ROMs. (I'll upload most of the needed files)

    So, let us begin (bruh...I'm already tired):

    PART ONE: Users of OOS11-based CUSTOM ROMs:

    In order to boot TWRP, you need to replace the Boot.img, dtbo.img and Vendor_boot.img with a stock one from OOS11 ROM.

    Extract the "OOS11 boot,dtbo, vendor_boot.zip" file and use those IMGs.

    So, boot to Fastboot, and execute the following commands:

    Fastboot flash boot_a boot.img
    Fastboot flash boot_b boot.img
    Fastboot flash dtbo_a dtbo.img
    Fastboot flash dtbo_b dtbo.img
    Fastboot flash vendor_boot_a vendor_boot.img
    Fastboot flash vendor_boot_b vendor_boot.img


    Restart the bootloader once (DON'T attempt to boot into the system, you're gonna end up in Bootloop or crashdump)

    Now you're in bootloader again, do the following command to boot the TWRP.

    Fastboot boot twrp.img

    This will boot into TWRP. Now you're inside the TWRP, go and FORMAT DATA (wipe internal storage), when it's done, go back to Bootloader, and boot TWRP again, remember, BOOT TWRP with the previous command I shared, don't attempt to FLASH it.

    Now, FLASH the systemrw_1.32-MOD-Edit.zip file. This is a bit "lengthy" process, it takes a few minutes. When the process is done, reboot again to the bootloader and boot back to TWRP.

    After this, mount the vendor partitions inside TWRP, and FLASH the drivers "[email protected]_twrp_v3.zip".

    When you're done doing that, we need to flash the BOOT, DTBO and the Vendor_boot IMG's from the ROM you're currently using. (You can extract the IMG's from your ROM.zip by using Payload dumper-GO from Github.)

    Fastboot flash boot_a boot.img
    Fastboot flash boot_b boot.img
    Fastboot flash dtbo_a dtbo.img
    Fastboot flash dtbo_b dtbo.img
    Fastboot flash vendor_boot_a vendor_boot.img
    Fastboot flash vendor_boot_b vendor_boot.img


    After you're done flashing these stock partitions, you should be able to boot inside the system without any issues. (tested, working, on multiple ROMs, the process is universal).

    You can check if the drivers are updated with AIDA64 (Playstore) by going to the Display option. Drivers should be revisioned as 615_V3. (Old drivers are either 530 or 525)


    PART TWO: Users of OOS12-based CUSTOM ROMs:

    This is the "tricky" part now since TWRP WON'T boot on these ROMS just by replacing the stock (OOS11) dtbo and vendor_boot IMGs. We need to flash the OOS11 FIRMWARE first and later on, we need to go BACK to OOS12 firmware otherwise the ROM won't boot since the blobs are based on the OOS12 firmware.

    First, we need to flash a recovery that supports FastbootD mode so that the following script can flash all the necessary firmware files.

    Extract PEX Recovery.zip, and flash the partitions using the following commands:

    Fastboot flash boot_a boot.img
    Fastboot flash boot_b boot.img
    Fastboot flash dtbo_a dtbo.img
    Fastboot flash dtbo_b dtbo.img
    Fastboot flash vendor_boot_a vendor_boot.img
    Fastboot flash vendor_boot_b vendor_boot.img


    After this is done, restart once to bootloader.


    Now we need first to flash the OOS11 firmware. Flashing this is kind of one-click, it's a script that is kind of automated.

    Extract the "OP9Poos11.2.10.10(GL)-FIRMWARE-fastboot.zip" file, and click on "Update firmware.bat" file. It will start the process automatically, and it will reboot to fastbootD once by itself.

    Once the flashing process is completed, reboot once to bootloader, and proceed to flash the OOS11 stock partitions by extracting the file "OOS11 boot,dtbo, vendor_boot.zip", commands as follows:

    Fastboot flash boot_a boot.img
    Fastboot flash boot_b boot.img
    Fastboot flash dtbo_a dtbo.img
    Fastboot flash dtbo_b dtbo.img
    Fastboot flash vendor_boot_a vendor_boot.img
    Fastboot flash vendor_boot_b vendor_boot.img


    When you're done, reboot once to bootloader and boot the TWRP:

    Fastboot boot twrp.img

    This will boot into TWRP. Now you're inside the TWRP, go and FORMAT DATA (wipe internal storage), when it's done, go back to Bootloader, and boot TWRP again, remember, BOOT TWRP with the previous command I shared, don't attempt to FLASH it.

    Now, FLASH the systemrw_1.32-MOD-Edit.zip file. This is a bit "lengthy" process, it takes a few minutes. When the process is done, reboot again to the bootloader and boot back to TWRP.

    After this, mount the vendor partitions inside TWRP, and FLASH the drivers "[email protected]_twrp_v3.zip".

    Now, we need to go back to OOS12 FIRMWARE so that our ROM can boot (once again, OOS12 based ROMs require OOS12 firmware as a base in order to work/boot).

    We need to repeat again this step:

    We need to flash a recovery that supports FastbootD mode so that the following script can flash all the necessary firmware files.

    Extract PEX-Recovery.zip, and flash the partitions using the following commands:

    Fastboot flash boot_a boot.img
    Fastboot flash boot_b boot.img
    Fastboot flash dtbo_a dtbo.img
    Fastboot flash dtbo_b dtbo.img
    Fastboot flash vendor_boot_a vendor_boot.img
    Fastboot flash vendor_boot_b vendor_boot.img


    After this is done, restart once to bootloader.

    Extract the "OP9Poos12(LE2125_11.C.48(GL))-FIRMWARE-fastboot.zip" file, and click on "Update firmware.bat" file. It will start the process automatically, and it will reboot to fastbootD once by itself.

    When it's done doing that, we need to flash the BOOT, DTBO and the Vendor_boot IMG's from the ROM you're currently using. (You can extract the IMG's from your ROM.zip by using Payload dumper-GO from Github.)

    The commands are the same, as follows:

    Fastboot flash boot_a boot.img
    Fastboot flash boot_b boot.img
    Fastboot flash dtbo_a dtbo.img
    Fastboot flash dtbo_b dtbo.img
    Fastboot flash vendor_boot_a vendor_boot.img
    Fastboot flash vendor_boot_b vendor_boot.img


    After you're done flashing these stock partitions, you should be able to boot inside the system without any issues. (tested, working, on multiple ROMs, the process is universal).

    So, that should be all, If I made a mistake somewhere, I'll keep editing the thread on the go if I find something wrong.

    I attached 2 screenshots from 3DMark Wildfire test, before and after the score increase. Keep in mind, that the score might differ a bit, different CHIP quality might yield worse or better scores regardless of which drivers are used.

    Vulkan API based games will gain more than OpenGL games, FYI. If you're playing some less demanding games, you won't obviously need more performance, but the GPU, in this case, will work "less", you'll have lower GPU usage considering the overall increase of the GPU performance.

    3DMark Wildfire- BEFORE.jpg
    3DMark Wildfire- AFTER.jpg








    Once again, I'm not trying to be rude, but people with questions like "Fastboot not detected, how to extract payload.bin, how to format DATA in TWRP" will be totally ignored, this is a more "advanced" tutorial, I don't have time explaining absolute basics. Use Google for that, there is plenty of information for your "basic" issues/questions.


    You can thank me later, once your OS booted with the new drivers.
    4
    @_MartyMan_ @Fishawy @Mr.Conkel

    The problem with flashing the magisk version of these drivers is that any app that requires a magisk hide (i.e. Teams, banking apps, some games, etc) won't work. Because your drivers are now a magisk module, and hiding root from those apps require magisk modifications to be hidden / disabled from those apps. In the process, you are disabling those apps from having a graphics driver to render to, thus they'll crash on startup.

    The magisk module works great only if you don't have a single game / app that doesn't need root to be hidden to work.
    3
    Sry, but one question.
    Did only a single one of you notice, that the screenshots in the first post are really suspicios?
    Time in Screenshot Screenshot1/Before:
    NC: 8:59
    App: 20:54/8:54

    Time in Screenshot Screenshot2/After:
    NC: 8:53
    App: 20:20/8:20

    So it seems, he did the after-shot befor the before-shot (also the percentage states this, but even more strange is the layout of the picture. the before-shot has round corners on the upper side and the after-shot has nearly square-corners on the upper side.

    I don´t like to say, that´s a scam, but it feels like a scam, or at least not what it should be...
    I wish I could attach here a drooling GIF, but I'm gonna keep it to myself this time since XDA is strict regarding internet bullying.

    If you would just use PLAIN LOGIC, do you REALLY think I would waste an hour writing all this down, and DAYS figuring out how to work around the TWRP issue on A12 (INCOMPATIBLE Android VERSION), plus spending days of testing different ROMs, Firmwares, etc...ONLY to somehow "scam" people here which I literally gain NOTHING from?

    The screenshots were taken in the "wrong" order, that's all...

    Also, instead of acting suspicious, try debunking this, and then you're free to call it or "feel" it's a scam, AT ANY TIME.

    Have fun proving yourself wrong.
    2
    I found a Magisk module that seems to be doing the same. It can be flashed on any ROM.
    2
    Is it possible to mount /vendor inside the OS (LinageOS19) with a root explorer (MiX) and just replace those files?
    No, because vendor partitions are mostly RO, that means you can't mount them as RW, and even if some of them are already RW, they usually don't have enough free space on the partition so you can't flash or replace these files. Apart from being RW, Vendor partition needs at least 55-60Mb free space for the drivers.