About Features · Files Privacy ← Home Support
Installation Guide

Get It
Running.

Pick your platform below. Windows, Linux, and macOS all ship as ready-to-run apps — no Python needed. Prefer to run from source instead? That's available on every platform too.

Windows setup

01

Download

Most people want the .exe above. The source download is only useful if you want to read or modify the code — run it with pip3 install -r requirements.txt then python3 launcher.py.

Prefer the terminal? In PowerShell: iwr https://gt7trace.netlify.app/gt7telem-windows.zip -OutFile gt7telem-windows.zip for the .exe, or swap in gt7telem-source.zip for the Python source.

iwr https://gt7trace.netlify.app/gt7telem-windows.zip -OutFile gt7telem-windows.zip
Prefer pip? pip install gt7tracetelem installs it as a library too — note the importable module is gt7telem (not gt7tracetelem): import gt7telem, or run gt7telem from the terminal. If you already have an unrelated package that installs a top-level gt7telem module, the two will conflict — check first with pip show gt7telem.
pip install gt7tracetelem
Prefer a package manager? Scoop and Chocolatey work today. A winget submission is still in Microsoft's review queue — it'll show up here once approved.
scoop bucket add gt7telem https://github.com/ransh2014/scoop-gt7telem scoop install gt7telem/gt7telem
choco install gt7telem

Right-click gt7telem-windows.zipExtract All, then double-click TRACE.exe inside the extracted folder.

Windows SmartScreen warning? Click More infoRun anyway. This happens because the .exe isn't code-signed, not because anything's wrong.
02

Pick a Tool

A menu pops up with three tools — Live Dashboard, Lap Analyst, and Race Analyst. Pick one to launch it. (The Track Map isn't a separate menu entry — it's a live panel inside the Live Dashboard.) Re-open TRACE.exe any time to switch tools.

03

Set Your Console IP (Dashboard only)

Make sure GT7 is open and running on your PS4/PS5 first. In the Dashboard, type your console's IP into the field at the top and hit Enter — it's remembered automatically next time you open TRACE.

Finding your IP: On PS4/PS5 → Settings → Network → View Connection Status → IP Address

Linux setup

01

Download

Most people want the binary above. Use the source download if your distro/glibc is too old for the prebuilt binary, or if you just want to read the code.

Prefer the terminal? curl -LO https://gt7trace.netlify.app/gt7telem-linux.zip for the binary, or swap in gt7telem-source.zip for the Python source.

curl -LO https://gt7trace.netlify.app/gt7telem-linux.zip
Prefer pip? pip install gt7tracetelem installs it as a library too — note the importable module is gt7telem (not gt7tracetelem): import gt7telem, or run gt7telem from the terminal. If you already have an unrelated package that installs a top-level gt7telem module, the two will conflict — check first with pip show gt7telem.
pip install gt7tracetelem
02

Unzip and Make Executable

Extract the zip, open a terminal in that folder, and run:

chmod +x TRACE && ./TRACE
Built and tested on Ubuntu (glibc). Should run on most modern distros with a desktop environment. Needs a display — won't run headless.
03

Pick a Tool

A menu pops up with three tools — Live Dashboard, Lap Analyst, and Race Analyst. Pick one to launch it. (The Track Map isn't a separate menu entry — it's a live panel inside the Live Dashboard.) Re-run TRACE any time to switch tools.

04

Set Your Console IP (Dashboard only)

Make sure GT7 is open and running on your PS4/PS5 first. In the Dashboard, type your console's IP into the field at the top and hit Enter — it's remembered automatically next time you open TRACE.

Finding your IP: On PS4/PS5 → Settings → Network → View Connection Status → IP Address

macOS setup

01

Download

Most people want the .app above — built automatically on every release via GitHub Actions, no Python required. The source download is only useful if you want to read or modify the code, or you're on an older Intel Mac.

Prefer the terminal? curl -LO https://gt7trace.netlify.app/gt7telem-macos.zip for the .app, or swap in gt7telem-source.zip for the Python source.

curl -LO https://gt7trace.netlify.app/gt7telem-macos.zip
Prefer pip? pip install gt7tracetelem installs it as a library too — note the importable module is gt7telem (not gt7tracetelem): import gt7telem, or run gt7telem from the terminal. If you already have an unrelated package that installs a top-level gt7telem module, the two will conflict — check first with pip show gt7telem.
pip install gt7tracetelem
Prefer Homebrew?
brew tap ransh2014/gt7telem brew install --cask gt7telem

Unzip, then drag TRACE.app into Applications (or just double-click it from the extracted folder).

