[PATCH xserver 1/5] modesetting: Don't call xf86HandleColorMaps() at screen depth 30.

Mario Kleiner mario.kleiner.de at gmail.com
Fri Feb 9 05:22:52 UTC 2018


On 02/08/2018 10:09 PM, Adam Jackson wrote:
> On Thu, 2018-02-08 at 12:14 +0100, Mario Kleiner wrote:
> 
>> That in turn is a problem, because the size of the hw lut
>> crtc->gamma_size is fixed to 256 slots on all kms-drivers
>> when using the legacy gamma_set ioctl,
> 
> What exactly is the non-legacy ioctl?
> 
> - ajax
> 

I don't know if legacy is the right term, but the new color management 
stuff (drivers/gpu/drm/drm_color_mgmt.c in the kernel), that is afaik 
part of atomic modesetting, is supposed to provide new options and more 
flexibility.

The old gamma_set ioctl() is probably limited to 256 slot lut's forever, 
because although the kernel exposes supported/expected gamma lut size as 
part of the getCrtc ioctl(), afaik none of the existing ddx drivers ever 
made use of that information. They all rely on the hard-coded X-Server 
startup default of 256 slots for crtc->gamma_size. If a kms driver would 
ever change expected lut size for the old gamma_set ioctl to anything 
other than 256, it would break all of existing userspace. Or we'd need 
to add some guess-o-matic to the kernel that accepts both the actual hw 
lut size and the 256 size for compatibility.

-mario


More information about the xorg-devel mailing list