Skip to content

Latest commit

 

History

History
50 lines (31 loc) · 3.06 KB

index.md

File metadata and controls

50 lines (31 loc) · 3.06 KB

Trinity: High-Performance Mobile Emulation through Graphics Projection

version license license status DOI

Table of Content

Introduction

Trinity is the first mobile emulator that simultaneously achieves excellent compatibility, efficiency and security.

Trinity is built on our novel concept of a graphics projection space that resides in the guest memory, where we selectively maintain a “projected” subset of control contexts and resource handlers that are actually required by the host GPU during its rendering, so as to minimize the coupling between the guest-side and host-side graphics processing and thus keep the guest-host control/data flows concise, smooth, and straight.

This repository contains code and binary of Trinity, as well as measurement data involved in our study.

Codebase & Build

Currently we have released all the emulator's source here and provided detailed guides on building Trinity. Our guest-side implementation is proprietary for now but the OS images can be found here.

Install and Run

We have released Trinity's binary for you to check out on your own PC here (Window+Intel version, other versions such as Mac and AMD are coming soon as we are doing minor bug fixes). Some prerequisites and instructions are listed below.

Prerequisites

  1. Ensure that you have turned on Intel VT in the BIOS settings.
  2. Install Intel HAXM (recommended version is v7.6.5, instructions here).

And then you are good to go!

Running

We provide an executable for running Trinity. Therefore, all you need to do is download the ZIP file above, extract the files, and double-click on the executable Trinity.exe to execute Trinity.

During booting, you may see an option to run without installation or to install provided by the Android-x86 system we host. The former allows you to quickly enjoy the journey but makes the virtual storage volatile (i.e., the next boot will erase all data), while the latter may involve more complex configurations (you can find them here).

Measurement Data

The measurement data involved in our evaluation are hosted here.