Run AlecaFrame (the Overwolf-based Warframe companion app) next to Warframe on Linux, with the same behaviour and the same user-level permissions it has on Windows. Tested on Nobara 44 / KDE Plasma (Wayland), umu-launcher 1.4.4, UMU-Proton 10.0-4, Overwolf 0.311, AlecaFrame 2.6.95, AMD RADV, 2026-10.
This is an unofficial community setup, not affiliated with or endorsed by Overwolf, AlecaFrame or Digital Extremes. Overwolf does not support Linux, AlecaFrame's developers do not support this setup (don't report issues there), and Digital Extremes' policy for all third-party software is "at your own risk". Read the policy section before using a main account.
alecaframe warframestarts Warframe's standalone launcher in its own Proton prefix and brings up Overwolf + AlecaFrame inside the same container; press Play, log in, and AlecaFrame's desktop window populates from the live game: inventory, the relic planner, mastery, market, and the rivens you own.- What does not work is anything Overwolf draws inside the game or reads from a screenshot, because DXVK has no cross-process shared D3D11 textures: the Ctrl+Tab overlay, the relic-reward reader that OCRs the mission reward screen, and the riven side panel / live price-check all render black or fail to capture. These are a real loss (the relic and riven overlays are among AlecaFrame's biggest draws). For live reward/riven recognition on Linux, a native tool such as TennoScope or a Wine build of a riven/relic analyzer is the route; AlecaFrame here gives you the window-based views instead.
- A watchdog handles Overwolf's Wine quirks for you: the events provider missing the game (it idles out ~20 s after start), and the overlay process grabbing keyboard/mouse. The overlay is killed to free your input, but only after the inventory has been captured (a large account's inventory takes longer to scan than the overlay survives otherwise; killing it early makes Overwolf drop the game before the data is read).
Overwolf 0.311's browser subprocess host is a .NET executable Wine's loader refuses to start (it jumps to a
zero entry point). Overwolf verifies its own files so the fix has to be in Wine: a 39-line loader patch
that mirrors what Windows does. The installer makes a private copy of UMU-Proton-10.0-4 named
UMU-Proton-10.0-4-netfix with the patched 64-bit ntdll.dll; your other Proton versions are untouched.
Details, repro and build script: wine-patch/. The patch is being submitted
upstream (docs/wine-bug-report.md); once it lands, this copy becomes unnecessary.
- umu-launcher (
umu-run),curl,python3,bsdtar/unzip/7z. Optional:xdotool+wmctrl(overlay window containment), KDE Plasma 6 for the window rules. - Warframe: either your existing Steam install (the installer makes a reflink copy, instant and
space-free on btrfs/XFS, a full ~55 GB copy elsewhere) or
--standaloneto let DE's launcher download it. - A Warframe account. Nothing here logs in for you: the launcher shows DE's EULA and the game shows the login screen; you type your own credentials, in-game.
kernel.yama.ptrace_scope = 0. Overwolf reads the game's memory withReadProcessMemory; Wine's wineserver performs that through ptrace between sibling processes. Fedora/Nobara ship 0 (viaelfutils-default-yama-scope), so nothing changes there. Ubuntu and Arch ship 1: the installer tells you and leaves the decision to you (sudo sysctl kernel.yama.ptrace_scope=0, persisted in/etc/sysctl.d/). Note that this lowers a system-wide hardening knob: any process of your user can then read another's memory.- ~3.5 GB for the prefix (.NET 4.8, WebView2, Overwolf) plus the game copy.
git clone https://github.com/LordTalis/alecaframe-linux && cd alecaframe-linux
./install.sh --steam-game ~/.local/share/Steam/steamapps/common/Warframe # or --standalone
The installer is resumable (re-run it after a failure; finished steps are skipped). It downloads
UMU-Proton-10.0-4 (490 MB, checksum-verified), WebView2, Overwolf's full offline installer and .NET 4.8 from
their official sources. Overwolf's windows open briefly when AlecaFrame is installed through Overwolf's own
-installapp. Expect 10-20 minutes, most of it the .NET installer.
Daily use:
alecaframe warframe # launcher + Overwolf + AlecaFrame; wait for READY (tail -f ~/.config/alecaframe-linux/logs/autostart.log)
# then press Play (soon after READY) and log in in-game
alecaframe check-data # "LOADED" = Overwolf's scanner is reading the game
alecaframe status | logs | stop
alecaframe reattach # scanner never attached: restart Overwolf+AlecaFrame under the running game (re-patches OOPO first)
alecaframe unfreeze # controls frozen: kill the overlay process (data keeps flowing)
alecaframe doctor # checks prerequisites and the install
alecaframe install-launcher # add a "Warframe + AlecaFrame" entry to your app menu (one-click; notifies when to press Play)
NO_ALECA=1 alecaframe warframe # game only
Warframe runs through umu-launcher + Proton inside Valve's pressure-vessel container. alecaframe prepare
re-enters that container (UMU_CONTAINER_NSENTER=1) and starts OverwolfLauncher.exe -launchapp <AlecaFrame>
so Overwolf shares the game's Wine session. Overwolf injects its overlay (needed once: its first rendered frame
is how Overwolf detects the renderer under DXVK, which is what loads its game-events plugin
gep_warframeext.dll), the plugin opens Warframe.x64.exe read-only and finds the inventory JSON the game
already synced from DE's servers, and hands it to AlecaFrame. Before each launch the tool re-applies the
Overwolf-local config this needs: <OOPO>True</OOPO> for Warframe in Overwolf's GamesList*.xml, the
per-game overlay enabled, AlecaFrame's MainWindow set to a normal (clickable) window, and AlecaFrame's data
cache present so its .NET plugin does not hang on startup. No game file is modified.
| Windows | this setup | |
|---|---|---|
| Inventory data | Overwolf GEP opens Warframe.x64.exe with PROCESS_VM_READ and scans memory |
identical calls, same Wine session |
| Kernel side | NtReadVirtualMemory |
wineserver reads /proc/<pid>/mem of a same-user process (ptrace) |
| Overlay | injected into the game | same; the visible overlay is black under DXVK |
| Privileges | normal user | normal user: no sudo at runtime, no sysctl change on Fedora-family, no capabilities, no kernel modules |
| Game files | unmodified | unmodified (verified by diffing against the Steam install) |
Two things differ from a stock Windows install, both inside Overwolf's own configuration rather than the game: Overwolf runs its overlay for Warframe in its out-of-process mode (a mode Overwolf uses for other games), and the overlay process is killed after the scanner attaches, which is less interaction with the game, not more.
DE's "Third-Party Software and You" (Aug 2022) publishes no list of permitted software: "If you use external software in conjunction with Warframe, then you do so at your own risk." Bans are for "altering game files, cheating and/or exploiting." DE describes its Overwolf involvement as conversations ensuring the EULA/ToS are not breached. The EULA prohibits unauthorized programs that intercept or redirect communication, hacks, bots, trainers, automation and altering game files; it says nothing about Linux. DE has said Linux is neither forbidden nor supported, and DE's own launcher has a "WINE detected" code path.
So the risk here is the same grey-zone risk every AlecaFrame user on Windows accepts, with nothing added. If you want no memory reading at all, use TennoScope instead.
- In-game overlays and screenshot features do not work (DXVK, no cross-process shared textures): the Ctrl+Tab overlay, the relic-reward reader (OCRs the reward screen), and the riven side panel / price-check. Everything memory-based works in AlecaFrame's desktop window; for live reward/riven OCR use a native tool.
- Large inventories: the overlay must stay alive until the inventory is captured, or Overwolf drops the game before the scan finishes. The tool handles this (it kills the overlay only after the data is cached), so the first capture after login can take up to a minute during which a brief input grab is possible.
- Press Play soon after READY. If the scanner misses the game, the watchdog re-attaches once (about a minute
in) and gives up after 5 minutes without data (
GIVEUP_AFTER): overlay stopped, game left alone, desktop notification. It never re-injects more than once per run. - Overwolf refreshes its games list from its CDN every week or two, and the fresh copy drops the
<OOPO>True</OOPO>patch.preparere-patches the newest list after Overwolf has started (restarting Overwolf once, before READY) and every re-attach patches it again. If a run still starts without OOPO (alecaframe doctorandcheck-datasay so), the watchdog stops Overwolf instead of re-attaching: without OOPO the overlay runs inside the game (stutter, frozen controls), and a second injection into that game crashed it in testing (2026-10-18). Quit the game and start again withalecaframe warframe. - Dragging AlecaFrame's window may make it jump (Overwolf native drag under Wine).
- Only the 64-bit
ntdll.dllis patched. The prebuilt DLL matches UMU-Proton-10.0-4 exactly. --standalone(DE's installer instead of a Steam copy) and the Steam-prefix mode of the tool are implemented but less tested than the Steam-copy route.
2026-10-10, Nobara 44 / KDE 6 / RX 9070 XT (RADV): install.sh --steam-game ... --yes on a fresh directory ran
all nine steps unattended (Proton pin + patched DLL, reflink copy, prefix, WebView2 155, Overwolf 0.311.0.6
installed silently with /S, .NET 4.8 via the win7 dance, AlecaFrame 2.6.95 via -installapp, registry,
tool). alecaframe warframe on that install brought the launcher to DE's EULA and reported READY with
Overwolf + AlecaFrame injected. repro/make-repro.sh in the same prefix: stock UMU-Proton-10.0-4 crashes at
0x140000000, the patched copy prints hello. On a second machine-local install (same pipeline) a dummy
account logged in and AlecaFrame received the inventory from the memory scanner.
Same day, evening: a full main account (large inventory) logged in and AlecaFrame captured and cached the
inventory (2.24 MB) in its desktop window, after the overlay-kill was gated on the inventory actually being
captured. Before that gate, the watchdog killed the overlay seconds after attach and Overwolf dropped the game
before the big inventory finished scanning, so nothing populated; the fix holds the overlay alive until the
first New inventory data, then kills it to free input. The in-game relic-reward overlay and riven side panel
were confirmed non-functional under DXVK (overlay renders null; the screenshot OCR path errors), as expected.
2026-10-18: Overwolf replaced its games list (8963668 -> 8963674) right after starting, dropping the OOPO
patch. The provider saw oopOverlay:false, the overlay ran inside the game (about 72 Wine stub aborts per second,
stutter, frozen controls) and the old watchdog's second re-attach killed the game (exit 0xC0000409). With the
re-patch-after-fetch gate and the one-re-attach watchdog, the next run logged is oop overlay true, loaded the
plugin, captured the inventory in under a minute, had zero stub aborts and survived 10+ minutes. Overwolf's own
"Time for a break" self-restart (Overwolf.exe above about 900 MB) still fires sometimes; it re-injects the out-of-process
overlay, and the game has survived that every time so far.
Scripts and docs: MIT (see LICENSE). wine-patch/ and prebuilt/: LGPL-2.1-or-later (Wine).
The approach, the OOPO/overlay findings and parts of the tool derive from Deftera186's guides; see
CREDITS.md. Overwolf, AlecaFrame and Warframe are trademarks of their owners; none of their
software is redistributed here.