Index: b/src/VBox/Additions/linux/drm/vbox_drv.h =================================================================== --- a/src/VBox/Additions/linux/drm/vbox_drv.h +++ b/src/VBox/Additions/linux/drm/vbox_drv.h @@ -205,6 +205,13 @@ static inline void drm_gem_object_put(st } #endif +#ifndef TTM_PL_FLAG_SYSTEM +#define TTM_PL_FLAG_SYSTEM (1 << TTM_PL_SYSTEM) +#endif +#ifndef TTM_PL_FLAG_VRAM +#define TTM_PL_FLAG_VRAM (1 << TTM_PL_VRAM) +#endif + #define DRIVER_AUTHOR VBOX_VENDOR #define DRIVER_NAME "vboxvideo" Index: b/src/VBox/Additions/linux/drm/vbox_ttm.c =================================================================== --- a/src/VBox/Additions/linux/drm/vbox_ttm.c +++ b/src/VBox/Additions/linux/drm/vbox_ttm.c @@ -373,11 +373,23 @@ void vbox_ttm_placement(struct vbox_bo * bo->placement.busy_placement = bo->placements; if (domain & TTM_PL_FLAG_VRAM) +#if RTLNX_VER_MIN(5,10,0) + bo->placements[c].mem_type = TTM_PL_VRAM; + PLACEMENT_FLAGS(bo->placements[c++]) = + TTM_PL_FLAG_WC | TTM_PL_FLAG_UNCACHED; +#else PLACEMENT_FLAGS(bo->placements[c++]) = TTM_PL_FLAG_WC | TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_VRAM; +#endif if (domain & TTM_PL_FLAG_SYSTEM) +#if RTLNX_VER_MIN(5,10,0) + bo->placements[c].mem_type = TTM_PL_SYSTEM; + PLACEMENT_FLAGS(bo->placements[c++]) = + TTM_PL_MASK_CACHING; +#else PLACEMENT_FLAGS(bo->placements[c++]) = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM; +#endif if (!c) PLACEMENT_FLAGS(bo->placements[c++]) = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM;