While I like to consider my old Nord 2 to be rather decent in terms of specs, making it run a heavy game seems to be the end of its abilities. As always, trying to tinker with my laptop in the hopes that I will find a solution is always the way to go.
Emulating Android on a Linux machine seems a logical choice considering the ‘similarities’.
I am running CachyOS, and I will structure this guide accordingly. It should work with all Linux systems, with the only difference that might arise being in the commands being run for installation considering differing package managers. I use yay, you may adapt for the package manager of your choice.
Install and Init
Install waydroid using your favorite package manager.
yay -S waydroidInitialise Waydriod, but ensure to use the GAPPS version since we will need Google Play support.
waydroid init -s GAPPSYou will have to enable the systemd service for waydroid.
sudo systemctl enable waydroid-container.servicesudo systemctl start waydroid-container.serviceNetwork
Check if you can access internet before trying this step, if you can access the internet, skip to the next section. If you cannot access the internet, follow along.
To ensure waydroid can access the internet, DNS traffic and packet forwarding will have to be enabled in the kernel. You may have to run these commands as sudo.
ufw allow 67ufw allow 53ufw default allow FORWARDARM apps
Since Kingshot(or any other game of your choice) on Android would be deployed with ARMv8 in mind, getting them to run on an x86 processor will require a translation layer.
yay -S waydroid-script-gitSince I have an AMD CPU, I installed libndk. If you have an Intel CPU, you may wish to install libhoudini. However, try switching between the layers if one doesn’t work or if you run into performance issues.
waydroid-extras install libndkSpoofing
Once you open playstore, searching for kingshot gives you the following error: this app won't work for your device. A quick workaround to that is to spoof your device to register as a device which is supported.
Edit the file /var/lib/waydroid/waydroid.cfg and /var/lib/waydroid/waydroid_base.prop, adding the following lines at the end of the file. Ensure that for waydroid.cfg, the file is added under the [properties] header.
ro.product.brand=googlero.product.manufacturer=Googlero.system.build.product=redfinro.product.name=redfinro.product.device=redfinro.product.model=Pixel 5ro.system.build.flavor=redfin-userro.build.fingerprint=google/redfin/redfin:11/RQ3A.211001.001/eng.electr.20230318.111310:user/release-keysro.system.build.description=redfin-user 11 RQ3A.211001.001 eng.electr.20230318.111310 release-keysro.bootimage.build.fingerprint=google/redfin/redfin:11/RQ3A.211001.001/eng.electr.20230318.111310:user/release-keysro.build.display.id=google/redfin/redfin:11/RQ3A.211001.001/eng.electr.20230318.111310:user/release-keysro.build.tags=release-keysro.build.description=redfin-user 11 RQ3A.211001.001 eng.electr.20230318.111310 release-keysro.vendor.build.fingerprint=google/redfin/redfin:11/RQ3A.211001.001/eng.electr.20230318.111310:user/release-keysro.vendor.build.id=RQ3A.211001.001ro.vendor.build.tags=release-keysro.vendor.build.type=userro.odm.build.tags=release-keysSave the files and upgrade waydroid to apply the configuration.
waydroid upgrade --offlineBeyond
You should be able to run your game of choice. In case you are still not able to, you may try applying a config file to the following location: ~/.local/share/waydroid/data/vendor/drirc.d/. Download the config file here and move it to the given directory.
Apply the following changes to the file:
<application name="Kingshot" executable="com.run.tower.defense"> <option name="ignore_discard_framebuffer" value="true" /> <option name="force_gl_renderer" value="Mali-G710 MP10"/> <option name="force_gl_vendor" value="ARM"/> </application>Change the name and executable depending on the game you wish to run. The above guide should work for most games.
I used the following sources for this guide. In case something breaks, you may check these: the Arch wiki1 and Yogsottot’s Waydroid stuff repo2.