TL;DR: OpenAI ships a Windows MSIX binary. You can unpack it, patch three platform assumptions, and run the actual official app natively on Ubuntu — same binary Windows users get. No Electron wrapper, no web view in a box.
The Problem With Every Other Guide
Search "ChatGPT desktop Ubuntu" and you'll find two things:
- Articles pointing you at
lencx/ChatGPT— a third-party Electron wrapper that loads chatgpt.com in a window. It's not the real app. - Articles pointing you at other wrappers doing the same thing.
These work, but you're getting a community-built shell around a website — not the app itself. The real ChatGPT Desktop (the one in the Windows Store) has features, update hooks, and auth flows that wrapper apps can't replicate cleanly.
This guide unpacks the official binary and runs it on Ubuntu 26.04. Tested on kernel 7.0.0, RTX 5070, NVIDIA 580/CUDA 13.0, both X11 and Wayland via XWayland.
What the Script Actually Does
- Extracts the
x64MSIX from the official.msixbundle - Pulls out the official
app.asar(the real app logic) - Patches three platform assumptions so it boots on Linux:
- Routes the platform chooser through the macOS-style implementation (Linux is close enough)
- Disables macOS-only
setVibrancy()calls - Skips the macOS
ioregdevice ID path
- Stages Linux Electron around the official app resources
- Packages everything as a proper
.deb—chatgpt-desktop-native
You end up with a system package you can install, update, and uninstall like anything else.
Prerequisites
System packages
sudo apt-get install -y dpkg-dev nodejs python3 file
Local Electron tooling
mkdir ~/chatgpt-windows-deb && cd ~/chatgpt-windows-deb
npm install electron @electron/asar --no-save
Get the Official MSIX Bundle
You need the official Windows package from OpenAI. Download OpenAI.ChatGPT-Desktop_<version>.Msixbundle from the Microsoft Store or OpenAI's distribution endpoint and drop it in your working directory.
The repo includes the version current at time of writing as an example payload.
Build
cd ~/chatgpt-windows-deb
git clone https://github.com/johnohhh1/chatgpt_desktop_ubuntu .
npm install electron @electron/asar --no-save
./build-chatgpt-native-deb.sh --exe ./OpenAI.ChatGPT-Desktop_2026.212.2039.0.Msixbundle
Output lands in dist/:
dist/chatgpt-desktop-native_2026.212.2039.0_amd64.deb
Install
sudo apt-get install ./dist/chatgpt-desktop-native_2026.212.2039.0_amd64.deb
Rebuilding without a version bump? Force refresh:
sudo apt-get install --reinstall ./dist/chatgpt-desktop-native_2026.212.2039.0_amd64.deb
Register Auth Callback Handlers
The package installs a helper that registers your desktop session as the handler for the chatgpt: and chatgpt-alt: URL schemes (used for the login flow):
chatgpt-desktop-native-register
Verify it took:
xdg-mime query default x-scheme-handler/chatgpt
xdg-mime query default x-scheme-handler/chatgpt-alt
Both should return chatgpt-desktop-native.desktop.
Launch
chatgpt-desktop-native
The desktop entry sets the WM class to electron so GNOME binds the running window to the ChatGPT icon instead of the generic gear icon.
Known Quirks
- The terminal will print Electron/NVIDIA/VA-API noise. This is normal — ignore it.
- The success signal is functional login and working chat, not a clean terminal.
- If GNOME still shows the generic icon after first launch: close the app fully and relaunch once. Stubborn shell? Log out and back in.
- If OpenAI updates the Windows app significantly, the patch targets in
build-chatgpt-native-deb.shmay need updating. PR welcome.
Reproducing on Another Machine
- Clone the repo to the target machine
- Drop a real ChatGPT
.msix,.msixbundle,.appx, or.appxbundlein the directory npm install electron @electron/asar --no-save./build-chatgpt-native-deb.sh --exe <your-payload>- Install the generated
.deb - Run
chatgpt-desktop-native-register - Launch
chatgpt-desktop-native
Repo
github.com/johnohhh1/chatgpt_desktop_ubuntu
Issues and PRs open. If a new MSIX version breaks the patches, open an issue with the version string and I'll update the patch targets.
Tested on Ubuntu 26.04 "Noble" with kernel 7.0.0-10, RTX 5070, NVIDIA driver 580, CUDA 13.0.
Top comments (0)