mrkeyoor.com_
Sat 31 Oct 21:50 UTC
Dev Toolsevaluationupdated 26 Oct 2026

Lighthouse review

HarbourMasters Lighthouse is a Banjo-Kazooie PC port that requires a supported game ROM supplied by the player. Its README describes Windows, Linux and macOS setup, Anchor multiplayer, a built-in randomizer, language packs and romhack support. It distributes no copyrighted game assets. Our recorded sandbox run did not establish a working game build.

+9stars / 7d
Verdict

Lighthouse is worth considering if you own a supported Banjo-Kazooie ROM and want its documented desktop settings or mod features. Start with the README's release setup rather than treating our harness timings as installation instructions. Our 10 October 2026 run at c09a1f1 recorded successful install and build-labelled steps in a Python-selected libultraship context, but did not verify native compilation, an installed game or gameplay. Pytest collected no tests in that invocation; it did not demonstrate a broken product. Contributors should use the native build guide and verify the game behavior they change.

We ran it

Lab card: what happened when we ran LighthouseScreenshot of Lighthouse (github.com/HarbourMasters/Lighthouse)
Install✓ · 27s39 packages · 72 MB
Build✓ · 7s
Tests✗ · 9s0 passed · 0 failed of 0 (pytest)
Known vulns0(pip-audit)
Repo2513 files~500,286 lines of source · 21.9 MB · 4 CI workflows · tests dir

Answers from our run

Does Lighthouse build from source?

Dependencies installed in 27 seconds (39 packages), and the build succeeded in 7 seconds. We cloned commit c09a1f1 into a clean Debian container with 3 CPUs and no project-specific setup.

Do Lighthouse's tests pass?

No. The project's own test command finished in 9 seconds and reported 0 passed, 0 failed (pytest).

Does Lighthouse have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use Lighthouse?

Anyone who cannot supply a supported game ROM: the release does not include the game's copyrighted assets.

What are the alternatives to Lighthouse?

Banjo: Recompiled, Mupen64Plus. Lighthouse is worth considering if you own a supported Banjo-Kazooie ROM and want its documented desktop settings or mod features.

Setup3/5The README documents release setup on Windows, Linux and macOS, but requires a supported ROM. Native source builds require additional tooling and asset generation; our run did not verify either complete workflow.
Docs3/5Player and native build instructions exist, and the current README lists modding guides and BK64 fast64 support. We did not execute those guides or verify their completeness.
Community3/5The README offers Lighthouse support channels, and the supplied issues show contributor responses and completed changes. This establishes visible support activity, not adoption scale or response-time guarantees.
Maturity3/5A 1.1.0 release and subsequent issue resolutions are documented. The README warns about incomplete romhack testing, and our run provides no native-build or gameplay verification.

Who it’s for

Banjo-Kazooie owners who can supply a supported ROM and want the desktop port's documented controller and graphics settings.
Players interested in the README's multiplayer, randomizer, language-pack or romhack features, with compatibility checks for their chosen mods.
Contributors prepared to follow the native build instructions, initialize libultraship and generate the required asset archives.

Who it’s NOT for

Anyone who cannot supply a supported game ROM: the release does not include the game's copyrighted assets.
Developers expecting a Python-only installation. The documented application build uses native tools and libraries.
Readers who need verified gameplay, renderer compatibility or a completed native build from this review. Our recorded run establishes none of those outcomes.
Players expecting every supported romhack to have been fully tested. The README explicitly warns otherwise.

Setup reality

In our recorded run on 10 October 2026 at commit c09a1f11041f50c2fd86d8aa60f8ee15a3ca13fd, the harness selected Python tooling in libultraship. Its install step exited successfully after 26.848 seconds, rounded to 27 seconds in the summary; the dependency summary recorded 39 packages and 72 MB. The step labelled build exited successfully after 7.2 seconds, but its stored output tail is empty. These results do not establish dependency-download details, native compilation, an installed executable, ROM extraction or gameplay.

The pytest step exited with code 5 after 8.527 seconds, rounded to 9 seconds. Its output says no tests ran in 0.07s; the parser recorded 0 passed, 0 failed and 0 total. That command supplied no test evidence about Lighthouse's gameplay and does not establish that the project has no tests. Pip-audit recorded an advisory total of 0; audit coverage is unknown, so this is not a security assessment.

For players, the README directs users to download a release, provide a supported ROM in .z64 format and let the application generate bk.o2r. Source builders must separately follow the native build and asset-generation instructions. The current development README also differs from the measured commit's README on romhack base-ROM behavior and modding documentation.

Check your ROM before choosing the port

HarbourMasters Lighthouse requires a supported Banjo-Kazooie ROM; downloading the application does not supply the game. The README lists hashes for US v1.0, US v1.1, Japanese and PAL retail dumps and requires .z64 format. Its setup instructions cover Windows, Linux and macOS and describe generating bk.o2r from the selected ROM.

That is the useful starting point for this review: can you supply a supported dump, and do the documented features suit your intended play? Our sandbox record cannot answer whether the game runs correctly on your machine.

The README describes Anchor multiplayer, a built-in randomizer, controller mappings and an in-app controller mapper. It lists DirectX11 on Windows, OpenGL on all platforms and Metal on macOS. Changing the graphics backend requires a restart. These are documented capabilities, not features we exercised.

What our recorded run establishes

