Developing Games on Intel Graphics
If you are gaming on graphics integrated in your Intel Processor, this is the place for you! Find answers to your questions or post your issues with PC games
486 Discussions

No SRGB capable framebuffers in GLX.


When I try to create a window (SDL2) with SRGB-capable framebuffer, it fails with the error:

Couldn't find matching GLX visual


I verified with glxinfo to see which GLX visuals are available, and indeed, none of them have the "srgb" option ticked.


I am trying to understand why this is. Is this a hardware limitation of my IGP? Or am I doing something wrong?


OS: Ubuntu 21.10

Kernel: 5.16.5

CPU: i5-12600K

GPU: Intel Alderlake_s (Gen12)

Xorg: 1:7.7+22ubuntu2

xdriinfo: Screen 0: iris

OpenGL renderer: Mesa Intel(R) Graphics (ADL-S GT1)

Stackoverflow: question.



# lshw -class display
       description: VGA compatible controller
       product: AlderLake-S GT1
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       logical name: /dev/fb0
       version: 0c
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=i915 latency=0 mode=2560x1600 visual=truecolor xres=2560 yres=1600
       resources: iomemory:600-5ff iomemory:400-3ff irq:145 memory:6002000000-6002ffffff memory:4000000000-400fffffff ioport:6000(size=64) memory:c0000-dffff memory:4010000000-4016ffffff memory:4020000000-40ffffffff




0 Kudos
1 Reply

An important goal of almost every graphics program is to draw pictures on the screen. The screen is composed of a rectangular array of pixels, each capable of displaying a tiny square of color at that point in the image. After the rasterization stage (including texturing and fog), the data are not yet pixels, but are fragments. Each fragment has coordinate data which corresponds to a pixel, as well as color and depth values. Then each fragment undergoes a series of tests and operations, some of which have been previously described (See "Blending" in Chapter 6) and others that are discussed in this chapter.