Repository navigation
What's new
Steam Frame support
(Photo taken through the actual Steam Frame lens)
- Headset sessions now run through GLX, EGL or a Vulkan bridge, whichever the OpenXR runtime offers. This means Rust-DOS now runs standalone on the Steam Frame.
- Foveated rendering on the Steam Frame, through Valve's density map layers reached via Zink.
- Auto VR settings for standalone headsets: a lighter look, adaptive resolution and 72 Hz.
- New
--vr-probe,--vr-graphicsand--vr-resolutionoptions, and headset graphics and resolution in the settings window. - The Windows builds now include the OpenXR DLL, and the tarballs include libopenxr.
Rust-DOS now runs really well on the Steam Frame, drawing between 12-16 Watts in the "90s Bedroom" scene. It is of course also possible to render just the 2D dos window, which uses less battery.
PowerVR and Rendition Vérité 3D accelerators
Two more 3D cards from the era join the 3dfx Voodoo and the S3 ViRGE:
- PowerVR PCX2: scenes render through its tile-based ISP and TSP, with texturing, shading, parallel tiles and render timing. It has its own settings and a filter setting.
- Rendition Vérité: the Speedy3D command interpreter with triangles, blits, blending, Z buffer, fog, bilinear filtering, alpha texture formats and vertex colour modulation. vQuake runs, including its spans, lookups and particles.
- Tomb Raider runs on both cards.
Game packages: the automount folder and OS installs
Packages can now bring their own disks and their own operating system, following a proposal by i30817:
automountfolder: images and folders at the top of a package'sautomount/folder are mounted by their names before the game's commands run:c.vhdandd.vhdare hard disks.d.cue,d1.isoandd2.cueare discs in one drive, switched with Ctrl+F4.e/is a folder CD ande.hd/a folder hard drive.a.imganda1.imgare floppies.d[GAME CD].isosets the drive's volume label.
- Bring your own OS:
os=win98senow looks in the package'sautomountfolder first and in the OS images folder after that. Arust-dos.confcan name an OS too, with[game] os=. - Ship a Windows game's install as a
c.vhd: a differencing VHD holds only what the game's install changed, and Rust-DOS boots it on top of your own copy of the OS image. Differencing VHDs are a standard format that VirtualBox, Hyper-V and Windows can make. GAME-PACKAGES.md explains how. - Differencing VHD images can be mounted anywhere. Their parent is found by name, beside the image or in the OS images folder, and is checked by its id.
- Stale save data is set aside, not lost: when a package or OS image changes after you played, the old changes file is renamed to
.rdelta.stale-<date>and the game starts clean. Nothing is deleted. - One player at a time: a second Rust-DOS that tries to launch a game already being played is refused, rather than both writing into the same saves.
- The libretro core's Boot OS option now goes through the same package handling, so automount folders work there too.
- Fixed: drives inside an archive (such as a folder OS inside a
.dosz) were read-only. Their changes now go to the game's saves.
Drives page improvements
- Create fixed and dynamic VHD images right from the Drives page (#12).
- Mount images as BIOS disk numbers (
2,3) from the Drives page. - Pick a drive's IDE slot in the mount dialog.
- Keep a disk image's changes in a separate delta file, chosen in the mount dialog.
- VHD images show up in the settings file browser.
3dfx improvements
- Unfiltered texture sampling (
voodoo_texture_sampling) for both the software and OpenGL renderers. It switches immediately, without touching the guest's registers. - Glide gamma (
voodoo_gamma), set through theSST_RGAMMA,SST_GGAMMAandSST_BGAMMAenvironment variables. - CRT shaders keep their scanlines, mask and glow at the 3dfx card's own resolution with the OpenGL renderer above 1x (
voodoo_scale_shader). - Anisotropic filtering in the OpenGL renderer.
Other changes and fixes
- 86Box
.86ffloppy images are now supported. - MSCDEX Play Audio starting in a data track now plays nothing, as in DOSBox. This fixes CD music in EF2000.
- DPMI host: coprocessor status and emulation functions 0E00h and 0E01h.
- FPU: x/0 gives infinity with ZE, and 0/0 the indefinite with IE.
- Settings go back to your configured baseline before a game launches, so one game's settings no longer leak into the next.
- Launching a game from the settings window while a program runs asks before closing that program.
Distribution
- Rust-DOS now also ships as AppImage files for aarch64 and x86_64. This should make it a lot easier for SteamDeck, SteamMachine and SteamFrame users to just download and run instead of having to unpack tarballs.
Thanks to dosmax on the Vogons forum for several bugfixes and improvements.