Announcement

Collapse
No announcement yet.

Help me configuring 2 videocards and 3 screens

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

  • Help me configuring 2 videocards and 3 screens

    Hi there.
    I need help enabling a 2nd videocard / 3rd screen. I'm by no means a linux expert, but I'm been using Ubuntu for 2 years now. Always had nvidia cards, but now I switched to Ati.
    I'm running Ubuntu 8.10 32-bit with fglrx 8.543 from ubuntu repos. I have a HD 4850 running multimonitor without too much trouble - had to do sudo aticonfig --initial and then activate dual monitor on amdcccle (doing --initial=dual-head does NOT work.)

    I have a second videocard, a Radeon 3650, connected to a third monitor.

    Doing $ aticonfig --lsa I get:
    * 0. 01:00.0 ATI Radeon HD 4800 Series
    1. 02:00.0 ATI Radeon HD 3600 Series

    I also did

    $ sudo aticonfig --adapter=all --initial

    And my xorg.conf file now is:
    PHP Code:
    # xorg.conf (X.Org X Window System server configuration file)
    #
    # This file was generated by dexconf, the Debian X Configuration tool, using
    # values from the debconf database.
    #
    # Edit this file with caution, and see the xorg.conf manual page.
    # (Type "man xorg.conf" at the shell prompt.)
    #
    # This file is automatically updated on xserver-xorg package upgrades *only*
    # if it has not been modified since the last upgrade of the xserver-xorg
    # package.
    #
    # Note that some configuration settings that could be done previously
    # in this file, now are automatically configured by the server and settings
    # here are ignored.
    #
    # If you have edited this file but would like it to be automatically updated
    # again, run the following command:
    #   sudo dpkg-reconfigure -phigh xserver-xorg

    Section "ServerLayout"
        
    Identifier     "aticonfig Layout"
        
    Screen      0  "Default Screen" 0 0
        Screen         
    "aticonfig-Screen[1]-0" RightOf "Default Screen"
    EndSection

    Section 
    "Files"
    EndSection

    Section 
    "Module"
        
    Load  "glx"
    EndSection

    Section 
    "Monitor"
        
    Identifier   "Configured Monitor"
    EndSection

    Section 
    "Monitor"
        
    Identifier   "aticonfig-Monitor[1]-0"
        
    Option        "VendorName" "ATI Proprietary Driver"
        
    Option        "ModelName" "Generic Autodetecting Monitor"
        
    Option        "DPMS" "true"
    EndSection

    Section 
    "Device"
        
    Identifier  "Configured Video Device"
        
    Driver      "fglrx"
        
    BusID       "PCI:1:0:0"
    EndSection

    Section 
    "Device"
        
    Identifier  "aticonfig-Device[1]-0"
        
    Driver      "fglrx"
        
    BusID       "PCI:2:0:0"
    EndSection

    Section 
    "Screen"
        
    Identifier "Default Screen"
        
    Device     "Configured Video Device"
        
    Monitor    "Configured Monitor"
        
    DefaultDepth     24
    EndSection

    Section 
    "Screen"
        
    Identifier "aticonfig-Screen[1]-0"
        
    Device     "aticonfig-Device[1]-0"
        
    Monitor    "aticonfig-Monitor[1]-0"
        
    DefaultDepth     24
        SubSection 
    "Display"
            
    Viewport   0 0
            Depth     24
        EndSubSection
    EndSection 
    But I get nothing on the third display and Catalyst control center still doesn't see it.

    So what do I have to do? Start a new X server? How?

    Thanks in advance.

  • #2
    Try running aticonfig without any parameters, it tells you:

    Code:
      6. Multiple display adapters.
           List adapters :  aticonfig --list-adapters
           Init 0 and 2  :  aticonfig --adapter=0,2 --initial
           Init all      :  aticonfig --adapter=all --initial
    So I suggest you try something like:

    aticonfig --adapter=all --initial

    Thereafter see if you can select the second videocard in the Catalyst Control Center.

    [edit]
    Sorry probably I didn't read your first post well enough, I now see you say you already tried this...

    What does:
    aticonfig --list-adapters

    tell you?


    Looking at your xorg file it looks like you have two screens enabled, one on the first graphics card and one on the second graphics card, is that correct?

    I see two device seconds, one that uses BusID PCI:1:0:0 (the ATI Radeon HD 4800 Series) and one that uses BusID PCI:2:0:0 (the ATI Radeon HD 3600 Series). I also see two screen sections (one of the using the 4800 and one of them using the 3600), which are both listed in the ServerLayout section. This tells me that according to your Xorg configuration you have one monitor on your 4800 and one on the 3600.

    If this is the case, you should add another Device section for the second head on the 4800. Thereafter add another screen section in the Xorg file that uses the 2nd head of the 4800. The new screen section should be added to the ServerLayout section.

    But as I understand your post, you have two screens working on the 4800, correct? (and the 3600 not working at all)

    One thing you could try is this:
    sudo aticonfig --adapter=all --initial -f
    This causes it to create a completely new configuration file.

    Otherwise:
    Not sure if this works, but you could try the following (this is what I found in my Xorg.conf, I have a single card using dual-head):

    Add this device section:
    Code:
    Section "Device"
        Identifier  "Second head on 4800"
        Driver      "fglrx"
        BusID       "PCI:1:0:0"
        Screen      1
    EndSection
    Add this screen section:
    Code:
    Section "Screen"
        Identifier "Screen on 2nd head of 4800"
        Device     "Second head on 4800"
        Monitor    "Configured Monitor on 2nd head of 4800"
        DefaultDepth     24
    EndSection
    add this monitor section:
    Code:
    Section "Monitor"
        Identifier   "Configured Monitor on 2nd head of 4800"
    EndSection
    change your ServerLayout into this:
    Code:
    Section "ServerLayout"
        Identifier     "aticonfig Layout"
        Screen      0  "Default Screen" 0 0
        Screen         "aticonfig-Screen[1]-0" RightOf "Default Screen"
        ## this assumes your 3rth screen to be left of the Default Screen (which according to your config is connected to the 4800)
        Screen         "Screen on 2nd head of 4800" LeftOf "Default Screen"
    EndSection
    Not sure if it will work, but it should probably be something like the above.

    [/edit]
    Last edited by Heiko; 13 November 2008, 10:25 AM.

    Comment


    • #3
      I keep editing the above reply, maybe this simple solution just works:

      Try the following:

      # this line forces a clean dual-head configuration of your 4800
      sudo aticonfig --adapter=0 --initial=dual-head -f

      # this line adds the configuration for your 3600 (don't use -f overhere)
      sudo aticonfig --adapter=1 --initial

      Again, not sure if it works, but looking at the output of aticonfig (no parameters) it should work...

      Comment


      • #4
        Originally posted by Heiko View Post
        I keep editing the above reply, maybe this simple solution just works:

        Try the following:

        # this line forces a clean dual-head configuration of your 4800
        sudo aticonfig --adapter=0 --initial=dual-head -f

        # this line adds the configuration for your 3600 (don't use -f overhere)
        sudo aticonfig --adapter=1 --initial

        Again, not sure if it works, but looking at the output of aticonfig (no parameters) it should work...
        Thanks for replying.

        But, no, my 2 working monitors are attached to the 4800. xorg.conf treats them as 1 big monitor (3360x1050), but it works just fine. That would be "Default Screen" in xorg.conf.

        The 3rd monitor is attached to the 3600, it seems to be detected by aticonfig - "aticonfig-Screen[1]-0", but it doesn't work.

        I'll backup xorg.conf and try your last suggestion and let you know how it worked.

        Comment


        • #5
          No, that didn't work... I get two separate screens on the 4800 - 2 X servers? as I can't move windows between them - and still nothing on the 3rd screen (3600).

          This is the xorg.conf I get:
          PHP Code:
          # xorg.conf (X.Org X Window System server configuration file)
          #
          # This file was generated by dexconf, the Debian X Configuration tool, using
          # values from the debconf database.
          #
          # Edit this file with caution, and see the xorg.conf manual page.
          # (Type "man xorg.conf" at the shell prompt.)
          #
          # This file is automatically updated on xserver-xorg package upgrades *only*
          # if it has not been modified since the last upgrade of the xserver-xorg
          # package.
          #
          # Note that some configuration settings that could be done previously
          # in this file, now are automatically configured by the server and settings
          # here are ignored.
          #
          # If you have edited this file but would like it to be automatically updated
          # again, run the following command:
          #   sudo dpkg-reconfigure -phigh xserver-xorg

          Section "ServerLayout"
              
          Identifier     "aticonfig Layout"
              
          Screen      0  "aticonfig-Screen[0]-0" 1280 0
              Screen         
          "aticonfig-Screen[0]-1" 0 0
          EndSection

          Section 
          "Files"
          EndSection

          Section 
          "Module"
              
          Load  "glx"
          EndSection

          Section 
          "Monitor"
              
          Identifier   "aticonfig-Monitor[0]-0"
              
          Option        "VendorName" "ATI Proprietary Driver"
              
          Option        "ModelName" "Generic Autodetecting Monitor"
              
          Option        "DPMS" "true"
          EndSection

          Section 
          "Monitor"
              
          Identifier   "aticonfig-Monitor[0]-1"
              
          Option        "VendorName" "ATI Proprietary Driver"
              
          Option        "ModelName" "Generic Autodetecting Monitor"
              
          Option        "DPMS" "true"
          EndSection

          Section 
          "Monitor"
              
          Identifier   "aticonfig-Monitor[1]-0"
              
          Option        "VendorName" "ATI Proprietary Driver"
              
          Option        "ModelName" "Generic Autodetecting Monitor"
              
          Option        "DPMS" "true"
          EndSection

          Section 
          "Device"
              
          Identifier  "aticonfig-Device[0]-0"
              
          Driver      "fglrx"
              
          BusID       "PCI:1:0:0"
          EndSection

          Section 
          "Device"
              
          Identifier  "aticonfig-Device[0]-1"
              
          Driver      "fglrx"
              
          BusID       "PCI:1:0:0"
              
          Screen      1
          EndSection

          Section 
          "Device"
              
          Identifier  "aticonfig-Device[1]-0"
              
          Driver      "fglrx"
              
          BusID       "PCI:2: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
              EndSubSection
          EndSection

          Section 
          "Screen"
              
          Identifier "aticonfig-Screen[0]-1"
              
          Device     "aticonfig-Device[0]-1"
              
          Monitor    "aticonfig-Monitor[0]-1"
              
          DefaultDepth     24
              SubSection 
          "Display"
                  
          Viewport   0 0
                  Depth     24
              EndSubSection
          EndSection

          Section 
          "Screen"
              
          Identifier "aticonfig-Screen[1]-0"
              
          Device     "aticonfig-Device[1]-0"
              
          Monitor    "aticonfig-Monitor[1]-0"
              
          DefaultDepth     24
              SubSection 
          "Display"
                  
          Viewport   0 0
                  Depth     24
              EndSubSection
          EndSection 
          I'm also getting screen corruption - a garbled square on lower righ corner on the main screen.

          I'm going back to previous configuration.
          What I would like to have: a big screen (4460x1050) spawned across the 3 monitors.

          Comment


          • #6
            Ah, I understand. Not sure though how to create one big desktop spanned over multiple monitors. In my personal configuration I have two monitors and as you said, you cannot move windows from one to another (but you can move the mouse to the other monitor). This is exactly what `aticonfig --initial=dual-head' does (and perhaps that is the reason why you thought it wasn't working?).

            I assume, since you had the big desktop spanned over the two monitors that are connected to the 4800 working, that somehow you need a screen that covers all three monitors.

            I assume the following:
            - Every screen that is mentioned in the serverlayout uses its own X server (can not drag window from one screen to another)
            - Somehow the two monitors connected to your 4800 are already in one Screen section in your xorg.conf.

            So I wonder, what happens if you remove one Screen from your ServerLayout:

            change it too:
            Code:
            Section "ServerLayout"
                Identifier     "aticonfig Layout"
                Screen      0  "Default Screen" 0 0
            EndSection
            Do both monitors on the 4800 still work?

            I am not sure why you can't get an image on the monitor connected to the 3600. Because your Xorg.conf shows an configuration which should give you a separate X server on your 3600 monitor. Perhaps the 3600 isn't working at all?

            When I read this article:
            Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite


            I doubt that what you want is possible... when reading the article it seems like multiview (using multiple graphics cards for one big X server) is only available on FireGL and FirePRO hardware for now.

            Not sure though... and besides that, one big desktop on your HD4800 and a separate one on the 3600 should not be a problem and I see no reason why that wouldn't work.

            Comment


            • #7
              Originally posted by Heiko View Post
              Ah, I understand. Not sure though how to create one big desktop spanned over multiple monitors. In my personal configuration I have two monitors and as you said, you cannot move windows from one to another (but you can move the mouse to the other monitor). This is exactly what `aticonfig --initial=dual-head' does (and perhaps that is the reason why you thought it wasn't working?).
              No, if I run aticonfig --initial=dual-head it loads the wallpaper and it stops there with a busy cursor, nothing more happens. It seems that the -f option makes it work. What's more interesting, configuring dual-head running amdcccle as root and selecting on Display manager -> Multi-Display -> "Big Desktop left of display 1" is much better as I get a "big screen" where I can move windows around, but the driver is aware of 2 monitors, as if I maximize one app, it does so only on one monitor, just as twinview (unlike xinerama). Much more functional that 2 separate screens.


              I assume, since you had the big desktop spanned over the two monitors that are connected to the 4800 working, that somehow you need a screen that covers all three monitors.
              That would be preferable, but I could live with a separate X screen on the 3rd monitor / 3600.

              I assume the following:
              - Every screen that is mentioned in the serverlayout uses its own X server (can not drag window from one screen to another)
              - Somehow the two monitors connected to your 4800 are already in one Screen section in your xorg.conf.

              So I wonder, what happens if you remove one Screen from your ServerLayout:

              change it too:
              Code:
              Section "ServerLayout"
                  Identifier     "aticonfig Layout"
                  Screen      0  "Default Screen" 0 0
              EndSection
              Do both monitors on the 4800 still work?
              Yes, screen 0 is the 3360x1050 spawned desktop over the 2 monitors connected to the 4800. The 3rd monitor doesn't work with or without that line.

              I am not sure why you can't get an image on the monitor connected to the 3600. Because your Xorg.conf shows an configuration which should give you a separate X server on your 3600 monitor. Perhaps the 3600 isn't working at all?
              Yes it is, in Windows, after installing catalyst driver, all video cards and monitors work just fine.


              When I read this article:
              Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite


              I doubt that what you want is possible... when reading the article it seems like multiview (using multiple graphics cards for one big X server) is only available on FireGL and FirePRO hardware for now.

              Not sure though... and besides that, one big desktop on your HD4800 and a separate one on the 3600 should not be a problem and I see no reason why that wouldn't work.
              But as I said, I could live with 2 X servers, and that would be possible even with 2 different brand videocards, right?

              Thanks for your help.

              Comment


              • #8
                Yes, I think it would be possible having two different X servers (one for the combined monitors of the 4800 and one for the monitor connected to the 3600). I don't have a clue why it doesn't work in your case.

                I think you are right when you say that in Linux when using a separate X server you even could use a video card of another brand (can't do that in Windows though).

                I know big desktop setups are possible on a single card, but in my case I prefer two separate X screens. My second monitor is a TV and it is mostly turned of. So I don't want to accidentally drag windows to another screen that I can't see (I use scripts though, to start a video player from my TFT so that it is shown fullscreen on my TV).

                The only thing I can think of is:
                Try different things to make sure everything is working like:
                - get only the 3600 card working (without the 4800) and try to work from there, maybe you can use as initial Xorg configuration:

                aticonfig --adapter=1 --initial -f

                If everything works that would only setup the 3600, see if that works. If it does, try to add the 4800. If that does not work either, maybe your 3600 is for some strange reason not recognized by the Linux driver?
                Last edited by Heiko; 13 November 2008, 05:46 PM.

                Comment


                • #9
                  Originally posted by Heiko View Post
                  Yes, I think it would be possible having two different X servers (one for the combined monitors of the 4800 and one for the monitor connected to the 3600). I don't have a clue why it doesn't work in your case.

                  I think you are right when you say that in Linux when using a separate X server you even could use a video card of another brand (can't do that in Windows though).

                  I know big desktop setups are possible on a single card, but in my case I prefer two separate X screens. My second monitor is a TV and it is mostly turned of. So I don't want to accidentally drag windows to another screen that I can't see (I use scripts though, to start a video player from my TFT so that it is shown fullscreen on my TV).

                  The only thing I can think of is:
                  Try different things to make sure everything is working like:
                  - get only the 3600 card working (without the 4800) and try to work from there, maybe you can use as initial Xorg configuration:

                  aticonfig --adapter=1 --initial -f

                  If everything works that would only setup the 3600, see if that works. If it does, try to add the 4800. If that does not work either, maybe your 3600 is for some strange reason not recognized by the Linux driver?
                  I tryed
                  aticonfig --adapter=1 --initial -f
                  And it started up on the monitor attached to the 3600. But, as before, I can't get the other 2 monitors on the 4800 to work. After that I did

                  aticonfig --adapter=0 --initial

                  And nothing happened...

                  Help?

                  Comment


                  • #10
                    Update:
                    I finally managed to do it. I reinstalled Ubuntu, now on x64, made deb packages from 8.12 installer, first did aticonfig --initial, then enabled dual head on amdccle. Then I did aticonfig --adapter=1 --initial, and it works!
                    I don't know if it's a 32bit issue or if it was fixed on 8.12 drivers, but I finnaly managed it to work.

                    Issues: Can't use desktop effects or gnome desktop won't start, and can't use xinerama, so no window moving to/from the third monitor.
                    Even so, a great progress.

                    Thanks for all the help.

                    Comment

                    Working...
                    X