MCPcopy Create free account
hub / github.com/GerbilSoft/rom-properties

github.com/GerbilSoft/rom-properties @v2.8

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.8 ↗ · + Follow
18,570 symbols 47,078 edges 2,159 files 6,161 documented · 33% updated 6d agov2.8 · 2026-06-20★ 63993 open issues

Browse by type

Functions 15,169 Types & classes 3,401
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ROM Properties Page shell extension

This shell extension adds a few nice features to file browsers for managing video game ROM and disc images.

License: GPL v2 AppVeyor Build status

Coverity Scan Build Status Crowdin

CodeQL CodeFactor codecov

no vibes, no bevis

v2.8

rom-properties (rpcli) showing graphics in KDE Konsole using the Kitty protocol.

Major additions in v2.8 include:

  • PlayStation TIM textures.

  • S98 audio files.

  • rpcli supports displaying icons and banners using the Sixel and/or Kitty protocols when using a terminal that supports it.

  • Improvements for Wii U firmware files, amiibo, and Lua bytecode.

  • Numerous improvements for Windows icon handling, including a fix for NT 3.x EXEs that have two 16-color icons, one of which is actually an 8-color icon.

  • Added more ARM NEON optimizations, including linear RGB decoding and Super Magic Drive decoding.

  • Windows-specific changes:

  • Fix fallback icons for files where the registered DefaultIcon has double-quotes, e.g. PowerShell .ps1 scripts.
  • GNU gettext is now built as part of rom-properties, which simplifies upgrades.

  • Lots and lots of tiny bug fixes and improvements.

Translators wanted; if you can translate rom-properties from English to another language, check out the Crowdin project. (If you would like to translate to a language not currently listed on the Crowdin project page, file an issue here on GitHub with the requested language.)

See NEWS.md for a full list of changes in v2.8.

Feedback

This is a work in progress; feedback is encouraged. To leave feedback, you can file an issue on GitHub, or visit the Gens/GS IRC channel: irc://irc.badnik.zone/GensGS

Or use the Mibbit Web IRC client: http://mibbit.com/?server=irc.badnik.zone&channel=#GensGS

Installation

Currently, the ROM Properties Page shell extension is compatible with the following platforms and file browsers: * KDE Frameworks 5.x and 6.x (Dolphin and Konqueror) * XFCE (Thunar) * GNOME 3.x through 42 (Nautilus) * GNOME 43 (Nautilus) * MATE Desktop (1.18+) (Caja) * Cinnamon Desktop (Nemo) * Windows 7 (and later)

The following platforms are still compatible, but may not receive as much support: * KDE 4.x * Windows XP SP3, Windows Server 2003 SP2, Windows Vista * Note that WinInet in older versions of Windows does not support the newer encryption algorithms used by the online database hosts. To work around this, you will need to download an older version of cURL and a certificate bundle. This is available on the Releases page.

On Windows 10 and later, you will need the MSVC 2015-2026 runtime: * i386 (32-bit): https://aka.ms/vs/18/release/VC_redist.x86.exe * amd64 (64-bit): https://aka.ms/vs/18/release/VC_redist.x64.exe * arm32: https://rpdb.gerbilsoft.com/redist/VC_redist.arm.vs2017.exe * arm64: https://aka.ms/vs/18/release/vc_redist.arm64.exe

On Windows Vista, Windows 7, and Windows 8.x, you will need the MSVC 2015-2022 runtime: * i386 (32-bit): https://aka.ms/vs/17/release/VC_redist.x86.exe * amd64 (64-bit): https://aka.ms/vs/17/release/VC_redist.x64.exe * arm32: https://rpdb.gerbilsoft.com/redist/VC_redist.arm.vs2017.exe

On Windows XP/2003 and earlier, you will need the MSVC 2015-2017 runtime: * i386 (32-bit): https://download.visualstudio.microsoft.com/download/pr/100349138/88b50ce70017bf10f2d56d60fcba6ab1/VC_redist.x86.exe * amd64 (64-bit): https://download.visualstudio.microsoft.com/download/pr/100349091/2cd2dba5748dc95950a5c42c2d2d78e4/VC_redist.x64.exe

For instructions on compiling from source, see doc/COMPILING.md.

Linux

Install the relevant .deb package, depending on what desktop environment you are using and what your CPU is.

After installing, the plugin needs to be enabled in the Dolphin file browser: * Close all instances of Dolphin. * Start Dolphin. * Click Control, Configure Dolphin. * Click the "General" section, then the "Preview" tab. * Check the "ROM Properties Page" item, then click OK. * Enable previews in a directory containing a supported file type.

If installed correctly, thumbnails should be generated for the supported file type. You can also right-click a file, select Properties, then click the "ROM Properties" tab to view more information about the ROM image.

Windows

Extract the ZIP archive to a directory, then run install.exe. The installer requires administrator access, so click "Yes" if requested. In the installer, click the "Install" button to register the ROM Properties Page DLL.

Note that this will hard-code the location of the DLL files in the registry, so you may want to place the DLLs in a common location.

To uninstall the plugin, run install.exe again, then click the "Uninstall" button.

Current Desktop Environment Feature Support

  • ✅ = supported
  • ❌ = not implemented (yet)
  • ⛔ = OS or DE does not support this feature
Feature Windows XP Windows Vista/7/8/10/11 KDE GNOME XFCE
Properties tab
XAttrs tab
Thumbnails ✅¹
"Dangerous" overlay ⛔²
Metadata
Columns ⛔³ ⛔²
Context menu⁴
  • 1: GNOME uses sandboxing when it runs thumbnailing software, which may prevent rom-properties from downloading images from online databases.
  • 2: ThunarX's plugin infrastructure does not have any interfaces for adding custom file attributes, such as overlays and metadata, or to display custom columns.
  • 3: KDE has a fixed set of metadata properties and does not have any mechanism to extend it, outside of updates to KFileMetaData.
  • 4: Context menu entry for supported texture formats to convert the texture to PNG.

