Using Element X to access your own reality

🧭 Enter the Matrix: A Self-Hosting Journey
Click here to see all posts from this multi-part series on hosting your own Matrix communication system.

Chapter 1: Build your own Secure Chat System with Matrix

Set up your own Matrix Synapse server from scratch – with a focus on privacy, security, and full self-hosting.

Chapter 2: The Matrix Federation – Follow the White Rabbit

Explore how Matrix Federation works, how to configure it securely, and what it means to be part of the wider Matrix universe.

Chapter 3: Using Element X to access your own reality

Learn how to connect to your Matrix server using the new Element X app on desktop and mobile, with a focus on practical setup and usage.

In the Matrix films, phones weren’t just tools — they were escape routes. When the signal came through, you picked up, or you stayed trapped.

You have to get to a phone. That’s the only way out.
Trinity

Today, the payphones are gone — but the principle remains. Element X is your new gateway. Fast, minimal, secure — it connects you to your own Matrix homeserver, without compromise.

This chapter shows you how to install and use Element X on Windows and Android to access your own self-hosted reality.

Pick it up. You’re not in the simulation anymore.


1. Why Element X

Element X is the modern Matrix client built for speed, simplicity, and security. Based on the powerful matrix-rust-sdk, it offers a completely redesigned experience compared to legacy Element. Faster syncs, better encryption handling, and a lightweight interface make it the ideal choice for new and advanced users alike.

If you’re running your own Synapse server or joining one via Federation, Element X is currently the most streamlined way to connect on both desktop (Windows) and mobile (Android).


2. Installing Element X

2.1 Windows & Linux

You can download the latest official version of Element X for Windows and Linux from the official website:

🔗 https://element.io/download

On that page, scroll to Element X (Next generation Matrix client) and choose your platform:

  • Windows: Available as an .exe installer or portable .zip file
  • Linux: AppImage, Flatpak, and DEB packages are provided

💡 Linux users can also install Element X via community-maintained package managers like AUR or Snap, depending on their distribution.

After installing, simply launch the app and continue with the login process described in the next section.

⚠️ Nightly builds may also be available, but for general use, stick to the stable releases unless you’re testing features.

2.2 Android

To install Element X on Android, you have two main options:

Option 1: Google Play Store (recommended for most users)

  1. Open the Google Play Store.
  2. Search for Element X.
  3. Tap Install, then open the app.

Option 2: F-Droid (open-source app store)

If you prefer 100% FOSS (Free and Open Source Software), or you’re avoiding Google services:

  1. Install F-Droid from f-droid.org.
  2. Search for Element X (or add the Element Nightly repo if needed).
  3. Install and launch the app.

3. Connecting to Your Own Homeserver

If you’re running your own Matrix server – for example at matrix.example.com – you can connect to it directly using Element X. This section shows how to point your client to a custom homeserver and log in with a user like neo@example.com.

3.1 Changing the Homeserver

By default, Element X connects to the public matrix.org homeserver. To use your own:

  1. Open the Element X app (on Windows or Android).
  2. On the login screen, click or tap “Change server” (sometimes shown as “Use a different server”).
  3. Enter your homeserver URL, e.g.:
https://matrix.example.com
  1. Confirm. The login form will now point to your server.

💡 Make sure your homeserver is reachable via HTTPS and properly configured with valid SSL/TLS certificates. Federation is optional but recommended.

3.2 Logging In

Once the homeserver is set:

  1. Enter your Matrix ID or username, for example:
    • Matrix ID: @neo:example.com
    • Email-style username (if supported): neo@example.com
  2. Enter your password
  3. Click or tap Login

If encryption is enabled (which is usually the case), you may be prompted to verify the session or restore encryption keys. If you’ve used another device before, this ensures your message history remains readable.

⚠️ If login fails, double-check your server URL and that the client supports your server’s authentication settings (e.g. Single Sign-On or fallback UI).


4. Secure Messaging and Encryption

Matrix uses end-to-end encryption (E2EE) to protect your messages, especially in direct chats (DMs) and private rooms. Element X enables E2EE by default for new conversations – ensuring that only you and your chat partners can read the contents.

To keep encrypted conversations safe across devices, it’s important to export your encryption keys regularly and restore them when needed.

4.1 Exporting Encryption Keys

Exporting your encryption keys allows you to back up your message history and restore it later – for example, when setting up a new phone or reinstalling the app.

To export your keys in Element X:

  1. Go to SettingsSecurity or Encryption.
  2. Look for an option like Export keys or Export room keys.
  3. Set a strong passphrase to encrypt the exported file.
  4. Save the .txt or .json file securely (e.g. in a password manager or encrypted storage).

🔐 This file contains private decryption keys. Never store it in cloud drives unprotected, and don’t send it over email or chat.

💡 Some platforms (especially Android via F-Droid) may restrict file access. Ensure the export is saved where you can retrieve it later.

4.2 Importing Encryption Keys

If you reinstall the app or use a new device, you can restore your encrypted messages by importing the backup file:

  1. After logging in, go to SettingsSecurityImport keys.
  2. Select the previously saved file.
  3. Enter the passphrase you used during export.
  4. Confirm – your decrypted messages will now appear (if the keys match the sessions).

