diff --git a/xf86drm.c b/xf86drm.c index e23a51fc..5e029694 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -64,6 +64,16 @@ #include "xf86drm.h" #include "libdrm_macros.h" +#ifdef __OpenBSD__ +#define DRM_PRIMARY_MINOR_NAME "drm" +#define DRM_CONTROL_MINOR_NAME "drmC" +#define DRM_RENDER_MINOR_NAME "drmR" +#else +#define DRM_PRIMARY_MINOR_NAME "card" +#define DRM_CONTROL_MINOR_NAME "controlD" +#define DRM_RENDER_MINOR_NAME "renderD" +#endif + #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) #define DRM_MAJOR 145 #endif @@ -525,11 +535,11 @@ static const char *drmGetMinorName(int type) { switch (type) { case DRM_NODE_PRIMARY: - return "card"; + return DRM_PRIMARY_MINOR_NAME; case DRM_NODE_CONTROL: - return "controlD"; + return DRM_CONTROL_MINOR_NAME; case DRM_NODE_RENDER: - return "renderD"; + return DRM_RENDER_MINOR_NAME; default: return NULL; } diff --git a/xf86drm.h b/xf86drm.h index 40c55c92..e3a19dc0 100644 --- a/xf86drm.h +++ b/xf86drm.h @@ -76,11 +76,18 @@ extern "C" { (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) #define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP) +#ifdef __OpenBSD__ +#define DRM_DIR_NAME "/dev" +#define DRM_DEV_NAME "%s/drm%d" +#define DRM_CONTROL_DEV_NAME "%s/drmC%d" +#define DRM_RENDER_DEV_NAME "%s/drmR%d" +#else #define DRM_DIR_NAME "/dev/dri" #define DRM_DEV_NAME "%s/card%d" #define DRM_CONTROL_DEV_NAME "%s/controlD%d" #define DRM_RENDER_DEV_NAME "%s/renderD%d" #define DRM_PROC_NAME "/proc/dri/" /* For backward Linux compatibility */ +#endif #define DRM_ERR_NO_DEVICE (-1001) #define DRM_ERR_NO_ACCESS (-1002)