Cycada (compatibility layer)

Last updated
Cycada
Original author(s)
  • Jeremy Andrus (formerly)
  • Alexander Van’t Hof
  • Naser AlDuaij
  • Christoffer Dall
  • Nicolas Viennot
  • Jason Nieh
Developer(s) Department of Computer Science, Columbia University
Operating system Android
Type Compatibility layer
Website systems.cs.columbia.edu/projects/cycada/

Cycada (formerly known as Cider, and Chameleon before [1] ) is a compatibility layer that aims to allow applications designed for iOS to run unmodified on the Android operating system. [2] The method uses compile-time adaptation to run unmodified code with minimal implementation effort. [3]

Contents

The project was revealed in a conference paper by computer science researchers at Columbia University. The project enables iOS applications to adapt to Android's kernel and programming libraries. [4] [5]

A video released shows that many applications work, including the iOS version of Yelp, Apple's iBooks software and 3D benchmarks using OpenGL. Consequent to the release of the white paper, hardware GPS support was added to the software. [6]

Unlike many other compatibility layers (such as WINE or Darling), Cycada works at the kernel level, as opposed to at user space. [4]

Cycada is not a simple APK file, and modifies the entire Linux kernel. [7]

It is unknown whether the project will be released.

The original name “Cider” was most likely a play on WINE, another compatibility layer named after an alcoholic drink.

Since lead developer Jeremy Andrus left for a job on the Darwin kernel at Apple, the project has been headed by Jason Nieh. Work on the project has still continued following this related to graphics in 2017. [8] [9]

Similar projects

  1. In December of 2022, Internet user Martijn de Vos, also known as devos50 has reverse engineered this device to successfully create a QEMU emulation of this device, running iPhone OS 1.0. [10]
  2. touchHLE is a compatibility layer (referred to as a “high-level emulator”) for Windows and macOS made by Andrea "hikari_no_yume" in early 2023. The emulator was only able to run one software, Super Monkey Ball. She says that fans will have to "be patient" for anything else to emulate. It uses code translation along with CPU emulation when necessary, and specifically stated that she does not want to be compatible with 64 bit software. [11]
  3. ipasim is a compatibility layer that provides native execution for iOS apps to run on Windows based on code translations and WinObjC. [12]
  4. QEMU-t9080, [13] also known as TruEmu [14] is an iPhone 11 emulated in QEMU for the purpose of security research and cannot boot past the Apple Logo.

Notes

1. ^ Cider is an alcoholic drink made from apples.

See also

Related Research Articles

<span class="mw-page-title-main">Wine (software)</span> Windows compatibility software

Wine is a free and open-source compatibility layer that aims to allow application software and computer games developed for Microsoft Windows to run on Unix-like operating systems. Wine also provides a software library, named Winelib, against which developers can compile Windows applications to help port them to Unix-like systems.

<span class="mw-page-title-main">UAE (emulator)</span> Computer emulator which emulates Commodore Internationals Amiga.

UAE is a computer emulator which emulates the hardware of Commodore International's Amiga range of computers. Released under the GNU General Public License, UAE is free software.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

In software engineering, a compatibility layer is an interface that allows binaries for a legacy or foreign system to run on a host system. This translates system calls for the foreign system into native system calls for the host system. With some libraries for the foreign system, this will often be sufficient to run foreign binaries on the host system. A hardware compatibility layer consists of tools that allow hardware emulation.

<span class="mw-page-title-main">QEMU</span> Free virtualization and emulation software

QEMU is a free and open-source emulator. It emulates the machine's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one architecture to run on another.

Virtual DOS machines (VDM) refer to a technology that allows running 16-bit/32-bit DOS and 16-bit Windows programs when there is already another operating system running and controlling the hardware.

<span class="mw-page-title-main">Hackintosh</span> Non-Apple computer running macOS

A Hackintosh is a computer that runs Apple's Macintosh operating system macOS on computer hardware not authorized for the purpose by Apple. This can also include running Macintosh software on hardware it is not originally authorized for. "Hackintoshing" began as a result of Apple's 2005 transition to Intel processors, away from PowerPC. Since 2005, many Mac computers have used the same x86-64 computer architecture as many other desktop PCs, laptops, and servers, meaning that in principle, the code making up macOS systems and software can be run on alternative platforms with minimal compatibility issues. Benefits cited for "Hackintoshing" can include cost, ease of repair and piecemeal upgrade, and freedom to use customized choices of components that are not available in the branded Apple products. macOS can also be run on several non-Apple virtualization platforms, although such systems are not usually described as Hackintoshes. Hackintosh laptops are sometimes referred to as "Hackbooks".

<span class="mw-page-title-main">Architecture of macOS</span> Layers of the operating system

The architecture of macOS describes the layers of the operating system that is the culmination of Apple Inc.'s decade-long research and development process to replace the classic Mac OS.

