libretro.api.environment

Types for interfacing between a Core and libretro.py’s driver implementations.

See also

EnvironmentDriver

The Protocol that defines the layer between Cores and libretro.py’s drivers.

libretro.drivers.environment

libretro.py’s included EnvironmentDriver implementations.

Module Attributes

API_VERSION

The version of the libretro API that this library implements.

retro_environment_t

Dispatch an environment call from the core to the frontend.

Classes

EnvironmentCall

Enumeration of all RETRO_ENVIRONMENT callback identifiers.

class EnvironmentCall[source]

Bases: IntEnum

Enumeration of all RETRO_ENVIRONMENT callback identifiers.

Each member corresponds to a RETRO_ENVIRONMENT_* constant in libretro.h. Passed as the cmd argument to retro_environment_t().

>>> from libretro.api import EnvironmentCall
>>> EnvironmentCall.SHUTDOWN
<EnvironmentCall.SHUTDOWN: 7>
SET_ROTATION = 1
GET_OVERSCAN = 2
GET_CAN_DUPE = 3
SET_MESSAGE = 6
SHUTDOWN = 7
SET_PERFORMANCE_LEVEL = 8
GET_SYSTEM_DIRECTORY = 9
SET_PIXEL_FORMAT = 10
SET_INPUT_DESCRIPTORS = 11
SET_KEYBOARD_CALLBACK = 12
SET_DISK_CONTROL_INTERFACE = 13

See also

DiskDriver

SET_HW_RENDER = 14
SET_HW_RENDER_EXPERIMENTAL = 65550
GET_VARIABLE = 15
SET_VARIABLES = 16
GET_VARIABLE_UPDATE = 17
SET_SUPPORT_NO_GAME = 18
GET_LIBRETRO_PATH = 19
SET_FRAME_TIME_CALLBACK = 21
SET_AUDIO_CALLBACK = 22
GET_RUMBLE_INTERFACE = 23

See also

RumbleDriver

GET_INPUT_DEVICE_CAPABILITIES = 24
GET_SENSOR_INTERFACE = 65561

See also

SensorDriver

GET_CAMERA_INTERFACE = 65562

See also

CameraDriver

GET_LOG_INTERFACE = 27

See also

LogDriver

GET_PERF_INTERFACE = 28

See also

PerfDriver

GET_LOCATION_INTERFACE = 29

See also

LocationDriver

GET_CORE_ASSETS_DIRECTORY = 30
GET_SAVE_DIRECTORY = 31
SET_SYSTEM_AV_INFO = 32
SET_PROC_ADDRESS_CALLBACK = 33
SET_SUBSYSTEM_INFO = 34
SET_CONTROLLER_INFO = 35
SET_MEMORY_MAPS = 65572

See also

retro_memory_map

SET_GEOMETRY = 37
GET_USERNAME = 38
GET_LANGUAGE = 39
GET_CURRENT_SOFTWARE_FRAMEBUFFER = 65576
GET_HW_RENDER_INTERFACE = 65577
SET_SUPPORT_ACHIEVEMENTS = 65578
SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE = 65579
SET_SERIALIZATION_QUIRKS = 44
__new__(value)
classmethod value in self

Return True if value is in cls.

value is in cls if: 1) value is a member of cls, or 2) value is the value of one of the cls’s members. 3) value is a pseudo-member (flags)

classmethod self[name]

Return the member matching name.

__init__()
classmethod iter(self)

Return members in definition order.

classmethod len(self)

Return the number of members (no aliases)

SET_HW_SHARED_CONTEXT = 65580
GET_VFS_INTERFACE = 65581

See also

FileSystemDriver

GET_LED_INTERFACE = 65582

See also

LedDriver

GET_AUDIO_VIDEO_ENABLE = 65583

See also

AvEnableFlags

GET_MIDI_INTERFACE = 65584

See also

MidiDriver

GET_FASTFORWARDING = 65585
GET_TARGET_REFRESH_RATE = 65586
GET_INPUT_BITMASKS = 65587
GET_CORE_OPTIONS_VERSION = 52
SET_CORE_OPTIONS = 53
SET_CORE_OPTIONS_INTL = 54
SET_CORE_OPTIONS_DISPLAY = 55
GET_PREFERRED_HW_RENDER = 56
GET_DISK_CONTROL_INTERFACE_VERSION = 57
SET_DISK_CONTROL_EXT_INTERFACE = 58
GET_MESSAGE_INTERFACE_VERSION = 59
SET_MESSAGE_EXT = 60
GET_INPUT_MAX_USERS = 61
SET_AUDIO_BUFFER_STATUS_CALLBACK = 62
SET_MINIMUM_AUDIO_LATENCY = 63
SET_FASTFORWARDING_OVERRIDE = 64
SET_CONTENT_INFO_OVERRIDE = 65
GET_GAME_INFO_EXT = 66
SET_CORE_OPTIONS_V2 = 67
SET_CORE_OPTIONS_V2_INTL = 68
SET_CORE_OPTIONS_UPDATE_DISPLAY_CALLBACK = 69
SET_VARIABLE = 70
GET_THROTTLE_STATE = 65607
GET_SAVESTATE_CONTEXT = 65608

See also

SavestateContext

GET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE_SUPPORT = 65609
GET_JIT_CAPABLE = 74
GET_MICROPHONE_INTERFACE = 65611

See also

MicrophoneDriver

SET_NETPACKET_INTERFACE = 76
GET_DEVICE_POWER = 65613

See also

PowerDriver

GET_PLAYLIST_DIRECTORY = 79
GET_FILE_BROWSER_START_DIRECTORY = 80
retro_environment_t

Dispatch an environment call from the core to the frontend.

Registered by the frontend and called by the core to perform tasks that don’t have a dedicated entry point in libretro, such as querying frontend capabilities or registering structured data.

Parameters:
  • cmd – One of the EnvironmentCall constants (possibly OR’d with RETRO_ENVIRONMENT_EXPERIMENTAL or RETRO_ENVIRONMENT_PRIVATE).

  • data – A c_void_ptr to the environment-call-specific input or output buffer, or None if the call doesn’t take any data.

Returns:

True if the environment call was recognized and (where applicable) succeeded, False if the frontend doesn’t recognize cmd or rejected the request.

Corresponds to retro_environment_t in libretro.h.

API_VERSION = 1

The version of the libretro API that this library implements.