<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/optimizing-graphics-memory-bandwidth-with-compression-and-tiling-notes-on-drm-format-modifiers-wk8zxek1g" -->

---
title: Optimizing graphics memory bandwidth with compression...
description: DRM format modifiers solve the problem of communicating non-linear buffer layouts (tiling, compression) across the Linux graphics stack. A 64-bit modifier...
canonical: https://daily.dev/posts/optimizing-graphics-memory-bandwidth-with-compression-and-tiling-notes-on-drm-format-modifiers-wk8zxek1g
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Optimizing graphics memory bandwidth with compression and tiling: Notes on DRM format modifiers | daily.dev
og:description: DRM format modifiers solve the problem of communicating non-linear buffer layouts (tiling, compression) across the Linux graphics stack. A 64-bit modifier...
og:url: https://daily.dev/posts/optimizing-graphics-memory-bandwidth-with-compression-and-tiling-notes-on-drm-format-modifiers-wk8zxek1g
og:image: https://api.daily.dev/og/posts/Wk8ZXEK1G.png
og:image:alt: Optimizing graphics memory bandwidth with compression and tiling: Notes on DRM format modifiers
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Optimizing graphics memory bandwidth with compression and tiling: Notes on DRM format modifiers

**[Collabora Blog](https://daily.dev/sources/collabora)** · 5 min read · 0 upvotes · 0 comments

## Summary

DRM format modifiers solve the problem of communicating non-linear buffer layouts (tiling, compression) across the Linux graphics stack. A 64-bit modifier field was added to DRM's kernel modesetting to carry vendor-specific layout info beyond what FourCC codes alone can express. The work covers plumbing modifier support through GBM, EGL (via the new EGL_EXT_image_dma_buf_import_modifiers extension), Mesa (with Skylake compressed color buffer support), and the Wayland protocol. This enables end-to-end tiled and compressed buffer pipelines, reducing memory bandwidth requirements transparently for users. Limitations include AMDGPU needing 256 bytes per texture for layout metadata, exceeding the 64-bit field, prompting discussion of the Unix Device Memory Allocation project for standardized cross-platform buffer sharing.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.collabora.com/news-and-blog/blog/2017/02/09/notes-on-drm-format-modifiers>

## Questions this post answers

### What problem do DRM format modifiers solve that FourCC codes cannot handle?

DRM format modifiers carry vendor-specific buffer layout information that FourCC codes alone cannot express. When buffers use non-linear layouts like tiling or hardware compression, a 64-bit modifier field appended to the FourCC code communicates the full layout — including auxiliary metadata buffers for compression — enabling correct sharing across processes, IP blocks, and driver components without guesswork.

_Linux graphics developers tracking DRM and Mesa changes like these find the relevant patches and discussions on daily.dev._

### What is the EGL_EXT_image_dma_buf_import_modifiers extension and what does it add?

EGL_EXT_image_dma_buf_import_modifiers is an EGL extension that allows creating EGLImages from dmabuf buffers carrying a format modifier via eglCreateImageKHR. It also adds format and modifier query entrypoints so compositors can negotiate buffer constraints against known GL capabilities upfront, avoiding hit-and-trial allocation failures. Mesa includes an implementation with Skylake driver support for importing and sampling compressed color buffers.

_GPU driver and compositor developers working through EGL extension adoption keep up with ecosystem changes on daily.dev._

### Why is the 64-bit DRM format modifier field insufficient for some GPUs like AMDGPU?

AMDGPU associates 256 bytes of metadata with each texture buffer to fully describe its layout, far exceeding the 64-bit modifier field in DRM. This limitation prompted discussion of the Unix Device Memory Allocation project, aimed at standardizing buffer allocation and cross-platform sharing in a way that accommodates larger per-buffer layout descriptors.

_Engineers working on cross-vendor GPU buffer sharing can follow the UDMABuf and DRM ecosystem discussions on daily.dev._

## Similar posts on daily.dev

- [Older AMD GPUs Score Another Open-Source Driver Win From Valve: DRM Format Modifiers](https://daily.dev/posts/older-amd-gpus-score-another-open-source-driver-win-from-valve-drm-format-modifiers-zfcdkxnci) · Phoronix · 0 upvotes · 0 comments
- [DRM Format Modifiers For Old AMD GPUs Coming With Linux 7.3: Thanks Valve](https://daily.dev/posts/drm-format-modifiers-for-old-amd-gpus-coming-with-linux-7-3-thanks-valve-opy7i19sc) · Phoronix · 0 upvotes · 0 comments
- [Two Six Technologies](https://daily.dev/posts/two-six-technologies-unazz2n8w) · Two Six Technologies · 1 upvotes · 0 comments

---

Tags: [#linux](https://daily.dev/tags/linux), [#mesa](https://daily.dev/tags/mesa)

[View this post on daily.dev](https://daily.dev/posts/optimizing-graphics-memory-bandwidth-with-compression-and-tiling-notes-on-drm-format-modifiers-wk8zxek1g)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Optimizing graphics memory bandwidth with compression and tiling: Notes on DRM format modifiers","url":"https://daily.dev/posts/optimizing-graphics-memory-bandwidth-with-compression-and-tiling-notes-on-drm-format-modifiers-wk8zxek1g","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/optimizing-graphics-memory-bandwidth-with-compression-and-tiling-notes-on-drm-format-modifiers-wk8zxek1g"},"datePublished":"2026-08-11T08:55:39.679Z","dateModified":"2026-08-11T09:39:25.366Z","description":"DRM format modifiers solve the problem of communicating non-linear buffer layouts (tiling, compression) across the Linux graphics stack. A 64-bit modifier...","image":"https://media.daily.dev/image/upload/s--foaA6JGU--/f_auto/v1722860399/public/Placeholder%2004","thumbnailUrl":"https://media.daily.dev/image/upload/s--foaA6JGU--/f_auto/v1722860399/public/Placeholder%2004","isAccessibleForFree":true,"articleSection":"Collabora Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Collabora Blog","logo":"https://media.daily.dev/image/upload/s--ZGZ0FjqS--/f_auto,q_auto/v1786438306/logos/collabora?_a=BAMAMicg0","url":"https://daily.dev/sources/collabora"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/optimizing-graphics-memory-bandwidth-with-compression-and-tiling-notes-on-drm-format-modifiers-wk8zxek1g","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"linux,mesa","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Collabora Blog","item":"https://daily.dev/sources/collabora"},{"@type":"ListItem","position":3,"name":"Optimizing graphics memory bandwidth with compression and tiling: Notes on DRM format modifiers"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/optimizing-graphics-memory-bandwidth-with-compression-and-tiling-notes-on-drm-format-modifiers-wk8zxek1g#faq","mainEntity":[{"@type":"Question","name":"What problem do DRM format modifiers solve that FourCC codes cannot handle?","acceptedAnswer":{"@type":"Answer","text":"DRM format modifiers carry vendor-specific buffer layout information that FourCC codes alone cannot express. When buffers use non-linear layouts like tiling or hardware compression, a 64-bit modifier field appended to the FourCC code communicates the full layout — including auxiliary metadata buffers for compression — enabling correct sharing across processes, IP blocks, and driver components without guesswork. Linux graphics developers tracking DRM and Mesa changes like these find the relevant patches and discussions on daily.dev."}},{"@type":"Question","name":"What is the EGL_EXT_image_dma_buf_import_modifiers extension and what does it add?","acceptedAnswer":{"@type":"Answer","text":"EGL_EXT_image_dma_buf_import_modifiers is an EGL extension that allows creating EGLImages from dmabuf buffers carrying a format modifier via eglCreateImageKHR. It also adds format and modifier query entrypoints so compositors can negotiate buffer constraints against known GL capabilities upfront, avoiding hit-and-trial allocation failures. Mesa includes an implementation with Skylake driver support for importing and sampling compressed color buffers. GPU driver and compositor developers working through EGL extension adoption keep up with ecosystem changes on daily.dev."}},{"@type":"Question","name":"Why is the 64-bit DRM format modifier field insufficient for some GPUs like AMDGPU?","acceptedAnswer":{"@type":"Answer","text":"AMDGPU associates 256 bytes of metadata with each texture buffer to fully describe its layout, far exceeding the 64-bit modifier field in DRM. This limitation prompted discussion of the Unix Device Memory Allocation project, aimed at standardizing buffer allocation and cross-platform sharing in a way that accommodates larger per-buffer layout descriptors. Engineers working on cross-vendor GPU buffer sharing can follow the UDMABuf and DRM ecosystem discussions on daily.dev."}}]}
```

