Skip to content

PS5_MihawkOS-v3.0.0-alpha-3

Pre-release
Pre-release

Choose a tag to compare

@mihawk-99 mihawk-99 released this 20 Oct 20:16

MihawkOS v3.0.0-alpha-3

Windows programs on a PlayStation 5, started from a desktop of their own. MihawkOS is a homebrew title for consoles
that already run homebrew: a Wine runtime underneath (DXVK and VKD3D-Proton for Direct3D, Mesa's Zink for OpenGL) and
Mihawk OS on top, a Windows 11-style desktop with a taskbar, Start, File Explorer and a web browser.

This is the third alpha. It fixes the two problems alpha-2 brought to the PS5 Pro, gives players a way to collect
logs without a PC, and names the Windows user Mihawk. It is still experimental.

What changed since alpha-2

  • The PS5 Pro is back to its own limits. alpha-2 read the firmware version the console reports to programs, which
    the homebrew enabler changes (the tested 10.01 Pro reports 12.09). MihawkOS now reads the installed firmware. On the
    Pro, the memory guard is back to its 870 MiB limit, and a Windows program can reserve about 917 GiB of address space
    again (alpha-2: about 31 GiB).
  • Address space on a standard PS5. On firmware 13.40 a Windows program can now reserve about 917 GiB of address
    space, the same as on the Pro (alpha-2: about 31 GiB). When the console refuses part of a large reservation, MihawkOS
    finds the areas the console keeps for itself in that range and steps around them.
  • MihawkBrowser starts again. alpha-2's address-space change could stop it from starting: when the console refused
    part of a large reservation, Wine stopped looking for room instead of trying the next area, and the browser's
    start-up reservation failed. A build carrying alpha-2's search code failed to start it on both consoles. Other
    programs that reserve a lot of address space at once could fail the same way. Fixed, and the test battery now checks
    its launches for that error.
  • Settings, Logging. With Logging on, each session leaves a dated folder,
    /data/ps5proton/logs/detailed/<date-time>/: every log a bug report needs, more detailed Windows logs, and the
    console's kernel log when klogsrv is loaded. No PC is needed to collect them. Its README.txt says what to zip and
    post. MihawkOS keeps the 5 newest folders (at most 480 MiB in all). The cost: in a 30-second desktop session the helpers'
    logs grew 52% (245 KB to 372 KB), mostly one-time start-up lines; a game with Logging on was not measured.
  • The Windows user is Mihawk, no longer Proton's steamuser. An existing prefix moves once, on its next start:
    C:\users\steamuser becomes C:\users\Mihawk, the registry's text paths follow, and the old path still works for
    programs that saved it (in a file, or in a registry value stored as hex). A prefix set back to alpha-2's layout moved the same way in the tests.
  • No stray File Explorer button. An idle desktop showed File Explorer as running. The desktop's own folder view was
    counted as a program window. The taskbar now counts only real top-level windows.
  • For contributors: CONTRIBUTING.md, a pull request checklist, a contributor skill for AI agents, and a
    bug-report guide (docs/REPORTING_BUGS.md).

What was shown on the console

On one build, the full console test battery, now 96 cases (new: the browser and Logging):

  • Standard PS5, firmware 13.40: 96 of 96 (alpha3-base-01, 36 minutes, 43 Wine sessions). A program reserved
    917 GiB of address space, and MihawkBrowser loaded about:blank (its whole start-up, no network).
  • PS5 Pro, firmware 10.01: 96 of 96 (alpha3-pro-01), with the same two results.
  • On both, no launch the check reads logged the search error behind alpha-2's browser failure (two cases' inner
    sessions are not read yet), and each console's own desktop prefix moved to the user Mihawk during the run.
  • Logging: in both runs a 30-second desktop session with Logging on closed cleanly and left a folder with no address in
    any file: 481 KB on the standard PS5, 1.8 MB on the Pro (1.1 MB of it the access daemon's log).

The published build changes only the version in the desktop's corner note after these runs.

Earlier, on development builds of these changes:

  • The user move: on a standard PS5, a new prefix has the user Mihawk (16 of 16 checks). A test prefix set back to
    alpha-2's layout, with a save planted in it, moved, and the save was found through both the new and the old path
    (10 of 10, profile-move-base-02). The first try failed the old-path check (9 of 10), which led to the fix.
  • The taskbar: an idle desktop with no File Explorer button, and File Explorer's button lights when it opens
    (taskbar-pill-01, standard PS5, 60 Hz).
  • Logging: two pairs of sessions with Logging off and on. In the first pair, the Logging-off session, the first on a
    newly deployed runtime, did not close on request: the title ended 6 helpers after the stop. The cause is open, and
    the battery has no session in that position. Every other session of both pairs closed cleanly. Both pairs' folder
    checks failed on the example address in README.txt; that example is now a placeholder, and the battery's check
    passed.

Not shown on the console: a new install or the update from alpha-2 through the USB pieces (the test runs installed
from a PC); the taskbar fix on the PS5 Pro and on the release build (shown on a development build on a standard PS5);
the keyboard replug on a standard PS5; a web page load in MihawkBrowser on a standard PS5; a game at 120 Hz with Logging
on; Logging without klogsrv, or after a crash; Logging's 5-folder and 480 MiB limits (host tests only); Explorer and
Start drawing the name Mihawk on screen (checked through the same Windows call, not by eye).

Requirements, install and update

As for alpha-2. Updating from alpha-2: replace the PPSA99170 folder, install the runtime again from the new USB
pieces, then restart the PS5 and load your payloads before you open MihawkOS.

On the first start after the update, the desktop's prefix moves to the user Mihawk. That takes a moment and happens
once.

Known issues

  • Pipe memory on a standard PS5: during the 36-minute test battery the console logged its pipe-memory warning
    352 times over 43 Wine sessions, and every case passed; the console then needed a full restart before further use.
    The shortage builds up with the number of programs started since the PS5 last restarted, not with how long you play.
    When it runs out, "A program could not start … Restart the PS5" can appear; a full restart clears it.
  • USB keyboard replug on firmware 13.40: fixed on a PS5 Pro, not yet tested on 13.40.
  • The user move follows the exact old path C:\users\steamuser; a program that saved the path with other
    capitals (C:\Users\SteamUser) may not find it.
  • A first session cut off part-way (a hang, a power cut) can leave the desktop's prefix half made; nothing repairs
    it yet. Copy your C:\Games folder out, rename /data/ps5proton/prefixes/mihawk aside and open Mihawk OS again.
  • Old 32-bit installers that load only at 0x400000: as in alpha-2.
  • Other homebrew may not start after MihawkOS closes (stock ShadowMountPlus 1.7beta4): restart the PS5.
  • No controller in a game started in a brand-new prefix's first session: end the session and start the game again.
  • A console hang is possible. Wait at least 3 minutes before cutting power. Never use rest mode.
  • A black screen in a game: turn Game Mode off in Settings and relaunch.
  • Logging's kernel log can carry your console's local IDs (deviceId and userId lines). Delete those lines before
    you post the folder; the next release masks them.
  • Not supported: kernel drivers and anti-cheat, rumble, moving the desktop focus with the D-pad.

Corrections to the commit message

The release commit's message cannot be changed. Read it with these corrections:

  • "reserves about 917 GiB on both tested consoles again": again is true for the PS5 Pro only. On the standard PS5
    this is the first time; earlier builds reserved at most about 31 GiB there.
  • "The test battery now checks its launches for that error": except the inner sessions of two cases (detailed-logs
    and games-autodetect), whose helper logs it does not read yet.
  • Its "Not shown on the console" list is shorter than the one above; the list above is the complete one.

Licences and source

MihawkOS is free software under the GNU General Public License v3.0 or later. Each component keeps its own licence;
the full list, with every pin, is NOTICE.md. Every licence text ships with the binaries.

Where the source is. The complete corresponding source of this release is the PS5_MihawkOS repository at tag
v3.0.0-alpha-3, commit 89fe9ec62537f9ab99300d18d85ef5e9d7dca766, the exact tree this release was built from. It holds this project's code, every
patch MihawkOS applies to an upstream project, and the build scripts, which pin every other input by revision or
SHA-256. No new upstream input since alpha-2.

Legal

MihawkOS is an independent hobby project. It is not affiliated with, sponsored by or endorsed by Sony Interactive
Entertainment, Microsoft, Valve or any game publisher. PlayStation, PS5 and DualSense are trademarks of Sony
Interactive Entertainment Inc.; Windows is a trademark of Microsoft Corporation; Proton is a trademark of Valve
Corporation. This release contains no game files, saves, keys, firmware or exploits. You are responsible for having
the right to the programs you run, and for whether modifying your console is lawful where you live (LEGAL.md).