xemu Modern GUI - an experimental xemu fork (based on xemu 0.8.139)
===================================================================

THIS IS AN EXPERIMENTAL FORK OF XEMU FOR TRYING OUT USER INTERFACE
IMPROVEMENTS. It is not official xemu, and it is not made, endorsed or
supported by the xemu project.

  - Please don't ask about this build in xemu's Discord, GitHub or other
    xemu channels, and don't report its problems there. Use the issues
    page of this fork: https://github.com/Prodigy488/xemu-modern-gui
  - If something doesn't work, try official xemu before assuming xemu
    has the problem.
  - Official xemu, downloads and support: https://xemu.app

It uses the same settings folder as official xemu, so your settings,
EEPROM and HDD carry over.

Requires 64-bit Windows and a CPU with AVX2 (same as the official
x86_64 release). Built with the same compiler options as the official
release, including link-time optimization.


1. Upscaling filters
--------------------
Settings > Display > Upscaling filter (or Display > Filter Method):

  Linear                  xemu's default, soft
  Nearest                 blocky, pixel-exact
  AMD FidelityFX FSR 1.0  best overall: clean, sharp edges  (recommended)
  Bicubic (Catmull-Rom)   smooth and clean
  Lanczos                 sharp and natural, no halos
  Snapdragon GSR 1        very crisp and very light, may halo on text
  NVIDIA Image Scaling    NVIDIA's own upscaler (NIS): clean edges with
                          adaptive sharpening; works on any GPU
  NVIDIA RTX Video (AI)   the AI upscaler built into NVIDIA's driver (RTX
                          Video Super Resolution); RTX graphics cards only

NVIDIA RTX Video (AI) needs:
  - an NVIDIA RTX graphics card and a recent driver
  - RTX Video Super Resolution switched on: NVIDIA app > System >
    Video, or NVIDIA Control Panel > Video > Adjust video image
    settings > RTX video enhancement > Super resolution. Its quality
    level is set there too.
Nothing extra is installed: xemu uses the copy in your driver. On first
use xemu checks that the driver really applies it. The settings show
"RTX Video: Active", or why not (in which case NIS is used instead);
after changing the NVIDIA setting, press "Check again". It works best at
1x-2x internal resolution, since the driver handles up to 1440p input.

