Watching live TV on a second monitor while you work

Two ways to do it, and one detail about HDR on a mixed-monitor desk that explains a picture nobody could otherwise account for.

A channel on the second screen while you work is one of the two things a desktop does that a television cannot. There are 2 ways to arrange it, and they suit different desks.

Picture-in-picture, or a second window

Ctrl+P opens picture-in-picture. It is a real second window rather than an overlay painted on the first: the video surface is migrated across, which is more work than it sounds and is the reason it keeps playing while you drag it between displays.

Use it when the channel is genuinely secondary. Small, always on top, out of the way in a corner.

Ctrl+P   picture-in-picture, a second window that follows you between displays
F        fullscreen on whichever display the window is on
M        mute, but only while the player owns fullscreen on live TV

The alternative is to put the main window on the second monitor and leave it there. Use that when the second screen is a television or a spare panel with nothing else on it, because a full window gives you the channel list, the guide and the transport controls without a trip back.

One behaviour here catches people, and it is deliberate. The transport shortcuts do not act on live TV unless the player owns fullscreen. So a channel running in a background window will not respond to M or the space bar while you are typing in another application. That is the correct answer: your keystrokes belong to the thing you are looking at.

The mixed-monitor detail

This one accounts for a picture that otherwise makes no sense.

HDR is decided per window and per monitor, not once for the application. The app looks up which display the window is actually on and reads that display's colour space before deciding whether to ask for a 10-bit surface. It is done that way precisely because of the two-screen desk: an HDR monitor next to an SDR one should not cause the SDR one to inherit HDR handling.

So dragging the player from an HDR panel to an SDR panel changes what it asks for. That is right, not a glitch.

We got this wrong the first time, in a way that only shows up in a running app. The first implementation asked for 10 bits unconditionally, on the reasoning that it costs the same 4 bytes per pixel. No test caught the problem: a 10-bit swapchain changes how the compositor treats the video plane, the translucent player chrome composited lighter, and the transport controls started ghosting through the video underneath. Auto now asks for 10 bits only where the display reports HDR, and any probe failure answers SDR, because SDR is the answer that cannot regress anything.

If you force HDR to Always on an SDR panel, the output goes PQ and looks washed out. That escape hatch exists for displays that under-report, not as a quality setting.

Making a background channel cheap

Three things help, and none of them is obvious.

Mute it. Not for politeness: the audio path is what pins a device and, with passthrough on, opens it in exclusive mode.

Consider a multiview tile instead of the full player. A muted tile is capped at 640 by 360 and runs 350 and 200 milliseconds of buffer against the live path's 1200 and 800. Lower resolution, smaller buffers, less work, and for a channel in the corner of a second screen you will not see the difference. Multiview covers the layouts.

Set the sleep timer if this is an evening habit. Off, 15, 30, 60 or 90 minutes with a countdown. It is session state and never persisted, so it cannot survive a restart and stop a stream nobody armed. On live it clears playback when it expires, because there is no position worth keeping and the provider connection should not run all night. On a film it pauses instead and keeps your place.

What this costs your provider line

Every stream is a connection. A channel on the second monitor while somebody else watches in the living room is 2 connections, and most lines allow 1 or 2. This is the most common cause of "it worked this morning and now it does not". Max connections covers the counting, including why a connection can stay spent after you have stopped watching.

For the full key map, including which keys are on-demand only, keyboard shortcuts worth knowing.

What this article measured21 claims, each with the evidence behind it
ClaimEvidenceCounted
Picture-in-picture is a separate window that the video surface is migrated into, not an overlay drawn on the main one, and it survives being moved between displays.n = 1Aug 23, 2026
HDR is decided per window and per monitor. The app matches the window to the display it is on before deciding whether to ask for a 10-bit surface, specifically so a two-screen desk does not inherit the other panel's state.n = 1Aug 23, 2026
Requesting 10 bits unconditionally was tried and reverted. It changes how the compositor treats the video plane, and the translucent player chrome composited lighter, so the transport controls ghosted through.n = 1Aug 23, 2026
The transport keys do not act on live TV unless the player owns fullscreen, so a channel running in a background window is not driven by the keyboard while you type in another app.n = 1Aug 31, 2026
The live path applies 1200 ms of network caching and 800 ms of live caching, against 350 and 200 on a muted multiview tile.n = 1Aug 23, 2026
Entering picture-in-picture opens a floating always-on-top window and reparents the video canvas into it without stopping playback, rather than starting a second stream.n = 1Sep 1, 2026
The engine remembers which element the video came from so it can be docked back, and remembers whether that slot used the live aspect and whether an on-demand underlay was showing.n = 3Sep 1, 2026
If the page that owned the video is navigated away while the floating window is up, restoring it plainly would dock the video against a disconnected element and strand it in the corner of the shell, so dismissal forces navigation back to the owning page instead.n = 1Sep 1, 2026
Entering is a multi-stage operation that shows the floating window before the active flag flips, so each stage carries the generation it started under and aborts if a force-close has happened since. That is what stops an in-flight entry re-opening the window behind an authentication gate.n = 1Sep 1, 2026
The console compiles a stub instead, whose active state is permanently false and whose toggle does nothing, because a console has one screen.n = 1Sep 1, 2026
The controls that would open a second window are hidden rather than disabled when the head reports multi-window unsupported, so the difference is invisible rather than greyed out.n = 1Sep 1, 2026
Every primary player is constructed with a 400 millisecond network cache before any per-path value is layered on top.n = 1Sep 1, 2026
A multiview tile is built from a different base option set than the main player: it drops snapshot and on-screen-display suppression it does not need, and adds a title-overlay suppression it does, or every tile prints the stream name over the video.n = 2Sep 1, 2026
Three player roles exist and not all of them may claim the audio device: the primary the viewer watches, a failover standby, and mosaic tiles of which several run at once.n = 3Sep 1, 2026
Four conditions must hold before HDR is requested at all: the desktop head, a non-mosaic role, a surface that actually came up 10-bit, and a runtime-probed library version at or above 3.0.21.n = 4Aug 23, 2026
The video surface tries three configurations in order, and its last rung is byte-identical to the previously shipped one, so a display chain that cannot compose 10-bit behaves exactly as it did before.n = 3Aug 23, 2026
Fullscreen and picture-in-picture were both exercised against real 4K sources, resizing and migrating across windows while continuing to play, with zero errors logged across the pass.n = 1Aug 23, 2026
Leaving a channel running is not free: a 12 minute browse session ended at 918 MB of working set against a 400 MB budget, with the growth in native rather than managed memory.n = 3Aug 30, 2026
Asking for 10 bits unconditionally was tried on the reasoning that it costs the same 4 bytes per pixel, and reverted: the compositor treats the video plane differently and the translucent chrome above it composited lighter.n = 1Aug 23, 2026
Forcing HDR on a display that is genuinely SDR makes the player output PQ, which looks washed out. The setting exists for panels that under-report rather than as a quality control.n = 1Aug 23, 2026
The sleep timer offers Off, 15, 30, 60 and 90 minutes with a live countdown, is session state that is never persisted, and clears live TV on expiry while pausing on-demand playback.n = 1Aug 31, 2026