Our stored run took place on 10 October 2026 at commit c09a1f11041f50c2fd86d8aa60f8ee15a3ca13fd, whose recorded commit timestamp is 2026-10-07T17:12:40-04:00. The sandbox configuration recorded 3 CPUs, 8 GB of memory and image ghcr.io/astral-sh/uv:python3.12-bookworm. The install output identifies a Python 3.12.12 environment. Detection selected Python as primary and libultraship as the working subdirectory, while also detecting C++ and CMake.

Recorded step Observation Limit
Install Exit 0 after 26.848 seconds, summarized as 27 seconds; dependency summary of 39 packages and 72 MB The stored tail identifies a Python environment. It does not document a completed native application installation or dependency-download breakdown.
Build-labelled step Exit 0 after 7.2 seconds, summarized as 7 seconds The stored output tail is empty. The record does not establish which native targets, if any, compiled.
Pytest Exit 5 after 8.527 seconds, summarized as 9 seconds; no tests ran in 0.07s The parser recorded 0 passed, 0 failed and 0 total. This invocation supplies no gameplay test result.
Pip-audit Recorded advisory total: 0 Audit coverage is unknown. This does not establish that Lighthouse or its dependencies are secure.

The checkout summary recorded 2,513 files, approximately 500,286 source lines, 21.9 MB, four CI workflows and a tests directory. These are recorded inventory summaries, not evidence of exhaustive test coverage. No new execution or complete-log reconciliation was performed for this correction.

The successful command exits do not establish a compiled Lighthouse executable, an installed-binary check, generated ROM assets, a renderer launch or a measured gameplay workload. The pytest result also cannot establish the absence of a native test suite or a product failure.

Release setup and source builds are different tasks

For players, the README's route is to download a release and select a compatible ROM. Linux users may need to mark the AppImage executable. The application then generates the game archive. Additional regional ROMs can supply language packs: PAL adds UK English, French and German; the Japanese ROM adds Japanese.

For contributors, the build guide requires native tooling. Windows instructions use Visual Studio 2022 and its C++ tools; Linux instructions include a compiler, CMake, Ninja, SDL2 and graphics, audio and archive libraries. macOS instructions require Xcode tools and additional libraries. The libultraship submodule must be initialized.

The guide separates ExtractAssets, which generates bk.o2r from a ROM, from GeneratePortO2R, which generates lighthouse.o2r, and the application compilation step. Our short build-labelled step is not evidence that this sequence completed.

The supplied 1.1.0 release page is labelled Hatteras Alfa. Its notes describe extraction, widescreen, audio and other changes. Those release notes report project changes; they are not our benchmark results, and the supplied evidence does not establish that 1.1.0 is the latest release.

Use current modding guidance, with compatibility checks

The current development README says many patched ROMs can be extracted as mods, while warning that most supported romhacks have not been fully tested. Custom .o2r and .otr packages go in the mods folder.

There is an important distinction between the measured commit and the current development documentation. The README at c09a1f1 says romhacks support only a US v1.0 base. The current README instead explains that romhacks originate from US v1.0 ROMs and contain their changes; unchanged content comes from the selected base. With a US v1.1, PAL or Japanese base, the hack's modified text retains its language while other text follows the base. Match the instructions to the revision you use rather than applying the old restriction to current development code.

The current README now lists guides for textures, animations, dialog, models, audio, language packs and level editing. It also describes fast64 as supporting BK64 models and animations. Issue 538, which originally reported missing model documentation, was closed as completed on 22 October 2026 through PR 626. That supports removing the old blanket claim that model guidance is absent; it does not establish that every modding workflow is complete or tested.

Likewise, issue 542 reported demo desynchronization after restarting in version 1.1.0, but was closed as completed on 30 September 2026 after being linked to PR 597. It is a historical report, not evidence of an unresolved defect in current development code. We did not reproduce or independently verify its resolution.

Choose by workflow, then verify on your machine

Banjo: Recompiled is the closest supplied alternative: its README describes another native Banjo-Kazooie port, built with N64: Recompiled and RT64, with mod support and a North American 1.0 ROM requirement. Mupen64Plus serves a different workflow: its repository supplies an emulator core library, and a complete setup also needs plugins and a front end. Neither alternative was tested in our run, so this review offers no performance or compatibility ranking.

Our ratings use a five-point editorial rubric: 1 means substantial documented obstacles, 2 means limited support with major gaps, 3 means a documented route with important verification limits, 4 requires stronger evidence of a complete supported workflow, and 5 requires broad, directly verified evidence. These are judgments about the supplied evidence, not benchmark scores. Unknown adoption and untested compatibility do not earn extra points.

For players, the next step is to verify the ROM hash and follow the release instructions. For contributors, follow the native build guide, generate the required archives and check the gameplay affected by your change. Our recorded harness run does not replace those checks.

Alternatives

ProjectWhat it isPick it when
Banjo: RecompiledA separate Banjo-Kazooie native port using N64: Recompiled and RT64.Consider it when you want a static-recompilation port with documented mod installation and can supply its required North American 1.0 ROM. Its README describes those capabilities; we did not test them.
Mupen64PlusAn emulator core library that requires plugins and a front end for a complete emulator.Consider it when you want to assemble an emulator setup rather than use this game-specific port, and are prepared to install graphics, sound, input and RSP plugins plus a front end. No Banjo-Kazooie compatibility comparison was measured here.

What people are saying

  1. [github-trending] HarbourMasters/Lighthouse

Sources

  1. Lighthouse README
  2. Lighthouse build instructions
  3. Lighthouse 1.1.0 release
  4. Demo restart desynchronization issue
  5. Model modding documentation issue

More dev tools reviews

cloc · rufus · linux-insides · cat-catch · date-fns · okhttp · the whole board →