Skip to content

Commit

Permalink
update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
wasdwasd0105 committed Apr 12, 2023
1 parent ee83b29 commit 1c2cc14
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 16 deletions.
52 changes: 36 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,46 @@
# QEMU KVM (Limbor) For Tensor-based devices
# QEMU KVM (Limbo) For Tensor-based devices

Limbo for Tensor is a QEMU-based Hypervisor for Tensor-based Google Pixel devices such as Pixel 6 & 7 series.
Limbo for Tensor is a QEMU-based hypervisor for KVM-enabled AArch64 devices such as Google Pixel 6 and 7 series.

Limbo utilizes Kernal KVM feature from Exception Level 2 hypervisor privilege level.
Limbo leverages the Kernel KVM feature from Exception Level 2 hypervisor privilege level.

Currently only Google Tensor SOC support the feature. ROOT access is REQUIRED to access Kernal KVM.
Currently Google Tensor SoC supports this feature. ROOT access is REQUIRED to access Kernel KVM.


Flash Unlock KVM [Kernel](https://github.com/wasdwasd0105/limbo_tensor/blob/master/docs/unlock-pkvm.md) can run Windows 11 on ARM [See guide here](https://github.com/wasdwasd0105/limbo_tensor/blob/master/docs/windows11arm.md)

![](https://github.com/wasdwasd0105/limbo_tensor/blob/master/pics/win11arm.png?raw=true)

CPU-Z x64 scores over 900 on Google Pixel 7.

![](https://github.com/wasdwasd0105/limbo_tensor/blob/master/pics/win11_cpuz_x64.png?raw=true)

Limbo running Ubuntu ARM64 VM

![](https://github.com/wasdwasd0105/limbo_tensor/blob/master/pics/Screenshot_20221024-022640.png?raw=true)

Passmark CPU & Mem test on Google Pixel 7

![](https://github.com/wasdwasd0105/limbo_tensor/blob/master/pics/passmark_8cores.png?raw=true)

USB Passthrough Demo: Sharing Netgear USB WIFI to Ubuntu VM
USB Passthrough Demo: Sharing Netgear USB Wi-Fi to Ubuntu VM.

![](https://github.com/wasdwasd0105/limbo_tensor/blob/master/pics/usb_demo.png?raw=true)

USB Passthrough Speed: Transfer a large file to Ubuntu VM
![](https://github.com/wasdwasd0105/limbo_tensor/blob/master/pics/usb_demo2.png?raw=true)


***
USB Passthrough Speed: Transferring a large file to

Ubuntu VM
![](https://github.com/wasdwasd0105/limbo_tensor/blob/master/pics/usb_demo2.png?raw=true)

Windows 11 VM
![](https://github.com/wasdwasd0105/limbo_tensor/blob/master/pics/usb_demo_win11.png?raw=true)

## Features

>### User Interface
1. Display: can be out via VNC on port `5900` by LAN and local
1. Display: Can be output via VNC on port `5900` for both LAN and local connections.
2. Serial Out: can be out via telent:
- none
- local only on port `8021` (telnet:127.0.0.1:8021)
Expand All @@ -39,18 +54,23 @@ USB Passthrough Speed: Transfer a large file to Ubuntu VM
2. CPU Model: use max or host
3. CPU Core: up to 8
4. RAM Momory: up to 8192MB
5. Enable UFEI:
5. Enable UEFI:
- Enable: can boot generic Linux ISO image
- Disable:can only boot via linux Kernel and Initrd
6. Enable KVM:
- Enable: can use KVM virtualization solution
- Disable: disable virtualization mode
7. Full UEFI:
- Enable: Loads a full version UEFI firmware that can save EFI variables to NVRAM pflash. Requires [unlock pKVM](https://github.com/wasdwasd0105/limbo_tensor/blob/master/docs/unlock-pkvm.md).
- Disable: Loads a modified version that bypasses NVRAM write. Can run on protected KVM mode.
8. 100% Success Mode:
- Enable: Will run Qemu only on CPU 0-3 to avoid boot failure. You can click 🚀 icon after UEFI loaded to enable all CPU cores
- Disable: Use all cores on Qemu start. May have stack overflow error on UEFI firmware

>### Disks: used to store data drive
>### Removeable
1. CDROM: can be used to install OS. Disable it after installation
2. SD Card: Do not use it is currently broken, and will be removed later

>### Boot (Do not modify if UEFI is enabled)
Expand All @@ -61,10 +81,10 @@ USB Passthrough Speed: Transfer a large file to Ubuntu VM
- nographic: disable display

>### Network
1. Network: only None or User Mode works
2. Network Card: Choose virtual network card
1. Network: None or User Mode works
2. Network Card: Choose virtual network card (use virtio)
3. DNS Server: Current is 8.8.8.8 (may not work, need more test)
4. Host Forword: not working
4. Host Forword: working now (eg tcp:4444:3389)

>### USB
1. Can Passthrough USB 3.0 Device to VMs
Expand All @@ -79,9 +99,9 @@ USB Passthrough Speed: Transfer a large file to Ubuntu VM
- [x] USB passthrough
- [x] Windows on ARM
- [x] virtio-ramfb for Windows (from UTM)
- [x] FIX network options
- [x] FIX nvram write option
- [ ] GL support
- [ ] FIX network options
- [ ] FIX nvram write option
- [ ] Add Audio options
- [ ] DNS passthrough (current hardcoded under `/data/data/com.limbo.emu.main.arm/cache/limbo/resolv.conf`)
- [ ] Support contorl qemu
Expand Down
Binary file added pics/usb_demo_win11.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/win11_cpuz_x64.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/win11arm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 1c2cc14

Please sign in to comment.