Skip to content

0.7.2

Choose a tag to compare

@github-actions github-actions released this 05 Nov 14:29

Important

Report crashes from inside Orchid

If a game crashes, start Orchid again and pick Help > Report a Crash on GitHub. It opens a bug report with your build, system, GPU and driver and the end of the crash log already filled in, and opens the log folder so you can attach the full log of the crashed run. Please use it for every crash: reports with a log get fixed much faster, and reports without one are closed.

What's new in 0.7.2

0.7.2 brings Ocarina of Time from its intro into gameplay, adds a built-in 30 fps patch for it and
ports another round of Vulkan fixes from Eglantine forks. Each ported fix names its source and
author in its commit.

Games

  • Ocarina of Time: gameplay renders instead of only the HUD. Its remaining shaders are lowered:
    shadow and per-tap gathers, copied bindless handles, guarded uniform compares and selects,
    64-bit shifts, UIMAD with an immediate, F2IP byte packing, and its upscaler network through a
    software HMMA expansion that needs no cooperative matrices. Doors are no longer pure white, and a
    wrong texture handle no longer makes lit scenes glow. The recommended-settings prompt offers a
    built-in 30 fps lock (base game and current update) and keeps reactive flushing on, which
    playtested faster.
  • Hyrule Warriors: two compute programs that fetch through uniform mirror registers lower now.

Shaders and graphics

  • A depth-compare texture always gets a float descriptor, which fixes a RADV crash that a bad
    cached pipeline repeated on every boot.
  • The alpha test reference is rounded to 1/255 in the pipeline key, so games build far fewer
    duplicate pipelines.
  • Vulkan: the device is idle before the swapchain is recreated, an out-of-date swapchain is
    handled before the next acquire, and ReinterpretImage copies into its destination in the right
    layout.

System

  • The game list tooltip shows the display version of NUP files.
  • Unit tests build with MSVC and with GCC 13 and warnings as errors.

Known issues

  • Mario Tennis Fever on NVIDIA: the GPU can be lost when a match starts (Windows, RTX 30
    series). We are still looking for the cause; until then, try switching the console mode to
    Docked and tell us in issue #14 whether that helps.
  • Ocarina of Time is still overexposed in some camera angles.
  • See the performance and compatibility table in the README.

The PGO profile is the same as in 0.6.2.


Changes since v0.7.1

  • ci: keep the release caches warm and stop stalled apt runs (97a89de)
  • docs: release notes for 0.7.2 (5d41d88)
  • tests: build with GCC 13 -Werror (702177a)
  • tests: fix a signed/unsigned comparison that breaks MSVC builds (4dc8d84)
  • game_list: surface the NUP display version in the tooltip (b9c14d1)
  • vulkan: copy into ReinterpretImage's destination in TRANSFER_DST_OPTIMAL (12848bc)
  • vulkan: handle an out-of-date swapchain before acquiring (upstream #427) (e46f9c8)
  • vulkan: wait for the device before recreating the swapchain (bdf7144)
  • vulkan: round the alpha test reference to 1/255 in the pipeline key (upstream #544) (bda75a4)
  • file_sys: built-in 30 fps patch for ocarina of time (3e67142)
  • Revert "game_settings: ocarina of time runs without reactive flushing" (65c89f3)
  • ampere: shadow ISBEWR data registers (Ocarina door NaN) (e364174)
  • game_settings: ocarina of time runs without reactive flushing (fb5f563)
  • shader: fold votes of a constant predicate (354f72f)
  • ampere: lower F2IP.U8.F32.NTZ with RZ merge operands as byte F2I (ff0c797)
  • docs: point 0.7.1 users to Help > Report a Crash on GitHub (f0a4b4a)
  • docs: release notes for 0.7.1 (b5d65d3)
  • hid: compare the stick-click bits explicitly so MSVC builds jcms (542599a)
  • shader: keep depth-compare texture descriptors float on integer formats (052478d)
  • ampere: shadow TLD operands that alias the uniform mirrors (71add15)
  • ampere: count R2UR as a single uniform write in bindless handle provenance (a40a10c)
  • ampere: lower UIMAD with an immediate addend and UIADD3 carries in any UPn (4aaea5a)
  • ampere: lower HMMA through a software expansion without cooperative matrices (18251d9)
  • ampere: shadow guest registers that alias the uniform mirrors and scratch (b2c6b4b)
  • ampere: lower Ocarina's guarded UISETP and SEL with a uniform source (f90f308)
  • ampere: lower Ocarina's guarded uniform selects (b4d2031)
  • ampere: forward-only BRX tables in the handle proof, Ocarina's 64-bit right shifts (f52a26e)
  • ampere: lower Ocarina's copied bindless handles, ISBE and uniform forms (510db73)
  • video_core: keep mesh registers and the surface bank through shader reuse (e92be12)
  • spirv: runtime per-tap gather offsets and routed global atomics (639479a)
  • ampere: lower Ocarina's shadow gathers, per-tap and reduction forms (d1607c1)

Install

Windows: extract the zip and run orchid.exe, or eden-cli.exe from a terminal.
Linux (AppImage): make it executable (chmod +x) and run it; it bundles its libraries and needs glibc 2.39 or newer (Ubuntu 24.04, Fedora 40, Debian 13, Arch).
Linux (tar.gz): extract it and run ./orchid or ./eden-cli; it uses your system libraries, so Qt 6 and the usual libraries must be installed.
macOS: Apple Silicon and macOS 15 or newer. Extract the zip and move orchid.app to Applications. The CLI is inside orchid.app/Contents/MacOS/eden-cli. The app bundles Qt and MoltenVK and is ad-hoc signed, not notarized; macOS may require approval in Privacy & Security. macOS support remains experimental and uses the JIT, not NCE.
The -pgo builds are the same programs compiled with profile-guided optimization (clang plus the repo's orchid.profdata) and run on the same CPUs; if one is slower than the normal build for you, please report it. The Windows PGO build is a MinGW build, so it carries its own DLLs and needs no Visual C++ redistributable.

Orchid looks for newer builds of its channel at startup and from Help > Check for Updates.