Integration of the Android ecosystem into the Ubuntu operating system has ceased to be a difficult task requiring deep knowledge of the Linux kernel, and has become accessible to any user. Modern virtualization tools allow you to run mobile games, banking applications and instant messengers directly on your desktop, providing high performance and native integration. Waydroid, Genymotion and Anbox offer different approaches to emulation, each of which has its own advantages depending on your goals.

The main difficulty for beginners often lies not in the actual during the installation process, but in choosing the right method for a specific version of the distribution and hardware. The processor architecture (x86_64 versus ARM) plays a critical role in the compatibility of some system libraries. In this article we will analyze in detail all the current methods, compare their performance and help avoid common mistakes when setting up the environment.

Before proceeding with the installation, it is important to understand that running Android applications on a PC is not just copying APK files, but creating a full-fledged container or virtual machine. System requirements for such solutions can range from a modest 2 GB of RAM for simple tasks to 8 GB or more for heavy 3D games. Proper preparation of the system guarantees stable operation without freezes and graphics artifacts.

Preparing the system and installing dependencies

The first step before installing any emulator is updating the repositories and installing the basic packages necessary for the containers to work. Without correctly configured kernel modules and libraries, none of the modern emulators will be able to start, since they rely on low-level Linux functions. You need to open a terminal and perform initial system diagnostics.

First, make sure that your processor supports virtualization technologies, such as Intel VT-x or AMD-V. You can check this with the command egrep -c '(vmx|svm)' /proc/cpuinfo: if the result is greater than zero, it means that hardware support is active. Next, you should update the list of packages and install key utilities, including curl, ca-certificates and tools for working with GNOME or KDE.

  • ๐Ÿ”ง Update the package database with the command sudo apt update && sudo apt upgrade.
  • ๐Ÿ”ง Install utilities for working with repositories: sudo apt install curl ca-certificates gnupg.
  • ๐Ÿ”ง Check the status of the kernel modules by running lsmod | grep kvm.
โš ๏ธ Attention: If the KVM modules do not load, virtualization may be disabled in the BIOS/UEFI. Restart your computer, enter the BIOS settings and find the Virtualization Technology option to activate it.

Particular attention should be paid to user access rights. For emulators to work correctly, your user must be a member of the group kvm i render. Ignoring this step will result in GPU access errors, making it impossible to run graphically intensive applications. After adding to groups, you will need to reboot the system to apply the changes.

โ˜‘๏ธ Checking system readiness

Completed: 0 / 4

Waydroid: Native performance through containers

To date Waydroid is the most effective solution for Ubuntu users using a graphical server Wayland. Unlike traditional emulators, Waydroid does not emulate hardware but uses kernel-level containerization (LXC), which allows Android apps to run at almost the native speed of your processor. This is an ideal choice for those who are looking for maximum performance.

Installing Waydroid requires adding a special repository, since this package is not available in the standard Ubuntu sources. The installation process involves importing the developers' GPG key and updating the package list. After installing the package itself waydroid you need to initialize the environment by selecting the image type (usually Vanilla or GAPPS to access Google services).

sudo apt install waydroid

sudo waydroid init

An important point is the choice between versions with and without Google Apps. If you only need individual APK files, the Vanilla version will be lighter and faster. However, to work Google Play Store, Maps or applications based on Google Services Framework, you will have to select a version GAPPS. The initialization process will take a few minutes, as the system will load the base Android image (usually version 11 or 12).

  • ๐Ÿš€ The launch is carried out by the command waydroid session start.
  • ๐Ÿš€ To install the APK, use the command waydroid app install /path/to/app.apk.
  • ๐Ÿš€ The window is managed through the standard Ubuntu window manager tools.
โš ๏ธ Attention: Waydroid requires an active Wayland session. If you are using X11 (Xorg), you may need to run Waydroid in Weston mode or switch to a Wayland session when logging in.

One โ€‹โ€‹of the key features of Waydroid is its ability to forward hardware acceleration directly. This means that heavy games or video editing applications will use your graphics card directly, rather than software rendering. Performance In such scenarios, it can reach 90-95% of a native Android device on a similar processor.

How to install the Google Play Store in the Vanilla version?

If you initially chose the Vanilla image, but then realized that you need Google services, you do not need to reinstall Waydroid. You can use the waydroid-extras script, which will automatically download and install the necessary GApps components, saving your data. However, this may take additional time and require a session restart.

Genymotion: Professional emulator for developers

For those who need specific versions of Android or emulation of different device models, Genymotion remains the gold standard. This is a powerful solution, aimed primarily at application developers, but also quite suitable for ordinary users who need stability and flexibility in settings. The emulator runs on a VirtualBoxbase, which provides excellent isolation, but may consume more resources.

Installing Genymotion in Ubuntu is done by downloading the installer from the official website. After downloading the binary file .bin you must give it execution rights. Unlike Waydroid, here you get a full-fledged graphical interface for managing virtual devices, where you can create emulators with different screen resolutions, Android versions and memory sizes.

The main advantage of Genymotion is the ability to emulate specific devices, such as Samsung Galaxy S21 or Google Pixel 6. This allows you to test how the application will look and work on specific hardware. In addition, the emulator supports GPS, camera and multi-touch forwarding, which makes it indispensable for testing complex usage scenarios.

Characteristics Genymotion Waydroid
Baseline VirtualBox / QEMU LXC (Containers)
Performance Medium (depending on the host) High (native)
Android versions From 4.0 to 13.0 Fixed (usually 11+)
Difficulty Low (GUI interface) Medium (terminal)

Despite its power, Genymotion can be resource intensive. Running multiple emulators simultaneously is only possible on systems with a large amount of RAM. For personal use, a free version with limited functionality is available, which is enough to run a couple of applications.

