# Moore Threads Driver Source Provenance Audit

**Date:** 2026-06-02 (updated)  
**Repository:** https://github.com/dixyes/mtgpu-drv  
**Status:** Cloneable; Dual MIT/GPLv2 per source headers; no top-level LICENSE file

## Repository Information

- **GitHub:** https://github.com/dixyes/mtgpu-drv
- **Branches available:** `2.1.2-6.1`, `2.5.0-6.6-img-rouge`, `2.5.0-6.8-img-rouge`
- **Top-level docs:** `Readme.md` (Chinese/English); DKMS packaging via `dkms.conf`
- **Maintenance status:** Unmaintained (per README) due to loginwall requirements

## License Information

A shallow clone of `2.5.0-6.6-img-rouge` (2026-06-01) contains **no root `LICENSE` file**. Kernel sources carry:

```text
@Copyright   Copyright (c) Moorethreads Technologies Ltd. All Rights Reserved
@License     Dual MIT/GPLv2
```

The `pvr/` subdirectory contains Imagination Technologies code also under Dual MIT/GPLv2.

### License Compatibility

| Component | MVGAL License | Compatibility | Notes |
|-----------|---------------|---------------|-------|
| Kernel module | GPL-2.0-only | ✅ Compatible | Dual MIT/GPLv2 includes GPL-2.0 option |
| Userspace | MIT | ✅ Compatible | Can use MIT-only portion |
| Firmware | Proprietary | ⚠️ Separate | MUSA/MTML blobs outside scope |

## Integration Points

| Component | MVGAL path | Role |
|-----------|------------|------|
| Kernel | `scripts/mtt-dkms-installer.sh` | Optional DKMS install via pkexec |
| Vendor shim | `kernel/vendors/mvgal_mtt.c` | Topology + capability probes |
| P2P / DMA | `src/userspace/memory/mtgpu_p2p_dma.c` | Pair matrix; staging fallback |
| Detection | `kernel/mvgal_main.c` | Vendor ID `0x1ED5` |

## Findings Summary

| Item | Status |
|------|--------|
| Repository cloneable | ✅ |
| License headers present | ✅ |
| Dual MIT/GPLv2 confirmed | ✅ |
| GPL-compatible | ✅ |
| Actively maintained | ❌ (unmaintained) |
| Full DMA-BUF support | ⚠️ (needs hardware validation) |

## Recommendations

1. **Production:** Pin a tested `mtgpu-drv` branch/commit in installer docs; record kernel version (e.g. 6.6 LTS).
2. **Validation:** Run `mvgal-dmabuf-matrix -o docs/HARDWARE_DMABUF_MATRIX.md` on MTT + second vendor hardware.
3. **Legal:** For redistribution, ship SPDX metadata and reproduce Dual MIT/GPLv2 notices from upstream `src/` headers.
4. **Documentation:** Mark MTT support as experimental until full validation.

## Next Steps

- [x] Confirm repository cloneability and header license
- [x] Verify Dual MIT/GPLv2 license in source files
- [ ] Validate full `mtgpu.ko` vs `mtgpu_stub` on MTT S30/S80 with DMA-BUF export
- [ ] Add `docs/MTT_INTEGRATION.md` install guide linked from `docs/VENDOR_INTEGRATION_GUIDE.md`

## References

- MTT Developer Portal: https://developer.mthreads.com/
- MTT Community Driver: https://github.com/dixyes/mtgpu-drv