A Linux desktop messenger inspired by MSN Messenger and powered by the Telegram protocol.
The v1.0 release targets x86_64 Linux. Windows and macOS build scaffolding is present in the source tree, but those platforms are not shipped or supported by the v1 release pipeline yet.
For the website see: Retro Messenger Website repo
This messenger application is inspired by MSN Messenger v4.6 (from 2001 by default included under XP) and v5.0 (2002) and v6.0 (2003) using the Windows XP theme.
Download a prebuilt package and its SHA256SUMS file from the
Releases page.
The AppImage is the shortest path on most x86_64 Linux desktops:
chmod +x RetroMessenger-v1.0.0-x86_64.AppImage
./RetroMessenger-v1.0.0-x86_64.AppImageDebian, Ubuntu, Mint, Zorin OS, elementary OS, MX Linux, and Kali users can
instead download the matching .deb; Fedora users can use the .rpm. Other
x86_64 Linux distributions should use the AppImage. Verify a download before
running or installing it:
sha256sum --check SHA256SUMS --ignore-missing- GCC / G++ compiler (11 or higher)
- Gtkmm (4.0)
- OpenSSL & zlib development headers (for TDLib)
- gperf (for TDLib)
Optionally:
- Ccache (optional, but much recommended — the first build compiles TDLib, which takes a while)
- Doxygen
On Debian/Ubuntu, run ./scripts/deps.sh to install everything.
Retro Messenger uses TDLib (fetched and built automatically by CMake) to talk to the Telegram network.
Official release builds have the Telegram application credentials compiled in (injected from GitLab CI/CD variables at build time), so you can just click Sign In and follow the classic MSN-style login: phone number → login code → optional two-step verification password. Your session is stored in ~/.local/share/retro-messenger/tdlib, so you stay signed in across restarts.
When building from source, provide your own application credentials (create them at my.telegram.org) in one of these ways:
- export
TG_APP_ID/TG_APP_HASHenvironment variables — at configure time they get compiled in as default; at runtime they always take highest precedence, or - set the GSettings keys
telegram-api-id/telegram-api-hashunderorg.melroy.retro-messenger.
Real Telegram 1:1 voice and video calls run on ntgcalls (LGPL-3.0), whose prebuilt shared library CMake downloads for you. TDLib handles the call signaling; ntgcalls does the encrypted media transport and the microphone/speaker/camera devices. Start a call with the Voice or Video button in a one-on-one conversation window, or Make a Phone Call in the roster; pick your devices under Tools → Options → Voice & Video calls.
The library is linked dynamically and shipped alongside the binary, as the LGPL
requires — see misc/licenses/ntgcalls/. Configure with -DCALLS=OFF to build
without it (the call buttons then explain that calls are unavailable); currently
only Linux x86_64/arm64 have prebuilt binaries wired up.
Telegram's animated stickers are .tgs files: gzip-compressed
Lottie vector animations that TDLib
only downloads — every client rasterizes them itself. Retro Messenger uses
rlottie (MIT), fetched and built
statically by CMake, and plays them inline in the conversation window. Static
WEBP and video (WEBM) stickers keep going through the picture and animation
pipelines.
./scripts/build-lnx.sh
./build/src/retro-messengerBuild a single-file, distro-agnostic AppImage (the required linuxdeploy/appimagetool tooling is downloaded automatically into the build tree):
./scripts/build-appimage.sh
# Result: build_prod/RetroMessenger-v<version>-x86_64.AppImageMaintainers: follow RELEASING.md before creating a release tag.