Does AIX support the Xrandr extension?

Volker Simonis volker.simonis at gmail.com
Mon Nov 19 16:52:20 UTC 2018


Hi,

I've now lost two days by trying out all the versions I could find at:

http://www.perzl.org/aix/index.php?n=Main.LibXrandr
http://www.bullfreeware.com/affichage.php?id=3351
http://www.oss4aix.org/download/RPMS/libXrandr

The problem with all of them is that they depend on libXrender.so.1.
That version is provided by the corresponding Xrender packages from
that sites BUT the default AIX version of libXrender.a only contains
libXrender.so.0. OpenJDK's libawt_xawt.so is linked against the system
libXrender.so.0 an I don't think it would be good to change that. So
that means we finally can't load libXrandr at runtime anyway.

Sorry to say, but AIX X11 really seems to be terribly outdated and I
don't see any sense in fixing this.

Moreover, all the code in
java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c which uses
"dlopen()" is broken on AIX anyway (and it always has been, even in
IBM's J9) because on AIX we would have to use dlopen with a shared
library name PLUS the corresponding member name PLUS the RTLD_MEMBER
flag. E.g.:

dlopen("libXrandr.a(libXrandr.so.2)", RTLD_MEMBER | RTLD_LAZY | RTLD_LOCAL);

As people don't really seem to have cared until now, I'll propose a
minimal fix for "8213944: Fix AIX build after the removal of Xrandr.h
and add a configure check for it" [1] which simply #ifdefs out all
this broken functionality on AIX (see review thread at [2])

With best regards,
Volker

[1] https://bugs.openjdk.java.net/browse/JDK-8213944
[2] http://mail.openjdk.java.net/pipermail/2d-dev/2018-November/009636.html

On Fri, Nov 16, 2018 at 7:05 PM Volker Simonis <volker.simonis at gmail.com> wrote:
>
> Hi Ichiroh,
>
> thanks a lot for the pointers.
>
> Up to now, I tried to only depend on "official" IBM packages (i.e.
> original AIX packages or packages from the "AIX Toolbox for Linux
> Applications" [1]) for both, the build and at runtime. I'm not sure
> how "reliable" the packages from perzl.org are, but in general I want
> to avoid unverified dependencies.
>
> That said, I don't know Xrandr makes any sense on AIX at all. As far
> as I can see, it hasn't worked until now anyway. Or can anyone report
> any successful usage of Xrandr on AIX with these packages?
>
> Thank you and best regards,
> Volker
>
> [1] https://www.ibm.com/it-infrastructure/power/os/aix
> On Fri, Nov 16, 2018 at 1:42 PM Ichiroh Takiguchi
> <takiguc at linux.vnet.ibm.com> wrote:
> >
> > Hello Volker.
> >
> > I'm not sure, you want to know following information.
> >
> > User can download libXrandr for AIX via Perzl.org AIX Open Source
> > Packages site. [1][2]
> >
> > I have not used this library, so I don't know the detail.
> >
> > I checked the contents of libXrandr-devel-1.5.1-1.aix5.1.ppc.rpm [3]
> >
> > $ rpm -qpl libXrandr-devel-1.5.1-1.aix5.1.ppc.rpm
> > /opt/freeware/include/X11/extensions/Xrandr.h
> > /opt/freeware/lib/libXrandr.la
> > /opt/freeware/lib/pkgconfig/xrandr.pc
> > /opt/freeware/man/man3/XRRConfigCurrentConfiguration.3
> > /opt/freeware/man/man3/XRRConfigCurrentRate.3
> > /opt/freeware/man/man3/XRRConfigRates.3
> > /opt/freeware/man/man3/XRRConfigRotations.3
> > /opt/freeware/man/man3/XRRConfigSizes.3
> > /opt/freeware/man/man3/XRRConfigTimes.3
> > /opt/freeware/man/man3/XRRFreeScreenConfigInfo.3
> > /opt/freeware/man/man3/XRRGetScreenInfo.3
> > /opt/freeware/man/man3/XRRQueryExtension.3
> > /opt/freeware/man/man3/XRRQueryVersion.3
> > /opt/freeware/man/man3/XRRRootToScreen.3
> > /opt/freeware/man/man3/XRRSelectInput.3
> > /opt/freeware/man/man3/XRRSetScreenConfig.3
> > /opt/freeware/man/man3/XRRSetScreenConfigAndRate.3
> > /opt/freeware/man/man3/Xrandr.3
> > /usr/lib/libXrandr.la
> > $
> >
> > [1] http://www.perzl.org/aix/index.php
> > [2] http://www.perzl.org/aix/index.php?n=Main.LibXrandr
> > [3]
> > http://www.oss4aix.org/download/RPMS/libXrandr/libXrandr-devel-1.5.1-1.aix5.1.ppc.rpm
> >
> > Thanks,
> > Ichiroh Takiguchi
> > IBM Japan, Ltd.
> >
> >
> > On 2018-11-16 18:17, Volker Simonis wrote:
> > > Hi AIX experts,
> > >
> > > a recent change ("8210863: Remove Xrandr include files from JDK
> > > sources" [1]) has removed the Xrander header files which were
> > > previously checked in in the OpenJDK sources, from there. This means
> > > that the build now requires the platform version of these header
> > > files:
> > >
> > > X11/extensions/Xrandr.h
> > > X11/extensions/randr.h
> > >
> > > To the best of my knowledge, AIX does not support the Xrandr extension
> > > and I couldn't find the corresponding header files any where (even not
> > > in the "AIX Toolbox for Linux Applications" [2]).
> > >
> > > I've therefor prepared a change which fixes these issues on AIX (see:
> > > http://mail.openjdk.java.net/pipermail/2d-dev/2018-November/009636.html).
> > >
> > > However, before pushing this fix, I'd like to get a confirmation if
> > > Xrandr is indeed not supported and not available on AIX. If it is,
> > > please point me to a place where I can get a package with the
> > > corresponding header files.
> > >
> > > Thank you and best regards,
> > > Volker
> > >
> > > [1] https://bugs.openjdk.java.net/browse/JDK-8210863
> > > [2]
> > > https://www.ibm.com/developerworks/aix/library/aix-toolbox/alpha.html
> >


More information about the ppc-aix-port-dev mailing list