After many months of hard work from our team, I am pleased to announce Beta 8 Release Candidate 1. B8 is a major update that introduces the Looking Glass Indirect Display Driver, direct input and clipboard transport, a new USB audio path, end-to-end HDR support, and extensive latency and reliability improvements. As this is a release candidate, please report any regressions or other issues encountered during testing. If you like this project, find it useful, and would like to help support its continued development, you can do so using the following platforms: * [GitHub][github] * [Ko-Fi][kofi] * [Patreon][patreon] * [PayPal][paypal] * BTC: `14ZFcYjsKPiVreHqcaekvHGL846u3ZuT13` * ETH: `0x6f8aEe454384122bF9ed28f025FBCe2Bce98db85` * XMR: `47xM4zG7b2tEj4mnSywHve4ydZzn3wzhf22snDRB7aSEcXrgUBpoT2Z4phTnyFMi1sMyQtHbdufMYRQ2PzMn3PGUJAE1dpc` [github]: https://github.com/sponsors/gnif [kofi]: https://ko-fi.com/lookingglass [patreon]: https://www.patreon.com/gnif [paypal]: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick& hosted_button_id=ESQ72XUPGKXRY B8 introduces protocol changes that are not compatible with B7. The Looking Glass client, IDD, and OBS plugin must use matching versions. The legacy Host Application remains available as a B7 workflow. Users who require it should retain the complete B7 client, Host Application, and OBS stack rather than mixing B7 and B8 components. B8 requires Windows 10 version 1903 or newer. HDR and wide-color support normally require compatible Windows 11 IddCx interfaces. Windows 10 continues to use the SDR-compatible path. The Looking Glass Indirect Display Driver is now the recommended Windows server. It creates its own virtual monitor, eliminating the need for a physical display or dummy plug. The IDD uses Direct3D 12 for accelerated capture and processing when a suitable GPU is available. An SDR software fallback supports systems without a usable render GPU. A new installer includes the display driver, direct-input driver, tray helper, and optional IVSHMEM driver installation. It can also disable the legacy Host Application during migration. The configuration interface supports custom resolutions, fractional refresh rates up to 1000 Hz, preferred and default modes, dynamic guest resolution, configuration reload and rollback, processing status, and workarounds for problematic GPU drivers. Keyboard and mouse input can now travel directly over LGMP using the Looking Glass virtual HID device. This supports absolute desktop input, relative captured input, media keys, up to 32 mouse buttons, and keyboard lock-state synchronization. Clipboard synchronization also runs directly over LGMP and supports bidirectional text, images, and file transfers on both X11 and Wayland. Transfers are streamed and pipelined to keep clipboard control responsive while large files are being copied. SPICE remains available as a fallback, but is no longer required for primary IDD input or clipboard operation. Looking Glass can now present an emulated USB Audio Class 2 device to Windows through a SPICE USB-redirection channel. It supports stereo, quadraphonic, 5.1, and 7.1 playback using 24-bit PCM at up to 192 kHz, along with microphone recording and asynchronous clock feedback. Classic SPICE audio remains available as a compatibility fallback. Audio buffering, synchronization, underrun recovery, and microphone privacy handling have also been substantially improved. B8 adds end-to-end HDR and wide-color support. The IDD transports HDR metadata and the Windows display color transform, while the EGL renderer can either present native HDR or tone-map it for an SDR display. Native Linux HDR requires Wayland, an HDR-capable output, and compositor support for `color-management-v1`. The OBS plugin can also capture the HDR stream directly. The IDD, client, and OBS plugin now coordinate frame delivery around presentation deadlines. Superseded frames can be discarded before transport, static regions avoid unnecessary copies, and different consumers can operate at independent cadences. Expanded timing graphs expose capture, GPU processing, shared-memory transport, rendering, and presentation latency. * Added the Looking Glass IDD as the recommended Windows server. * Added a virtual monitor that does not require a dummy plug. * Added accelerated Direct3D 12 capture and processing. * Added an SDR software fallback for guests without a suitable GPU. * Added a unified IDD, input driver, helper, and IVSHMEM installer. * Added a tray configuration interface for display modes and status. * Added custom resolutions and fractional refresh rates up to 1000 Hz. * Added preferred modes, default refresh rates, and dynamic resolution. * Added selectable direct-copy and indirect-copy GPU workarounds. * Added filtering and sizing guidance for modes too large for IVSHMEM. * Added direct keyboard and mouse input over LGMP. * Added absolute and captured-relative mouse input modes. * Added media-key, extended mouse-button, and keyboard LED support. * Improved automatic keyboard capture and X11/Wayland input parity. * Completed evdev hotplug, capture, mouse, and LED handling. * Added direct bidirectional clipboard synchronization over LGMP. * Added clipboard support for text, images, and files. * Added seamless clipboard file handling for X11 and Wayland. * Improved Caja, MATE, and Nautilus clipboard interoperability. * Added streamed and pipelined clipboard transfers. * Added the emulated Looking Glass USB Audio Class 2 device. * Added multichannel 24-bit playback at up to 192 kHz. * Added USB microphone recording and asynchronous clock feedback. * Improved audio synchronization, jitter handling, and underrun recovery. * Added HDR metadata and Windows display color-transform transport. * Added native Wayland HDR using `color-management-v1`. * Improved HDR-to-SDR tone mapping and SDR white-level handling. * Added HDR support to the OBS plugin. * Added presentation-aware frame scheduling across IDD, client, and OBS. * Added damage-aware GPU copies and software texture uploads. * Added independent scheduling for multiple frame consumers. * Added expanded capture, transport, rendering, and presentation graphs. * Added automatic SPICE fallback and session recovery. * Added forced display recovery using the configured escape key plus `Shift+R`—`Scroll Lock+Shift+R` by default. * Added mpv-compatible custom GLSL shader loading. * Improved Wayland fractional scaling, pointer confinement, and warping. * Improved DMA-BUF ownership, import performance, and damage handling. * Added layout-independent hotkeys with translated key labels. * Added non-Latin text support to the client overlay. * Hardened shared-memory frame, cursor, queue, and clipboard validation. * Retained aliases for settings moved from `app:*` to `lgmp:*`. * Made RGB24 packing opt-in due to regressions on some integrated GPUs. * Reworked the documentation around the current IDD workflow. * Set Windows 10 version 1903 as the minimum supported guest.
Looking Glass
Looking Glass lets you use a Windows virtual machine from Linux with very low display and input latency. The current recommended setup uses the Looking Glass Indirect Display Driver (IDD) in the Windows guest and the Looking Glass Client on the Linux host.
- Project Website: https://looking-glass.io
- Documentation: https://looking-glass.io/docs
Start here
The Linux client is currently distributed as source code and must be built before it can be installed. The end-user guide covers the complete process:
- Build the Linux client.
- Configure shared memory for the virtual machine.
- Install the Looking Glass IDD in Windows.
- Install and run the client.
See the Looking Glass documentation for the current requirements and setup guide.
Source archives
❕❕❕ IMPORTANT ❕❕❕
This project contains submodules that must be checked out if building from the git repository! If you are not a developer and just want to compile Looking Glass, please download the source archive from the website instead:
https://looking-glass.io/downloads
Source code for the documentation can be found in the doc directory.
You may view this locally as HTML by running make html with python3-sphinx
and python3-sphinx-rtd-theme installed.