Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 15 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ the MIT license, and needs no account.

| | Requirements | Get it |
| --- | --- | --- |
| **Windows** | Windows 10 (version 1809 or later) or Windows 11, 64-bit, with an NVIDIA, AMD or Intel GPU | [EternalMonitor-Setup.exe](https://github.com/sidebandstudio/EternalMonitor/releases/tag/v0.3.0) (v0.3.0 current stable) |
| **iPad** | iPadOS 17 or later | [TestFlight v0.3.0, build 143](https://testflight.apple.com/join/ppc9QfXc). The public beta is open: install TestFlight, then open the link on your iPad. |
| **Windows** | Windows 10 (version 1809 or later) or Windows 11, 64-bit, with an NVIDIA, AMD or Intel GPU | [EternalMonitor-Setup.exe](https://github.com/sidebandstudio/EternalMonitor/releases/tag/v0.3.1) (v0.3.1 current stable) |
| **iPad** | iPadOS 17 or later | [TestFlight v0.3.1, build 166](https://testflight.apple.com/join/ppc9QfXc). The public beta is open: install TestFlight, then open the link on your iPad. |

Install both apps from the same version. The older v0.1 releases use a different
protocol and cannot connect to the v0.3 iPad app.
Expand All @@ -82,15 +82,19 @@ you will see.

## Status

v0.3.0 is the current stable release, paired with iPad TestFlight build 143.
Its Windows installer is unchanged from v0.3.0-rc.1. On 2026-09-24 it passed the automated tests
on a reference PC with GeForce RTX 5080 and Radeon graphics and on a physical
iPad Pro.
Those included 30-minute runs at about 58 fps, one over Wi-Fi at 3440×1440 and
one over USB at 2732×2048. Testers are now checking what needs hands on the
device, such as drawing in Clip Studio Paint and audio sync.
[docs/hardware-verification.md](docs/hardware-verification.md) has every result,
including the failures.
v0.3.1 includes Intel Quick Sync startup fixes, hardware encoder fallback,
audio scheduling improvements and automatic support diagnostics. Install it
with iPad TestFlight v0.3.1, build 166.

Windows and iPad diagnostics include device details, app errors and stream
statistics. Reports include PC names and network addresses, but exclude screen
content, audio and pairing credentials. Disable automatic sharing in Settings.
On iPad, open Settings > Support > Diagnostics to copy or export a report.

All six release preparation checks passed, including Windows, macOS and iPad
simulator streaming. The affected Windows 10 / Intel Iris Xe device and physical
iPad Pro M5 still need customer testing. Earlier physical-device results remain
in [docs/hardware-verification.md](docs/hardware-verification.md).

Known limits:

Expand Down
10 changes: 5 additions & 5 deletions SETUP.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ one, update the other.
## Step 1: Install EternalMonitor on your PC

1. Go to [eternalmonitor.dev/download.html](https://eternalmonitor.dev/download.html).
Click **Download for Windows** for v0.3.0, the current stable release.
Click **Download for Windows** for v0.3.1, the current stable release.
Your browser saves **EternalMonitor-Setup.exe**.
2. Open **EternalMonitor-Setup.exe**.
3. If a blue **Windows protected your PC** window appears, click
Expand All @@ -50,7 +50,7 @@ the Start menu. To have it open whenever you sign in to Windows, go to

## Step 2: Install EternalMonitor on your iPad

The iPad app installs through Apple's TestFlight app. Use v0.3.0, build 143,
The iPad app installs through Apple's TestFlight app. Use v0.3.1, build 166,
with the current stable Windows release. The beta is open to anyone with the
invite link.

Expand Down Expand Up @@ -191,7 +191,7 @@ or in the controls while streaming.
| The iPad never connects over USB | Open Apple Devices on the PC and leave it open. Unlock the iPad, accept **Trust**, and try another cable. Then unplug and plug in again. |
| The iPad can't find the PC at all | Open the iPad's **Settings** app, then **Privacy & Security**, then **Local Network**, and turn on **EternalMonitor**. |
| The picture stutters or freezes on Wi-Fi | Move closer to the router, or use a 5 GHz network. Connect the PC to the router with a network cable, or use USB. |
| **Hardware encoder unavailable** on the PC | In **Settings**, select **Auto** for the encoder and **YUV420** for encoder input, then restart the stream. Update the driver from your GPU manufacturer. If this persists, use **Performance** → **Copy logs** and include the iPad report from **Settings → Diagnostics**. Some GPUs have no supported hardware encoder. |
| **Hardware encoder unavailable** on the PC | In **Settings**, select **Auto** for the encoder and **YUV420** for encoder input, then restart the stream. Update the driver from your GPU manufacturer. If this persists, use **Performance** → **Copy logs** and include the iPad report from **Settings → Support → Diagnostics**. Some GPUs have no supported hardware encoder. |
| **Extended display unavailable** on the PC | Run EternalMonitor-Setup.exe again to repair the install, then restart the stream. |

**Using a VPN such as Tailscale?** In the PC window, open **Settings** and set
Expand All @@ -207,7 +207,7 @@ In the PC window, open **Performance** and click **Copy logs**. Paste the
result into a [bug report on GitHub](https://github.com/sidebandstudio/EternalMonitor/issues/new/choose)
or an email to [hello@sideband.studio](mailto:hello@sideband.studio).
Say what you tried, what you saw, your iPad model, and whether you used Wi-Fi or
USB. On iPad, open **Settings → Diagnostics**, then **Export diagnostics**
USB. On iPad, open **Settings → Support → Diagnostics**, then **Export diagnostics**
for a text file or **Copy diagnostics**. Include both reports when possible.

Reports include Windows build, CPU, GPU and driver details; iPad hardware,
Expand All @@ -228,6 +228,6 @@ your home Wi-Fi.

### Automatic diagnostics

Configured releases send device information, errors and stream statistics to EternalMonitor support automatically. Windows Settings and iPad Settings → Diagnostics show the current upload state and an automatic sharing control. Offline events retry after reconnection or relaunch. PC names and network addresses may be included; pairing credentials, screen frames and audio are excluded. Manual exports remain available.
Configured releases send device information, errors and stream statistics to EternalMonitor support automatically. Windows Settings and iPad Settings → Support → Diagnostics show the current upload state and an automatic sharing control. Offline events retry after reconnection or relaunch. PC names and network addresses may be included; pairing credentials, screen frames and audio are excluded. Manual exports remain available.

Uploads use encrypted HTTPS. Support history is retained for up to 30 days and may be removed sooner when storage limits are reached. Disabling sharing clears pending uploads; diagnostics already sent expire under the retention policy. Existing releases require an update to enable uploads.
30 changes: 15 additions & 15 deletions docs/beta-testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,16 @@ https://testflight.apple.com/join/ppc9QfXc

### Current setup

The App Store Connect app and CI signing credentials are already configured
for `sidebandstudio/EternalMonitor`. iPad v0.3.0, build 143, was uploaded and
submitted for external beta review on September 25, 2026, and Apple approved it
on September 26, 2026. It belongs to the
`FriendsExternal` group, whose public link and automatic tester notification
are enabled. The feedback and review contact email is `Whois.younes@gmail.com`.
The App Store Connect app and CI signing credentials are configured for
`sidebandstudio/EternalMonitor`. iPad v0.3.1, build 166, is the current update.
Apple approved it for external testing, verified on October 19, 2026. Its
external state is `IN_BETA_TESTING`. It belongs to `FriendsExternal`, whose
public link and automatic tester notification are enabled. The matching Windows installer is
[v0.3.1](https://github.com/sidebandstudio/EternalMonitor/releases/tag/v0.3.1).

External installation is open. Pair it with the
[current stable Windows release](https://github.com/sidebandstudio/EternalMonitor/releases/tag/v0.3.0).
The setup instructions below are for maintaining or replacing that configuration.
Build 143 was the previous 0.3.0 release. It does not include the Intel startup
fix or automatic support diagnostics. Verify App Store Connect's external build
state before describing any new upload as available to external testers.

### Automated archive and upload

Expand All @@ -40,8 +40,8 @@ unsigned Release archive as a compile check. This archive cannot be installed
through TestFlight. A signed workflow exports directly to App Store Connect.

Every workflow run uses build number `100 + GITHUB_RUN_NUMBER`; Xcode's automatic
build-number rewriting is disabled. A tag such as `v0.3.0-rc.1` must match
`MARKETING_VERSION: "0.3.0"`. To upload again, start a new workflow dispatch rather
build-number rewriting is disabled. A tag such as `v0.3.1-rc.1` must match
`MARKETING_VERSION: "0.3.1"`. To upload again, start a new workflow dispatch rather
than rerunning an already uploaded build number.

Add these repository Actions secrets in GitHub Settings:
Expand Down Expand Up @@ -138,10 +138,10 @@ for people you want inside the developer account.

Two links, and they must match:

- The v0.3.0 Windows installer, shown as the current stable release on
eternalmonitor.dev/download.html. Its bytes are unchanged from v0.3.0-rc.1.
- The TestFlight public link for iPad v0.3.0, build 143. Apple approved it for
external testing on September 26, 2026.
- The v0.3.1 Windows installer from the release page or
eternalmonitor.dev/download.html.
- The TestFlight public link for iPad v0.3.1, build 166. Apple approved it;
its external state was verified as `IN_BETA_TESTING` on October 19, 2026.

Tell them where feedback goes: the form at
https://eternalmonitor.dev/download.html#feedback (it opens their mail app
Expand Down
21 changes: 11 additions & 10 deletions docs/download.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<script>document.documentElement.className = 'js';</script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Download EternalMonitor</title>
<meta name="description" content="Download EternalMonitor v0.3.0, the current stable Windows release, with the matching iPad TestFlight build 143.">
<meta name="description" content="Download EternalMonitor v0.3.1, the current stable Windows release, with the matching iPad TestFlight build 166.">
<meta property="og:title" content="Download EternalMonitor">
<meta property="og:description" content="Your iPad as a second screen for Windows. Free and open source.">
<meta property="og:url" content="https://eternalmonitor.dev/download.html">
Expand Down Expand Up @@ -48,7 +48,8 @@
<section class="download-hero">
<div class="container">
<h1>Download EternalMonitor</h1>
<p>v0.3.0 is the current stable release. Install it on Windows with iPad v0.3.0, TestFlight build 143. The iPad beta is open to everyone through TestFlight.</p>
<p>v0.3.1 is the current stable release. Install it on Windows with iPad v0.3.1, TestFlight build 166. The iPad beta is open to everyone through TestFlight.</p>
<p>Both apps automatically share device details, errors and stream statistics with support, including PC names and network addresses. Screen content, audio and pairing credentials are excluded. You can turn sharing off in Settings. <a href="https://github.com/sidebandstudio/EternalMonitor/blob/main/SETUP.md#automatic-diagnostics" target="_blank" rel="noopener">About automatic diagnostics</a>.</p>
<p>New to EternalMonitor? The <a href="https://github.com/sidebandstudio/EternalMonitor/blob/main/SETUP.md" target="_blank" rel="noopener">setup guide</a> walks through every step, including USB with Apple Devices. Found a bug? <a href="#feedback">Tell us below</a>.</p>
</div>
</section>
Expand All @@ -60,22 +61,22 @@ <h1>Download EternalMonitor</h1>
<div class="download-card-header">
<span class="platform-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="2" y="3" width="20" height="14" rx="2"/><path d="M8 21h8M12 17v4"/></svg></span>
<h2>Windows</h2>
<span class="badge badge-accent" id="release-version">v0.3.0</span>
<span class="badge badge-accent" id="release-version">v0.3.1</span>
</div>
<p>Current stable. Stream your desktop over Wi-Fi or USB with PC audio, pairing, keyboard control and Apple Pencil drawing through Windows Ink.</p>
<ul class="spec-list" aria-label="Requirements">
<li>Windows 10 version 1809 or later, or Windows 11, 64-bit</li>
<li>NVIDIA, AMD or Intel GPU</li>
</ul>
<div class="download-btn-wrap">
<a href="https://github.com/sidebandstudio/EternalMonitor/releases/download/v0.3.0/EternalMonitor-Setup.exe" id="download-btn" class="btn btn-primary btn-block" target="_blank" rel="noopener">Download for Windows</a>
<p class="download-meta" id="release-meta">EternalMonitor-Setup.exe · 59.4 MB</p>
<a href="https://github.com/sidebandstudio/EternalMonitor/releases/download/v0.3.1/EternalMonitor-Setup.exe" id="download-btn" class="btn btn-primary btn-block" target="_blank" rel="noopener">Download for Windows</a>
<p class="download-meta" id="release-meta">EternalMonitor-Setup.exe · 59.6 MB</p>
</div>
<div class="sha256">
<span class="sha256-label">SHA-256</span>
<code id="sha256-value">70bd59be737423d636a53b27d7e0fbe9b9e8563ecc104d79f153b139be904a12</code>
<code id="sha256-value">b276602bd54a0eec9459b9f6d91f67669fa533600d47456f30cabb36449cf0a5</code>
</div>
<p class="download-note"><a href="https://github.com/sidebandstudio/EternalMonitor/releases/tag/v0.3.0" target="_blank" rel="noopener">Release notes and known issues</a> · <a href="#feedback">Report a problem</a></p>
<p class="download-note"><a href="https://github.com/sidebandstudio/EternalMonitor/releases/tag/v0.3.1" target="_blank" rel="noopener">Release notes and known issues</a> · <a href="#feedback">Report a problem</a></p>
</article>

<!-- iPad -->
Expand All @@ -85,13 +86,13 @@ <h2>Windows</h2>
<h2>iPad</h2>
<span class="badge badge-accent">TestFlight beta</span>
</div>
<p>v0.3.0, build 143. Shows your PC's screen and sends touch, Apple Pencil pressure and tilt, and keyboard input back. Use Drawing mode for Pencil input with palm rejection.</p>
<p>v0.3.1, build 166. Shows your PC's screen and sends touch, Apple Pencil pressure and tilt, and keyboard input back. Use Drawing mode for Pencil input with palm rejection.</p>
<ul class="spec-list" aria-label="Requirements">
<li>iPadOS 17 or later</li>
<li>TestFlight from the App Store</li>
</ul>
<div class="download-btn-wrap">
<p id="testflight-status" class="testflight-status testflight-status--open"><span class="eyebrow-dot" aria-hidden="true"></span><span>Build 143 passed Apple's beta review. Anyone with the link can install it now.</span></p>
<p id="testflight-status" class="testflight-status testflight-status--open"><span class="eyebrow-dot" aria-hidden="true"></span><span>Build 166 passed Apple's beta review. Anyone with the link can install it now.</span></p>
<a href="https://testflight.apple.com/join/ppc9QfXc" id="testflight-link" class="btn btn-primary btn-block" target="_blank" rel="noopener">Join the TestFlight beta</a>
</div>
<ol class="install-steps" aria-label="How to install on the iPad">
Expand Down Expand Up @@ -122,7 +123,7 @@ <h2>Report a bug or share feedback</h2>
</div>
</div>

<form id="feedback-form" class="feedback-form" action="mailto:hello@sideband.studio" method="post" enctype="text/plain" data-release="Windows v0.3.0 · iPad v0.3.0, TestFlight build 143">
<form id="feedback-form" class="feedback-form" action="mailto:hello@sideband.studio" method="post" enctype="text/plain" data-release="Windows v0.3.1 · iPad v0.3.1, TestFlight build 166">
<fieldset class="field field--choice">
<legend>What is this about?</legend>
<div class="choice-group">
Expand Down
Loading
Loading