Phaethon

About Phaethon

A port of the four Jak games built from their own code, checked against the console, and kept faithful by default.

What it is

One runtime under four cores.

Phaethon is a runtime for the Jak games: the kernel, the renderer, the tools and the launcher that every game runs on. It began as a fork of OpenGOAL's runtime and has been rewritten from the kernel up, accuracy first. It does what the PlayStation 2 did, measured against the console, and does it faster.

The games are its cores. Jak and Daxter, Jak II and Jak 3 stand on OpenGOAL's decompilation; Jak X: Combat Racing was decompiled and brought up here. Each is imported from your own disc and runs on the same kernel, so a fix to the kernel reaches all four.

One kernel

The memory arena, the symbol table, the DMA chains and the disc and sound protocols every game shares, kept as retail shaped them.

One renderer

Vulkan alone, every pass checked against approved reference frames before it lands.

Faithful by default

Every game starts retail-faithful; anything that changes what the console did is a toggle, in a preset of its own.

One launcher

Installs the runtime, imports each disc, keeps everything current, and signs you in to your account.

How it is different

Rewritten from the kernel up.

Phaethon began as a fork of OpenGOAL's runtime in September 2026. Since then nearly every layer has been added to or rewritten. Jak X: Combat Racing, which upstream had only as a skeleton, plays from start to finish on Phaethon's own kernel.

Renderer

  • Vulkan in place of OpenGL, which is gone
  • Level of detail and fades as on the disc
  • A frame oracle checks every pass before it lands
  • Ray-traced shadows and remastered lighting
  • DLSS, DLAA, FSR 3.1 and a cutscene upscaler

Kernel and runtime

  • Load waits sleep on a signal instead of spinning a core
  • The disc's VU0 programs translated by a generator, not by hand
  • Textures animated by the disc's own program, across the kernel
  • Retail, remastered and speedrun as presets of one settings layer

Timing

  • Every game ticks at the disc's 60
  • Remastered blends motion at your display's rate
  • The frame limiter is gone

Audio and text

  • SPU2 reverb
  • 5.1 and 7.1 surround
  • One subtitle system for all four games
  • The disc's movie streams decoded natively

Tools

  • A debug window with timing, profiler and capture
  • Crash reports, minidumps and a heap audit at every load
  • The compiler follows the EE's own arithmetic
  • One restructured repository: runtime, compiler, assets

Launcher and services

  • A new launcher, not OpenGOAL's, with signed updates
  • Sign-in, with play time from each session
  • Discord presence from the runtime, Jak X included
  • Phaethon's own icons and user folders
How it is built

Measured, never guessed.

A change lands when the runtime and the console agree, and not before. That rule shapes everything about how the work is done: what counts as evidence, what a review has to show, and what a build has to pass before it reaches a player.

Decompile

The decompiler reads the object code on the disc and writes GOAL source for it. Each file is typed and read against the original until the two say the same thing, and the source is what gets built, so nothing runs that cannot be read.

Compare

A frame oracle holds reference frames from the console's own scenes. Every change that reaches the picture is compared against them before it lands, and a pass that moves a pixel it should not have moved does not land.

Land

Reviewed branches reach the integration line on trains, under one pipeline run and one CI run each. Every runtime change is read through three separate review lenses before it rides. The pipeline's verdict and the CI result travel with the merge.

from the maintainer

I do not accept a TODO without an issue number and a reason the work cannot happen now. "Every frame, because why not?" is not a reason. It is a guess, and in a project whose whole claim is doing what the console did, a guess is a defect. Holds inherited from upstream, the shortcuts and workarounds that kept a game booting, are removed on sight. One too large to remove at once gets an issue and is worked down until it is gone. Nothing stays because it happens to work.

AI in the loop

Held to the same bar as everything else.

AI assistance is how I work, here and in everything else I build, and most of this work is done with it. It goes through the same three steps as everything else: decompile, compare, land. The line in the footer of every page is the short version; this is the long one.

Tuned for years

Where it is fast and where it lies, what it has to be told and what it has to be refused, and how to make it show its evidence instead of its confidence.

An hour, read

No five months by hand on what it does well in an hour, and no hour of its work accepted without reading it.

Stricter than the repository

The repository's standards are the public ones. Mine add every claim traced to an artifact, every fix landed with the test that would have caught it, and nothing shipped on a tool's word.

the use of ai here is not open to debate · questions about how it is done are welcome and answered · contempt for the fact of it, however loud, gets no reply

Who makes it

One maintainer, a small circle.

Phaethon is maintained by one person, with contributors and testers who bring discs, bug reports and fixes. Development happens on the project's own forge, which is private for now.

Source

The source is not released yet. It stays private until the work proves itself, and may be released then.

Bugs

Write what was observed, the evidence, and what was not verified, with the launcher's and the runtime's versions.

report a bug

Community

Testers and players compare notes, share captures and report what a disc did.

The Discord server is on its way.

Contact

For anything that is not a bug report.

hello@playphaethon.com
from the maintainer

I am not a software engineer by trade. I am a mechanical engineer, and Phaethon is a hobby I build in my own time. The trade is why it works: a part is right when it measures right, a tolerance is a number rather than a feeling, and nothing is done until someone else could check it. Phaethon is held to the same standard. Every change is measured against the console before it lands, every claim is traced to something that can be looked at, and nothing ships because it looks finished. That attention to detail is what makes a project like this possible.

Phaethon

Built with AI in the loop. Phaethon uses AI assistance for speed and accuracy, and holds it to the same bar as every other contribution: every change is read, tested and checked against the console before it lands.

develop 539d7618 CI green v0.2.1 Nov 12, 2026

Phaethon is an unofficial fan project. It is not affiliated with, endorsed by or associated with Sony Interactive Entertainment, Naughty Dog or the OpenGOAL project. Jak and Daxter is a trademark of Sony Interactive Entertainment. You need your own copy of each game. Icons from Lucide, ISC; JetBrains Mono under the SIL Open Font License.

Under construction

This site is still being built.

Nothing links to playphaethon.com yet, so you have found it before it is ready. Some of what it says may be wrong, out of date or attributed to the wrong source. Treat it as a work in progress until this notice is gone.