Current File Support Level

Game Consoles

System Properties Tab Metadata Internal Images External Images
ColecoVision Yes Yes N/A No
Commodore 64/128 .CRT Yes Yes N/A Title
Intellivision Yes Yes N/A No
iQue Player ticket files Yes Yes Icon, Banner No
Microsoft Xbox (XBE) Yes Yes Icon No
Microsoft Xbox 360 (XEX) Yes Yes Icon No
Microsoft Xbox 360 (STFS) Yes Yes Icon No
Microsoft Xbox Game Discs Yes Yes Icon No
NES Yes No N/A Title
Super NES Yes Yes N/A Title
Nintendo 64 Yes Yes N/A No
Nintendo GameCube Discs Yes Yes Banner Disc, Covers
Nintendo GameCube Banners Yes Yes Banner No
Nintendo GameCube Saves Yes Yes Icon N/A
Nintendo Wii Banners Yes Yes No No
Nintendo Wii Discs Yes Yes No Disc, Covers
Nintendo Wii WADs Yes Yes Yes¹ Title, Covers
Nintendo Wii Saves Yes Yes Yes N/A
Nintendo Wii SETTING.TXT Yes No No N/A
Nintendo Wii U (Disc) Yes No No Disc, Covers
Nintendo Wii U (Firmware) Yes No Yes² N/A
Nintendo Wii U (NUS) Yes Yes Icon Disc, Covers
Sega 8-bit (SMS, GG) Yes Yes N/A No
Sega Mega Drive Yes Yes N/A Title
Sega Dreamcast Yes Yes Media No
Sega Dreamcast Saves Yes Yes Icon, Banner No
Sega Saturn Yes Yes N/A No
Sony PlayStation Discs Yes No N/A Covers
Sony PlayStation EXEs Yes No N/A N/A
Sony PlayStation Saves Yes Yes Icon N/A
Sony PlayStation 2 Discs Yes Yes N/A Covers
  • Sega Mega Drive includes Sega CD, 32X, and Pico.
  • 1: Internal images are only present in Wii DLC WADs.
  • 2: Custom icons based on the specific firmware type.

Handhelds

System Properties Tab Metadata Internal Images External Images
Atari Lynx Yes Yes N/A No
Bandai WonderSwan (Color) Yes Yes N/A Title
Google Android Yes Yes Icon N/A
J2ME Yes Yes Icon N/A
Neo Geo Pocket (Color) Yes Yes N/A Title
Nintendo Game Boy (Color) Yes Yes N/A Title
Nintendo Virtual Boy Yes Yes N/A No
Nintendo Game Boy Advance Yes Yes N/A Title
Nintendo DS(i) Yes Yes Icon Covers, Box
Nintendo DSi TADs* Partial No No No
Nintendo 3DS Yes Yes Icon Covers, Box
Palm OS Yes Yes Icon N/A
Pokémon Mini Yes Yes N/A No
Sony PlayStation Portable Yes Yes Icon, Banner No
Tiger game.com Yes Yes Icon No
  • The Nintendo DSi TAD parser supports development TADs that are normally imported using DSi Nmenu. It does not currently support DSi exports from retail systems.
  • The PSP parser supports both PSP game and UMD video discs, as well as several compressed disc formats: CISOv1, CISOv2, ZISO, JISO, and DAX.
  • The Android parser currently retrieves the largest icon available.

Texture Formats

Texture Format Properties Tab Metadata
ASTC container Yes Yes
Godot 3,4 .stex Yes Yes
Leapster Didj .tex Yes Yes
Khronos KTX Yes Yes
Khronos KTX2 Yes Yes
Microsoft DirectDraw DDS Yes Yes
Microsoft Xbox XPR Yes Yes
PowerVR 3.0.0 Yes Yes
Quite OK Image Format Yes Yes
Sega PVR/GVR/SVR Yes Yes
Sony PlayStation TIM Yes
TrueVision TGA Yes Yes
Valve VTF Yes Yes
Valve VTF3 (PS3) Yes Yes
Windows icons/cursors¹ Yes Yes
  • 1: Icon thumbnailing is disabled for ICO, CUR, and EXE files to prevent conflicts with system icon handling.
  • ...with an exception for thumbnailing 16-bit Windows executables on 64-bit Windows by hooking the PrivateExtractIcons() functions.

Texture Codecs

  • Assorted linear RGB formats, including 15-bit, 16-bit, 24-bit and 32-

Core symbols most depended-on inside this repo

Shape

Function 8,769
Method 6,400
Class 3,159
Enum 242

Languages

C++71%
C28%
Python1%

Modules by API surface

extlib/pugixml/src/pugixml.cpp552 symbols
extlib/googletest/googlemock/include/gmock/gmock-matchers.h466 symbols
extlib/googletest/googletest/src/gtest.cc340 symbols
extlib/fmt/include/fmt/chrono.h307 symbols
extlib/fmt/include/fmt/format.h288 symbols
extlib/fmt/include/fmt/base.h287 symbols
extlib/zstd/lib/compress/zstd_compress.c249 symbols
extlib/rapidjson/include/rapidjson/document.h198 symbols
extlib/googletest/googlemock/include/gmock/gmock-actions.h188 symbols
extlib/Detours/src/disasm.cpp186 symbols
extlib/mpark-variant/include/mpark/variant.hpp179 symbols
extlib/zstd/lib/common/xxhash.h141 symbols

For agents

$ claude mcp add rom-properties \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page