GEMRB(6)
๐ NAME ๐
heyyy bestie, welcome to GEMRB(6) โ that's the Games Manual section, we're fancy like that ๐
โ and GemRB is a reimplementation of the Infinity Engine. no cap, that's the whole name. โจ
๐ฆ SYNOPSIS ๐ฆ
gemrb [-q] [-c CONFIG-FILE]
gemrb PATH-TO-GAME
torment
๐ DESCRIPTION ๐
okay so GemRB is a portable open-source implementation of Bioware's Infinity Engine, and it runs fine RPGs like Baldur's Gate, Icewind Dale and Planescape: Torment. it's giving "the classics, but make it run everywhere". ๐ฅ
here's the thing though, and I need you to hear me on this: GemRB reimplements only the game engine. to actually play anything, you have to have the data from the original game(s), installed or unpackaged where GemRB can find it. ๐ซถ see the GamePath and CDn settings in the engine configuration file below. a full install is recommended. โจ
๐ OPTIONS ๐
-qโ disables audio completely, regardless of supported audio plugins. total silence era ๐-fโ start in full screen. try this if the game window suffers from bad aspect ratio. otherwise just switch to your preference in the game's video options, live your truth ๐-c FILEโ use the specified configuration file FILE instead of the defaultgemrb.cfg.--colorOPTIONโ set the ANSI color option for terminal logging.-1(the default) will attempt to automatically set this according to the terminal environment.0will disable color output,1will set it to the basic 8 color palette, and2will use full 24bit color codes. ๐
Note: you can also use the program's name as a mean to select the configuration file. for example, if the program's name istormentinstead ofgemrb, the engine first searches fortorment.cfgand only if it's not found it searches forgemrb.cfg.
to use this feature, just create a symbolic link torment pointing to the gemrb binary and then run torment instead. iconic behavior, honestly. โจ
๐ธ CONFIGURATION ๐ธ
a configuration file consists of pairs PARAMETER=VALUE, each on its own line. the case of PARAMETER is not significant โ GameType is the same as GAMETYPE, they're twins fr fr. if the same PARAMETER is defined more than once, only the last occurrence is used. last one wins, main character energy ๐
empty lines and lines starting with # (hash sign) are ignored. they simply do not exist to us ๐ง
at least the GamePath parameter needs to be changed. that is often enough, so do not fiddle with the other paths too much. ๐
โญ General Parameters โญ
GameType=(auto|bg1|bg2|iwd|iwd2|how|pst)โ type of the game. the value is a name of subdirectory inoverride/andGUIScripts/directories with game type-specific files and scripts. it is at present also used for various tweaks hardcoded in the GemRB engine. to autodetect the game type, use the default"auto".GameName=STRINGโ arbitrary name of the game. it will be displayed in the window's title bar. your game, your name, your branding ๐Encoding=(default|japanese|korean|chinese)โ specify language used in the game data.GUIEnhancements=INTโ the value is a bitfield. set it to1to enable a few GUI enhancements, mostly in BG2. add or set to2to try to autoidentify items on transfer (if the character has enough lore). add or set4if you want to skip the item description window when opening bags. add or set16if you want scrolls for spells the pc does not know yet highlighted. enabled by default. add or set8if you want the game to stop mouse scrolling the area at its edges when the window loses focus. bitfield girlies rise up โจMultipleQuickSaves=(0|1)โ EXPERIMENTAL. set this to1if you want GemRB to keep multiple quicksaves around. disabled by default.MaxPartySize=INTโ set this to1-10if you want more party members or enforce fewer.6by default. NOTE: for bigger parties you need to choose a big enough resolution, so there will be enough room for all the party portraits! no space for that in PST or IWD2. the10ppmod is required to fix various game scripts, so the extra party members don't get stuck in cutscenes. ๐ญLogging=(0|1)โ by default (set to1) logging is enabled and several loggers are used depending on the plaftorm. use0to disable all logging, which can help in performance critical settings. quiet mode era ๐คซ
๐ฌ Video Parameters ๐ฌ
Width=INTโ game window width (in pixels). this can be arbitrary, but results depend on the game data. check the website for a detailed explanation of resolution modes.Height=INTโ game window height (in pixels).Bpp=INTโ color depth of the game window (in bits per pixel).ScaleQuality=(best|linear|nearest)โ use the specified quality for the texture scaling filter. the default isbest. slay, crispy pixels โจCapFPS=(-1|0|n)โ set FPS handling:-1: no limit0: VSync (SDL2), 30 (SDL1)n: cap to n FPS
SkipIntroVideos=(0|1)โ if set to1, the intro and logo videos are skipped to save developer's nerves. the default is0. we've all seen them, bestie ๐GCDebug=(0|2047)โ bitfield with reserved bits for drawing Map debug layers.- No Debugging features =
0(default) DEBUG_SHOW_INFOPOINTS=1DEBUG_SHOW_CONTAINERS=2DEBUG_SHOW_DOORS=4DEBUG_SHOW_DOORS_SECRET=8DEBUG_SHOW_DOORS_DISABLED=16DEBUG_SHOW_DOORS_ALL=28DEBUG_SHOW_LIGHTMAP=32DEBUG_SHOW_WALLS=64DEBUG_SHOW_WALLS_ANIM_COVER=128DEBUG_SHOW_WALLS_ALL=192DEBUG_SHOW_SEARCHMAP=256DEBUG_SHOW_FOG_UNEXPLORED=512DEBUG_SHOW_FOG_INVISIBLE=1024DEBUG_SHOW_FOG_ALL=1536
- No Debugging features =
๐ Audio Parameters ๐
AudioDriver=(openal|sdlaudio|none)โ use the specified plugin as the audio driver. the default isopenal, whilenonewill disable all audio. (and yeah, that's the same energy as-qup there ๐)
๐บ๏ธ Path parameters ๐บ๏ธ
CaseSensitive=(0|1)โ when this parameter is set to1, the engine will try to find files regardless of their names' case at the cost of a slight speed penalty. this is especially important when using game files on CD-ROMs, where the files can't be renamed. like many Windows programs, the original games use inconsistent mix of lower/upper case letters for naming and referencing their files.
Set this parameter to 1 on Unix-like systems. fr, do it.
GamePath=PATHโ path to the directory where the original game is installed. if you can't install the game under MS Windows or with WINE, you can try to unpack the data files with theunshieldprogram found athttp://synce.sourceforge.net.CD1=PATHCD2=PATHCDn=...โ path to the data files for the game's particular CDs or any other data sources.CachePath=PATHโ user-writable directory where the engine caches uncompressed and temporary files. defaults to a subdirectory of the current directory.GemRBPath=PATHโ path to the GemRB installation. (to be obsoleted; preset at build time).GUIScriptsPath=PATHโ path to the directory with scripts controlling the game's GUI. (to be obsoleted; preset at build time).GemRBOverridePath=PATHโ path where GemRB looks for its game override directory. it defaults toGemRBPath. GemRB reuses some of the unused files from the original or replaces them and this is the where they can be found. the path is preset at build time. this directory has the highest priority when searching, so putting files in the game override will not affect them. use another directory and add it asModPathto the GemRB config. ๐ top of the hierarchy, she's the main characterGemRBUnhardcodedPath=PATHโ path where GemRB looks for its unhardcoded engine data. it defaults toGemRBPath. the original games hardcoded this information in the engine. the path is preset at build time.
the following variables do not need to be altered, unless you are doing something really special! and honestly if you're doing something really special, we love that for you ๐ซถ
SavePath=PATHโ path to the directory with save games. note that this directory has to containsave/and/or eventuallympsave/subdirectories and that only these subdirectories contain the actual saved games.
SavePath defaults to GamePath.
GameDataPath=PATHโ path to the original game's installed data files, relative toGamePath. usually it'sdata.GameOverridePath=PATHโ path to the original game's override dir, relative toGamePath. usually it'soverride. original games use this directory to place last-minute patches.GameCharactersPath=PATHโ path to the original game's installed data files, relative toGamePath. usually it'scharacters.GamePortraitsPath=PATHโ path to the original game's installed data files, relative toGamePath. usually it'sportraits.GameScriptsPath=PATHโ path to the original game's installed data files, relative toGamePath. usually it'sscripts.GameSoundsPath=PATHโ path to the original game's installed data files, relative toGamePath. usually it'ssounds.GameLanguagePath=PATHโ path to the original game's installed data files, relative toGamePath. by default, it islang/en_US.GameMoviesPath=PATHโ path to the original game's installed data files, relative toGamePath. usually it'smovies.ModPath=PATHโ path where GemRB looks for additional engine override files. it is not set by default. this directory has precedence overGemRBOverridePath. ๐CustomFontPath=PATHโ path where GemRB looks for additional font files. it is meant to be used with the TTF font plugin andfonts.2daas a way to specify where to look for system or other external fonts. check the online documentation for the details. it is not set by default.
๐ Input Parameters: ๐
The ones that govern how your mouse, keyboard and lil fingies talk to the engine โจ
DoubleClickDelay=INTโ the millisecond threshold for spotting a double click. Default is250. Click faster than this and the game knows you mean business ๐RepeatKeyDelay=INTโ millisecond threshold for detecting a repeated key press. Default is250.UseSoftKeyboard=(0|1)โ toggles use of the software keyboard on devices that support one. It pops up when text input is required. Disabled by default ๐ซถNumFingScroll=(2|3|4)โ how many fingers multitouch needs to trigger scrolling. Default is2.NumFingKboard=(2|3|4)โ how many fingers multitouch needs to open up the software keyboard. Default is3. โ ๏ธ Heads up bestie: this value should not be equal toNumFingScrollabove, or you're gonna have a bad time ๐ญNumFingInfo=(2|3|4)โ how many fingers multitouch needs to emulate a special keypress (alt,tab). Default is2.NumFingInfo-adjacent chaos aside: yeah, the multitouch numbers all need to play nice with each other. iykyk.MouseFeedback=(0-3)โ bitfield with reserved bits for disabling the mouse. It's giving โจ options โจ:- Show mouse+tooltips =
0(default) - Hide mouse =
1 - Hide tooltips =
2 - Hide mouse+tooltips =
3
- Show mouse+tooltips =
TouchInput=(0-1)โ override setting for when autodetection does not have satisfactory results ๐- Autodetect =
-1(default) - Force disable =
0 - Enable =
1
- Autodetect =
๐ง Development parameters: ๐ง
These are for the devs, bestie. Seriously. If you don't know what you're doing, back away slowly ๐
EnableCheatKeys=(0|1)โ this parameter is meant for developers. If set to1, certain keys allow you to inspect the internal state of objects, do forbidden things, etc. The keys are listed in theCheatKeys.txtfile. Do NOT use this option unless you want to make your hands dirty :-). The default is0. Not me telling you it's literally called "cheat keys" and you're still gonna try it ๐DrawFPS=(0|1)โ this parameter is meant for developers. If set to1, the current FPS (Frames per Second) value is drawn in the top left window corner. The default is0. Frames per second, but make it a vibe check ๐DebugMode=(n)โ this parameter is meant for developers. It is a combination of bit values:- count references,
- display cutscene warnings,
- display variable warnings,
- display action warnings,
- display trigger warnings,
- enable views debug mode,
- enable window debug mode,
- enable font debug mode,
- enable text debug mode.
- enable pathfinding debug mode.
The default is 0.
DelayPlugin=FILENAMEโ named plugin will be loaded after other (nondelayed) plugins were loaded.FILENAMEis a name without path, but with extension, for examplelibNullSound.soorlibNullSound.dll. You can use this parameter more than once โจSkipPlugin=FILENAMEโ named plugin will not be loaded.FILENAMEis a name without path, but with extension, for examplelibNullSound.soorlibNullSound.dll. You can use this parameter more than once. (Yes, the twin ofDelayPlugin. They're siblings ๐)SaveAsOriginal=(0|1)โ set this parameter to1if you want to keep the save game compatible with the original engine. It is enabled by default.KeepCache=(0|1)โ set this parameter to1if you want to keep the cache after exiting GemRB. It is disabled by default.GamepadPointerSpeed=INTโ pointer movement speed with gamepads. The default is10. ๐ฎVitaKeepAspectRatio=(0|1)โ if set to1, original aspect ratio is preserved while game area is scaled to native PS Vita resolution. It is enabled by default. PS Vita girlies, this one's for you ๐ฆUseAsLibrary=INTโ if set to non-zero, disables some engine features to facilitate independent use of GemRB libraries. The default is0.
๐ FILES ๐
The places on your system where all the magic lives ๐
/etc/gemrb/gemrb.cfgโ system-wide configuration file./usr/share/gemrb/unhardcoded/โ directory with GemRB-distributed data files. These used to be hardcoded in the original engine. The files are sorted into directories for specific games./usr/share/gemrb/override/โ directory with GemRB-distributed data files. These files override their namesakes in the original data. ๐ (override, the way that you just show up and replace your namesake, iconic)/usr/share/gemrb/GUIScripts/โ directory with Python scripts providing GUI setup and interaction. The files are sorted into directories for specific games.$XDG_CONFIG_HOME/gemrb/โ user's own configuration files. ๐
๐ BUGS ๐
Many. GemRB is still in development stage and not complete. No cap, that's a direct quote from the source and we respect the honesty fr fr ๐ญ
If you stumble over something which is supposed to work but doesn't, file an issue at https://github.com/gemrb/gemrb or first visit the official IRC channel #GemRB on the FreeNode IRC network. ๐ซถ
โจ AUTHOR โจ
The GemRB Project development team at https://gemrb.org ๐
๐ COPYING ๐
Copyright (C) 2003-2021 The GemRB Project
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
And that's the whole page, bestie ๐ this was GEMRB(6) from the GemRB Project โ go forth and run your very legally-owned copy of an Infinity Engine game, you absolute main character ๐ธ๐ โจ
๐ฆ where this page comes from
- debian trixie: gemrb 0.9.4+dfsg-1 ยท GPL-2.0-or-later
- ubuntu questing: gemrb 0.9.4+dfsg-1
- ubuntu resolute: gemrb 0.9.4+dfsg-1build2 ยท GPL-2.0-or-later
- ubuntu stonking: gemrb 0.9.4+dfsg-1build2 ยท GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms