PREFACE
2024 FEE3 dragged Lex Talionis into the spotlight with strong entries like Daughters of Braghedunn and Embrace of the Fog. However, having no way of playing LT games on Android, the audience for LT is quite niche… I myself, admittedly, prefer to play FE games on my phone rather than on a PC.
I woke up this morning and decided to get LT on my phone. I succeeded. This is a user-oriented guide on how to get LT on yours, too.
THE GOAL
What we want to accomplish is one-to-one parity between running LT on Android and Windows. While the devs over on LTCord approach the problem by trying to port LT natively via buildozer
(I jokingly mused over a flet
wrapper because of this), we’ll tackle the problem in a different, less technical way. No programming experience required. I promise.
In this guide, we take the same approach we use to get every FE8 hack on Android. Yes, via emulation in 2024. Some screens below, from different phones. I busted out my old android from 2018 as a test device for this tutorial.
Screens of our endgame
Controllers are supported and is how I like to play.
Looks just like your average GBA emulator.
FPS still goes down whenever loading or saving. But saves work as expected and can be transferred between phones.
Surprisingly, EOTF is playable.
FPS dips to as low as 20 during combat but it’s definitely playable.
Server 72’s config gave me a bit of trouble because the default buttons were switched, but it turned out fine. I was able to remap the controls within the in-game settings after some head-scratching.
Despite being heavy on effects, LTPhone is playable and can achieve 30 frames during intensive cutscenes. I’d say the android I use is entry-level, for reference.
Borderless fullscreen immersive mode is somewhat supported. On a side-note, my avatar’s name is quite musical.
PREP SCREEN
Now that I have your attention, we require the following on your phone:
-
An Android that isn’t from the 90s. This probably won’t work on Apple or on ancient tech.
-
A release of your favorite LT game, preferably in an archive so moving it around isn’t a hassle.
-
A file manager that lets you see and create
.nomedia
files in a folder. -
An installation of
Winrar
. Don’t buy the pro version. Don’t just extract the game yet. -
The latest release of Winlator and/or HorizonEmu. You also need InputBridge if you end up using
HorizonEmu
. If you’re fine withWinlator
, you don’t needInputBridge
. -
The LTPad presets I painstakingly did, so you wouldn’t have to spend an hour setting up on-screen controls on your end. The two files are labelled so you know where to plug them in. You may extract this one anywhere.
CHOOSE YOUR LEGENDS
There are technically three contenders for your emulator of choice. Three ways on how to get LT on your phone. I’ll discuss two, but I won’t be touching the third.
Exhibit #1: Winlator
Pros:
- The most user-friendly and intuitive Windows emulator ever.
- Almost plug and play for LT, with some elbow grease.
- Native virtual keypad and controller support so no need to fiddle with
InputBridge
. - Supports immersive mode and borderless fullscreen. This is how you lose a weekend.
- Playable FPS, stable gameplay. Not the best, but playable for a 2D turn-based SRPG.
- Ease of use is unbeatable.
- Has this in-depth video documentation that goes over every setting.
Cons:
- Load times are long. LTPhone averages at 4-minute load times while EOTF sometimes took 6 minutes. Let’s be optimistic and say that LT takes 3 minutes to load on yours. Now you have time to sip on coffee. This is an inherent flaw with how Winlator approaches emulation,
and nothing can be done on our endbut recent advancements in the workflow have achieved performance gains as high as 500%, cutting load times down to a minute and almost instantly for small games like Myriad Fortunes. - Performance could be better. You’ll have to spend time tweaking your emulator settings to squeeze the best performance out of your device. Outside of you personally trying tweaks out, I cannot help you with this. Unfortunately, I don’t have access to your device.
Exhibit #2: HorizonEmu
Pros:
- Somewhat user-friendly, once you get used to it.
- Blazing fast performance. EOTF takes only up to a minute to load. Frames are more stable and are simply better.
- The nitty-gritty details are abstracted away. You don’t need to wonder what a
MESA-SHADER
or aFASTNAN
is. The default settings offer good enough performance.
Cons:
- Needs significantly more elbow grease with
InputBridge
and finagling to get the interface together. I saved you an hour with my presets and another hour of figuring out a workflow, but there’s still legwork to be done. - Doesn’t support borderless fullscreen or immersive mode. May be a dealbreaker for some.
- Doesn’t support
3:2
aspect ratio. This leads to a cutout around the LT screen. - The optimizations that the Winlator workflow has received may be enough to warrant shelving HorizonEmu.
Exhibit #3: Mobox
No. Just no. I’m not getting paid to guide strangers on the internet through a CLI
. On an Android. Doesn’t matter anyway because I’ve read that HorizonEmu
offers performance on-par or better.
A glimpse of what the Mobox
setup entails. Prepare to dies at six in the morning.
It is advised to read the sections in order, since installation steps can be somewhat similar and what applies to one may also apply to its counterpart.
WINLATOR SETUP
- Install
Winlator
by following the instructions on its page.
- Download and install the APK (Winlator_8.0.apk) from GitHub Releases
- Launch the app and wait for the installation process to finish
- Open it up. Wait for it to finish. For a performance boost, go tweak your settings.
If you are experiencing performance issues, try changing the Box64 preset to
Performance
in Container Settings → Advanced Tab.
-
Go to
Input Controls
and pressImport
. This is where you plug inwinlator_LTPad
. -
You’re halfway through. Go to
Containers
and set one up. Press that+
. You may want to create a dedicated directory for your Windows emulator underDrives
. SetVideo Memory Size
to be just under the amount ofRAM
on your phone.
IMPORTANT: The screen size should be exactly as pictured above. But if you’re on a larger screen and you feel that it’s too small, scale by a factor of 2 until you’re satisfied.
ADDENDUM: See this directory if your chosen game has a custom screen size and other details.
- Extract the LT games you downloaded into drive
E
, in their own separate sub-directories. Create a.nomedia
file at the root folder. My root folder is namedWinlator
. Preferably,Winlator
should be found inInternal Storage
to maximize performance.
- Launch the container you just made. A file explorer will open up. Mouse is simulated by dragging your finger across the screen. If you press your phone’s
Back
button, you’ll see that you can enableInput Controls
. Select LTPad, tickTouchscreen Controls
andRelative Mouse Movement
. If you have a controller, you don’t need the onscreen controls. You’ll have to connect your controller and set it up in theInput Controls
screen. I believe an example is provided with the preset.
IMPORTANT: The controller must be connected before the game is launched, else it won’t be detected.
ADDENDUM: For up to a 400% performance increase, see this post.
-
Go find which letter drive
E
corresponds to (orC
if you did the strongly recommended optimization step). Once you’re there, navigate to the directory of your LT game. Right click on the.exe
or the.bat
. Then create a shortcut. This will be helpful in the future. Launch the game. -
Now, one of two things may happen. The game doesn’t launch after an eternity. In which case, you’ll have to tweak settings until it runs. Or if you’re lucky, the game launches just fine.
-
The LT window may be anchored to the top-left of the screen on first launch. It depends on your device. What you do is right click on the game in the taskbar, then click
Move
. This will allow you to drag the window around and center it on your sick3:2
screen, simulating how LT looks fullscreen on Windows.
IMPORTANT: If the LT window starts in fullscreen but it cuts off, then you’ll have to navigate to the in-game settings using your controls then switch the screen size there, preferably to its smallest. This will let you do #9.
- To enable immersive mode and borderless fullscreen, press your phone’s
Back
button and pressToggle Fullscreen
.
Congrats, you’re done. If you’ve set everything up correctly, you should be able to play the game using the LTPad preset or your controller.
IMPORTANT: Keyboard
should be selected as a setting when binding controls 99% of the time. You’re essentially binding your controls to those keys on the keyboard, letting you trick LT into thinking that you have one.
HORIZON EMU SETUP
- Follow the instructions on its page.
- Go to Releases tab, open latest release, download .apk file and install it, or download Horizon Emu from RuStore
- Open an application called
Horizon Emu
, provide all requset permissions, go toDownload
tab, and click onUpdate all
(and if you are using Horizon Emu v1.0 or older, install Scripts CPU Topology instead of the regular version of Scripts if you need), and in this tab also download Wine version that you want- Open
Containers
tab, click onCreate a new container
, select name for your container, and clickConfirm
To run container click on shortcut named
FileManager
If (and only if) you are encountering Not connected screen when trying to launch container, try to download not-connected-fix’ in the Download` tab
For on-screen controls use application called InputBridge To use it, download and install InputBridge_v0.1.9.9.apk, open an application called
InputBridge
and provide all requested permissions, then pressImport
and select file of your controls profile (in .ibp format). In container, InputBridge will be launched automatically
IMPORTANT: You should select a WINE version in the downloads tab and install that. I use wine-9.13-vanilla
. Your mileage may vary.
- Intuitively, creating a container is pretty much the same. See #4 in Winlator Setup.
These settings give me the best performance. It may be different on your end.
But you’ll want to use these settings under
Settings -> X11 Settings
.
-
Now, install
InputBridge
and open it up. You’ll want to importinputbridge_LTPad
. If you have a controller, now is the time to connect and set it up. Important caveats when setting up controls discussed in the previous section still apply. -
Go back to
HorizonEmu
and launch the container you made. -
The same steps should be taken after the file manager boots up. However, you’ll want to check if a
gear
icon is present on the top right of your screen. If it’s not there, go back toInputBridge
, then go back toHorizon Emu
. It should appear eventually… But don’t just press it yet.
-
Navigate to your game directory. Hover your cursor over the
.exe
or the.bat
. Press thegear
and then your onscreen controls will show up. If not, press theeye
toggle. Pressing the gear transfers your inputs toInputBridge
and lets you use the onscreen controls to interact with the emulator. You’ll need to switch between mouse and onscreen controls to make this happen. Remember the elbow grease? -
Press your
MRB
then create a link. Launch the game. If all goes well, it should boot up fast. -
As with the previous emulator, the LT window may start anchored to the top-left on first launch. You’ll want to follow the same steps to center it on your screen. But this is easier said than done… It took me a while, though the frames were worth it. Good luck.
If you set it up right, you should be able to play this bad boy on your phone.
CLOSING
Phew, that was a long read. But hopefully this tutorial should let people play LT games on Android until a native port arrives. Feel free to share your experience or ask any questions. Though, I can’t promise that I know the answers.