Unisoc does not upstream most drivers. The kernel source for UMS9117 devices (e.g., from GitHub dumps) reveals:
Unisoc has been improving its driver support. With the release of Android 13 Go on UMS9117 (recently spotted on a Micromax device), newer driver branches support:
If your OEM never updates, the community will continue to reverse-engineer and improve.
If you are searching for UMS9117 drivers because your device is stuck in a boot loop (bricked), you need the Research Download Tool and the specific PAC file (the stock ROM) for your device. unisoc ums9117 driver better
The "Better" Driver here is the SPD Scientific Driver: For flashing Unisoc devices, standard USB drivers often fail. The Spreadtrum Scientific USB Driver is designed specifically for the flashing protocol (Diag Mode). This allows tools like SPD Flash Tool to communicate with the UMS9117 even when the phone is soft-bricked.
Manufacturers occasionally update the GPU driver via OTA updates. Go to Settings > About Phone > Software Update. Sometimes, a new OTA contains a gralloc.msm or pvr driver update. Check your build date. If it is older than 6 months, OEMs have abandoned you.
The driver stack leaves significant performance on the table: Unisoc does not upstream most drivers
The open-source Panfrost driver (kernel 5.2+) supports Mali-820. However, no one has ported Panfrost to the UMS9117’s DMA/IOMMU setup. You would need to reverse-engineer the Unisoc GPU power domain controller.
Verdict: The proprietary driver works but is fragile. Expect occasional GPU hangs (recoverable only via reboot).
Rating: 4/10
The Unisoc UMS9117 (also referenced as UniSOC UMS9117 or Spreadtrum/Unisoc UMS9117) is a mobile platform/system-on-chip (SoC) family component used in low- to mid-range smartphones and tablets. It's based on ARM CPU cores and integrates cellular modems, multimedia, and peripheral controllers. Drivers for the UMS9117 include kernel modules for SoC-specific hardware (power management, display, GPU/graphics, multimedia codecs, camera sensors, audio, modem interface, USB, storage, and various buses like SPI/I2C/SDIO/CSI), as well as vendor-provided binary blobs for baseband/modem firmware and possibly GPU firmware.
A "better" driver is context-dependent. Here is how to tune the UMS9117 drivers for different workloads.