Index: libdrm-2.4.107/include/drm/drm.h =================================================================== --- libdrm-2.4.107.orig/include/drm/drm.h +++ libdrm-2.4.107/include/drm/drm.h @@ -42,6 +42,22 @@ #include typedef unsigned int drm_handle_t; +#elif defined(__GNU__) + +#include +#include +#include +typedef __int8_t __s8; +typedef __uint8_t __u8; +typedef __int16_t __s16; +typedef __uint16_t __u16; +typedef __int32_t __s32; +typedef __uint32_t __u32; +typedef __int64_t __s64; +typedef __uint64_t __u64; +typedef size_t __kernel_size_t; +typedef unsigned int drm_handle_t; + #else /* One of the BSDs */ #include Index: libdrm-2.4.107/xf86drm.h =================================================================== --- libdrm-2.4.107.orig/xf86drm.h +++ libdrm-2.4.107/xf86drm.h @@ -58,8 +58,14 @@ extern "C" { #else /* One of the *BSDs */ +#if defined(__GNU__) +#include +#include +#define DRM_IOCTL_NR(n) _IOC_COMMAND(n) +#else #include #define DRM_IOCTL_NR(n) ((n) & 0xff) +#endif #define DRM_IOC_VOID IOC_VOID #define DRM_IOC_READ IOC_OUT #define DRM_IOC_WRITE IOC_IN