Announcement

Collapse
No announcement yet.

fglrx multiseat crash

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

  • #16
    I've tried Debian Lenny, OpenSuse 11.1 and Ubuntu Hardy Heron; tried
    GDM, KDM, XDM; both with minimal xorg.conf and the one posted at the beginning of this thread - with varying degrees of success.

    The xorg.conf I posted, allows DPMS to work on my system, but it only works 1 out of 10 boots. The crash always happens while loading the display manager - crashing way before a password can be entered.

    The most succesful way I've set it up to now is by doing away with the display manager altogether and using a bash script for each user. Luckily, PCI id's aren't shifting on my system.

    Another way that worked fairly well was doing a multi-vendor setup, with each X instance having it's own library path - but a bit time consuming to maintain.

    Personally, I've abandoned ATi for now. The drivers just aren't up to standard - which is rather disappointing. I'm keeping the 2 HD 3450 to check if things improve every once in a while - but for now Nvdia is the only stable way to go multiseat - it seems.

    I use the system as follows:

    Seat 0: Work / game seat
    " 1: Living room media center
    " 2: Bedroom media center
    " 3: Work / game seat for my girlfriend

    Using nvidia cards typical usage is: Quake 4 on 0, MythTV on 1 or 2, and a normal work desktop on 3. Never a glitch, perfect performance - it all works.

    Comment


    • #17
      We actually have very similar hardware -

      MSI K9A2
      CPU X2 5000 BE
      8 GB of RAM (1066 running at 800)

      Are you running in 32-bit or with an amd64 kernel? I'm wondering if this DPMS bug I have is amd64 only.

      I'm using different server layouts to launch rather than different xorg.conf files. Here is my (mostly working) xorg.conf:

      # xorg.conf (X.Org X Window System server configuration file)
      #

      Section "Module"
      EndSection

      Section "ServerFlags"
      # Disable ctrl alt backspace
      # Option "DontZap"
      # Xorg will otherwise not start if it can't find a mouse to use.
      Option "AllowMouseOpenFail" "true"
      # Disable xinerama
      Option "Xinerama" "0"
      # Option "OffTime" "10"
      EndSection

      Section "InputDevice"
      Identifier "keyboard0"
      Driver "evdev"
      Option "Device" "/dev/input/by-id/usb-Microsoft_Natural__Ergonomic_Keyboard_4000-event-kbd"
      Option "XkbModel" "evdev"
      Option "XkbLayout" "us"
      EndSection

      Section "InputDevice"
      Identifier "keyboard1"
      Driver "evdev"
      Option "Device" "/dev/input/by-id/usb-045e_Microsoft_Natural_Keyboard_Pro-event-kbd"
      Option "XkbModel" "evdev"
      Option "XkbLayout" "us"
      EndSection

      Section "InputDevice"
      Identifier "mouse0"
      Driver "evdev"
      Option "Name" "Logitech USB Mouse"
      Option "Device" "/dev/input/by-id/usb-Logitech_USB_Mouse-event-mouse"
      EndSection

      Section "InputDevice"
      Identifier "mouse1"
      Driver "evdev"
      Option "Device" "/dev/input/by-id/usb-Logitech_USB-PS_2_Optical_Mouse-event-mouse"
      EndSection

      Section "Device"
      Identifier "radeon4850-0"
      Driver "fglrx"
      BusId "PCI:1:0:0"
      Option "DPMS" "on"
      EndSection

      Section "Device"
      Identifier "radeon3850-0"
      Driver "fglrx"
      BusId "PCI:4:0:0"
      Option "DPMS" "on"
      EndSection

      Section "Monitor"
      Identifier "2343bwx"
      Option "dpms"
      EndSection

      Section "Monitor"
      Identifier "216bw"
      Option "dpms"
      EndSection

      Section "Screen"
      Identifier "screen0"
      Device "radeon4850-0"
      Monitor "2343bwx"
      DefaultDepth 24

      Subsection "Display"
      Depth 24
      EndSubsection
      EndSection

      Section "Screen"
      Identifier "screen1"
      Device "radeon3850-0"
      Monitor "216bw"
      DefaultDepth 24
      Subsection "Display"
      Depth 24
      EndSubsection
      EndSection

      Section "ServerLayout"
      Identifier "seat0"
      Screen "screen0" 0 0
      InputDevice "mouse0" "CorePointer"
      InputDevice "keyboard0" "CoreKeyboard"
      Option "DisableModInDev" "true"
      Option "AutoAddDevices" "off"
      Option "BlankTime" "2" # Blank the screen after 2 minutes (Fake)
      Option "StandbyTime" "5" # Turn off screen after 5 minutes (DPMS)
      Option "SuspendTime" "10" # Full suspend after 10 minutes
      Option "OffTime" "15" # Turn off after 15 mins
      Option "Xinerama" "false"
      EndSection

      Section "ServerLayout"
      Identifier "seat1"
      Screen "screen1" 0 0
      InputDevice "mouse1" "CorePointer"
      InputDevice "keyboard1" "CoreKeyboard"
      Option "DisableModInDev" "true"
      Option "AutoAddDevices" "off"
      Option "BlankTime" "2" # Blank the screen after 2 minutes (Fake)
      Option "StandbyTime" "5" # Turn off screen after 5 minutes (DPMS)
      Option "SuspendTime" "10" # Full suspend after 10 minutes
      Option "OffTime" "15" # Turn off after 15 mins
      Option "Xinerama" "false"
      EndSection


      I then tacked the following on to my kdmrc file:

      [X-:0-Core]
      ClientLogFile=.xsession-errors
      ServerArgsLocal=-nolisten tcp -layout seat0 -sharevts -novtswitch


      [X-:1-Core]
      ClientLogFile=.xsession-errors
      ServerArgsLocal=-nolisten tcp -layout seat1 -sharevts -novtswitch

      Comment


      • #18
        We do indeed have pretty much the same hardware - do you also have quircky USB behaviour now-and-then?

        I'm also using 64-bit only environments - haven't used a 32-bit distro in quite a while..

        In my experience using either layouts or seperate xorg.conf files works equally well; I do feel that KDM handles multiseat better though.

        By the looks of your xorg.conf DPMS should indeed be working -
        I tried a similar config with Debian. Could it be a BIOS setting instead? Perhaps you could try going back to factory defaults, rebooting and re-enter the configuration..?

        Comment


        • #19
          Actually come to think of it - moving all of the commands to the [screen] section might also help - keeping the [monitor], [device] and Serverlayout sections minimal. I remember it solving a few issues in an opensuse setup i tried a while back.
          Last edited by c1981; 04-24-2009, 12:05 PM.

          Comment


          • #20
            Originally posted by c1981 View Post
            Actually come to think of it - moving all of the commands to the [screen] section might also help - keeping the [monitor] and [device] sections minimal. I remember it solving a few issues in an opensuse setup i tried a while back.
            I'll give that a shot. I've tried almost everything I can think of. I think part of it may be due to this:

            cmorrow@MultiPC:~$ aticonfig --lsp
            Error: POWERplay is not supported on your hardware.

            But I honestly have no idea *why* Power management functions would be disabled (this on a reference design Sapphire 4850) running Catalyst 9.4.

            I do have the USB quirkyness, but my understanding (and subsequent blame) fell on the fact that the K9A2 like most other early AM2+ boards uses the AMD SB600 southbridge which has some serious USB and SATA issues. There have been kernel patches written by AMD to avoid total lockup under load, but I think it may still involve USB devices pausing for some time, etc.

            Newer AM2+ boards use the SB750 which fixes all the SB600 and SB700 issues.

            Comment


            • #21
              Thanks for the chipset-info - I hadn't found that yet;
              at the moment I've "cured" the USB quirk by using a Via based
              USB controller instead.

              My bet would be that 4850 support in the fglrx driver is not yet ready..
              It might also be related to other power management options such as AMD cool'n'quiet - do you have it enabled? (i know the k9a2 has it disabled by default - causing odd behaviour in debian's power management).

              Comment


              • #22
                The external card is a good idea. Looks like a Via PCI USB 2 card can be found for about $10, which would be a good stop-gap until I move to a new motherboard.

                Cool'N'Quiet is enabled. I may have to replace the 4850 with my older 3870 or 3850 and see if I get the same result. I'll post back later with my findings.

                Comment


                • #23
                  First and foremost, including tons of random configuration options is the surest way to put yourself off the tested path into some random confluence of issues.

                  For multiple cards, the recommendation is as follows
                  1. Drop your old config - hand tweaking a config file is evil, the X developers are trying to kill it anyway. Driver specific config is already in amdpcsdb, and so you shouldn't need much in your config file.
                    Code:
                    X -configure
                    is probably a great starting point.
                  2. Update your motherboard BIOS - A lot of problems come from funky BIOSes. Multicard systems are still a fringe domain and the mobo vendors do things in their own way. Some motherboards a quirked around windows and may never work reliably under Linux.
                  3. Use aticonfig to configure - Assuming you want each monitor on the card to run as a seperate X screen, all under one server then
                    Code:
                    aticonfig --initial=dual-head --adapter=all
                  4. *ONLY* use aticonfig or amdcccle to configure the driver, hand modifying options are not supported and a prone to change or cause evil things to happen.

                  In general, the above should work. As bridgman has said elsewhere, the multi-ASIC support is relatively new and as a result bumps into other code under development (composite, randr, etc).

                  Matt

                  Comment


                  • #24
                    I appreciate the response, however there are some legitimate reasons that a custom xorg.conf was used.

                    This thread was originally about multi-seat X which *requires* custom configuration in xorg.conf to allow multiple independent seats on a single computer. Standard Xorg behavior is to take all input devices and all display devices and throw them in the same X session, which is not the intended behavior we are after.

                    If I were only trying to have a single simultaneous user on this computer, I'd be happy to let Xorg use its defaults and try to auto-configure everything for me. Unfortunately, with multiple people running multiple sessions using multiple independent display cards and multiple independent input devices, a custom xorg.conf is required to get things working properly.

                    Comment


                    • #25
                      Agreed; - most user responses seem to consider only Xgl, xephyr or other single server setups, while this thread is about using
                      multiple seperate X-servers - allowing for warp-speed openGL and far
                      greater stability (if it works that is, which at the moment is more easily acchieved with Nvidia than Ati).

                      If it's true that the X developers are trying to do away with custom xorg.conf - then maybe it's time to code a new dislay manager specialized in multiple X-servers, as opposed to the MDM project which only supports a single X-server.

                      P.S. CMorrow - did switching back to older adapters change anything?

                      Comment


                      • #26
                        Originally posted by c1981 View Post
                        P.S. CMorrow - did switching back to older adapters change anything?
                        Unfortunately not. I swapped out my 4850 for my 3850 (oldest recent ATI card I have) and booted up. DPMS still doesn't work. PowerPlay also reports that it isn't supported on that hardware, so I'm becoming more suspicious that it isn't due to "drivers not supporting the latest hardware."

                        I took some of MTippett's advice and updated my bios from 1.05 to 1.07, and also commented out most of my xorg.conf just so I could see if for some reason it was tripping over the config. I still can't get DPMS to work.

                        There is another thread on these forums started yesterday that I responded to where another user running Ubuntu 9.04 is having the same problems. I'm wondering if this is a distribution specific problem, or perhaps just an issue with the Catalyst 9.4 drivers on Xorg 1.6.

                        From a Motherboard standpoint, switching to nVidia adapters would be easier if the cards in the same performance range of the 4850s weren't all double-height double-power cards. When you're trying to hook up 2-4 cards in your case for 2-4 users, that's a lot of case real-estate.

                        On a related note, it's too bad you can't use the 48x0 X2 cards as 2 seperate display adapters.

                        For anyone running across this thread who may not know what a MultiSeat configuration is, check out WikiPedia: http://en.wikipedia.org/wiki/Multiseat

                        Comment


                        • #27
                          That's too bad - I think you're right about the driver support - the switch should've made a difference if it was indeed a driver issue.
                          I didn't expect a bios update to make much of a difference, as I pretty much flash the bios to latest edition on all boards I come into contact with.

                          As far as it being a distribution specific issue - opensuse and centos have the same problem..
                          I could try building a Linux From Scratch install to see if that makes a difference?

                          It's a shame the x2 and alike cards can't be used as seperate adapters; But, Matrox adapters can. Although they do not offer any real performance besides office work, 4 quad-head matrox card can allow 'our' motherboards to drive the number of users up to 16. But Matrox cards are rather pricy in terms of performance per euro (or dollar).
                          That's why I use same generation yet different series Nvidia cards for the moment; the media center seats don't require all that much 3D power - just HD video power; so I use 1 -2 high power cards for gaming purposes and 2 low to medium power cards for the media centers.
                          Last edited by c1981; 04-25-2009, 02:14 PM.

                          Comment


                          • #28
                            Can't even get that far

                            I've been trying to get multiseat working too, so I am trying to do it in some sort of logical steps. To bad I can't get past step 1

                            I am just trying to get two video cards to work.
                            System
                            Asus Ma79T Delux
                            2 3450 vga cards , with 2 exactly same monitors
                            ubuntu x64

                            Tried with fgrlx(default on ubuntu and new 9.4, radeonhd, and ati drivers

                            The problem is I can never get a display from both cards working at the same time. Cmorrow or anyone can you confirm if you actually got two separate vga cards working under jaunty.

                            When i use fgrlx drivers at same time get stuck at bootup. Also note that when looking Catylst control center it never recognizance 2nd card, it sees it as unknown. When I use radeonhd drivers I am able to log in but nothing on second monitor

                            this is my xorg.conf
                            Code:
                            Section "ServerLayout"
                            	Identifier     "aticonfig Layout"
                            	Screen      0  "aticonfig-Screen[0]-0" 0 0
                            	Screen         "aticonfig-Screen[1]-0" RightOf "aticonfig-Screen[0]-0"
                            EndSection
                            
                            Section "Files"
                            EndSection
                            
                            Section "Module"
                            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[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:5:0:0"
                            EndSection
                            
                            Section "Device"
                            	Identifier  "aticonfig-Device[1]-0"
                            	Driver      "fglrx"
                            	BusID       "PCI:4: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[1]-0"
                            	Device     "aticonfig-Device[1]-0"
                            	Monitor    "aticonfig-Monitor[1]-0"
                            	DefaultDepth     24
                            	SubSection "Display"
                            		Viewport   0 0
                            		Depth     24
                            	EndSubSection
                            EndSection

                            Comment


                            • #29
                              I did indeed get multiseat working under Jaunty x64. In fact, it works great! I replaced my ATI cards with nVidia cards (Qty 3. 9800 GTX+) and now DPMS works. I was able to get Multiseat working with at least 2 seats using ATI hardware but never could get DPMS working.

                              In fact, my wife, daughter, and myself ended up playing a 3 vs 3 multiplayer match of Demigod under Wine 1.1.20 on the same physical box (which ran rather well).

                              My first initial response about your xorg.conf is that you need one ServerLayout section for each seperate X server you are trying to run. With 3 people on my machine, that means 3 server layout sections (seat0, seat1, and seat2 as I have defined them).

                              Then, you need to remember to launch each of those X sessions using your login manager.

                              I'm using Kubuntu which uses KDM instead of GDM, so you'll have to do things slightly differently, but I made the following changes in my /etc/kde4/kdm/kdmrc:

                              Code:
                              # List of permanent displays. Displays with a hostname are foreign. A display
                              # class may be specified separated by an underscore.
                              # Default is ":0"
                              #StaticServers=:0
                              StaticServers=:0,:1,:2
                              # List of on-demand displays. See StaticServers for syntax.
                              # Default is ""
                              #ReserveServers=:1,:2,:3
                              ReserveServers=:3
                              
                              .....<snip>.....
                              [X-:0-Core]
                              ClientLogFile=.xsession-errors
                              ServerArgsLocal=-nolisten tcp -layout seat0 -sharevts -novtswitch
                              
                              [X-:1-Core]
                              ClientLogFile=.xsession-errors
                              ServerArgsLocal=-nolisten tcp -layout seat1 -sharevts -novtswitch
                              
                              [X-:2-Core]
                              ClientLogFile=.xsession-errors
                              ServerArgsLocal=-nolisten tcp -layout seat2 -sharevts -novtswitch
                              Note that in each X server definition of my kdmrc, I specify a "-layout seat#" which corresponds with my ServerLayout section of xorg.conf. This is how xorg knows what hardware and settings to use in each session.

                              My xorg.conf
                              Code:
                              # xorg.conf (X.Org X Window System server configuration file)                   
                              #                                                                               
                              
                              Section "Monitor"
                                      Identifier     "2343bwx"
                                      Option         "dpms"   
                              EndSection                      
                              
                              Section "Monitor"
                                      Identifier     "216bw"
                                      Option         "dpms" 
                              EndSection                    
                              
                              Section "Monitor"
                                      Identifier     "viewsonic"
                                      Option         "dpms"     
                              EndSection                        
                              
                              Section "Screen"
                                      Identifier     "screen0"
                                      Device         "9800gtxplus-0"
                                      Monitor        "2343bwx"      
                                      DefaultDepth    24            
                                      SubSection "Display"          
                                              Depth       24        
                                      EndSubSection                 
                              EndSection                            
                              
                              Section "Screen"
                                      Identifier     "screen1"
                                      Device         "9800gtxplus-1"
                                      Monitor        "216bw"        
                                      DefaultDepth    24            
                                      SubSection "Display"          
                                              Depth       24        
                                      EndSubSection                 
                              EndSection                            
                              
                              Section "Screen"
                                      Identifier     "screen2"
                                      Device         "9800gtxplus-2"
                                      Monitor        "viewsonic"    
                                      DefaultDepth    24            
                                      SubSection "Display"          
                                              Depth       24        
                                      EndSubSection                 
                              EndSection                            
                              
                              Section "Module"
                                      Load           "dbe"   # Double buffer extension
                                      Load           "glx"                            
                                      Load           "type1"                          
                                      Load           "speedo"                         
                                      Load           "freetype"                       
                                      SubSection "extmod"                             
                                              Option         "omit xfree86-dga"   # don't initialize the DGA extension                                                                        
                                      EndSubSection                                                           
                              EndSection                                                                      
                              
                              Section "InputDevice"
                                      Identifier     "keyboard0"
                                      Driver         "evdev"    
                                      Option         "Device" "/dev/input/by-path/pci-0000:05:02.2-usb-0:4.4:1.0-event-kbd"                                                                   
                                      Option         "XkbModel" "evdev"                                       
                                      Option         "XkbLayout" "us"                                         
                              EndSection                                                                      
                              
                              Section "InputDevice"
                                      Identifier     "keyboard1"
                                      Driver         "evdev"    
                                      Option         "Device" "/dev/input/by-path/pci-0000:05:02.2-usb-0:3.2:1.0-event-kbd"                                                                   
                                      Option         "XkbModel" "evdev"                                       
                                      Option         "XkbLayout" "us"                                         
                              EndSection                                                                      
                              
                              Section "InputDevice"
                                      Identifier     "keyboard2"
                                      Driver         "evdev"    
                                      Option         "Device" "/dev/input/by-path/pci-0000:05:02.2-usb-0:2.1.1:1.0-event-kbd"                                                                 
                                      Option         "XkbModel" "evdev"                                       
                                      Option         "XkbLayout" "us"                                         
                              EndSection                                                                      
                              
                              Section "InputDevice"
                                      Identifier     "mouse0"
                                      Driver         "evdev" 
                                      Option         "Device" "/dev/input/by-path/pci-0000:05:02.2-usb-0:4.3:1.0-event-joystick"                                                              
                              EndSection                                                                      
                              
                              Section "InputDevice"
                                      Identifier     "mouse1"
                                      Driver         "evdev" 
                                      Option         "Device" "/dev/input/by-path/pci-0000:05:02.2-usb-0:3.3:1.0-event-mouse"                                                                 
                              EndSection                                                                      
                              
                              Section "InputDevice"
                                      Identifier     "mouse2"
                                      Driver         "evdev" 
                                      Option         "Device" "/dev/input/by-path/pci-0000:05:02.2-usb-0:2.4:1.0-event-mouse"                                                                 
                              EndSection                                                                      
                              
                              Section "ServerLayout"
                                      Identifier     "seat0"
                                      Screen         "screen0" 0 0
                                      InputDevice    "mouse0" "CorePointer"
                                      InputDevice    "keyboard0" "CoreKeyboard"
                                      Option         "DisableModInDev" "true"
                                      Option         "AutoAddDevices" "off"
                              EndSection
                              
                              Section "ServerLayout"
                                      Identifier     "seat1"
                                      Screen         "screen1" 0 0
                                      InputDevice    "mouse1" "CorePointer"
                                      InputDevice    "keyboard1" "CoreKeyboard"
                                      Option         "DisableModInDev" "true"
                                      Option         "AutoAddDevices" "off"
                              EndSection
                              
                              Section "ServerLayout"
                                      Identifier     "seat2"
                                      Screen         "screen2" 0 0
                                      InputDevice    "mouse2" "CorePointer"
                                      InputDevice    "keyboard2" "CoreKeyboard"
                                      Option         "DisableModInDev" "true"
                                      Option         "AutoAddDevices" "off"
                              EndSection
                              
                              Section "Device"
                                      Identifier     "9800gtxplus-0"
                                      Driver         "nvidia"
                                      BusID          "PCI:1:0:0"
                              EndSection
                              
                              Section "Device"
                                      Identifier     "9800gtxplus-1"
                                      Driver         "nvidia"
                                      BusID          "PCI:3:0:0"
                              EndSection
                              
                              Section "Device"
                                      Identifier     "9800gtxplus-2"
                                      Driver         "nvidia"
                                      BusID          "PCI:4:0:0"
                              EndSection
                              
                              Section "ServerFlags"
                                      Option         "AllowMouseOpenFail" "true"
                                      Option         "Xinerama" "0"
                                      Option  "DontZap"       "True"
                                      # Disable ctrl alt backspace
                                      # Option        "DontZap"
                                      # Xorg will otherwise not start if it can't find a mouse to use.
                                      # Disable xinerama
                              EndSection
                              Last edited by CMorrow; 05-05-2009, 12:01 PM. Reason: Edited for clarity

                              Comment


                              • #30
                                Multiple radeon adapters

                                Man thanks so much for the info. I have a follow up question. I know you having issues with dpms on you ati cards. Other than that can you tell me which drivers you had success with (ati, RadeonHD, frglx). I know you said previously that frglx worked minus the dpms. Did you try the other drivers (ati, RadeonHD)? I'll let you guys know my results on the dpms, if i can get that far.

                                Comment

                                Working...
                                X