"TRACE.app is damaged / can't be opened" warning? That's Gatekeeper blocking an unsigned indie app, not an actual problem. Right-click the app → OpenOpen again in the dialog. If macOS still refuses, run xattr -cr /Applications/TRACE.app in Terminal once.
xattr -cr /Applications/TRACE.app
02

Pick a Tool

A menu pops up with three tools — Live Dashboard, Lap Analyst, and Race Analyst. Pick one to launch it. (The Track Map isn't a separate menu entry — it's a live panel inside the Live Dashboard.) Re-open TRACE.app any time to switch tools.

03

Set Your Console IP (Dashboard only)

Make sure GT7 is open and running on your PS4/PS5 first. In the Dashboard, type your console's IP into the field at the top and hit Enter — it's remembered automatically next time you launch it.

Finding your IP: On PS4/PS5 → Settings → Network → View Connection Status → IP Address

Core protocol by

Bornhall — GT7 UDP Telemetry
The decryption, packet format, and byte structure that make this software possible.
Please go star the original repo.
↗ github.com/Bornhall/gt7telemetry

Car & track database by

ddm999 — gt7info
GT7's telemetry stream only ever hands over a raw numeric car ID — every real car name you see across all four tools (Dashboard, Track Map, Lap Analyst, Race Analyst) is resolved through ddm999's community-maintained gt7info database, covering every car, track, and manufacturer in the game. Tracks don't even get an ID from GT7 at all, so the TRACK dropdown is seeded from the same database's course list. This project just ships a snapshot of it (car_ids.csv and course_ids.csv) and reads from it — the lookup itself, and the work of keeping it current as Polyphony adds new content, is entirely ddm999's.
↗ github.com/ddm999/gt7info

Enjoying TRACE?

Support the Project
TRACE is free and always will be. If it's made your GT7 sessions better and you want to throw a few bucks toward keeping it maintained, a coffee goes a long way.
Support on Ko-fi

This section is for anyone using the "Python Source" download instead of the ready-to-run app — a full walkthrough assuming nothing is set up yet.

1. Open a terminal in the extracted folder

Windows: unzip the download, open the folder in File Explorer, then right-click inside it (on empty space) → Open in Terminal. If that option isn't there, press Win, type cmd, hit Enter, then type cd followed by a space and drag the folder into the window to fill in the path, then press Enter.

macOS: unzip the download, press Cmd + Space, type Terminal, hit Enter. Type cd followed by a space, then drag the unzipped folder into the Terminal window — it'll fill in the path automatically — and press Enter.

Linux: unzip the download, right-click inside the folder in your file manager → Open Terminal Here (wording varies by desktop environment — GNOME/KDE both have some version of this).

2. Check Python is installed (3.10 or newer)

Run this in the terminal you just opened:

# macOS / Linux python3 --version # Windows python --version

If you see a version number 3.10 or higher, skip to step 3. If you get command not found, 'python' is not recognized, or a version below 3.10, install/update Python first:

Windows / macOS: download the installer from python.org/downloads and run it. On Windows, make sure to tick "Add python.exe to PATH" on the first install screen — easy to miss, and without it the python command won't work afterward.
Linux: sudo apt install python3 python3-pip python3-venv python3-tk (Ubuntu/Debian) or the equivalent for your distro.

sudo apt install python3 python3-pip python3-venv python3-tk

Once installed, close and reopen the terminal, then re-run the version check above to confirm it worked.

3. Install the dependencies

# macOS / Linux pip3 install -r requirements.txt # Windows pip install -r requirements.txt

This pulls in numpy, pandas, matplotlib, and pycryptodome — takes a minute or two. If you get pip: command not found, your Python install didn't include pip; reinstalling from python.org (not a system package manager) usually fixes it.

4. Run it

# macOS / Linux python3 launcher.py # Windows python launcher.py

A small menu window should pop up with three tools — Live Dashboard, Lap Analyst, and Race Analyst. Pick one to launch it. (The Track Map is a panel inside the Live Dashboard, not a separate menu entry.)

Common errors

ModuleNotFoundError: No module named 'tkinter' — macOS: your Python didn't include it; reinstall via the official python.org installer, not Homebrew. Linux: run sudo apt install python3-tk.

ModuleNotFoundError: No module named 'numpy' (or pandas/matplotlib) — step 3 didn't finish or errored partway through; re-run the pip install command and read the error output.

Nothing happens when you double-click launcher.py directly — that's expected on most systems; run it through the terminal with the command above instead.

sudo apt install python3-tk

Once it's running, your PS4/PS5 IP is entered once in the Dashboard's IP field and saved automatically from then on — no config file editing needed.

