Announcement

Collapse
No announcement yet.

black screen with kubuntu 8.04 x86_64 and fglrx 8.5

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

  • black screen with kubuntu 8.04 x86_64 and fglrx 8.5

    Hi

    Well, i've just switched from my old opensuse/ati9600, and i'm just having problems with fglrx.

    I decided to install the latest version, and seems to get installed fine (with apt and also "manually" generating the packages with ati installer). In fact manual installation was generating some error messages (after switching from ati driver to fglrx), but i was able to fix it using this "guide": http://ubuntuforums.org/showthread.php?t=785107

    Anyway, every time i install it i get a black screen at boot time, when the X server is going to start. The computer freezes, the keyboard doesn't work and i can't even go to a text terminal to make anything. In the end i have to force reboot. If i start in single user mode i can see loaded the driver by typing lsmod (there it is).

    How can i check where's the problem? Have you seen something similar?

    Regards

  • #2
    well, i had not modified the file /etc/default/linux-restricted-modules-common

    i've added fglrx to the list manually, and i've seen once the X mouse cursor appearing, but having a veeery slow movement, just previous to a system reboot

    the second time desktop's background has started to appear, but again X server freezing and system reboot

    my config looks like this:

    Code:
    Section "Device"
            Identifier      "Configured Video Device"
            Driver          "fglrx"
            Option          "XAANoOffscreenPixmaps"
            Option          "AccelMethod"   "XAA"#either XAA or EXA. "XAA" is the default and safe choice
            Option          "ColorTiling"   "on"
            Option          "EnablePageFlip"        "true"#only works with accelmethod "XAA"
            Option          "AccelDFS"      "true"#seemed to speed things up using EXA acceleration
            Option          "TripleBuffer"  "true"#This *might* help if you use something like Beryl and have slow video playback.
            Option          "DynamicClocks" "on"#This is for laptop users, it saves energy when in battery mode.
            Option          "DMAForXv"      "true"#This can speed up movie playback but can in rare cases case instability
            Option          "TexturedVideo" "on"
            Option          "VideoOverlay"  "on"
            Option          "OpenGLOverlay" "off"
            Busid           "PCI:1:0:0"#must match your lspci output
    EndSection
    
    Section "ServerLayout"
            Option          "AIGLX" "Off"
            Identifier      "Default Layout"
            screen "Default Screen"
    EndSection
    
    Section "DRI"
            Mode    0666
    EndSection
    
    Section "Extensions"
            Option          "Composite"     "Enable"
    EndSection
    any idea?

    regards

    P.D.: my mobo is gigabyte X48-DQ6, and i have 8 GB of ram

    Comment


    • #3
      Same here ...

      Hi,

      same problem with only 4Gb of RAM.

      Achieved to get Xorg to work disabling the memory remapping in the bios (chipset --> advanced options on an asus P5E).

      That allows me to use X with 2D and 3D accel but that's as if I only had 3.3 Gb of ram ... which can be acceptable on a 4Gb amount but would be really frustrating on a 8Gb one ...

      If it can help you waiting for AMD/ATI to provide us with working drivers ...

      Comment


      • #4
        Originally posted by Mamonetti View Post
        Hi

        Anyway, every time i install it i get a black screen at boot time, when the X server is going to start. The computer freezes, the keyboard doesn't work and i can't even go to a text terminal to make anything. In the end i have to force reboot. If i start in single user mode i can see loaded the driver by typing lsmod (there it is).

        How can i check where's the problem? Have you seen something similar?

        Regards
        Please read this thread. There is a issue between Asus mainboards and fglrx. Please report if changing the mtrr table fix your problem.

        Comment


        • #5
          Well ...

          Do you mean it's possible to change "manually" the MTRR table ?

          It's not an asus bios issue, but a fglrx one ... unable to work on a computer with more than 4Gb "enabled" ...

          I wish I had the solution ...

          Comment


          • #6
            My init script:

            cat /mnt/rescue/etc/rcS.d/S56mtrr

            Code:
            #! /bin/sh
            ### BEGIN INIT INFO
            # Provides:          mtrrmod
            # Required-Start:
            # Required-Stop:
            # Default-Start:     S
            # Default-Stop:
            # Short-Description: fix buggy mtrr table
            # Description:
            #
            ### END INIT INFO
            
            case "$1" in
              start|"")
                    # Clean /tmp, /var/lock, /var/run
                    #. /lib/init/bootclean.sh
                    echo "disable=00" > /proc/mtrr
                    echo "disable=01" > /proc/mtrr
                    echo "disable=02" > /proc/mtrr
                    echo "disable=03" > /proc/mtrr
                    echo "disable=04" > /proc/mtrr
                    #echo "disable=05" > /proc/mtrr
                    echo "base=0x0000000000 size=0x0080000000 type=write-back" > /proc/mtrr
                    echo "base=0x0080000000 size=0x0040000000 type=write-back" > /proc/mtrr
                    echo "base=0x00c0000000 size=0x0010000000 type=write-back" > /proc/mtrr
                    echo "base=0x0100000000 size=0x0020000000 type=write-back" > /proc/mtrr
                    echo "base=0x0120000000 size=0x0010000000 type=write-back" > /proc/mtrr
                    ;;
            
              restart|reload|force-reload)
                    echo "Error: argument '$1' not supported" >&2
                    exit 3
                    ;;
              stop)
                    # No-op
                    ;;
              *)
                    echo "Usage: myinit.sh [start|stop]" >&2
                    exit 3
                    ;;
            esac
            
            :

            Comment


            • #7
              First of all i have a gigabyte x48-dq6 mobo, not asus.. but maybe the problem is also related to MTRR.

              Right now i'm using open source ati driver, and my lspci -v output looks like this:

              Code:
              01:00.0 VGA compatible controller: ATI Technologies Inc Radeon HD 3870 (prog-if 00 [VGA controller])
                      Subsystem: ASUSTeK Computer Inc. Unknown device 022a
                      Flags: bus master, fast devsel, latency 0, IRQ 10
                      Memory at d0000000 (64-bit, prefetchable) [size=256M]
                      Memory at e5000000 (64-bit, non-prefetchable) [size=64K]
                      I/O ports at 9000 [size=256]
                      [virtual] Expansion ROM at e4000000 [disabled] [size=128K]
                      Capabilities: <access denied>
              I don't know why there are only 256 MB, when the card has 512 (and should not be a bios problem, because from my windows system it detects the card with all its memory available).

              My /proc/mtrr file is:

              Code:
              reg00: base=0x00000000 (   0MB), size=4096MB: write-back, count=1
              reg01: base=0xe0000000 (3584MB), size= 512MB: uncachable, count=1
              reg02: base=0xd0000000 (3328MB), size= 256MB: uncachable, count=1
              reg03: base=0x100000000 (4096MB), size=4096MB: write-back, count=1
              reg04: base=0x200000000 (8192MB), size=1024MB: write-back, count=1
              reg05: base=0x230000000 (8960MB), size= 256MB: uncachable, count=1
              reg06: base=0xcff00000 (3327MB), size=   1MB: uncachable, count=1
              Again a 256 MB range for the card.

              As you can see there are 2 ranges with 4 GB, that cover all my 8 GB of RAM. I was thinking about extending directly the range for the card, but it may be a problem, because right next there's another extra 512 MB range, and I don't know what's it for.

              How can I know the meaning of all remaining ranges? (all but 00, 02 and 03)

              According to the post related previously the RAM range should be set as write-back, so a way here could be removing 01 and 02, because 00 should cover the hole 4 GB range, including those directions.

              Anyway, how can a different memory caching strategy make a system freeze? IMHO it makes no sense, but probably there's an explanation for this (assuming it gets confirmed, of course).

              Regards

              Comment


              • #8
                Try this:
                - boot system without framebuffer
                - remove every mtrr entry with "echo disable ...."
                - start x-server with "X" or "startx" witch takes hours
                If this works your mainboard has the mtrr issue.

                Comment


                • #9
                  I tried to use your script (slightly edited) zappbrannigan, but it didn't end well. The first thing it printed was "BUG: unable to handle kernel paging request at ffffffff" and it continued to slowly print out Stack (Trace?) and Call Traces, an Oops for each CPU core and stopped outputting with "Fixing recursive fault but reboot is needed!" A reboot did not change anything (but I didn't expect it would). I took a few pictures of all the output so if it will help someone explain what happened or why I'd be happy to post them.

                  I booted my gparted livecd to unlink the fix-mtrr script and everything is as it was again.

                  This is the modified script I used, I saved it as fix-mtrr in /etc/init.d and linked it to /etc/rcS.d/S56mtrr. I have 4GB of memory in 2 2GB dimms.
                  Code:
                  #! /bin/sh
                  ### BEGIN INIT INFO
                  # Provides:          mtrrmod
                  # Required-Start:
                  # Required-Stop:
                  # Default-Start:     S
                  # Default-Stop:
                  # Short-Description: fix buggy mtrr table
                  # Description:
                  #
                  ### END INIT INFO
                  
                  case "$1" in
                    start|"")
                          # Clean /tmp, /var/lock, /var/run
                          #. /lib/init/bootclean.sh
                          echo "disable=00" > /proc/mtrr
                          echo "disable=01" > /proc/mtrr
                          echo "disable=02" > /proc/mtrr
                          #echo "disable=03" > /proc/mtrr
                          #echo "disable=04" > /proc/mtrr
                          #echo "disable=05" > /proc/mtrr
                          echo "base=0x0000000000 size=0x0080000000 type=write-back" > /proc/mtrr
                          echo "base=0x0080000000 size=0x0040000000 type=write-back" > /proc/mtrr
                          echo "base=0x00c0000000 size=0x0010000000 type=write-back" > /proc/mtrr
                          echo "base=0x0100000000 size=0x0020000000 type=write-back" > /proc/mtrr
                          echo "base=0x0120000000 size=0x0010000000 type=write-back" > /proc/mtrr
                          ;;
                  
                    restart|reload|force-reload)
                          echo "Error: argument '$1' not supported" >&2
                          exit 3
                          ;;
                    stop)
                          # No-op
                          ;;
                    *)
                          echo "Usage: myinit.sh [start|stop]" >&2
                          exit 3
                          ;;
                  esac
                  
                  :
                  this is my current mtrr:

                  reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1
                  reg01: base=0x80000000 (2048MB), size=1024MB: write-back, count=1
                  reg02: base=0xc0000000 (3072MB), size= 256MB: write-back, count=1

                  Is there some obvious error I've made somewhere? I do use a VESA framebuffer (vga=791)...

                  Comment


                  • #10
                    Originally posted by Mamonetti View Post
                    Anyway, how can a different memory caching strategy make a system freeze? IMHO it makes no sense, but probably there's an explanation for this (assuming it gets confirmed, of course).
                    If the memory ranges the BIOS gives the operating system are wrong, your system is toast as soon as the OS tries to access the incorrectly configured memory.

                    I had precisely your problem (boots up but system locks with black screen when fglrx starts) on an M2A-VM motherboard because it shipped with an old BIOS which gave invalid memory configuration data to the OS if you installed 4GB or more of RAM. A BIOS upgrade made it work with no problems.

                    Comment

                    Working...
                    X