Announcement

Collapse
No announcement yet.

Xinerama, xrandr, fglrx - what is the deal

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Xinerama, xrandr, fglrx - what is the deal

    I currently have two monitors configured with Xinerama running on a single HD4870, as it is now each time I start a GTK-app i get this
    Code:
    Xlib:  extension "RANDR" missing on display ":0.0".
    Same thing happens if I try to use xrandr to do anything.

    My question is if it is possible to use xrandr when xinerama is enabled, if it's not possible how do I get rid of that error message.
    Is there any other tricks I should know about when it comes to dual monitors and xinerama?

    Here is my xorg.conf http://dpaste.com/169872/, any tips on other things I can change is appreciated .

    xorg-server-1.6.5-r1 ati-drivers-10.2

  • #2
    xrandr and xinerama-style multihead are incompatible. My suggestion: get rid of Xinerama.

    You're treating both monitors as separate devices, then you're using a kludge called Xinerama to pretend they're on a single GPU. That's neither fast nor bug-free.

    Since both screens already run on a single GPU, you can just kill Xinerama and use randr to configure multiple outputs.
    Just turn Xinerama off and remove the second device/screen/monitor from xorg.conf, adjust ServerLayout accordingly.


    Or is there a good reason why you need zaphod + Xinerama?

    Comment


    • #3
      Originally posted by rohcQaH View Post
      xrandr and xinerama-style multihead are incompatible. My suggestion: get rid of Xinerama.

      You're treating both monitors as separate devices, then you're using a kludge called Xinerama to pretend they're on a single GPU. That's neither fast nor bug-free.

      Since both screens already run on a single GPU, you can just kill Xinerama and use randr to configure multiple outputs.
      Just turn Xinerama off and remove the second device/screen/monitor from xorg.conf, adjust ServerLayout accordingly.


      Or is there a good reason why you need zaphod + Xinerama?
      I have no good reasons to why I need Xinerama, I was under the impression that you needed Xinerama to have two monitors and not having them in clone mode. Will my window manager (xmonad) work in the same way without Xinerama?

      Comment


      • #4
        Is this what you had in mind?

        Code:
        Section "ServerLayout"
                Identifier   "aticonfig Layout"
                Screen     0 "aticonfig-Screen[0]-0" 0 0
        EndSection
        
        Section "Files"
                ModulePath   "/usr/lib/xorg/modules"
                FontPath     "/usr/share/fonts/misc/"
                FontPath     "/usr/share/fonts/TTF/"
                FontPath     "/usr/share/fonts/OTF"
                FontPath     "/usr/share/fonts/Type1/"
                FontPath     "/usr/share/fonts/terminus"
                FontPath     "/usr/share/fonts/dina"
                FontPath     "/usr/share/fonts/100dpi/"
                FontPath     "/usr/share/fonts/75dpi/"
                FontPath     "/usr/share/fonts/anonymous-pro"
        EndSection
        
        Section "Module"
        EndSection
        
        Section "Monitor"
                Identifier   "aticonfig-Monitor[0]-0"
                Option       "DPMS" "true"
        EndSection
        
        Section "Device"
                Identifier  "aticonfig-Device[0]-0"
                Driver      "fglrx"
                Option      "XAANoOffscreenPixmaps" "on"
                BusID       "PCI:1:0:0"
        EndSection
        
        Section "Screen"
                Identifier "aticonfig-Screen[0]-0"
                Device     "aticonfig-Device[0]-0"
                Monitor    "aticonfig-Monitor[0]-0"
                DefaultDepth     24
                SubSection "Display"
                        Viewport 0 0
                        Depth    24
                        Modes    "1680x1050" "1440x900"
                        Virtual  3120 1050
                EndSubSection
        EndSection

        Comment


        • #5
          I haven't used monad, but any sane window manager will.

          With XRandR, the X server will still "speak" the Xinerama protocol to notify Xinerama-aware applications about your screen boundaries. It just won't use Xinerama internally any more.

          from a quick glance, that xorg.conf you posted looks good. If it doesn't work, post your xorg.0.log

          Comment


          • #6
            I have started X with the config above and added the second monitor with
            [/code]xrandr --auto --output CRT1 --mode 1440x900 --left-of DFP1[/code]

            how do i make it save this setup? I don't want to run that each time i start x

            Comment


            • #7
              Everything seems to work, added the xrandr line to .xinitrc
              now only the last warnings
              Code:
              (WW) Warning, couldn't open module dri
              (WW) Warning, couldn't open module dri2
              (WW) Falling back to old probe method for fglrx
              (WW) fglrx: No matching Device section for instance (BusID PCI:0@1:0:1) found

              Comment


              • #8
                yes, .xinitrc or similar is unfortunately the best place for that.

                I don't think those warnings matter. Does everything work?

                Comment


                • #9
                  Everything except games that are not aware of xrandr yet

                  Comment


                  • #10
                    What happens with those games?

                    Also, you can make those xrandr changes permanent in your xorg.conf file instead of adding it to your .xinitrc, if you want. You would need two monitors sections, one with the Identifier DFP1 and one with the Identifier CRT1. Something like:

                    Code:
                    Section "Monitor"
                            Identifier "CRT1"
                            Option "RightOf" "DFP1"
                            Option "PreferredMode" "1440x900"
                    EndSection
                    
                    Section "Monitor"
                            Identifier "DFP1"
                    EndSection

                    Comment

                    Working...
                    X