way to detect to xserver-xorg version

Tias tias at ulyssis.org
Mon Aug 16 14:18:43 PDT 2010

On 08/16/2010 07:55 AM, Eirik Byrkjeflot Anonsen wrote:
> Tias<tias at ulyssis.org>  writes:
>> Hey,
>> In my program, I want to check that the xserver-xorg version is>=
>> 1.8.0. What way to do this is advised:
>> At runtime using XVendorRelease(), or do there exist different
>> releases with inconsistent numbering ? And should this be combined
>> with a literal match on XServerVendor() ?
>> At configuration time, PKG_CHECK_MODULES(XSERVER18, [xorg-server>=
>> 1.8.0], FOO=bar, FOO=baz). But what if you want to discriminate
>> different versions, multiple PKG_CHECK_MODULES ? This would swamp the
>> number of _LIBS and _CFLAGS options...
>> Also, PKG_CHECK_EXSISTS() seems to ignore the version I provided, and
>> always sets FOO=bar.
> This would probably be easier to answer if you gave some indication of
> why you think you should refuse people with different X servers to run
> or compile your application.

Its not about refusing, its about using features:
if the xserver is 1.8 or higher, my application can write an example 
xorg.conf.d snippet, otherwise it has to explain a different way of 
making calibration values permanent.

xdpyinfo has a case-based section that calculates the release based on 
the XServerVendor() and XVendorRelease().
I'll guess I'll go for a similar approach of strstr(ServerVendor(dpy), 
"X.Org") and VendorRelease(dpy) > 10800000.

Thanks anyways,

More information about the xorg mailing list