Announcement

Collapse
No announcement yet.

Troubleshouting a HD2600 PRO AGP

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

  • #11
    Originally posted by givemesugarr View Post
    from the log it seems that you have succeeded to load dri and you were too impatient on killing the xorg server. it has only arrived to the expose of the events to /proc and it should then start to load kdb and mouse. xaa, dri, and fgrlx seem to have been loaded fine. you might have to wait a little more time before xorg to start. startx would return to the console if it cannot stat, unlike the init 5 which will lockup. so retry the same options and wait about 1 or 2 minutes (you might have to wait this time before it starts). if you still see the black screen after 2 minutes switch to another console with ctrl+alt+f2 for example, login and then do a cat on the xorg log. you might be able to see if xorg arrived at the devices load (keyboard and mouse). it could hang if it cannot load the mouse (Option "AllowMouseOpenFail" "off" would prevent xorg from starting if it cannot find the mouse interface). so if you still cannot load the devices try setting it to on instead.
    Thanks again, but, I doubt I can be called impatient. I let it sit there once for 15 minutes and the other for 10 and that's the point where it hangs,
    whether that's what you'd expect or not.

    New Xorg.0.log (I ran a diff, differences are minimal, some minor bumps on the drmOpen road it seems): http://pastebin.com/m2100c1f9

    Oh, and I could ctrl-alt-f2 all I want, it really hangs the whole PC at that point . no keyboard response whatsoever except to Alt-SysRq-b

    Comment


    • #12
      Originally posted by Swoopy View Post
      Thanks again, but, I doubt I can be called impatient. I let it sit there once for 15 minutes and the other for 10 and that's the point where it hangs,
      whether that's what you'd expect or not.

      New Xorg.0.log (I ran a diff, differences are minimal, some minor bumps on the drmOpen road it seems): http://pastebin.com/m2100c1f9

      Oh, and I could ctrl-alt-f2 all I want, it really hangs the whole PC at that point . no keyboard response whatsoever except to Alt-SysRq-b
      so the problem is in the driver and to me it seems to stand in the acpi settings. i'll post you later the script to try to fix this issue after i got home.
      on gentoo it works. if you cannot wait till then search for the gentoo ati-powermode.sh script and try out running that one as root and then retry startx. maybe this time will work.

      Comment


      • #13
        Ho boy this is so out of my league.
        so the problem is in the driver and to me it seems to stand in the acpi settings. i'll post you later the script to try to fix this issue after i got home.
        on gentoo it works.
        When you said that on Gento it work do you mean this card (hd 2600 AGP) or some other card?

        Comment


        • #14
          With the following xorg.conf, I got fglrx to load.
          In hindsight it is not such a surprise, since by botching the AGP init for the driver, the next thing that happened was that DRI failed to work, making it effectively as if I disabled it by using
          Code:
           Option  "no_dri"  "on"
          Disabling DRI directly already made fglrx work for me.
          Lo and behold, the driver does indeed behave the same way, dog-slow scrolling and no OpenGL accel whatsoever. Back to being worse off than with radeonhd driver

          I'm gonna go with different AGPMask / AGPv3Mask (my BIOS options suggest it's AGP v3) settings next, or maybe disable AGP8x completely in the BIOS.

          xorg.conf: http://pastebin.com/m5ac9de46
          Xorg.0.log: http://pastebin.com/m566f4eb2

          (I didn't find that ACPI=related script yet)

          Comment


          • #15
            Originally posted by fred View Post
            Ho boy this is so out of my league.


            When you said that on Gento it work do you mean this card (hd 2600 AGP) or some other card?
            i mean hd 2600 xt 256 ddr3 (pcie though). i haven't said that it would work, but it could after running the scripts that gentoo has provided. for me the gentoo packages were better than non gentoo ones and had almost always make the driver work.

            With the following xorg.conf, I got fglrx to load.
            In hindsight it is not such a surprise, since by botching the AGP init for the driver, the next thing that happened was that DRI failed to work, making it effectively as if I disabled it by using
            Code:

            Option "no_dri" "on"

            Disabling DRI directly already made fglrx work for me.
            Lo and behold, the driver does indeed behave the same way, dog-slow scrolling and no OpenGL accel whatsoever. Back to being worse off than with radeonhd driver

            I'm gonna go with different AGPMask / AGPv3Mask (my BIOS options suggest it's AGP v3) settings next, or maybe disable AGP8x completely in the BIOS.

            xorg.conf: http://pastebin.com/m5ac9de46
            Xorg.0.log: http://pastebin.com/m566f4eb2

            (I didn't find that ACPI=related script yet)
            i'll try posting it to pastebin as soon i could connect to it.

            Comment


            • #16
              There's a /etc/acpi/fglrx-powermode.sh on my system,
              is it the same?:
              Code:
              #!/bin/bash 
              
              . /etc/default/fglrx
              if [ x$FGLRX_ACPI_SWITCH_POWERSTATES != xtrue ]; then
                exit;
              fi
              
              getXuser() {
                      user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'`
                      if [ x"$user" = x"" ]; then
                              user=`finger| grep -m1 ":$displaynum" | awk '{print $1}'`
                      fi
                      if [ x"$user" != x"" ]; then
                              userhome=`getent passwd $user | cut -d: -f6`
                              export XAUTHORITY=$userhome/.Xauthority
                      else
                              export XAUTHORITY=""
                      fi
              }
              
              grep -q closed /proc/acpi/button/lid/*/state
              if [ $? = 0 ]; then
               lid_closed=1
              else
               lid_closed=0
              fi
              
              grep -q off-line /proc/acpi/ac_adapter/*/state 
              if [ $? = 0 ]; then
                 on_dc=1
              else
                 on_dc=0
              fi
              
              
              
              if [ ${lid_closed} -eq 1 -o ${on_dc} -eq 1 ]; then
                  echo "fglrx: setting low power"
                  for x in /tmp/.X11-unix/*; do
                      displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
                      getXuser;
                      if [ x"$XAUTHORITY" != x"" ]; then
                          export DISPLAY=":$displaynum"           
                          powermode=`/usr/bin/aticonfig --lsp | grep -m1 low | cut -b 3-3`
                          if [ x"$powermode" != x"" ]; then
                              su $user -c "/usr/bin/aticonfig --set-powerstate=$powermode --effective=now" &>/dev/null
                          fi
                      fi
                  done
              else
                  echo "fglrx: setting default powermode"
                  for x in /tmp/.X11-unix/*; do
                      displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
                      getXuser;
                      if [ x"$XAUTHORITY" != x"" ]; then
                          export DISPLAY=":$displaynum"
                          powermode=`/usr/bin/aticonfig --lsp | grep -m1 default | cut -b 3-3`
                          if [ x"$powermode" != x"" ]; then
                              su $user -c "/usr/bin/aticonfig --set-powerstate=$powermode --effective=now" &>/dev/null
                          fi
                      fi
                  done
              fi

              Comment


              • #17
                See also: http://phoronix.com/forums/showthread.php?p=23936

                Comment


                • #18
                  I've read (I forget where because of too muich reading last night) that the drivers doesn't work with ACPI. Try to recompile it without activating ACPI. Sorry though I don't know how you can do that under Ubuntu (i'm under Gentoo).

                  Comment


                  • #19
                    Originally posted by Swoopy View Post
                    There's a /etc/acpi/fglrx-powermode.sh on my system,
                    is it the same?:
                    Code:
                    #!/bin/bash 
                    
                    . /etc/default/fglrx
                    if [ x$FGLRX_ACPI_SWITCH_POWERSTATES != xtrue ]; then
                      exit;
                    fi
                    
                    getXuser() {
                            user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'`
                            if [ x"$user" = x"" ]; then
                                    user=`finger| grep -m1 ":$displaynum" | awk '{print $1}'`
                            fi
                            if [ x"$user" != x"" ]; then
                                    userhome=`getent passwd $user | cut -d: -f6`
                                    export XAUTHORITY=$userhome/.Xauthority
                            else
                                    export XAUTHORITY=""
                            fi
                    }
                    
                    grep -q closed /proc/acpi/button/lid/*/state
                    if [ $? = 0 ]; then
                     lid_closed=1
                    else
                     lid_closed=0
                    fi
                    
                    grep -q off-line /proc/acpi/ac_adapter/*/state 
                    if [ $? = 0 ]; then
                       on_dc=1
                    else
                       on_dc=0
                    fi
                    
                    
                    
                    if [ ${lid_closed} -eq 1 -o ${on_dc} -eq 1 ]; then
                        echo "fglrx: setting low power"
                        for x in /tmp/.X11-unix/*; do
                            displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
                            getXuser;
                            if [ x"$XAUTHORITY" != x"" ]; then
                                export DISPLAY=":$displaynum"           
                                powermode=`/usr/bin/aticonfig --lsp | grep -m1 low | cut -b 3-3`
                                if [ x"$powermode" != x"" ]; then
                                    su $user -c "/usr/bin/aticonfig --set-powerstate=$powermode --effective=now" &>/dev/null
                                fi
                            fi
                        done
                    else
                        echo "fglrx: setting default powermode"
                        for x in /tmp/.X11-unix/*; do
                            displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
                            getXuser;
                            if [ x"$XAUTHORITY" != x"" ]; then
                                export DISPLAY=":$displaynum"
                                powermode=`/usr/bin/aticonfig --lsp | grep -m1 default | cut -b 3-3`
                                if [ x"$powermode" != x"" ]; then
                                    su $user -c "/usr/bin/aticonfig --set-powerstate=$powermode --effective=now" &>/dev/null
                                fi
                            fi
                        done
                    fi

                    this is the powermanagement for acpi. it doesn't matter much. the patch i've been speaking about is meant to be added before the compilation.

                    here's the patch that need to be applied after decompressing fglrx and before compiling it on gentoo is automatic, but on ther distros you need to have the driver extracted, patched and after them compile the modules.

                    diff -ur common.orig/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh
                    --- common.orig/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2006-07-28 04:22:36.000000000 +0100
                    +++ common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2006-08-04 12:19:42.000000000 +0100
                    @@ -4,6 +4,8 @@
                    # Control script for ACPI lid state and AC adapter state
                    #

                    +aticonfig='/opt/bin/aticonfig'
                    +
                    getXuser() {
                    user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'`
                    if [ x"$user" = x"" ]; then
                    @@ -47,7 +49,7 @@
                    done

                    #If PPLIB is enabled
                    -su $user -c '/usr/bin/aticonfig --pplib-cmd="get version"' | grep PPLIB
                    +su $user -c '$aticonfig --pplib-cmd="get version"' | grep PPLIB
                    if [ $? = 0 ]; then
                    echo "Has PPLIB"
                    has_pplib=1
                    @@ -61,15 +63,15 @@
                    if [ ${lid_closed} -eq 1 -o ${on_dc} -eq 1 ]; then
                    echo "Low power"
                    if [ ${has_pplib} -eq 1 ]; then
                    - su $user -c '/usr/bin/aticonfig --pplib-cmd="notify psrc dc"'
                    + su $user -c '$aticonfig --pplib-cmd="notify psrc dc"'
                    else
                    - su $user -c "/usr/bin/aticonfig --set-powerstate=1 --effective=now"
                    + su $user -c "$aticonfig --set-powerstate=1"
                    fi
                    else
                    echo "high power"
                    if [ ${has_pplib} -eq 1 ]; then
                    - su $user -c '/usr/bin/aticonfig --pplib-cmd="notify psrc ac"'
                    + su $user -c '$aticonfig --pplib-cmd="notify psrc ac"'
                    else
                    - su $user -c "/usr/bin/aticonfig --set-powerstate=3 --effective=now"
                    + su $user -c "$aticonfig --set-powerstate=$($aticonfig --lsp | grep 'default state' | cut -c 3)"
                    fi
                    fi
                    then you run the following after compilation:

                    #!/bin/sh

                    #
                    # Control script grant/revoke access to X for the ATI External Events Daemon
                    #
                    # Distro maintainers may modify this reference script as necessary to conform
                    # to their distribution policies.
                    #
                    # Copyright (c) 2006, ATI Technologies Inc. All rights reserved.
                    #

                    #
                    # Parameters:
                    # $1 is a keyword, either "grant" or "revoke"
                    # $2 is the display name
                    # $3 is the X authorization file to be authorized
                    #
                    # Returns:
                    # 0 if authorization was successfully granted/revoked
                    # nonzero on failure
                    #
                    # Note:
                    # The third parameter only makes sense if xauth is being used. If another
                    # mechanism such as xhost is being used it can be ignored. For setups that
                    # do not do any form of authentication(!) this script can be trimmed down
                    # to just "exit 0" and the daemon will assume that it is always authorized.
                    #

                    GetServerAuthFile()
                    {
                    # Determine where the authorization key may be hiding. The location will
                    # vary depending upon whether X was started via xdm/kdm, gdm or startx, so
                    # check each one in turn.

                    # Check xdm/kdm

                    XDM_AUTH_MASK=/etc/X11/xdm/authdir/authfiles/A$1*
                    XDM_AUTH_FILE=`ls -t $XDM_AUTH_MASK 2>/dev/null | head -n 1` # Choose the newest file
                    if [ -n "$XDM_AUTH_FILE" ]; then
                    SERVER_AUTH_FILE=$XDM_AUTH_FILE
                    DISP_SEARCH_STRING="#ffff##:.*MIT-MAGIC-COOKIE"
                    return 0
                    fi

                    # Check gdm

                    GDM_AUTH_FILE=/var/gdm/$1.Xauth
                    if [ -e $GDM_AUTH_FILE ]; then
                    SERVER_AUTH_FILE=$GDM_AUTH_FILE
                    DISP_SEARCH_STRING="$1"
                    return 0
                    fi

                    # Finally, check for startx

                    for XPID in `pidof X`; do
                    TRIAL_XAUTH_FILE=`tr '\0' '\n' < /proc/$XPID/environ | grep -e "^XAUTHORITY=" | cut -d= -f2`
                    TRIAL_XAUTH_KEY=`xauth -f $TRIAL_XAUTH_FILE list | grep "unix$1"`
                    if [ -n "$TRIAL_XAUTH_KEY" ]; then
                    SERVER_AUTH_FILE=$TRIAL_XAUTH_FILE
                    DISP_SEARCH_STRING="unix$1"
                    return 0
                    fi
                    done

                    # Couldn't find the key

                    return -1
                    }

                    # Main part of script

                    #
                    # Since the daemon is usually started during init time before X comes up,
                    # $PATH may not yet contain the paths to the X binaries, particularly xauth.
                    # Add the usual location for where xauth may live and fail out if we still
                    # can't find it.
                    #

                    PATH=$PATH:/usr/bin:/usr/X11R6/bin
                    which xauth > /dev/null || exit -1

                    case "$1" in
                    grant)
                    GetServerAuthFile $2 || exit -1
                    DISP_AUTH_KEY=`xauth -f $SERVER_AUTH_FILE list | grep $DISP_SEARCH_STRING | awk '{ print $3 }'`
                    if [ -n "$DISP_AUTH_KEY" ]; then
                    xauth -f $3 add $2 . $DISP_AUTH_KEY || exit -1
                    else
                    exit -1
                    fi
                    ;;

                    revoke)
                    xauth -f $3 remove $2 || exit -1
                    ;;

                    *)
                    exit -1
                    ;;
                    esac
                    exit 0
                    and then retry starting x. but i now think the problem stands in the glex.so module, without which dri isn't enabled. the glex.so problem is also on my x200m and i really think that this thing is due to the driver, and that we'll need to wait for the next release to have it fixed.

                    Comment


                    • #20
                      Hello, I have an ATI Radeon HD 2600 Pro AGP, and i could make it work with compiz. I've posted how i did it here:
                      http://www.phoronix.com/forums/showt...00+agp&page=22
                      Hope it works to all of you. As prove of my faith here's my "fglrxinfo"
                      display: :0.0 screen: 0
                      OpenGL vendor string: ATI Technologies Inc.
                      OpenGL renderer string: ATI Radeon HD 2600 Pro AGP
                      OpenGL version string: 2.1.7537 Release
                      Bye, and good luck. Ansraliant

                      Comment

                      Working...
                      X