Optional — custom sample rates: The REC RATE dropdown is limited to 10/20/30/60 Hz in the GUI, but if you're running from source you can add your own values by editing RECORD_RATE_OPTIONS = [10, 20, 30, 60] near the top of gt7telem/dashboard.py — any Hz value you add there shows up as a real, working dropdown option next time you launch it. No other config needed.

FAQ

Does this work on PS5?

Yes. The telemetry UDP stream is identical on PS4 and PS5. Just set your PS5's IP in the Dashboard the same way.

Can I change how often samples are recorded?

Yes — there's an optional REC RATE dropdown next to the connection controls in the Live Dashboard (10 / 20 / 30 / 60 Hz). It only affects Record Lap / Record Race; it never invents data between real packets, only thins samples down to whatever rate you pick. Laps and races recorded at different rates still compare correctly against each other in the Lap Analyst and Race Analyst — both go off each sample's actual timestamp, not an assumed fixed interval.

Why is TRACK a dropdown instead of a text box?

GT7's telemetry doesn't report a track ID the way it does a car ID — there's nothing to auto-detect. So instead of leaving it free-typed (and quietly splitting one track's laps across "suzuka" / "Suzuka Circuit" / "suzuka_circuit" depending on how you typed it that session), it's a searchable picker seeded from ddm999's gt7info course database — 120+ real circuit and layout names, reverse layouts and sub-layouts included. You can still type a name that isn't in the list.

GT7 added a new track that's not in the dropdown yet — what do I do?

Run add_track.py from the Python source download — it asks for just the track name (no ID needed, since telemetry doesn't expose one to look up) and adds it to your local course_ids.csv. It'll show up in the dropdown next time you open the Dashboard.

The dashboard says OFFLINE — what do I check?

Two most common causes: the IP entered in the app is wrong, or your PC and PS4/PS5 are on different subnets (e.g. one on 2.4 GHz, one on 5 GHz). Also make sure GT7 is actually in-game, not just sitting on the PS home screen.

Windows says the app is unrecognized / SmartScreen blocked it.

That's expected for an unsigned indie tool — click More info then Run anyway. If your antivirus quarantines it, that's a false positive common with PyInstaller-built apps; you can allowlist the file.

Where are my recorded laps saved?

Depends how you installed it. The standalone .exe / .app / binary builds are portable and create a laps folder right next to the executable. pip installs and the Python source download use ~/TRACE/laps instead, so an upgrade can’t wipe them. Either way the Lap Analyst and Race Analyst read from there automatically. To move it somewhere else, edit LAPS_FOLDER in settings.json and restart — there's no in-app setting for the laps folder.

What's the difference between Lap Analyst and Race Analyst?

Lap Analyst compares two individual laps in detail — 16 chart groups, sector timing, heat maps. Race Analyst compares two full race sessions side by side, with synced replay and CSV/HTML export.

How does the lap leaderboard work?

Load a lap in Lap Analyst, then hit Submit to Leaderboard in the LEADERBOARD sidebar panel. Submitting requires a free account — if you skipped that at first launch, it offers to create one right there (display name only, no email or password). It then asks for the PSN name to show on the row (remembered for next time, editable each submit) and sends your car, track, lap time, and a compact input trace to a shared per-car, per-track leaderboard. The Top-10 panel updates live. Submission is entirely opt-in — nothing goes anywhere unless you press that button. Full breakdown of exactly what's sent on the Privacy page.

Is my leaderboard submission public?

Yes — the leaderboard is public by design, so anyone using TRACE can see the Top-10 for a car/track and download a lap as a ghost. Use a PSN name you're fine having attached to that lap time. Physically-impossible times are rejected automatically, and times beating the record by more than 20% get held for manual review before they publish.

What's the Consensus tab in Lap Analyst?

Press Load Community Line in the LEADERBOARD panel to pull a community-average speed/throttle/brake line, computed from the current top 10 leaderboard laps for your loaded car and track, and overlay it against your own lap on the Consensus chart tab. Needs at least one other public submission for that car+track to show anything.

Is there a native macOS app?

Yes — TRACE.app is built automatically on a GitHub-hosted Apple Silicon runner every release, no physical Mac needed on this end. See the macOS tab above. On an older Intel Mac, use the Python source download instead.

Where does the telemetry protocol come from?

The GT7 UDP telemetry stream was reverse-engineered by the community — specifically Bornhall, whose gt7telemetry repo figured out the Salsa20 decryption key and full packet structure. This project's core data layer is built on that work.

Where do the car and track names come from?

GT7's telemetry only reports a numeric car ID, and no track ID at all. Both the car name lookup and the TRACK dropdown's course list are sourced entirely from ddm999's gt7info community database — see the Features page for exactly which parts of the app that powers.