Configuration

You can configure several aspects of how PICO-8 runs by editing a file called `config.txt`. The location of this file depends on which operating system you use.

* Windows: `C:/Users/Yourname/AppData/Roaming/pico-8/config.txt`
* Mac OS X: `/Users/Yourname/Library/Application Support/pico-8/config.txt`
* Linux: `~/.lexaloffle/pico-8/config.txt`

The file includes comments about the various options. If a line begins with `//` then it is treated as a comment line.

**Note:** PICO-8 overwrites the `config.txt` file each time you exit the app. If you open PICO-8, edit the config file, then exit (or restart) PICO-8, you will lose your changes. Close PICO-8 before editing `config.txt`.
Settings may be changed during runtime using the `config` command.

For information on configuring game controllers, see Controllers.

See also Running PICO-8.

## Video settings

`video_mode width height bitdepth`
Sets the width, height, and bit depth. For PICO-8, width and height adjust the window size (when not in full screen mode) and the PICO-8 display is a square of the smaller dimension, centered. Bit depth is ignored.
`show_fps n`
If n is 1, displays the current frame rate in the corner of the screen. The default is 0 (no display).
## Window settings

`windowed n`
If n is 1, PICO-8 starts up in windowed mode. Set to 0 to start up in full screen mode.
`window_position x y`
The initial position of the window, or -1 -1 to use the window manager default.
`frameless n`
If n is 1, try to use a window with no frame.
`fullscreen_method n`
0 = "safe", 1 = borderless desktop-sized window, 2 = OS full screen
## System settings

`frame_sleep_ms n`
An amount of time to sleep each frame, in milliseconds.
`sessions n`
The number of times PICO-8 has been run. PICO-8 updates this value automatically.
`rmb_key n`
The scan code for a key that you can hold down while left-clicking the mouse to simulate right clicking. Good for laptops with one-button trackpads, like MacBooks. 224 is left Control, 226 is left Alt, 0 is none.
## Audio settings

`sound_volume n`
The sound effects volume, 0 to 256.
`music_volume n`
The music volume, 0 to 256.
`mix_buffer_size n`
The memory size of the audio mixing buffer. 1024 or 2048.
## Other settings

`version n`
The version of PICO-8 that is installed. PICO-8 manages this value.
`root_path path`
The filesystem path of the PICO-8 cartridge folder. This is the location of the files you can access from the command prompt.
`cdata_path path`
The filesystem path of where PICO-8 stores persistent cartridge data.
`joystick_index n`
"Specify which player index joystick control begins at (0..7)"
`button_keys p1_0 p1_1 p1_2 p1_3 p1_4 p1_5 p2_0 p2_1 p2_2 p2_3 p2_4 p2_5`
Scan codes for the player 1 and player 2 controller keys on the keyboard. 0 uses the built-in default. The keyconfig command updates this line.
`live_notes n`
If n is 1, the sound editor's frequency mode plays the note as it is being adjusted. The default is 0 (no sound).
`aspect n`
Sets the aspect ratio of the display. 420 is 1:1 (square, the default), 560 is 4:3, 525 is 5:4. Wider aspect ratios stretch the pixels. You may need to adjust `video_mode`.
`cursor_snap n`
If n is 1, the keyboard-driven cursor snaps to the closest pixel or map cel. *(TK: how to move the cursor with the keyboard?)*
`gif_len n`
Set the maximum movie recording length to n seconds. If not set, the default is 8 seconds. PICO-8 is always recording so that you can save a video at any time, so larger values of n use more memory. (Press F8 to clear the video recording buffer. Press F9 to save the previous n seconds of video to a file as an animated GIF.)
`tab_width n`
Set the width of tab characters in the code editor.