Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-24987

-xrandr -xinerama MUST BE passed to configure to enable multi-monitors support on kde4.8

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • Not Evaluated
    • None
    • 4.8.0
    • Build System
    • None
    • X11 environment

    Description

      By default, configure script enable Xrandr and Xinerama support.

      configure --help returns :

      .....
      
          -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
       *  -xrandr ............ Compile Xrandr support.
                               Requires X11/extensions/Xrandr.h and libXrandr.
      .....
      
          -no-xinerama ....... Do not compile Xinerama (multihead) support.
       *  -xinerama .......... Compile Xinerama support.
                               Requires X11/extensions/Xinerama.h and libXinerama.
                               By default, Xinerama support will be compiled if
                               available and the shared libraries are dynamically
                               loaded at runtime.
      

      This two features are used by kde4.8.x to manage multi-monitors support. A naive user will think that it's not necessary to give these two options to configure script. However, in such case, multi-monitor support will not work correctly, and kde4 will not be able to manage one desktop per monitor as it should do, but will spread a big desktop along the two screens.

      In order to have a fully multi-monitor support, one must compile qt4 by giving "-xrandr" and "-xinerama" to qt4 configure script.

      So why to say that xrandr and xinerama are selected by default in configure ?

      a) If we look at closely to that script, we will see that by default, xrandr and xinerama are activated in "runtime" mode, and in such mode NOT all the qt4 libraries will be linked against libXrandr.so and libXinerama.so.

      b) In the opposite, if we give explicitly "-xrandr" and "-xinerama" to configure script, then ALL qt libraries which need xrandr/xinerama support will be linked against libXrandr.so/libXinerama.so.

      in a), command
      ldd /usr/lib64/libQtGui.so|grep -iE "(xinerama|xrandr)"
      gives nothing

      in b), command
      ldd /usr/lib64/libQtGui.so|grep -iE "(xinerama|xrandr)"
      returns
      libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f7ac34b2000)
      libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007f7ac32ae000)

      So here is the question :

      why xrandr/xinerama support/activation is so much confusing in configure script ? Would it be possible to put some extra information for warning people that will compile qt4 for kde4 ?

      Thanks.
      JC

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            buddenha Oswald Buddenhagen
            darkc JC
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes