xreal-linux runs Xreal 1S glasses as a 3DoF SteamVR headset on a Steam Deck
A project called xreal-linux tagged its first release on October 8 at 20:08 UTC, and what it does is run a pair of Xreal 1S display glasses as a 3DoF SteamVR headset on a Steam Deck. Head rotation comes from the glasses' own sensors, there is no positional tracking, and the tag is v0.1.0-rc1, an AppImage the release note says was built from commit 75c5b7d in the pinned Steam Runtime SDK. A second pre-release, v0.1.0-rc2, followed at 21:20 UTC the same day.

A Steam Deck showing the SteamOS library screen. The project's measurements were all taken on a Deck running Bazzite in desktop mode. Credit: Valve. Image: Valve
The author is careful about what has been tried. "Verified on a Steam Deck (Bazzite, desktop mode, Plasma on Wayland, AMD GPU)", the repository says, while "NVIDIA and Intel GPUs are not supported yet (untested), and the Eye camera (6DoF) is not used". The Deck's own game mode, Flatpak Steam and any non-AMD GPU sit under a heading reading "Not promised".
The engineering notes are the substantial half
Alongside the installer sits a long file of measurements, read at 21:25 UTC on October 8, describing in close detail what an Xreal 1S looks like to a Linux host. Everything in it was "observed on one XREAL 1S (firmware bcdDevice 4.09) plus an XREAL Eye", and the notes keep a separate label for anything taken from other projects rather than measured.
The glasses enumerate as a single USB 2.0 device, 3318:043e, with nine interfaces: a HID control channel that stayed silent, two virtual Ethernet pairs, three USB Audio interfaces and a second HID for the physical buttons. No UVC camera and no video node appears for the Eye at all.
Both virtual Ethernet links run a DHCP server on the glasses, handing the host 169.254.2.10 and 169.254.1.10 and answering on 169.254.2.1 and 169.254.1.1, with ping times of about 0.4 ms on one and 2 to 3 ms on the other. TCP ports 52990 to 52999 are open on both addresses. Port 52998 streams fixed 134-byte records at roughly 1,400 a second, which the notes identify as the inertial sensor stream, and 52990 to 52995 accept a connection and then send nothing at all.
One stream has two readings and neither is settled
Port 52996 sends 38-byte timestamp records, 2,997 of them in a 25-second capture, which the notes first read as exactly two per camera frame. They later record that the stream's rate follows the display state instead, dropping while the display link is down, and that this "contradicts the earlier guess that it is camera frame metadata": on the second reading it looks like per-refresh display timing carried on the same clock as the inertial sensor. The notes pick neither, and call the later reading "not verified record by record".
Two different settings both report 3840x1080
The glasses can present as a 16:9 monitor, a 16:10 monitor or an ultrawide one, and the EDID changes with the setting. In the ultrawide setting a single mode appears, 3840x1080, and the notes correct an earlier version of themselves about what it is: "a 32:9 ultrawide monitor, not a stereo side-by-side image (an earlier version of these notes got this wrong)".
Full side-by-side is a separate setting that also reports one 3840x1080 mode, under a different EDID, and there the wearer checked the result: the test pattern "showed the left half to the left eye and the right half to the right eye, with the expected depth offset", while in the normal 2D mode both halves reach both eyes. That is the setting the driver switches the glasses into when SteamVR starts, and it puts them back when the session ends. In the 16:10 and 16:9 settings the decoded EDID, manufacturer MRG, product 0x4102, name XREAL 1S, carries six timings: 1920x1200 and 1920x1080, each at 60, 90 and 120Hz.
Three caveats, all the author's own
Yaw drifts, because the magnetometer is not usable. A magnetometer reading does turn up inside the sensor stream, but a calibration fit on the Deck did not converge and that code came out again on October 8. The Eye camera path is parked after a host-started stream produced only four frames. And both tags are release candidates with no 1.0 behind them, on a repository sitting at zero stars at 21:24 UTC on October 8. Xreal has nothing to do with any of it, and neither does Valve, whose SteamVR is simply the app the driver registers against.
Xreal's own attention is elsewhere. Its Aura store page now lists four versions the company's FAQ says are not announced. The 1S is sold as a display, and on Linux that is still what the host sees until something like this reads the sensors itself.