A "Sharpening" slider appears for the last five (AMD RCAS, or NIS's own
sharpening for NVIDIA Image Scaling); 0 turns it off, 0.8 is the
default (0.5 is NVIDIA's default for NIS). These run when the image is scaled up to your
window, with the OpenGL and Vulkan renderers.

Performance tip: Internal resolution scale (Settings > Display) is the
heavy setting. For a fast, sharp picture use 1x or 2x and let FSR or
Lanczos scale it to your screen, instead of 3x-4x with Linear.


2. Dashboard and Game Library
-----------------------------
Language: the dashboard and settings follow your Windows language when
it's one of English, Espanol, Portugues (Brasil), Francais, Deutsch,
Italiano, Polski, Russian, Japanese, Chinese (Simplified) or Korean.
Change it on the welcome screen, the dashboard's Settings tab or
Settings > General. Japanese, Chinese and Korean use fonts Windows
already has. Performance Capture reports stay in English so they can be
shared. The translations were made with AI help; corrections are welcome
on the issues page.

On-screen keyboard: select a text box (searches, names, port
forwarding...) with a controller and a keyboard slides up in the dashboard's
colors. D-pad or left stick to pick a key, A to press it, X deletes, Y
is a space, LB / RB move the cursor, hold LT for symbols, hold RT for
capitals, B closes it and keeps the text, Start confirms. Turn it off with
"On-screen keyboard" in the dashboard's Settings tab or Settings >
General.

Minimize: the button next to Close tucks the dashboard away to a small
tab at the bottom of the screen; click it (or Ctrl+L) to bring it back.
The tab fades after a few seconds; its x hides it. With no disc in,
Close, Esc and B minimize too.

Ctrl+L, Games > Game Library, or "Game Library" in the controller menu
(Guide button). It opens on startup and whenever you eject a disc (turn
off the startup behavior in Settings > General).

Four styles and two dashboard themes: choose under Games > Library Style,
Settings > General, or the dashboard's Settings tab. It switches instantly.
  Neon   (default) dark cyberpunk look: cyan and magenta on near-black,
         cut-corner panels and buttons, HUD labels
  Green  the earlier rounded look in xemu green
The dashboard animates: flowing ribbons, a turning wireframe orb and
drifting specks behind it, and transitions when you switch tabs or games.
Turn this off with "Animations and moving background" in its Settings tab
(the same setting as xemu's own UI animations).
  Dashboard  the tabbed home screen described below (default)
  Classic    one library window: grid or list with the details panel,
             as in earlier versions ("Dashboard style" in its title row
             switches back)
  Blades     the same sections as tall side-by-side panels: the current
             one opens wide, the others stay as slim labelled strips;
             LB / RB (or a click on a strip) slides between them
  Metro      big lowercase section names along the top and a slim start
             page in the style of XBMC4Gamers: a list of your games
             (recently played first), the selected game's art faded
             behind, and its cover and details on the right
  Original Xbox
             a homage to the first Xbox's menu, drawn from scratch (no
             Microsoft artwork): black and green with a glowing wireframe
             globe, a list of the sections on the left; pick one to open
             it in a window beside the list (the list stays visible, so you
             can flip between sections); B / Esc closes the window
  Original Blades
             the other face of the original Xbox's menu, drawn from scratch:
             a bright green web, a glowing sphere wrapped in translucent
             fins, and an arc of glass orbs with a bar for each section.
             The orbs turn round the sphere as you move; pick a section and
             the menu slides left while its window opens beside it, so all
             the sections stay in view. B / Esc closes the window

  Glossy Blades
             the look of the Xbox 360's first dashboard, drawn from scratch:
             bright glossy green, with the sections as curved silver blades
             stacked at the two edges. The blade you are on is green, with
             its title and window in the middle; the others stay in view and
             slide across as you flip through them (LB / RB, or click one)
  Modern     a clean launcher layout: a side menu with an icon and a name
             for every section (Settings at the foot), a title bar, and the
             section in one calm card. The colour follows the section you
             are in. Works with mouse, keyboard and controller (move up and
             down the menu to change section; LB / RB too)

Both Original Xbox styles use the Russo One font (SIL Open Font License,
included in the source as data/RussoOne-OFL.txt) for Western European
languages; other languages keep the usual fonts there.

Compatibility ratings: each game shows its rating from xemu's community
compatibility list (xemu.app): a coloured dot on its cover, a badge on
Home and a "Compatibility" row in its details, with a link to the full
report. Perfect (green), Playable (blue), Starts (yellow), Intro
(orange), Broken (red). The list is downloaded once a day and kept for
offline use. Sort by it with "Sort: Compatibility" in the Library.

The dashboard has seven tabs; switch with LB / RB on a controller
(Ctrl+PageUp / Ctrl+PageDown on a keyboard) or click them:
  Home      "Continue playing" with your last game: Resume, Play,
            Favorite, Settings and Patches. Recently played games, a
            notice when patches are available, and your library as a
            row of covers (the big card follows the cover you pick).
            With a controller, focus starts on Play: press A to play.
            Covers on Home are shown as 3D game cases (turned slightly,
            with a spine and a reflection), made from your flat covers.
            To use your own 3D box art, save it as
            covers\<title ID>-3d.png (e.g. covers\4D530064-3d.png;
            transparent PNGs look best). Switch back to flat covers with
            "Home screen covers" in the Settings tab or Settings > General.
  Library   The full library described below.
  Insignia  Whether Insignia is up, your games that play online (A to
            play), and the steps to get online.
  Media     Save states and screenshots for any game.
            Right-click a save state (or press Y on it) to load it,
            delete it, or show its file. Save states are stored inside
            your Xbox hard disk image, so "Show file location" opens the
            folder with that image selected.
  Drive     the Xbox hard drive explorer: browse the C (System), E (Data:
            saves, apps), F (Extended, on big drives) and X/Y/Z (cache)
            partitions of your hard disk image, and copy files and
            folders in ("Add files" / "Add folder") and out ("Copy to
            PC"), make folders, rename and delete. Also in the Games menu
            > Xbox Hard Drive. Copying to the Xbox pauses it while the
            files are written and restarts it afterwards (the Xbox keeps
            its own copy of the file system in memory, so it has to
            reload), so save your game first. Copying off the Xbox
            doesn't interrupt it. Folders named by title ID (in TDATA
            and UDATA) show the game's name. Names follow the Xbox's
            rules: at most 42 characters, no : * ? " < > | \ /. Files
            up to 4 GB.
  Homebrew  Homebrew. "Installed" lists the homebrew on your Xbox hard
            disk image: folders with a default.xbe in E:\Games, E:\Apps
            or E:\Emulators (or on F:). Covers come from the store
            (looked up by name), a covers\<title ID>.png of your own, or
            the app's built-in title image. Right-click a card, or press
            Y, to delete it or show it in the Drive tab. Click one, or
            press A, to play it: xemu boots discs, so the folder is made
            into a disc image (kept in library-cache\homebrew, remade
            when the folder changes) and the Xbox restarts into it. It
            runs from the DVD drive, so anything an app saves into its
            own folder is not kept; normal Xbox saves work. "Store"
            lists homebrew from XboxHomebrew.store (run by Team
            Resurgent): search or pick a category, choose an app to see
            its description, versions and changes, then "Install to
            Xbox". It downloads and unpacks the app and copies it to
            your hard disk image: games to E:\Games, emulators to
            E:\Emulators, the rest to E:\Apps, replacing an older copy.
            Like the Drive tab, the Xbox pauses while the files are
            written and restarts afterwards, so save first. Only
            homebrew is listed; firmware and Microsoft's dashboards are
            left out. Downloads come from the store and its authors, not
            from this project.
  Patches   Games with patches available or installed; download them
            all at once or manage each game's patches.
  Settings  Resolution, upscaling filter, sharpening, performance
            overlay, video modes (widescreen/480p/720p/1080i), library
            options, and "Open all settings" for everything else.
The top bar shows the Insignia status light and the time.

The Library tab:

- A full-window home screen: search, sort, grid or list view, tile size.
- Select a game to see its cover, title ID, region, play time and last
  played in the panel on the right, with Play / Favorite / Settings.
- Double-click or press A to play. The console restarts and boots the
  game right away (no manual reset needed). Right-click for more options.
  Y (controller) toggles favorite. Esc or B returns to the game.
- The details panel also lists that game's save states (snapshots) with
  thumbnails; click one to load it.
- Recently played games also appear in the Games menu.
- The background is slightly see-through, so the boot screen or game
  stays visible behind it.

Game folders
  Click "Folders" (or Games > Manage Folders) to add as many folders as
  you like. Each one has an "Include subfolders" option. Folders are
  remembered as soon as you add them. "Scan folders" picks up new or
  removed games and covers.
  Each game is listed once: the same file reached through overlapping
  folders, and identical copies of the same disc, don't show twice.

Adding and removing games
  "+ Add game" (or Games > Add Game...) adds a single disc image from
  anywhere. Right-click a game > Remove from library takes it out of the
  list; the file itself is never deleted. Games removed from a folder are
  listed under Folders > Hidden games, where you can restore them.

Cover art
  "Get covers" (or Games > Download Covers) downloads box art for games
  that don't have a cover yet, from xemu's own game database
  (github.com/xemu-project/xdb, about 1,000 titles). Your own covers
  always win: put images in a "covers" folder inside any game folder, named
  by title ID or by the disc image's file name:
      covers\MS-004.png      covers\4D530004.png      covers\Halo.jpg
  or next to the image as Halo.png. PNG and JPG are supported. Click
  "Scan folders" after adding covers. Without a cover, the game's own icon
  from the disc is shown.

Preview videos
  Right-click a game > Add preview video... and pick an MP4, WMV, AVI,
  MOV or MKV file (or put one next to the disc image with the same name,
  e.g. Halo.mp4). Select the game and click "Watch preview" to play it,
  muted and looping, in place of the cover. Uses Windows' built-in video
  support; on Windows "N" editions install the Media Feature Pack.

Online play (Insignia)
  Insignia (insignia.live) is a free, fan-run revival of the original Xbox
  Live. Games it supports show an ONLINE badge; the "Online" button shows
  only those. The Insignia tab (or Games > Insignia (Play Online)...)
  has setup steps for xemu, links to Insignia's Connect guide and games
  page (players online per game), and a status dot for their website:
  "Set up xemu for Insignia" turns on networking with the NAT backend and
  Insignia's DNS in one click: xemu answers the Xbox's DNS lookups with
  Insignia's DNS server (46.101.64.175), so the Xbox's own network
  settings can stay on automatic. "Test connection" checks from your PC
  that Insignia's DNS answers. A DNS typed into the Xbox dashboard still
  works.
  Making an account, step by step on the same card:
  - "Get and run the Setup Assistant" downloads Insignia's latest Setup
    Assistant from their GitHub page (github.com/insignia-live, the first
    time only), copies it to E:\Apps\InsigniaSetup on your Xbox hard
    disk image and starts it. Press Register in it. The Xbox restarts,
    so save your game first. It isn't included with xemu; it comes from
    Insignia.
    When you close it, xemu takes its disc out and comes back to the
    Insignia tab.
  - Sign up with your email on insignia.live; they email you an invite
    code.
  - "Start the Xbox dashboard", go to its Xbox Live section and enter
    your country, gamertag, the invite code, the same email and a PIN.
    Insignia's Connect guide shows each screen. This needs dashboard
    5960 (Settings > System Info on the Xbox); with an older one, start
    a game that came with that update and choose Xbox Live.
  The website status dot:
  green = online, yellow = maintenance, red = unreachable. The website can
  be down while online play still works. The supported-games list is from
  2026-10-22; newer additions won't have a badge yet.

Video modes (widescreen, 480p, 720p, 1080i)
  Settings > System > Video Modes has the same switches as the Xbox
  dashboard's video settings. Many games only render true 16:9 or an HD
  mode when these are on. Changes are saved to the console's EEPROM and
  apply the next time a game starts. 480p/720p/1080i need the HDTV AV
  pack (the default). The settings only appear once the console is
  running.

Per-game settings
  Select a game > Settings (or right-click > Game settings) to give it
  its own resolution scale, upscaling filter, sharpening, renderer
  (OpenGL or Vulkan, switched when the game starts), dynamic resolution
  and volume. They apply whenever that game's disc is loaded, and your
  normal settings return when you switch games.

60 FPS
  Games with a community 60 FPS patch in Jay's Magic Patches show a
  60 FPS badge on the cover (filled when it's on) and a "60 FPS" line in
  their details. "Turn on 60 FPS" there, or the 60 FPS checkbox at the
  top of the game's Settings, downloads the patch if needed, checks it
  fits your copy of the game and turns on just its 60 FPS options. It
  applies the next time the game starts. The emulated Xbox works twice
  as hard, so it needs a fast PC; if a game misbehaves, turn it off.
  Filter > "Has a 60 FPS patch" lists them.

CRT TV, Scanlines and Integer scaling
  Upscaling filter "CRT TV" gives the look of an old TV: scanlines that
  follow the lines the Xbox sends, an aperture-grille mask and curved
  glass. "Scanlines" is just the lines. A strength slider sets how
  strong it is. Display mode "Integer (pixel-perfect)" (Settings >
  Display) scales by whole numbers only, so pixels and lines are even;
  the TV look shows best with it, or at 1440p or 4K.

Quick save and quick load
  While playing, hold Back and press LB to save, or RB to load (one
  quick save per game, kept with your other save states). Modern
  controllers call Back "View" (Xbox One and Series), "Share" (PS4) or
  "Create" (PS5), and the hints show the name for your controller. If
  that is awkward to press, "Hold Back, then press" in the dashboard's
  Settings tab or Settings > Input lets you use the triggers (LT / RT),
  stick clicks (L3 / R3) or D-pad left / right instead. Turn the buttons
  off with "Quick save buttons" in the same place.

Stick dead zone and drift test
  Each stick has its own dead zone ("Left stick dead zone" and "Right
  stick dead zone", up to 40%) that ignores small movements around the
  centre, for sticks that drift. "Check for stick drift" (the dashboard's
  Settings tab under the controller test, or Settings > Input) watches
  both sticks for 3 seconds while you leave them alone, shows how far each
  rests from the centre and can set a dead zone for each. The yellow ring
  in the controller test is the dead zone. Off by default and for physical
  controllers only.

Pause when the window loses focus
  Settings > General (or the dashboard's Settings tab). When on, the game
  pauses as you switch to another window and carries on when you come
  back. A pause you made yourself stays. Off by default.

Copy diagnostics for a bug report
  Help > Copy Diagnostics for a Bug Report puts your xemu version, graphics
  card, main settings and the game's title ID on the clipboard, ready to
  paste into an issue. It has no file paths, names or accounts.

Mouse and keyboard
  Settings > Input (or the dashboard's Settings tab) > "Mouse and
  keyboard". Switch on "Use the mouse as a stick", then click the game (or
  press F3) to capture the mouse. F3 or Esc lets go; it also lets go when
  you open the menu or switch to another window. The mouse moves the right
  stick (or the left, your choice). What each mouse button, the side buttons
  and the wheel do is set in the list below it: any Xbox button or trigger
  (by default left click is the right trigger, right click the left trigger
  and middle click presses the right stick). A sensitivity slider and
  "Invert mouse up and down" are next to it. The keyboard must be bound to a
  controller port; "Use WASD + mouse layout" does that and sets WASD to
  move, the arrow keys to look, Space = A, E = B, R = X, Q = Y, Z / X =
  triggers, G / F = White / Black, Return = Start and Tab = Back, in one
  click.

Keyboard, mouse and controller together
  In Settings > Input (or the dashboard's Settings tab, Controller ports),
  open "Input Device" on a port and pick "Keyboard,
  mouse and controller". That port then hears the keyboard, the mouse and
  every connected controller at the same time: nothing to switch and no
  button to press first. The mouse is captured by itself while you play (F3
  lets go, a click takes it back). When you resume a game or load a saved
  state from the library, the controllers are plugged in again, so the game
  doesn't ask you to connect one. Controllers on other ports still work there too. There is
  no separate plain "Keyboard" choice any more.

Test your controller
  The dashboard's Settings tab (Controller ports) has "Test your controller":
  a controller drawn on screen that lights up as you press buttons and move
  the sticks and triggers. Pick the controller from the list above it. If
  nothing lights up, the controller isn't reaching xemu. Press "Start test"
  first: while it runs, the controller doesn't scroll the page, go back or
  change tabs. Stop it with the button, Esc, or by holding Back + Start for
  2 seconds.

Keys and mouse for each game
  In a game's settings (Library, the wrench on a game), "Own keyboard and
  mouse setup for this game" gives that game its own keys, mouse speed and
  mouse buttons. They are switched on when the game starts and put back when
  it's done. "Set up keys and mouse..." lets you start from a preset by kind
  of game (shooter or action, racing, fighting, sports and platformers),
  xemu's own keys or what you use now, then change any key: click a key and
  press the new one. The presets are starting points, not each game's own
  layout; "Suggested for this game" picks one from the game's name, as a
  guess only.

Achievements (experimental, work in progress)
  Achievements are new and still being worked on: expect rough edges, and
  the pack format may change in later versions.
  Unlock by itself: an achievement can have a trigger, conditions about
  numbers in the running game's memory. The "Address finder" button in the
  Achievements tab helps you find them (look for a value, change it in the
  game, look again). It only reads memory. See docs/achievement-packs.md.
  The dashboard's Achievements tab keeps achievements for each game. The
  original Xbox had none, so nothing is built in: they come from
  achievement packs, small files named after the game's title ID (for
  example 4D530004.json) in the "achievements" folder next to your game
  library. Anyone can write and share one; the format is on the project's
  page (docs/achievement-packs.md). Press "Open the achievements folder" to
  put one there and "Reload" to read it.
  "Browse community packs..." lists packs other people have shared in the
  project's community-packs folder on GitHub and downloads the ones you pick;
  each is size-limited and checked before it is saved. To share yours, see
  community-packs/README.md in the project. The list starts empty.
  Pick a game at the top of the list. Click an achievement to tick it off
  (click again to undo): xemu can't see inside a game, so you do this
  yourself. A pop-up slides in at the lower right when you tick one; switch
  it off in the same tab ("Show a pop-up" tries it). "Add an achievement"
  (with examples, a preview and tips in the window) writes one of your own for the selected game, which you can edit or
  delete. Progress is kept in achievements.json.
  RetroAchievements: the tab can sign in to a RetroAchievements account
  (your password is not saved, only the token they send back).
  RetroAchievements has no original Xbox games yet, so for now this just
  keeps your account ready for when that changes. I didn't find a
  community-made set of Xbox achievements to include either.

Sound and rumble
  Settings > Audio (or the Sound section of the dashboard's Settings
  tab): the output device (headphones, speakers or TV, without changing
  the Windows default) and what happens when xemu is in the background
  (keep playing, quieter or mute). "Rumble strength" (Settings > Input,
  or the dashboard's Settings tab) turns controller vibration down or
  off for every game.

Save states and the hard drive
  A save state (resume points, quick saves, F5-F8) puts the whole Xbox
  back the way it was, hard drive included. Loading one made before you
  installed homebrew, copied files to the Drive tab or restored saves
  would undo those changes, so xemu asks first and lists them, with
  "Start the game without it" to keep the hard drive as it is. Game
  saves made since then in other games would be undone too.

Game save backups
  Drive tab > Game saves > "Back up now" copies the Xbox's saves
  (E:\UDATA and E:\TDATA) to a dated folder on your PC; the Xbox keeps
  running. "Restore" puts a backup back, replacing the saves on the
  Xbox (it asks first; the Xbox pauses and restarts, so save your game
  first). "Open backups folder" shows them in Explorer.

Library filters
  The Filter button next to Favorites and Online narrows the library by
  compatibility rating (Playable or Perfect, has problems, not rated),
  by whether you've played a game and by whether it has a 60 FPS patch.

Setup check
  While the MCPX boot ROM, BIOS or hard disk image is missing or looks
  wrong, Home shows a card listing what to fix, each with a Choose file
  button. Settings tab > Check setup shows the full list any time, and
  the welcome window has a Guided setup button. Restart xemu after
  changing these files.

Patches (custom XBEs, IPS, BPS and Magic Patches)
  Right-click a game > Patches... (or the Patches button in the details
  panel) to manage that game's patches, like running a custom XBE on a
  modded Xbox:
    - Add patch... or Open patch folder and drop files in. Supported:
        .xbe   a replacement default.xbe
        .ips   IPS patch for default.xbe
        .bps   BPS patch for default.xbe (checked against the game
               version it was made for)
        .jmp   Jay's Magic Patch. Each shows whether it works with your
               copy, and its options (e.g. 16:9, 480p, FPS fix) can be
               switched on and off one by one under "Options".
    - Turn each one on or off and change the order (top runs first).
    - Check patches tells you right away if something doesn't apply.
  Enabled patches are applied when you press Play in the library. Your
  disc image is never changed: xemu loads a small patched copy of just the
  default.xbe on top of it (kept in the "patched-discs" folder next to
  xemu.toml). A patched XBE has to fit in the space the original takes on
  the disc; if it doesn't, xemu tells you instead of launching.
  Patches don't apply when loading a disc through Machine > Load Disc.

Download patches (widescreen, 60 FPS, HD)
  xemu can download patches for your games from Jay's Magic Patches
  collection on GitHub (github.com/JayYardley/Xbox-Magic-Patches-by-Jay):
  about 790 patches for 476 games, made by many authors. Games that have
  some show a grey wrench on their tile (green once a patch is on) and
  "Get patches..." in the details panel.
    - In a game's Patches window, click "Download patches".
    - Games > Download Patches gets them for your whole library.
    - "Check for new patches" (or Games > Check for New Patches) looks
      for patches added to the collection since this build (built-in
      list from 2026-09-21).
  xemu checks every patch against your copy of the game and keeps only
  the ones that fit. Downloaded patches start switched off: open Patches
  and turn on the ones you want. Don't combine patches that do the same
  thing (e.g. two widescreen patches), and expect some 720p patches to be
  unstable, as their authors note. "Can't be verified" means the patch
  has no checksum to compare; try it and switch it off if the game
  misbehaves. Patches are the authors' work; xemu only downloads them.

Resume where you left off
  Turn on "Resume where you left off" in Settings > General. Whenever you
  leave a game (close xemu, Exit, Eject, or start another game from the
  library) xemu saves a resume point first, and the game gets a blue
  "Resume" button above Play in the library. Resume points are normal
  snapshots named "Resume MS-064" etc. (Settings > Snapshots), so they
  need a .qcow2 hard disk image, like all xemu snapshots. Leaving a game
  takes a moment longer while the resume point is saved.
  Resume with the same BIOS you saved with: a resume point restores the
  console exactly as it was, so loading it under a different BIOS can
  crash the game. xemu warns you if the BIOS has changed.

Discord status
  While xemu runs, your Discord profile shows what you're playing: the
  game's name, title ID and how long you've been playing, with its cover
  (when xemu's game database has one) and a badge for games that play
  online with Insignia. Without a game it shows "Browsing the game
  library" or "In the Xbox dashboard". The Discord app needs to be
  running on the same PC. Turn it off in Settings > General > Discord
  status. Your Discord profile only shows it if "Share your activity"
  is on in Discord's Activity Privacy settings.

Desktop shortcuts
  Right-click a game > Create desktop shortcut. The shortcut starts xemu
  straight into that game (it also works in Steam, Playnite and other
  launchers). Per-game settings apply; patches only apply when playing
  from the library.

Screenshots
  Screenshots (F12) now include the game's title ID in the file name, and
  the details panel shows that game's latest screenshots. Click one to
  open it, or "Open folder" for all of them.

Library data (folders, added and hidden games, favorites, play time,
per-game settings, patch order) is in library.json next to xemu.toml.
Downloaded covers are in library-cache, preview videos in previews.


3. Performance and stability
---------------------------
- Performance overlay: press F9 (or View > Performance Overlay) for FPS,
  frame time, renderer, resolution scale and upscaling filter.
- Performance capture: Shift+F9 (or Debug > Performance Capture, or
  the dashboard's Settings tab) records what the emulated graphics chip
  does each frame while you play a slow or glitchy part. Press Shift+F12
  the moment a glitch shows (it also takes a screenshot); Shift+F9 again
  stops. You get a frame-time graph, what was different in the slow
  frames (new shaders, images read back from the GPU, GPU waits,
  occlusion queries, uploads, busier scenes, or nothing graphical, which
  points at the emulated CPU), what was unusual around each glitch mark,
  and settings to try. Saved in the "captures" folder next to xemu.toml:
  report.txt, frames.csv and trace.json (open it at ui.perfetto.dev).
  "Copy report" puts the text on the clipboard. Things that only happen
  alongside the real cause are marked as such. Each finding explains
  how it was worked out, with the numbers. Gradual slowdowns (every
  frame a bit heavier) are found by comparing the frame rate second by
  second with each counter.
- Voice commands (Performance Capture window, experimental, off by
  default): say "Performance capture start" (records until you say
  stop), "Performance capture stop" or "Performance capture mark" (a
  glitch mark). Uses Windows speech recognition on your PC; nothing is
  sent anywhere, and the microphone is only listened to while it's on
  (a small microphone icon shows in the top right). The commands are in
  English; Windows needs an English speech recognizer.
- Save picture (Performance Capture window): writes summary.png with
  the frame-time graph and main findings, for posting.
- Dynamic resolution (experimental, off by default): Settings tab under
  Internal resolution, or Settings > Display. While a game runs below
  its usual 60 or 30 fps, the resolution drops one step; after 15
  smooth seconds it goes back up, never above your setting. If dropping
  doesn't help, it's undone and not retried for a minute. A short note
  in the lower left says when it changes; your saved setting is kept.
  Each change briefly pauses the picture.
- "Preparing shaders" indicator: small text in the lower-left corner
  while a game builds shaders; it fades out when they're done. Turn it
  off in Settings or View > Shader Indicator.
- OpenGL shader cache: saved shaders are now used even after a crash or
  forced close (before, they were only reused from a list written when
  xemu closed normally).
- Shader cache per game: right-click a game > Clear shader cache (or
  its Game settings) deletes that game's saved shaders and the Vulkan
  pipeline cache. Try it if a game hangs or draws wrong after a crash.
  Settings tab > Clear all shader caches clears every game's. Restart
  xemu after clearing.
- Vulkan shader cache: the Vulkan renderer now saves compiled shaders
  and pipelines to disk (like the OpenGL renderer already did), so games
  stutter less the second time you play them. Uses "Cache shaders to
  disk" in Settings > General (on by default).
- If Vulkan refuses to create a texture, xemu now keeps running with a
  placeholder for that texture instead of crashing.
- Larger CPU code cache: the emulated CPU keeps 4x as many recently run
  code blocks ready, so it falls back to slower lookups less often.
- Windows power throttling ("efficiency mode") is turned off for xemu,
  which keeps it on full-speed CPU cores, especially on laptops.
- High priority emulation: the emulated CPU, GPU and audio threads run
  at a higher priority than other programs (browser, Discord, recording
  software), so those can't steal time from the game. This reduces
  stutters and audio crackles when other things are running. The
  frame-timing thread runs at the highest priority for steadier frame
  pacing. Turn it off in Settings > General > Performance if you ever
  need to (takes effect after a restart).
- Built with the same optimizations as the official release.


4. Frame generation (optional, done by your graphics driver)
--------------------------------------------------------------
xemu can't generate frames itself in good quality (Xbox games don't
provide motion vectors), but driver features can be applied to it:
  - NVIDIA: Smooth Motion in the NVIDIA app (RTX 40/50 series).
  - AMD: Fluid Motion Frames 2 in Adrenalin (RX 6000/7000 series and
    Radeon 700M/800M). Needs fullscreen or borderless and V-Sync off.
  - Any GPU: the Lossless Scaling app.
Frame generation adds some input lag and works best on games that hold
a steady 30 or 60 FPS.


Third-party notices
-------------------
NVIDIA Image Scaling SDK v1.0.3: Copyright (c) 2022 NVIDIA CORPORATION &
AFFILIATES, MIT license (full text in ui/xui/gl-helpers.cc of the source).
AMD FidelityFX FSR 1.0: Copyright (c) AMD, MIT license.
Snapdragon Game Super Resolution 1: Copyright (c) Qualcomm, BSD-3-Clause.
miniz (unpacking store downloads and updates): Copyright 2013-2014
RAD Game Tools and Valve Software, Copyright 2010-2014 Rich Geldreich
and Tenacious Software LLC, MIT license.
libfatx (Xbox hard drive explorer): Copyright (C) 2015 Matt Borgerson,
GPL v2, https://github.com/mborgerson/fatx. Its basename() helper:
  Copyright (c) 1997 Todd C. Miller <Todd.Miller@courtesan.com>. All rights
  reserved. Redistribution and use in source and binary forms, with or
  without modification, are permitted provided that the following
  conditions are met: 1. Redistributions of source code must retain the
  above copyright notice, this list of conditions and the following
  disclaimer. 2. Redistributions in binary form must reproduce the above
  copyright notice, this list of conditions and the following disclaimer
  in the documentation and/or other materials provided with the
  distribution. 3. The name of the author may not be used to endorse or
  promote products derived from this software without specific prior
  written permission. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS
  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  POSSIBILITY OF SUCH DAMAGE.