๐Ÿ“Š Which emulator do you prefer for work?
Waydroid
Genymotion
Anbox
Android Studio Emulator

Alternative methods: Anbox and Android Studio

Although Anbox was a pioneer in the field of running Android on Linux, At the moment, its development has practically stopped, and it is considered an outdated solution. The project has been replaced by Waydroid, but in some older distributions or specific scenarios users may still find it necessary to use it. Installing Anbox often requires manual compilation of kernel modules, which can be difficult for beginners.

On the other hand, Android Studio offers its own emulator that is part of a professional development package. This is a heavyweight solution that installs many additional components, including an SDK and debugging tools. Running it solely for the sake of using WhatsApp or Instagram does not make sense due to the high resource consumption and complexity of configuration.

However, for certain tasks, such as debugging on ADB (Android Debug Bridge) or testing applications on different DPIs, the tools from the SDK can be useful. You can use the Android Studio emulator in conjunction with other methods if you need a specific version of the API that is not available in Waydroid.

  • ๐Ÿ“‰ Anbox requires kernel patching, which can break the system after updates.
  • ๐Ÿ“‰ Android Studio emulator consumes a lot of RAM (minimum 4 GB per instance).
  • ๐Ÿ“‰ For simple tasks, it is better to use lightweight alternatives like Waydroid.
โš ๏ธ Attention: It is not recommended to use Anbox in a production environment or for working with important data, since the project no longer receives security updates.

If you decide to experiment with Anbox, remember that installation is carried out via a snap package or deb package from the project website. However, be prepared for possible problems with graphics driver compatibility, especially if you use proprietary drivers NVIDIA.

Installing APKs and managing applications

After successfully installing the emulator, you will be faced with the question of how to transfer application files inside the Android environment. In Waydroid, this is done through the host command line, which may seem inconvenient, but provides quick results. In Genymotion, you can simply drag the APK file into the emulator window, and it will be installed automatically.

For mass installation or automation of processes, it is convenient to use ADB (Android Debug Bridge). This tool allows you to manage installed applications, transfer files, and even take screenshots of the emulator screen. On Ubuntu, the package android-tools-adb is available in standard repositories.

adb connect 192.168.56.101:5555

adb install my_application.apk

It is important to be aware of permissions. Applications running in the emulator run in an isolated environment. Access to your file system (/home/user) is disabled by default. File sharing usually uses a shared folder or directories forwarding mechanism, which is configured separately for each emulator.

๐Ÿ’ก

Use the `waydroid prop set persist.waydroid.multi_windows true` command to enable multi-window mode to run Android applications in separate floating windows rather than in full screen.

Uninstalling applications can also be done via the Android interface or via ADB command adb uninstall package name. This is especially useful when the application does not have an uninstall interface or is frozen. Clearing the emulator cache is periodically necessary to free up disk space, since logs and temporary files can take up gigabytes.

Troubleshooting and performance optimization

Even with proper configuration, performance or compatibility issues may occur. Often, users experience applications crashing immediately after launch or running at low frame rates. In most cases, this is due to a lack of hardware acceleration or library conflicts.

If Waydroid is running slowly, check if the graphics driver is being used. Users NVIDIA may need to install additional patches or use Wayland instead of X11. It is also worth trying to change the resolution of the emulated screen to a lower one in the Waydroid settings.

  • ๐Ÿ› The "Hardware composer" error can be solved by re-creating the container.
  • ๐Ÿ› Problems with sound often require manual configuration of PulseAudio/PipeWire.
  • ๐Ÿ› Lags in games can be eliminated by disabling unnecessary Google services.
  • ๐Ÿ› If the application does not open, try changing the DPI density in the settings.

Optimization also applies to resource distribution. You should not allocate more than 50% of the available RAM to the emulator, otherwise Ubuntu itself will start using the swap file, which will lead to severe brakes on the entire system. Balance Between the resources of the host and the guest OS is critical for comfortable work.

๐Ÿ’ก

The stability of Android on Ubuntu directly depends from the support of video card drivers and the correct settings of the graphics server (Wayland/X11).

If critical errors occur, the logical step would be to clear the emulator data. In Waydroid this is done with the command waydroid container stop followed by waydroid container wipe-data. This will return the system to its original state, removing all installed applications and settings, which often helps solve mysterious stability problems.

Frequently asked questions (FAQ)

Is it safe to run Android banking apps on Ubuntu?

Using banking applications in emulators carries certain risks. Although Waydroid isolates the process, the emulator environment may be less protected from host malware than the original Android. Additionally, some banks may block logins from rooted devices (which are often present in emulators by default). It is recommended to use the original device or proven web versions for finance.

Is it possible to play PUBG or Genshin Impact via Waydroid?

Theoretically, you can run these games, but performance and compatibility are not guaranteed. Many modern games use anti-cheats that can recognize the emulator as a security threat and block the launch. In addition, for a comfortable game you need a powerful video card and the correct settings of graphics drivers.

How to access Android files inside Ubuntu?

In Waydroid, files are usually located in /var/lib/waydroid/data/media/0/. However, direct access may be restricted by rights. The easiest way is to use the built-in Android file manager or forward the shared folder through the emulator settings, if such a function is supported by your version.

Why does sound not work in Android applications?

Sound problems are a common problem when migrating to new versions of Ubuntu due to the transition to PipeWire. Make sure you have the correct audio backend selected in your Waydroid or Genymotion settings. Sometimes restarting the sound service with the command systemctl --user restart pulseaudio or systemctl --user restart pipewire.

Is Google Play Store necessary?

No, not necessarily. Many applications work without Google services. However, if the application depends on Google Maps, Push notifications or authorization through a Google account, then installing the GAPPS (Google Apps) version of the emulator will be required. For simple utilities, the Vanilla version is sufficient.