In computer networking, TUN and TAP are kernel virtual network devices. Being network devices supported entirely in software, they differ from ordinary network devices which are backed by physical network adapters.

<span class="mw-page-title-main">Kernel-based Virtual Machine</span> Virtualization module in the Linux kernel

Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007. KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V. KVM has also been ported to other operating systems such as FreeBSD and illumos in the form of loadable kernel modules.

Binary-code compatibility is a property of a computer system, meaning that it can run the same executable code, typically machine code for a general-purpose computer CPU, that another computer system can run. Source-code compatibility, on the other hand, means that recompilation or interpretation is necessary before the program can be run on the compatible system.

Cocoa Touch is the application development environment for building software programs to run on iOS for the iPhone and iPod Touch, iPadOS for the iPad, watchOS for the Apple Watch, and tvOS for the Apple TV, from Apple Inc.

<span class="mw-page-title-main">Android-x86</span> Unofficial port of the Android mobile operating system

Android-x86 is an open source project that makes an unofficial porting of the Android mobile operating system developed by the Open Handset Alliance to run on devices powered by x86 processors, rather than RISC-based ARM chips.

<span class="mw-page-title-main">Darling (software)</span> Open-source macOS compatibility layer

Darling is a free and open-source macOS compatibility layer for Linux. It duplicates functions of macOS by providing alternative implementations of the libraries and frameworks that macOS programs call. This method of duplication differs from other methods that might also be considered emulation, where macOS programs run in a virtual machine. Darling has been called the counterpart to WINE for running macOS apps.

<span class="mw-page-title-main">Longene</span> Linux distribution

Longene is a Linux-based operating system kernel intended to be binary compatible with application software and device drivers made for Microsoft Windows and Linux. As of 1.0-rc2, it consists of a Linux kernel module implementing aspects of the Windows kernel and a modified Wine distribution designed to take advantage of the more native interface. Longene is written in the C programming language and is free and open source software. It is licensed under the terms of the GNU General Public License version 2 (GPLv2).

Universal Windows Platform (UWP) is a computing platform created by Microsoft and first introduced in Windows 10. The purpose of this platform is to help develop universal apps that run on Windows 10, Windows 10 Mobile (discontinued), Windows 11, Xbox One, Xbox Series X/S, and HoloLens without the need to be rewritten for each. It supports Windows app development using C++, C#, VB.NET, and XAML. The API is implemented in C++, and supported in C++, VB.NET, C#, F# and JavaScript. Designed as an extension to the Windows Runtime (WinRT) platform first introduced in Windows Server 2012 and Windows 8, UWP allows developers to create apps that will potentially run on multiple types of devices.

<span class="mw-page-title-main">Anbox</span> Free and open-source compatibility layer that aims to allow mobile applications and mobile games

Anbox is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on Linux distributions. Canonical introduced Anbox Cloud, for running Android applications in a cloud environment.

Android devices have the ability to run virtual machines or emulate other operating systems. It does this either via desktop virtualization, platform virtualization, or emulation via compatibility layer.

The Linux kernel can run on a variety of devices made by Apple, including devices where the unlocking of the bootloader is not possible with an official procedure, such as iPhones and iPads.

References

  1. https://mice.cs.columbia.edu/getTechreport.php?techreportID=1536&format=pdf&
  2. Columbia University students create software allowing native iOS apps to run on Android devices – 9to5mac
  3. In Sync: Columbia Engineering Team First to Run iOS Apps on Android Platform
  4. 1 2 Andrus, Jeremy et. al. ``Cider: Native Execution of iOS Apps on Android." In Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2014). ACM, 2014, p. 367-382.
  5. Research project Cider brings iOS apps to Android devices – TheNextWeb
  6. Students get iOS apps running (slowly) on Android – Engadget
  7. "Columbia Cycada Demo". YouTube .
  8. "Cycada lets iOS apps run on Android natively". 20 August 2014.
  9. Andrus, Jeremy; Alduaij, Naser; Nieh, Jason (11 December 2017). "Binary compatible graphics support in Android for running iOS apps". Proceedings of the 18th ACM/IFIP/USENIX Middleware Conference. pp. 55–67. doi:10.1145/3135974.3135981. ISBN   9781450347204. S2CID   21784151.
  10. "Developer successfully emulates first version of iPhone OS on a computer with QEMU". 24 December 2022.
  11. "High-level iOS emulator touchHLE runs on Windows and Mac, aims to preserve old iOS gaming apps".
  12. Joneš, Jan (27 June 2019). "IOS emulator for Windows". hdl:20.500.11956/108316.
  13. "IPhone 11 Can Now be Emulated in QEMU Open-Source Emulator". 4 March 2022.
  14. "TruEMU: an extensible, open-source, whole-system iOS emulator" (PDF). Black Hat Briefings . 2022-08-10.