Announcement

Collapse
No announcement yet.

Radeon, KMS, Multiseat & screenblank

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

  • Radeon, KMS, Multiseat & screenblank

    I've made rescent versions from git of:

    macros, drm, mesa & xf86-video-ati together with a drm-2.6 kernel

    I wish to run a multiseat machine. And everything looks great until display :0 blanks. When it unblanks it has returned to a vt, and I can't get back to X.

    Anybody got any suggestions how to avoid this?


    My setup is this:

    (tried with and without -novtswitch)
    Code:
    /usr/bin/X -br -nolisten tcp -sharevts -novtswitch -config /etc/X11/xorg.conf-:0 :0 vt7
    Code:
    /usr/bin/X -br -nolisten tcp -sharevts -novtswitch -config /etc/X11/xorg.conf-:1 :1 vt7

    dmesg: Error around the time of unblanking
    Code:
    [ 9758.190444] [drm:drm_mode_getfb] *ERROR* invalid framebuffer id
    xorg.conf-:0

    Code:
    Section "ServerFlags"
            Option "DontVTSwitch" "false"
            Option "DontZap" "false"
            Option "AutoAddDevices" "false"
            Option "AutoEnableDevices" "false"
            Option "BlankTime" "0"
            Option "StandbyTime" "0"
            Option "SuspendTime" "0"
            Option "OffTime" "0"
    EndSection
    
    Section "Files"
            ModulePath "/usr/local/xorg/lib/xorg/modules,/usr/lib/xorg/modules"
    EndSection
    
    Section "InputDevice"
            Identifier      "Keyboard0"
            Driver          "evdev"
            Option          "Device"        "/dev/input/by-id/usb-04d9_1400-event-kbd"
            Option          "XkbRules"      "xorg"
            Option          "XkbModel"      "evdev"
            Option          "XkbLayout"     "us"
            Option          "CoreKeyboard"
    EndSection
    
    Section "InputDevice"
            Identifier      "Mouse0"
            Driver          "evdev"
            Option          "Device"        "/dev/input/by-id/usb-04d9_1400-event-mouse"
            Option          "CorePointer"
    EndSection
    
    Section "Device"
            Identifier "Video Device"
            #Option "NoInt10" "true"
            BusId "PCI:01:05:0"
            Driver "radeon"
    EndSection
    
    Section "Monitor"
            Identifier      "Monitor"
            Option  "DPMS" "off"
    EndSection
    
    Section "Screen"
            Identifier      "Screen"
            Monitor         "Monitor"
            Device          "Video Device"
            Defaultdepth    24
    EndSection
    
    Section "ServerLayout"
            Identifier      "Layout"
            Screen          "Screen"
           InputDevice     "Keyboard0"
           InputDevice     "Mouse0"
    EndSection
    xorg.conf-:1
    Code:
    Section "ServerFlags"
            Option "DontVTSwitch" "false"
            Option "DontZap" "false"
            Option "AutoAddDevices" "false"
            Option "AutoEnableDevices" "false"
            Option "BlankTime" "0"
            Option "StandbyTime" "0"
            Option "SuspendTime" "0"
            Option "OffTime" "0"
    EndSection
    
    Section "Files"
            ModulePath "/usr/local/xorg/lib/xorg/modules,/usr/lib/xorg/modules"
    EndSection
    
    Section "InputDevice"
            Identifier      "Keyboard0"
            Driver          "evdev"
            Option          "Device"        "/dev/input/by-id/usb-Logitech_USB_Receiver-event-kbd"
            Option          "XkbRules"      "xorg"
            Option          "XkbModel"      "evdev"
            Option          "XkbLayout"     "us"
            Option          "CoreKeyboard"
    EndSection
    
    Section "InputDevice"
            Identifier      "Mouse0"
            Driver          "evdev"
            Option          "Device"        "/dev/input/by-id/usb-Logitech_USB_Receiver-event-mouse"
            Option "SendCoreEvents" "true"
    EndSection
    
    Section "InputDevice"
            Identifier      "Mouse1"
            Driver          "evdev"
            Option          "Device"        "/dev/input/by-id/usb-Logitech_USB-PS_2_Optical_Mouse-event-mouse"
            Option          "CorePointer"
    EndSection
    
    Section "Device"
            Identifier "Video Device"
            Option "NoInt10" "true"
            BusId "PCI:02:00:0"
            Driver "radeon"
    EndSection
    
    Section "Monitor"
            Identifier      "Monitor"
    EndSection
    
    Section "Screen"
            Identifier      "Screen"
            Monitor         "Monitor"
            Device          "Video Device"
            Defaultdepth    24
    EndSection
    
    Section "ServerLayout"
            Identifier      "Layout"
            Screen          "Screen"
           InputDevice     "Keyboard0"
           InputDevice     "Mouse0"
           InputDevice     "Mouse1"
    EndSection

  • #2
    Providing /var/log/Xorg.{0,1}.log (after a failed blank) could give further hints to the cause, maybe after adding -logverbose 20 to the X options.

    As a short-term workaround, you can add
    Code:
    xset -dpms
    xset s off
    to session startup to disable blanking.

    Comment


    • #3
      That I'll do.. When I get home...

      But overall the project has been halted (worked great with nvidia proprietary on ubuntu 8.04/8.10, but that motherboard died), because evdev (both ubuntu 9.10 & git) has issues to put it mildly.

      The classic:
      End, Left, Down has no repeat
      R-Ctrl, R-Alt has repeat
      (easily fixable with xset)

      The expansion (and showstopper):
      F1-F12 has no effect at all.

      So I'm back to a one screen setup.

      BTW. I realized that all the keypresses also went to tty1 (or whichever console that started the kdm process). So I'll also try an xserver from git to see if anything is different. It might be that there is no console-switching which is at the root of all this (pure guessing at this point)

      Comment


      • #4
        well, nvidia's drivers wouldn't save you from evdev trouble No idea about the possible cause, it might be Xorg, it might be your xorg.conf, it might be evdev, it might be a broken HAL configuration.


        I think newer Xorg / HAL combinations only accept keyboard options from HAL, not from xorg.conf. See
        Sparked by this thread , here's a list of X input facts in random order. The evdev driver is the preferred input driver. If you are not runn...


        At one point in time I've added /etc/hal/fdi/policy/10-keymap.fdi with the following contents, got rid of the keyboard section in xorg.conf and everything's been fine since.
        Code:
        <?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
        
        <deviceinfo version="0.2">
          <match key="info.capabilities" contains="input.keyboard">
            <merge key="input.xkb.layout" type="string">de</merge>
            <merge key="input.xkb.variant" type="string">nodeadkeys</merge>
          </match>
        </deviceinfo>
        If that doesn't help, you can try a workaround. See if the keys are recognized by xev. If they are, you can manually map them with Xmodmap. For example, I've added to ~/.Xmodmap
        Code:
        keycode 172 = XF86AudioPlay
        keycode 160 = XF86AudioMute
        keycode 176 = XF86AudioRaiseVolume
        keycode 174 = XF86AudioLowerVolume
        
        keycode 66 = Shift_L
        clear Lock
        then I run "Xmodmap ~/.Xmodmap" on session startup to get my multimedia keys working and to map caps lock to shift. xev will tell you the keycodes of any key you press, mapping them to F1 to F12 should do.

        Again, a clunky workaround. The HAL approach is be cleaner, if it works at all.

        Comment


        • #5
          Originally posted by bogeskov View Post
          That I'll do.. When I get home...

          But overall the project has been halted (worked great with nvidia proprietary on ubuntu 8.04/8.10, but that motherboard died), because evdev (both ubuntu 9.10 & git) has issues to put it mildly.

          The classic:
          End, Left, Down has no repeat
          R-Ctrl, R-Alt has repeat
          (easily fixable with xset)

          The expansion (and showstopper):
          F1-F12 has no effect at all.

          So I'm back to a one screen setup.

          BTW. I realized that all the keypresses also went to tty1 (or whichever console that started the kdm process). So I'll also try an xserver from git to see if anything is different. It might be that there is no console-switching which is at the root of all this (pure guessing at this point)
          You can workaround arrows repeat problems with:
          xset r 113
          xset r 116
          after you log in and options:
          Option "evBits" "+1"
          Option "keyBits" "~1-255 ~352-511"
          Option "Pass" "3"
          in xorg.conf for the USB keyboard InputDevice section.

          And one more - if you use KDE 4.x then you might disable KDE Hotkeys service on one seat as it brings some problems with multiseat (at least for me).

          Comment


          • #6
            Thank you.

            Those options I hadn't seen before. I'll test them whenever I get the time. Unfortunately I had to go to the hospital with my son. That has taken a lot of time and energy.

            Running a complete git-version of xorg has taken it's toll too.. Things like unable to boot after a git update of the drm-2.6 kernel. Unable to log out (screen just hangs), however I can change to the console, and stop the dm.

            Whenever I have some energy, I'll throw my self at it again with renewed ferocity. (building new kernels & xorgs remote, doesn't help much if you don't have the time to sit down and test it)

            Comment


            • #7
              I don't look at forum posts recently, so I haven't replied it sooner.
              I've done my multiseat configuration on Kubuntu 9.04 (with stock distribution xorg, kernel and drivers) and I've upgraded to 9.10 after the beta or rc release and upgrade went without problems with multiseat configuration keept.
              It's definitely hard to find some good info about that kind of configurations but once you get it right it looks simple but there are some things to workaround like this with keboard keys.
              I've been thinking about making some howto but I haven't find time and to take a fancy for that ;-)

              I wish you success with yours son health. (sorry for my English)

              Comment

              Working...
              X