1*7688df22SAndroid Build Coastguard Worker=================== 2*7688df22SAndroid Build Coastguard WorkerdrmModeGetResources 3*7688df22SAndroid Build Coastguard Worker=================== 4*7688df22SAndroid Build Coastguard Worker 5*7688df22SAndroid Build Coastguard Worker-------------------------------------------------- 6*7688df22SAndroid Build Coastguard Workerretrieve current display configuration information 7*7688df22SAndroid Build Coastguard Worker-------------------------------------------------- 8*7688df22SAndroid Build Coastguard Worker 9*7688df22SAndroid Build Coastguard Worker:Date: September 2012 10*7688df22SAndroid Build Coastguard Worker:Manual section: 3 11*7688df22SAndroid Build Coastguard Worker:Manual group: Direct Rendering Manager 12*7688df22SAndroid Build Coastguard Worker 13*7688df22SAndroid Build Coastguard WorkerSynopsis 14*7688df22SAndroid Build Coastguard Worker======== 15*7688df22SAndroid Build Coastguard Worker 16*7688df22SAndroid Build Coastguard Worker``#include <xf86drm.h>`` 17*7688df22SAndroid Build Coastguard Worker 18*7688df22SAndroid Build Coastguard Worker``#include <xf86drmMode.h>`` 19*7688df22SAndroid Build Coastguard Worker 20*7688df22SAndroid Build Coastguard Worker``drmModeResPtr drmModeGetResources(int fd);`` 21*7688df22SAndroid Build Coastguard Worker 22*7688df22SAndroid Build Coastguard WorkerDescription 23*7688df22SAndroid Build Coastguard Worker=========== 24*7688df22SAndroid Build Coastguard Worker 25*7688df22SAndroid Build Coastguard Worker``drmModeGetResources`` allocates, populates, and returns a drmModeRes 26*7688df22SAndroid Build Coastguard Workerstructure containing information about the current display 27*7688df22SAndroid Build Coastguard Workerconfiguration. The structure contains the following fields: 28*7688df22SAndroid Build Coastguard Worker 29*7688df22SAndroid Build Coastguard Worker:: 30*7688df22SAndroid Build Coastguard Worker 31*7688df22SAndroid Build Coastguard Worker typedef struct _drmModeRes { 32*7688df22SAndroid Build Coastguard Worker int count_fbs; 33*7688df22SAndroid Build Coastguard Worker uint32_t *fbs; 34*7688df22SAndroid Build Coastguard Worker 35*7688df22SAndroid Build Coastguard Worker int count_crtcs; 36*7688df22SAndroid Build Coastguard Worker uint32_t *crtcs; 37*7688df22SAndroid Build Coastguard Worker 38*7688df22SAndroid Build Coastguard Worker int count_connectors; 39*7688df22SAndroid Build Coastguard Worker uint32_t *connectors; 40*7688df22SAndroid Build Coastguard Worker 41*7688df22SAndroid Build Coastguard Worker int count_encoders; 42*7688df22SAndroid Build Coastguard Worker uint32_t *encoders; 43*7688df22SAndroid Build Coastguard Worker 44*7688df22SAndroid Build Coastguard Worker uint32_t min_width, max_width; 45*7688df22SAndroid Build Coastguard Worker uint32_t min_height, max_height; 46*7688df22SAndroid Build Coastguard Worker } drmModeRes, *drmModeResPtr; 47*7688df22SAndroid Build Coastguard Worker 48*7688df22SAndroid Build Coastguard WorkerThe *count_fbs* and *fbs* fields indicate the number of currently allocated 49*7688df22SAndroid Build Coastguard Workerframebuffer objects (i.e., objects that can be attached to a given CRTC 50*7688df22SAndroid Build Coastguard Workeror sprite for display). 51*7688df22SAndroid Build Coastguard Worker 52*7688df22SAndroid Build Coastguard WorkerThe *count_crtcs* and *crtcs* fields list the available CRTCs in the 53*7688df22SAndroid Build Coastguard Workerconfiguration. A CRTC is simply an object that can scan out a 54*7688df22SAndroid Build Coastguard Workerframebuffer to a display sink, and contains mode timing and relative 55*7688df22SAndroid Build Coastguard Workerposition information. CRTCs drive encoders, which are responsible for 56*7688df22SAndroid Build Coastguard Workerconverting the pixel stream into a specific display protocol (e.g., MIPI 57*7688df22SAndroid Build Coastguard Workeror HDMI). 58*7688df22SAndroid Build Coastguard Worker 59*7688df22SAndroid Build Coastguard WorkerThe *count_connectors* and *connectors* fields list the available physical 60*7688df22SAndroid Build Coastguard Workerconnectors on the system. Note that some of these may not be exposed 61*7688df22SAndroid Build Coastguard Workerfrom the chassis (e.g., LVDS or eDP). Connectors are attached to 62*7688df22SAndroid Build Coastguard Workerencoders and contain information about the attached display sink (e.g., 63*7688df22SAndroid Build Coastguard Workerwidth and height in mm, subpixel ordering, and various other 64*7688df22SAndroid Build Coastguard Workerproperties). 65*7688df22SAndroid Build Coastguard Worker 66*7688df22SAndroid Build Coastguard WorkerThe *count_encoders* and *encoders* fields list the available encoders on 67*7688df22SAndroid Build Coastguard Workerthe device. Each encoder may be associated with a CRTC, and may be used 68*7688df22SAndroid Build Coastguard Workerto drive a particular encoder. 69*7688df22SAndroid Build Coastguard Worker 70*7688df22SAndroid Build Coastguard WorkerThe *min_\** and *max_\** fields indicate the maximum size of a framebuffer 71*7688df22SAndroid Build Coastguard Workerfor this device (i.e., the scanout size limit). 72*7688df22SAndroid Build Coastguard Worker 73*7688df22SAndroid Build Coastguard WorkerReturn Value 74*7688df22SAndroid Build Coastguard Worker============ 75*7688df22SAndroid Build Coastguard Worker 76*7688df22SAndroid Build Coastguard Worker``drmModeGetResources`` returns a drmModeRes structure pointer on 77*7688df22SAndroid Build Coastguard Workersuccess, NULL on failure. The returned structure must be freed with 78*7688df22SAndroid Build Coastguard Worker**drmModeFreeResources**\ (3). 79*7688df22SAndroid Build Coastguard Worker 80*7688df22SAndroid Build Coastguard WorkerReporting Bugs 81*7688df22SAndroid Build Coastguard Worker============== 82*7688df22SAndroid Build Coastguard Worker 83*7688df22SAndroid Build Coastguard WorkerBugs in this function should be reported to 84*7688df22SAndroid Build Coastguard Workerhttps://gitlab.freedesktop.org/mesa/drm/-/issues 85*7688df22SAndroid Build Coastguard Worker 86*7688df22SAndroid Build Coastguard WorkerSee Also 87*7688df22SAndroid Build Coastguard Worker======== 88*7688df22SAndroid Build Coastguard Worker 89*7688df22SAndroid Build Coastguard Worker**drm**\ (7), **drm-kms**\ (7), **drmModeGetFB**\ (3), **drmModeAddFB**\ (3), 90*7688df22SAndroid Build Coastguard Worker**drmModeAddFB2**\ (3), **drmModeRmFB**\ (3), **drmModeDirtyFB**\ (3), 91*7688df22SAndroid Build Coastguard Worker**drmModeGetCrtc**\ (3), **drmModeSetCrtc** (3), **drmModeGetEncoder** (3), 92*7688df22SAndroid Build Coastguard Worker**drmModeGetConnector**\ (3) 93