⚠️ If you skip key import, encrypted messages may show up as “Unable to decrypt” or remain unreadable.

4.3 Session Verification & Device Trust

When using Matrix on multiple devices, you need to verify your sessions to fully trust them. This ensures encrypted messages can be decrypted and that no unauthorized devices are reading your conversations.

Why it matters

  • Without verification, Element X may not share encryption keys between your devices.
  • You’ll see warnings like “Unverified session” or “Message not encrypted for this session.”

How to verify a new session

  1. Log in to your account on the new device (e.g. @neo:example.com).
  2. Your other verified device will show a prompt like “New login detected”.
  3. Approve the session using one of the following methods:
    • Emoji comparison: Compare and confirm matching emoji on both devices.
    • QR code scan: Use your existing device to scan the QR code shown on the new one.

After verification

  • Your devices are now trusted and can share encryption keys.
  • Message history and encrypted conversations will automatically sync (if key backup/import was successful).

✅ Best practice: Always verify new logins immediately to avoid missing encrypted messages.


5. Sync & Notifications Across Devices

Once you’re logged into Element X on multiple devices – like a Windows PC and an Android phone – Matrix takes care of keeping your sessions in sync. However, understanding how sync and notifications behave can help you avoid surprises and configure things to your liking.

5.1 What Gets Synced

  • Messages: Once encryption keys are shared, message history is available across devices.
  • Read receipts: When you read a message on one device, others will reflect that state.
  • Room state: Membership, power levels, and settings sync automatically.
  • Session trust: Devices must be verified to access encrypted history fully.

🔄 If you see “Unable to decrypt” messages, it often means encryption keys weren’t imported or the device isn’t trusted yet.

5.2 Push Notifications

Android

  • Element X uses standard Android push notifications.
  • Ensure the app is excluded from battery optimization (Settings → Battery → Unrestricted).
  • Check notification permissions are granted.
  • Encrypted message content is not shown in previews (by design, for privacy).

Windows

  • Windows notifications work via the system tray.
  • Ensure Focus Assist or Do Not Disturb modes are disabled if you’re not receiving alerts.
  • App must be running in background to receive live notifications.

5.3 Handling Multiple Sessions

You can stay logged in on multiple devices. Each session appears in your account’s “Security” or “Devices” section. From there you can:

  • Name each device (e.g. “Neo’s Phone”, “Neo’s Laptop”)
  • Log out remotely if a device is lost or compromised
  • Re-verify if trust was lost

🔐 Good hygiene: Remove old or unused sessions regularly to reduce risk.


6. Troubleshooting & Common Issues

Even with a properly configured Matrix setup, you might occasionally run into login errors, decryption problems, or sync issues. This section helps you diagnose and fix the most common problems in Element X on Windows and Android.

6.1 Login Problems

Symptom: “Server not found”, “Invalid login credentials”, or app hangs during login.

Possible causes & fixes:

  • Wrong homeserver URL: Double-check it’s entered as https://matrix.example.com, including https://.
  • SSL issues: Ensure your homeserver uses valid HTTPS certificates. Self-signed certs may cause login failures.
  • Federation disabled: If using a private server, make sure the .well-known delegation (or direct login endpoint) is reachable.

6.2 Encryption Issues

Symptom: Messages show as “Unable to decrypt” or stay unreadable on one device.

Causes & solutions:

  • Missing key import: Make sure you imported your encryption backup (see Chapter 4.2).
  • Unverified session: Verify the new device from an already trusted session (see Chapter 4.3).
  • Old session removed: If the sending device was deleted or reset, keys may be lost permanently.

⚠️ Encrypted history cannot be recovered without proper key backup. Always export keys after major changes.

6.3 Push Notifications Not Working

  • Android: Disable battery optimization for Element X and check notification permissions.
  • Windows: Ensure the app runs in background and Windows notifications are enabled.

🔔 Some notification delays may occur when the app is in Doze mode (Android) or minimized (Windows). This is normal.

6.4 Sync Delays or Missing Messages

  • Check network: Element X requires a stable connection to sync in real time.
  • Verify all sessions: Unverified sessions may not receive encrypted messages.
  • Re-login: Sometimes logging out and back in resolves minor sync inconsistencies.

Final Thoughts: Entering the Matrix with Element X

You’ve built your own Synapse server, configured Federation, and now you’re inside the system – using Element X to communicate securely, across platforms, and on your own terms.

Just like Neo stepping into the real Matrix, using Element X on your own homeserver gives you a glimpse behind the curtain. You’re no longer relying on big tech platforms or handing over your conversations to unknown entities. You’re in control – of your data, your network, and your digital identity.

Element X isn’t just a new client. It’s a sign of where Matrix is heading: faster, leaner, more user-friendly – but still end-to-end encrypted and fully decentralized.

Whether you’re messaging from your Windows workstation or your Android phone in the field, you’re part of a federated future that respects user choice and privacy. And with proper encryption key handling and session trust, you’re not just using the Matrix – you’re mastering it.

I know you’re out there. I can feel you now. I know that you’re afraid … you’re afraid of us. You’re afraid of change.
Neo, The Matrix (1999)