This folder contains the working local build path that repackages the official
Windows ChatGPT MSIX into a native Linux Electron .deb.
This is the path that worked on this machine. The older Wine wrapper script is still here for reference, but the native script is the one to use.
build-chatgpt-native-deb.sh- main build script
OpenAI.ChatGPT-Desktop_2026.212.2039.0.Msixbundle- example input payload
dist/chatgpt-desktop-native_<version>_amd64.deb- output package
- extracts the
x64MSIX from the bundle - extracts the official
app.asar - patches a few Windows/macOS assumptions so the app can boot on Linux
- stages Linux Electron around the official app resources
- packages everything as
chatgpt-desktop-native
- routes the platform chooser through the macOS-style implementation on Linux
- disables macOS-only
setVibrancy(...)calls on Linux - avoids the macOS
ioregdevice ID path on Linux - carries over the official
assets/directory expected by the app - declares
chatgpt:andchatgpt-alt:URL handlers in the desktop file - sets the desktop entry WM class to
electronso GNOME binds the running window to the ChatGPT icon instead of the generic gear
The build expects local Electron tooling in this folder:
cd ~/chatgpt-windows-deb
npm install electron @electron/asar --no-saveSystem tools used by the script:
sudo apt-get install -y dpkg-dev nodejs python3 filecd ~/chatgpt-windows-deb
./build-chatgpt-native-deb.sh --exe ./OpenAI.ChatGPT-Desktop_2026.212.2039.0.Msixbundlesudo apt-get install ./dist/chatgpt-desktop-native_2026.212.2039.0_amd64.debIf you rebuild without changing the version string, force the package refresh:
sudo apt-get install --reinstall ./dist/chatgpt-desktop-native_2026.212.2039.0_amd64.debThe package installs a helper that registers the current desktop user as the handler for the auth callback schemes:
chatgpt-desktop-native-registerYou can verify registration with:
xdg-mime query default x-scheme-handler/chatgpt
xdg-mime query default x-scheme-handler/chatgpt-altExpected result:
chatgpt-desktop-native.desktop
chatgpt-desktop-native- copy this folder to the target machine
- place a real ChatGPT
.msix,.msixbundle,.appx, or.appxbundlehere - run the local
npm install electron @electron/asar --no-save - run
./build-chatgpt-native-deb.sh --exe <payload> - install the generated
.deb - run
chatgpt-desktop-native-register - launch
chatgpt-desktop-native - if GNOME still shows the old generic icon, fully close the app and relaunch it once; if the shell is stubborn, log out and back in once
- the app may still print Electron/NVIDIA/VA-API noise in the terminal
- the successful signal is functional login plus working chat, not a silent terminal
- if the upstream Windows app changes significantly, the patch targets in
build-chatgpt-native-deb.shmay need to be updated