Skip to content

Releases: ashmerra/wehavephones

WeHavePhones 0.0.7

Choose a tag to compare

@ashmerra ashmerra released this 25 Oct 21:50

An alpha release focused on performance, memory, screen fit and controls fixes. Expect bugs.

Install over 0.0.6 to keep your data. Do not uninstall first. Setup → App update can install it for you.

What's new

  • D3D11 on every phone: WoW now runs with D3D11 instead of D3D12. It needs less GPU work per frame, so the phone throttles less. In WoW: Forever on a Galaxy S23+ the frame rate in the world went from about 25 fps to the game's 60 fps cap in long sessions. You can still choose D3D12 in the game's graphics options, but the app switches it back to D3D11 at the next launch.
  • Less GPU memory: The graphics layer now reserves GPU memory in smaller blocks, which left about 180 MB less of it unused in WoW: Forever on a Galaxy S23+. Phones share this memory with apps, so more of it stays available.
  • Resolutions that fit your screen: "Game resolution" in Settings now also offers sizes with the same shape and aspect ratio as your phone's screen, so WoW fills wide and foldable screens without black bars while using less memory than the native size. On a foldable, the inner and cover screens each keep their own choice (#26, #27).
  • Forever Gamepad UI: World of Warcraft: Forever now starts with its Gamepad UI (Alpha) turned on, so you no longer need a controller to switch it on in Options. You can still turn it off there and it stays off.

