Skip to content

Releases

Nixport v1.2.304-alpha

Choose a tag to compare

@zFitness zFitness released this 04 Nov 09:02

Nixport v1.2.304-alpha — a test build for people who want to try it early.

Published by hand: built and signed with the same key as v1.1.299-alpha and
v1.0.267-alpha (upgrades install over them without uninstalling).

Changelog (since v1.1.299-alpha)

Gamepads

  • Single-player pad model (replaces v1.1's player slots): exactly one physical
    pad feeds the game at a time. The pad you touch takes over automatically
    (last-active wins); the session drawer offers "use this pad" to pin a choice for
    the session. The effective pad and the on-screen controls merge into one player.
  • Fix: intermittent directional input. After opening a menu or losing focus,
    sticks / D-pad / triggers now reach the game immediately at their current position —
    no more "only X works in the load screen" or "the first press does nothing".
    The old "stay blocked until centered" gate is gone (keys only).
  • Rumble now always lands on the effective pad (Xbox-protocol pads don't expose
    motors to Android — enable "phone vibration" as the fallback).
  • On-screen stale-state fix: a closed overlay can no longer pin the virtual stick
    over the physical one.

New: gyro aim (native ports)

  • Hold the activator button and aim with the phone's gyroscope; the offset is added
    to the target stick (left or right, configurable).

Frame generation

  • Second FG engine wired up: LSFG, using your own Lossless.dll. Engine switches
    flush the queue first (fixes artifacts on switch). The DD-FG entry is temporarily
    hidden (known defect).

安装 / Install

下载 nixport.apk 安装(ARM64 手机,Android 9+)。已装 v1.1.299-alpha 或
v1.0.267-alpha 的可直接覆盖安装(同签名,数据与已导入程序全部保留)。

Download nixport.apk and install it on an ARM64 phone (Android 9+). Existing
v1.1.299-alpha / v1.0.267-alpha installs upgrade in place (same signature — app
data and imported programs are preserved).

nixport.apk 的 SHA-256 / SHA-256 of nixport.apk:
97c8867f1bac465d562655f2349fffff9c5f610b1a25e84c56c6a26cdfe607fe

大小 / Size: 306,790,932 bytes

nixport.json 与 APK 同目录,携带同样的元数据(提交、构建时间、大小、SHA-256),
应用内更新器读它。/ nixport.json next to the APK carries the same metadata
(commit, build time, size, SHA-256) and is what the in-app updater reads.

Nixport v1.1.299-alpha

Pre-release

Choose a tag to compare

@zFitness zFitness released this 03 Nov 13:21

Nixport v1.1.299-alpha — a test build for people who want to try it early.

The project is still being prepared. This build was published by hand: the
tag points at the current remote main, and the APK is built and signed with
the same machine and key as the local v1.0.267-alpha release (upgrades install
over it without uninstalling).

Changelog (since v1.0.267-alpha)

Gamepads

  • Player slots: Player 1 = on-screen controls + one selected physical pad, merged.
    The in-game drawer (Input tab) now lists every physical pad under "Physical gamepads" —
    set one as Player 1, assign pads to Players 2-4, or unassign them. An explicit choice is
    remembered across sessions.
  • First input wins: with no explicit choice, the first pad that actually produces
    input becomes Player 1. Phantom devices (e.g. HyperOS's uinput-xiaomi) no longer eat
    Player 1 and silence your Bluetooth pad in-game — the main fix of this build.
  • Rumble return path: a game's rumble request travels back over NXP2 v3 and drives the
    pad's own motors (falls back to the phone's motor when the pad has none).
  • Shim status, receiver connections and degradation reasons now reach the diagnostics.

Diagnostics

  • A program's diagnostic export always carries session evidence now:
    session/log.txt (session log tail, including the pad shim's lifecycle lines),
    session/input.txt (export mode, shim status, receiver connections and degradation
    reasons, the pad-to-player table) and session/logcat.txt. A "the game runs but the
    gamepad doesn't" report can now be classified from a single export.

Import & library

  • AppImage payloads in DwarFS format are supported; extraction moved to the guest side
    with a three-level fallback.
  • Clearer failure message for damaged AppImages; hardlink/ownership errors during
    extraction no longer fail the import.
  • Programs can add a home-screen shortcut that opens the current default entry.
  • The file picker supports multiple storage volumes: switch between phone storage,
    SD and TF cards at the top.

UI & the rest

  • Home screen polish; the store directory falls back to the APK-bundled snapshot when
    the cache is missing and the directory source is unreachable.

安装 / Install

下载 nixport.apk 安装(ARM64 手机,Android 9+)。已装 v1.0.267-alpha 或
1.0.296-alpha 的可直接覆盖安装(同签名,数据与已导入的程序全部保留)。

Download nixport.apk and install it on an ARM64 phone (Android 9+). Existing
v1.0.267-alpha / 1.0.296-alpha installs upgrade in place (same signature — app data and
imported programs are preserved).

nixport.apk 的 SHA-256 / SHA-256 of nixport.apk:
11269808ed46c21cc0c2e12457c7d17479ac10158b7c2c691f55d6823f163f6b

大小 / Size: 306,405,812 bytes

nixport.json 与 APK 同目录,携带同样的元数据(提交、构建时间、大小、SHA-256),
应用内更新器读它。/ nixport.json next to the APK carries the same metadata (commit,
build time, size, SHA-256) and is what the in-app updater reads.

Nixport v1.0.267-alpha

Pre-release

Choose a tag to compare

@zFitness zFitness released this 01 Nov 03:37

Nixport v1.0.267-alpha — a test build for people who want to try it early.

The project is still being prepared. The source code is not public yet — it will be open-sourced in NixPort/nixport once the release is ready. What you get here today is the documentation plus a runnable APK.

Install: download nixport.apk from this release and install it on an ARM64 Android phone (Android 9 / API 28 or newer). The APK ships the Linux environment inside it and unpacks it on first run.

If the app is already installed, update from inside the app (Home). Note that this build is signed with a different key than the CI-published ones, so it may require uninstalling the previous build first.

SHA-256 of nixport.apk:
9541187e23d823f1e883ad002c002093791437fc740544e370addbd9c1208817

Size: 281,440,841 bytes

nixport.json next to the APK carries the same metadata (commit, build time, size, SHA-256) and is what the in-app updater reads.