Fixes

  • Fixed the Virtual Gamepad controls, and copies of them, disappearing a moment after you picked them in Input Controls. A profile you pick there now stays for the rest of the session, also on the container desktop, with a controller connected or with "Disable virtual gamepad" on. Diagnostics now list the controls state and every device the app counts as a game controller (#25).
  • Fixed a Battle.net process from an earlier session staying in memory. One kept about 400 MB across sessions and app updates. Pressing Play now closes it.
  • China region (experimental): Battle.net China sign-in now completes. The NetEase account page opens in a panel over the session instead of Wine's browser, which showed a black page. Links that Battle.net and other programs in the container open use the same panel. Thanks to @csq1993joe for the fix (#24).
  • Fixed importing an addon ZIP failing after the file picker closed. Thanks to @csq1993joe for the fix (#23).

Testing and limitations

  • S23+ with 8 GB RAM: The signed 0.0.7 build installed over 0.0.6 and kept its data. Play went through Battle.net into Classic Era and reached in-world gameplay with ConsolePort and the Virtual Gamepad on screen. Development builds reached character select in Retail and Classic Era with the new resolutions, which filled the screen.
  • The foldable resolution handling was tested by simulating a Fold's inner screen on the S23+, not on a real foldable.
  • China region support remains experimental.
  • Older gameplay results are listed in the device chart.

Install and support

Requires a 64-bit ARM phone, Android 8.0+, game storage, and your own Battle.net account and game license. Download WeHavePhones-0.0.7.apk and follow the setup instructions. Report bugs through Diagnostics → Report a problem.

Unofficial and unaffiliated with Blizzard. Blizzard does not support this setup. Use at your own risk. Sign in inside Battle.net. WeHavePhones never asks for, stores or types your Battle.net credentials.

MIT-licensed, with separate licenses for bundled components. See LICENSE, component notices and the v0.0.7 source. Notices are also available in About.

Checksum

SHA256SUMS is attached with the APK.

SHA-256 (WeHavePhones-0.0.7.apk): d32037004730cfa65f20860a8560854ada66179fcda8e8dc427c223bd3140aec

WeHavePhones 0.0.6

Choose a tag to compare

@ashmerra ashmerra released this 17 Oct 21:48

An alpha release focused on addons and Battle.net fixes. Expect bugs.

Install over 0.0.5 to keep your data. Do not uninstall first. Setup → App update can install it for you.

What's new

  • CurseForge and WowUp: Download and run their Windows apps from Add-ons → Addon apps, with no API key needed. Close WoW first and exit the addon-app session before playing.
  • Redesigned Add-ons screen: Installed, Browse, Addon apps and Settings tabs, compact rows, enable switches and clearer update controls.
  • Seven optional Turnip drivers: Gamesir Rutabaga v3 and six Banner A8xx builds. Experimental, untested with WoW, and downloaded when selected. Automatic defaults are unchanged.
  • Forever detection: Recognizes the Forever Stress Test and correctly labels the Forever beta. Battle.net controls access and availability.

Fixes

  • Fixed window transparency that could hide Battle.net's Security Check page.
  • A greyed-out Battle.net Play button now reports “Play is not available” without repeated launch attempts.
  • Fixed re-enabling disabled addons and update results being lost after rescans.
  • Removed colour codes from addon names and improved source labels and update tracking after another manager replaces an addon.
  • Added a limited Battle.net sign-in diagnostic summary without account details or raw authentication logs.

Testing and limitations

  • S23 with 8 GB RAM: The signed 0.0.6 build passed user testing. Development testing also validated CurseForge guest use and an addon install. Retail reached character select. WowUp installed and detected games, but was sluggish and sometimes lost its session under memory pressure. WowUp addon installs and behaviour on higher-RAM phones remain unverified.
  • S26 Ultra: Battle.net Security Check rendering and sign-in were verified on this build. The account owner completed the remaining steps and reached in-world Classic Era gameplay. Driver version and performance details were not recorded.
  • Addon-app updates and opening them inside an existing Wine session still need device testing.
  • China region support remains experimental. If Battle.net stays blank after sign-in, wait a few minutes, then tap Cancel and retry Play.
  • Older gameplay results are listed in the device chart.

Install and support

Requires a 64-bit ARM phone, Android 8.0+, game storage, and your own Battle.net account and game license. Download WeHavePhones-0.0.6.apk and follow the setup instructions. Report bugs through Diagnostics → Report a problem.

Unofficial and unaffiliated with Blizzard. Blizzard does not support this setup. Use at your own risk. Sign in inside Battle.net. WeHavePhones never asks for, stores or types your Battle.net credentials.

MIT-licensed, with separate licenses for bundled components. See LICENSE, component notices and the v0.0.6 source. Notices are also available in About.

Checksum

SHA256SUMS is attached with the APK.

SHA-256 (WeHavePhones-0.0.6.apk): be1f1ccaefe1ccab95f406303813924742d5028d7aa549a9b1cba3b9a6d2148d

WeHavePhones 0.0.5

Choose a tag to compare

@ashmerra ashmerra released this 15 Oct 18:29

WeHavePhones runs World of Warcraft and Battle.net on Android phones through Wine. It is a Winlator fork with controller support and a built-in addon manager. This is the fifth alpha release, so expect bugs. WeHavePhones is an independent, unofficial project and is not affiliated with Blizzard Entertainment, Inc.

It installs over 0.0.4 and keeps your data. Do not uninstall to update. If you have 0.0.4, Setup → App update can install it for you.

What's new

  • Battle.net starts up to 50% faster: WeHavePhones had a bug in how it passes graphics, shared-memory and sound traffic between Wine and Android. Two parts could mix up each other's work, and a stuck sound worker could keep one CPU core busy. With the fix, Battle.net on a Galaxy S23+ reached its Play button in about 52 seconds instead of about 104 seconds in my side-by-side test.
  • Input Bridge support: If you use the Input Bridge on-screen keyboard app, turn on Settings → Start Input Bridge and WeHavePhones starts its ib.exe for you. Input Bridge is a separate app and is not included. Setup steps: docs/INPUT_BRIDGE.md.
  • Open Battle.net opens on your game: Open Battle.net now lands on the page of the game you selected in the app, without starting it.

Fixes

  • Battle.net "What's New?" pop-up: Play no longer gets stuck behind this pop-up. WeHavePhones now closes it for you before pressing Play, so you do not need Show screen any more.
  • Controller layout edits apply right away: After editing a gamepad profile during a session, the old layout is no longer brought back. Android Back returns straight to the game.
  • Code modification (SMC) setting: The FEX code modification controls in the container settings now take effect. Defaults are unchanged.
  • Less CPU use in the background: A sound worker that lost its connection could keep one CPU core busy for the rest of the session. It now shuts down cleanly. This is part of the Battle.net startup fix above.

Tested on

Phone Chip / GPU Android Classic Era Retail Forever (beta)
Samsung Galaxy S23+ Snapdragon 8 Gen 2 / Adreno 740 16 Playable in world Playable in world (0.0.3) Launches to login screen* (0.0.3)
Google Pixel 8a Tensor G3 / Mali-G715 17 Playable in world Not tested Not tested

* Not tested past the login screen because I don't have beta access.

Classic Era was tested on this release through Play into the game world on both phones. On the S23+, Play reached character select in about 80 seconds. The Pixel 8a was updated from 0.0.4 to this release with the in-app updater. Retail and Forever results are from 0.0.3. Other games and versions have not been tested.

Requirements

A 64-bit ARM phone with Android 8.0 or newer and enough free space for the game. You also need your own Battle.net account and a license for the game. WeHavePhones includes no game files. You install the game yourself through Battle.net.

Install

  1. Download WeHavePhones-0.0.5.apk from the assets below.
  2. Allow your browser or file manager to install unknown apps, then open the APK.
  3. Open WeHavePhones and follow Setup: prepare the container, install Battle.net, sign in, and download your WoW version (or import one you already have).
  4. Press Play.

Known limitations

  • Only two phones have been tested: a Samsung Galaxy S23+ and a Google Pixel 8a. The Adreno 8xx setup and the extra drivers have not been tested on an Adreno 8xx phone by me. The Adreno 840 default comes from a OnePlus 15 user's tests.
  • China region support is experimental and has not been tested past the China Battle.net login page.
  • Battle.net sometimes stays on a blank page after signing in. If nothing appears after a few minutes, tap Cancel and press Play again.
  • Retail has not been tested on the Pixel 8a.
  • Other games and versions have not been tested.
  • Samsung phones: Game Booster only treats WeHavePhones as a game when the app is its own installer of record. A normal install from a browser or file manager does not set that. Installing with adb install -r -i com.wehavephones WeHavePhones-0.0.5.apk does.
  • First-run setup unpacks large files (the system files and Wine), so it takes a while. If Setup says the system files installation started, wait for it to finish, then run setup again. WeHavePhones also asks for storage permission, which it needs to prepare the Battle.net installer.
  • Battle.net may ask you to sign in when you press Play. Tick "Keep me logged in" in its sign-in window so Play can sign in by itself next time.
  • The game starts at 1024x576 to leave memory for WoW. Higher resolutions, up to your screen's native one, look sharper but use more memory. You can change it in Settings.

Updating

This release installs over 0.0.4 and keeps your data. Do not uninstall the app to update it: uninstalling deletes its data, including the game. Setup can install later releases for you, as it has since 0.0.4. Builds you make yourself from source (see "Build from source" in the README) are debug builds. They install as a separate app, "WeHavePhones Dev" (com.wehavephones.dev), next to this release (com.wehavephones), keep their own data and do not install release updates.

Risk

Blizzard does not support running its games through Wine or on Android and can suspend or close accounts at its discretion. Use WeHavePhones at your own risk. WeHavePhones never asks for, stores or types your Battle.net credentials. You sign in inside Battle.net itself.

Reporting bugs

Use Diagnostics > Report a problem in the app, or open an issue at https://github.com/ashmerra/wehavephones/issues using the bug report form. Include your phone model, Android version and WeHavePhones version (shown in the app's About screen).

License and source

The code in this project is MIT-licensed. See LICENSE. Bundled components keep their own licenses, listed with their sources in THIRD_PARTY_NOTICES.md, which is also shown in the app's About screen. The source for this release is the v0.0.5 tag.

Checksum

SHA256SUMS, attached below, lists the same value.

SHA-256 (WeHavePhones-0.0.5.apk): 32b6389edb39e5aeeede97c7d63ea63d38f9e4c7cf32f63eecc52200ff9e2a4d

WeHavePhones 0.0.4

Choose a tag to compare

@ashmerra ashmerra released this 12 Oct 21:39

WeHavePhones runs World of Warcraft and Battle.net on Android phones through Wine. It is a Winlator fork with controller support and a built-in addon manager. This is the fourth alpha release, so expect bugs. WeHavePhones is an independent, unofficial project and is not affiliated with Blizzard Entertainment, Inc.

It installs over 0.0.3 and keeps your data. Do not uninstall to update.

What's new

  • App updates in the app: Setup has an App update section that checks GitHub for new WeHavePhones releases, once a day when the app opens or right away with Check for updates. It shows the release, downloads and checks the APK, then Android asks you to confirm the install. Your games and settings stay in place. This works from 0.0.4 on, so this update itself still needs a manual download.
  • China region (experimental): You can now choose China as the game region. China uses its own Battle.net app, run with NetEase, so WeHavePhones installs Blizzard's China Battle.net and sets the game language to Simplified Chinese. This support is experimental: it has only been tested up to the China Battle.net login page, which needs a NetEase account. Signing in and playing have not been tested.
  • Add a container: Setup has an Add New button. It adds a container with its own region and Battle.net, for example to try the China region, and leaves your existing containers as they are. Switch between them in Setup.
  • Graphics driver on the Play screen: The graphics driver picker moved from Diagnostics to the Play screen, so you can switch drivers right before playing. If the game shows graphical glitches or crashes, try another driver. When you open the list, it marks the driver that Automatic uses.

Fixes

  • Adreno 840 phones (Snapdragon 8 Elite Gen 5): These phones now use the phone's own graphics driver by default, because the other drivers drew graphical glitches in WoW on a OnePlus 15. The other drivers are still in the list if you want to try them.
  • Chinese and Korean text in Battle.net's pages: Battle.net's login and store pages showed Chinese and Korean characters as empty boxes because the fonts were not available to them. They now show correctly. Korean pages have not been tested.

Tested on

Phone Chip / GPU Android Classic Era Retail Forever (beta)
Samsung Galaxy S23+ Snapdragon 8 Gen 2 / Adreno 740 16 Playable in world Playable in world (0.0.3) Launches to login screen* (0.0.3)
Google Pixel 8a Tensor G3 / Mali-G715 17 Playable in world Not tested Not tested

* Not tested past the login screen because I don't have beta access.

Classic Era was tested on this release through Play into the game world. Retail and Forever results are from 0.0.3. Other games and versions have not been tested.

Requirements

A 64-bit ARM phone with Android 8.0 or newer and enough free space for the game. You also need your own Battle.net account and a license for the game. WeHavePhones includes no game files; you install the game yourself through Battle.net.

Install

  1. Download WeHavePhones-0.0.4.apk from the assets below.
  2. Allow your browser or file manager to install unknown apps, then open the APK.
  3. Open WeHavePhones and follow Setup: prepare the container, install Battle.net, sign in, and download your WoW version (or import one you already have).
  4. Press Play.

Known limitations

  • Only two phones have been tested: a Samsung Galaxy S23+ and a Google Pixel 8a. The Adreno 8xx setup and the extra drivers have not been tested on an Adreno 8xx phone by me; the Adreno 840 default comes from a OnePlus 15 user's tests.
  • China region support is experimental and has not been tested past the China Battle.net login page.
  • Battle.net sometimes shows a "What's New?" pop-up over its Play button, and Play then waits on "World of Warcraft is loading." Tap Show screen, close the pop-up, and the launch continues.
  • Retail has not been tested on the Pixel 8a.
  • Other games and versions have not been tested.
  • Samsung phones: Game Booster only treats WeHavePhones as a game when the app is its own installer of record. A normal install from a browser or file manager does not set that. Installing with adb install -r -i com.wehavephones WeHavePhones-0.0.4.apk does.
  • First-run setup unpacks large files (the system files and Wine), so it takes a while. If Setup says the system files installation started, wait for it to finish, then run setup again. WeHavePhones also asks for storage permission, which it needs to prepare the Battle.net installer.
  • Battle.net may ask you to sign in when you press Play. Tick "Keep me logged in" in its sign-in window so Play can sign in by itself next time.
  • The game starts at 1024x576 to leave memory for WoW. Higher resolutions, up to your screen's native one, look sharper but use more memory. You can change it in Settings.

Updating

This release installs over 0.0.3 and keeps your data. Do not uninstall the app to update it: uninstalling deletes its data, including the game. From 0.0.4 on, Setup can install later releases for you. Builds you make yourself from source (see "Build from source" in the README) are debug builds. They install as a separate app, "WeHavePhones Dev" (com.wehavephones.dev), next to this release (com.wehavephones), keep their own data and do not install release updates.

Risk

Blizzard does not support running its games through Wine or on Android and can suspend or close accounts at its discretion. Use WeHavePhones at your own risk. WeHavePhones never asks for, stores or types your Battle.net credentials; you sign in inside Battle.net itself.

Reporting bugs

Use Diagnostics > Report a problem in the app, or open an issue at https://github.com/ashmerra/wehavephones/issues using the bug report form. Include your phone model, Android version and WeHavePhones version (shown in the app's About screen).

License and source

The code in this project is MIT-licensed; see LICENSE. Bundled components keep their own licenses, listed with their sources in THIRD_PARTY_NOTICES.md, which is also shown in the app's About screen. The source for this release is the v0.0.4 tag.

Checksum

SHA256SUMS, attached below, lists the same value.

SHA-256 (WeHavePhones-0.0.4.apk): ac5fdccf5499c2b3c18589104071ede3539a130c5ecd899f1e3db4e22b27c4da

WeHavePhones 0.0.3

Choose a tag to compare

@ashmerra ashmerra released this 12 Oct 07:02

WeHavePhones runs World of Warcraft and Battle.net on Android phones through Wine. It is a Winlator fork with controller support and a built-in addon manager. This is the third alpha release, so expect bugs. WeHavePhones is an independent, unofficial project and is not affiliated with Blizzard Entertainment, Inc.

It installs over 0.0.2 and keeps your data. Do not uninstall to update.

What's new

  • Pick your graphics driver: Diagnostics has a Graphics driver dropdown on Adreno phones. Automatic keeps the driver the device rules choose; any other pick is downloaded and checked right away and used from the next game start. If a picked driver fails to load, the game falls back to Automatic. Adreno 840 phones (Snapdragon 8 Elite Gen 5, such as the OnePlus 15) can choose from 16 drivers and other Adreno 8xx phones from 14: Turnip builds by whitebelyash, StevenMXZ, Mr_Purple_666 and GameHub, plus Qualcomm driver builds v891.7, v863.1, v849 and v842.6. The list comes from the device rules, so it can change without a new release.
  • DirectX 11 on Adreno 8xx: Adreno 8xx phones now run WoW with DirectX 11, the setup of the only reported working WoW run on an Adreno 840. Not yet confirmed to fix the graphics corruption reported on the OnePlus 15.
  • Shorter loads: The shader cache is now on, so shaders compiled once are reused instead of rebuilt on every launch. Loads are shorter and new areas stutter less after the first visit.
  • The device report now says which driver you picked in Diagnostics.

Fixes

  • The graphics API setting now reaches the game: When Battle.net started WoW, it ignored the DirectX version chosen for your phone and kept the one WoW had saved. WeHavePhones now writes it into WoW's settings before every launch.

Tested on

Phone Chip / GPU Android Classic Era Retail Forever (beta)
Samsung Galaxy S23+ Snapdragon 8 Gen 2 / Adreno 740 16 Playable in world Playable in world Launches to login screen*
Google Pixel 8a Tensor G3 / Mali-G715 17 Playable in world Not tested Not tested

* Not tested past the login screen because I don't have beta access.

Other games and versions have not been tested.

Requirements

A 64-bit ARM phone with Android 8.0 or newer and enough free space for the game. You also need your own Battle.net account and a license for the game. WeHavePhones includes no game files; you install the game yourself through Battle.net.

Install

  1. Download WeHavePhones-0.0.3.apk from the assets below.
  2. Allow your browser or file manager to install unknown apps, then open the APK.
  3. Open WeHavePhones and follow Setup: prepare the container, install Battle.net, sign in, and download your WoW version (or import one you already have).
  4. Press Play.

Known limitations

  • Only two phones have been tested: a Samsung Galaxy S23+ and a Google Pixel 8a. The Adreno 8xx setup and the extra drivers have not been tested on an Adreno 8xx phone.
  • Battle.net sometimes shows a "What's New?" pop-up over its Play button, and Play then waits on "World of Warcraft is loading." Tap Show screen, close the pop-up, and the launch continues.
  • Retail has not been tested on the Pixel 8a.
  • Other games and versions have not been tested.
  • Samsung phones: Game Booster only treats WeHavePhones as a game when the app is its own installer of record. A normal install from a browser or file manager does not set that. Installing with adb install -r -i com.wehavephones WeHavePhones-0.0.3.apk does.
  • First-run setup unpacks large files (the system files and Wine), so it takes a while. If Setup says the system files installation started, wait for it to finish, then run setup again. WeHavePhones also asks for storage permission, which it needs to prepare the Battle.net installer.
  • Battle.net may ask you to sign in when you press Play. Tick "Keep me logged in" in its sign-in window so Play can sign in by itself next time.
  • The game starts at 1024x576 to leave memory for WoW. Higher resolutions, up to your screen's native one, look sharper but use more memory. You can change it in Settings.

Updating

This release installs over 0.0.2 and keeps your data. Do not uninstall the app to update it: uninstalling deletes its data, including the game. Builds you make yourself from source (see "Build from source" in the README) are debug builds. They install as a separate app, "WeHavePhones Dev" (com.wehavephones.dev), next to this release (com.wehavephones), and keep their own data.

Risk

Blizzard does not support running its games through Wine or on Android and can suspend or close accounts at its discretion. Use WeHavePhones at your own risk. WeHavePhones never asks for, stores or types your Battle.net credentials; you sign in inside Battle.net itself.

Reporting bugs

Use Diagnostics > Report a problem in the app, or open an issue at https://github.com/ashmerra/wehavephones/issues using the bug report form. Include your phone model, Android version and WeHavePhones version (shown in the app's About screen).

License and source

The code in this project is MIT-licensed; see LICENSE. Bundled components keep their own licenses, listed with their sources in THIRD_PARTY_NOTICES.md, which is also shown in the app's About screen. The source for this release is the v0.0.3 tag.

Checksum

SHA256SUMS, attached below, lists the same value.

SHA-256 (WeHavePhones-0.0.3.apk): b198d0e4ef4c04779c2fafd412e9e837c6721857183256bc13b768cd05ed3957

WeHavePhones 0.0.2

Choose a tag to compare

@ashmerra ashmerra released this 10 Oct 19:07

WeHavePhones runs World of Warcraft and Battle.net on Android phones through Wine. It is a Winlator fork with controller support and a built-in addon manager. This is the second alpha release, so expect bugs. WeHavePhones is an independent, unofficial project and is not affiliated with Blizzard Entertainment, Inc.

It installs over 0.0.1 and keeps your data. Do not uninstall to update.

What's new

  • Import existing WoW files: Setup can copy a Windows World of Warcraft folder from Downloads into your container, so you don't have to download the whole game again. It checks free space and the folder before copying, shows progress, can be cancelled, and never replaces an existing installation. Then use Battle.net's "Locate the game." See Reuse existing WoW game files.
  • Per-phone graphics driver: WeHavePhones now identifies your GPU and picks a graphics driver from per-device rules, testing that it actually works before starting a session. Before, every Adreno phone got the same driver with no fallback.
  • Adreno 830/840 support: Adds a Turnip driver for Adreno 8xx (Snapdragon 8 Elite phones such as the OnePlus 15). Not yet tested on real hardware.
  • Driver updates without a new release: The app checks GitHub for updated device rules at most every 6 hours and only accepts rules signed with the project's key.
  • Easier bug reports: Diagnostics shows a device report, with Check for device updates and Report a problem. Report a problem opens a pre-filled GitHub issue with your phone model, GPU and driver; no account details or serial numbers.

Fixes

  • Classic Anniversary launches again: Play no longer gets stuck checking for updates. WeHavePhones was looking up Anniversary under the wrong Battle.net ID, so it never saw the game as installed and up to date.
  • Old Wine logs are now pruned on launch to the newest ten; verbose sessions could previously fill Downloads with gigabytes of logs.
  • Removed an unneeded GnuTLS library from the runtime, making the APK smaller.

Docs

  • The install steps now say to close Battle.net before pressing Play.

Tested on

Phone Chip / GPU Android Classic Era Retail Forever (beta)
Samsung Galaxy S23+ Snapdragon 8 Gen 2 / Adreno 740 16 Playable in world Playable in world Launches to login screen*
Google Pixel 8a Tensor G3 / Mali-G715 17 Playable in world Not tested Not tested

* Not tested past the login screen because I don't have beta access.

Other games and versions have not been tested.

Requirements

A 64-bit ARM phone with Android 8.0 or newer and enough free space for the game. You also need your own Battle.net account and a license for the game. WeHavePhones includes no game files; you install the game yourself through Battle.net.

Install

  1. Download WeHavePhones-0.0.2.apk from the assets below.
  2. Allow your browser or file manager to install unknown apps, then open the APK.
  3. Open WeHavePhones and follow Setup: prepare the container, install Battle.net, sign in, and download your WoW version (or import one you already have).
  4. Press Play.

Known limitations

  • Only two phones have been tested: a Samsung Galaxy S23+ and a Google Pixel 8a. The Adreno 8xx driver has not been tested on a real phone.
  • Retail has not been tested on the Pixel 8a.
  • Other games and versions have not been tested.
  • Samsung phones: Game Booster only treats WeHavePhones as a game when the app is its own installer of record. A normal install from a browser or file manager does not set that. Installing with adb install -r -i com.wehavephones WeHavePhones-0.0.2.apk does.
  • First-run setup unpacks large files (the system files and Wine), so it takes a while. If Setup says the system files installation started, wait for it to finish, then run setup again. WeHavePhones also asks for storage permission, which it needs to prepare the Battle.net installer.
  • Battle.net may ask you to sign in when you press Play. Tick "Keep me logged in" in its sign-in window so Play can sign in by itself next time.
  • The game starts at 1024x576 to leave memory for WoW. Higher resolutions, up to your screen's native one, look sharper but use more memory. You can change it in Settings.

Updating

This release installs over 0.0.1 and keeps your data. Do not uninstall the app to update it: uninstalling deletes its data, including the game. Builds you make yourself from source (see "Build from source" in the README) are debug builds. They install as a separate app, "WeHavePhones Dev" (com.wehavephones.dev), next to this release (com.wehavephones), and keep their own data.

Risk

Blizzard does not support running its games through Wine or on Android and can suspend or close accounts at its discretion. Use WeHavePhones at your own risk. WeHavePhones never asks for, stores or types your Battle.net credentials; you sign in inside Battle.net itself.

Reporting bugs

Use Diagnostics > Report a problem in the app, or open an issue at https://github.com/ashmerra/wehavephones/issues using the bug report form. Include your phone model, Android version and WeHavePhones version (shown in the app's About screen).

License and source

The code in this project is MIT-licensed; see LICENSE. Bundled components keep their own licenses, listed with their sources in THIRD_PARTY_NOTICES.md, which is also shown in the app's About screen. The source for this release is the v0.0.2 tag.

Checksum

SHA256SUMS, attached below, lists the same value.

SHA-256 (WeHavePhones-0.0.2.apk): 473d640c41511e31bbd56f659b8bc3e4960cc6a5b33ffe3fc8904d4fc18774f7

WeHavePhones 0.0.1

Choose a tag to compare

@ashmerra ashmerra released this 10 Oct 01:29

WeHavePhones runs World of Warcraft and Battle.net on Android phones through Wine. It is a Winlator fork with controller support and a built-in addon manager. This is the first alpha release, so expect bugs. WeHavePhones is an independent, unofficial project and is not affiliated with Blizzard Entertainment, Inc.

Tested on

Phone Chip / GPU Android Classic Era Retail Forever (beta)
Samsung Galaxy S23+ Snapdragon 8 Gen 2 / Adreno 740 16 Playable in world Playable in world Launches to login screen*
Google Pixel 8a Tensor G3 / Mali-G715 17 Playable in world Not tested Not tested

* Not tested past the login screen because I don't have beta access.

Other games and versions have not been tested.

Requirements

A 64-bit ARM phone with Android 8.0 or newer and enough free space for the game. You also need your own Battle.net account and a license for the game. WeHavePhones includes no game files; you install the game yourself through Battle.net.

Install

  1. Download WeHavePhones-0.0.1.apk from the assets below.
  2. Allow your browser or file manager to install unknown apps, then open the APK.
  3. Open WeHavePhones and follow Setup: prepare the container, install Battle.net, sign in, and download your WoW version.
  4. Press Play.

Known limitations

  • Only two phones have been tested: a Samsung Galaxy S23+ and a Google Pixel 8a.
  • Retail has not been tested on the Pixel 8a.
  • Other games and versions have not been tested.
  • Samsung phones: Game Booster only treats WeHavePhones as a game when the app is its own installer of record. A normal install from a browser or file manager does not set that. Installing with adb install -r -i com.wehavephones WeHavePhones-0.0.1.apk does.
  • First-run setup unpacks large files (the system files and Wine), so it takes a while. If Setup says the system files installation started, wait for it to finish, then run setup again. WeHavePhones also asks for storage permission, which it needs to prepare the Battle.net installer.
  • Battle.net may ask you to sign in when you press Play. Tick "Keep me logged in" in its sign-in window so Play can sign in by itself next time.
  • The game starts at 1024x576 to leave memory for WoW. Higher resolutions, up to your screen's native one, look sharper but use more memory. You can change it in Settings.

Updating

Later releases install over this one and keep your data. Do not uninstall the app to update it: uninstalling deletes its data, including the game. Builds you make yourself from source (see "Build from source" in the README) are debug builds. They install as a separate app, "WeHavePhones Dev" (com.wehavephones.dev), next to this release (com.wehavephones), and keep their own data.

Risk

Blizzard does not support running its games through Wine or on Android and can suspend or close accounts at its discretion. Use WeHavePhones at your own risk. WeHavePhones never asks for, stores or types your Battle.net credentials; you sign in inside Battle.net itself.

Reporting bugs

Open an issue at https://github.com/ashmerra/wehavephones/issues using the bug report form. Include your phone model, Android version and WeHavePhones version (shown in the app's About screen).

License and source

The code in this project is MIT-licensed; see LICENSE. Bundled components keep their own licenses, listed with their sources in THIRD_PARTY_NOTICES.md, which is also shown in the app's About screen. The source for this release is the v0.0.1 tag.

Checksum

SHA256SUMS, attached below, lists the same value.

SHA-256 (WeHavePhones-0.0.1.apk): 2bd0b7b502aea8cbdabefdb193ee681ddce89c6c8190db84bcd38af252d9b2d0

Build assets v1

Choose a tag to compare

@ashmerra ashmerra released this 10 Oct 01:23

Prebuilt assets for building WeHavePhones from source. scripts/fetch-large-assets.sh downloads them and verifies the sha256 pinned in scripts/large-assets.json. See docs/BUILD_ASSETS.md.

File Bytes SHA-256 Taken from
imagefs.txz 183231056 f96d362b7e148e86ab0d2c290978bf39b38e5c7ffc8ae4adf1d2a65c62bbb780 FrontMage/winlator-llm release llm-apk-20260216-144633 (winlator-llm debug APK), assets/imagefs.txz
imagefs_patches.tzst 3747004 9bbe8e3b2143e69b2f24dead50b34ad05961d4af54f108cbdc18ae3814f04f57 FrontMage/winlator-llm release imagefs-v1, app/src/main/assets/imagefs_patches.tzst
container_pattern_common.tzst 40450609 d725ac5a22ef60c73a848bef5cd67f73eaab1de71bbf2f6163ff12d5db91a6c4 StevenMXZ/Winlator-Ludashi commit 212447d
dxvk-2.3.1-arm64ec-gplasync.tzst 3934516 3510e1377e1125cd858f5fa02f70511814b9b15c587ecf43f8e79bb3ba1c8b1c FrontMage/winlator-llm release llm-apk-20260216-144633 (winlator-llm debug APK), assets/dxwrapper/dxvk-2.3.1-arm64ec-gplasync.tzst
dxvk-2.4.1.tzst 3987107 721505048985d64db8400744359399ae72543b59f1efca4d1c4c7e75e7334820 FrontMage/winlator-llm release dx-wrapper-v1, app/src/main/assets/dxwrapper/dxvk-2.4.1.tzst
vkd3d-2.12.tzst 3649467 9929ee5a3347c927b6becf635761bf3c47227ad96c3e4048b0ad1573d054bf09 FrontMage/winlator-llm release dx-wrapper-v1, app/src/main/assets/dxwrapper/vkd3d-2.12.tzst
turnip-24.1.0.tzst 3220427 f198c0e02c0608a9d05da02d97af66c6e3c207ffa119c5175c00cf2c6ebb646f FrontMage/winlator-llm release drivers-v1, app/src/main/assets/graphics_driver/turnip-24.1.0.tzst
virgl-23.1.9.tzst 6395804 c42f22641079f678d501ca920a5b2e549add2b34d8d18e1e10f19ddb838eeed0 FrontMage/winlator-llm release drivers-v1, app/src/main/assets/graphics_driver/virgl-23.1.9.tzst
zink-22.2.5.tzst 7129431 8a1de929cda4699d36a27448cd4d8065103475d1238aac03a71e76b72dcb433c FrontMage/winlator-llm release drivers-v1, app/src/main/assets/graphics_driver/zink-22.2.5.tzst
direct3d.tzst 31207067 149d55436e050bfa3fe8caf650cb97ddb2bc9fa99cd96869bd2bc4977b708fb5 FrontMage/winlator-llm release wincomponents-v1, app/src/main/assets/wincomponents/direct3d.tzst