[HD 3870] Blank screen when GDM starts

Bug #272877 reported by Rune K. Svendsen
22
Affects Status Importance Assigned to Milestone
xserver-xorg-driver-ati
Fix Released
Medium
xserver-xorg-video-ati (Ubuntu)
Fix Released
High
Unassigned

Bug Description

Binary package hint: xserver-xorg-video-ati

When running the Inpretid Alpha 6 Live CD I just get a blank/black screen when GDM starts. I am able to get to a console by pressing Alt+F1, and if I change the driver to "vesa" in xorg.conf and restart GDM, it starts fine and I can log in.

[lspci]
00:00.0 Host bridge [0600]: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller [8086:29c0] (rev 02)
     Subsystem: ABIT Computer Corp. Device [147b:1083]
01:00.0 VGA compatible controller [0300]: ATI Technologies Inc Radeon HD 3870 [1002:9501]
     Subsystem: PC Partner Limited Device [174b:e620]

[update]
This is fixed in the current -ati git tree, but not yet available in Ubuntu. Hopefully it should be resolved next time we update -ati for jaunty.

Tags: 8.10
Revision history for this message
Rune K. Svendsen (runeks) wrote :
Revision history for this message
Rune K. Svendsen (runeks) wrote :
Revision history for this message
MichiGreat (michi20091979) wrote :

Same problem on my machine: ATI 2400 with LG 226WTQ. After GDM starts, the screen is blank and the monitor goes standby. I don't have an idea how to change the driver to "vesa", so I can't verify this workaround. The only thing I did is pressing Alt+F1 and typing "sudo reboot".

Revision history for this message
Rune K. Svendsen (runeks) wrote :

You can change the driver to "vesa by getting to a console by pressing Ctrl+Alt+F1 (or is it Alt+F1? I can't remember). Then shut down GDM by typing:

sudo /etc/init.d/gdm stop

Then you edit the file /etc/X11/xorg.conf with for example 'nano' by typing:

sudo nano /etc/X11/xorg.conf

There should be a "Device"-section that looks like this (there might be more lines of text between "Section" and "EndSection", but mine just looks like this when using the Intrepid Alpha 6 Live CD):

Section "Device"
 Identifier "Configured Video Device"
EndSection

In this section add a line with the text "Driver "vesa"". Doing so with the example above would make it look like this:

Section "Device"
 Identifier "Configured Video Device"
 Driver "vesa"
EndSection

Now start GDM again by typing:

sudo /etc/init.d/gdm start

Revision history for this message
Bryce Harrington (bryce) wrote :

[This is an automated message]

Hi rune-svendsen,

Please attach the output of `lspci -vvnn` too.

Changed in xserver-xorg-video-ati:
status: New → Incomplete
Revision history for this message
Rune K. Svendsen (runeks) wrote :

Here you go.

Revision history for this message
Rune K. Svendsen (runeks) wrote :

I should note that this bug is still present with the now released final version of Intrepid Ibex.

Revision history for this message
Bryce Harrington (bryce) wrote :

Thanks Rune,

radeontool in Jaunty* can be used to assist in debugging these kinds of issues where the screen blanks on start. After installing it, you run it like this:

    radeontool regmatch '*' > regdump_good.txt
    radeontool regmatch '*' > regdump_broke.txt

Run it two times. Once when you have a working screen (for any driver), and once in the broken case (either from the tty console or logged into the sick box remotely). Attach both of those to this bug report, and we can then forward this issue upstream. Thanks ahead of time!

[* Note: radeontool is available in earlier versions of Ubuntu but is too old; if you need to run it on an older version of Ubuntu, you can obtain and build it from the upstream git tree at http://cgit.freedesktop.org/~airlied/radeontool/]

Changed in xserver-xorg-video-ati:
status: Incomplete → Confirmed
status: Confirmed → Incomplete
Bryce Harrington (bryce)
description: updated
Revision history for this message
Rune K. Svendsen (runeks) wrote :

Hello Bryce

I did what you said and I'm attaching the output here. I just snatched the radeontool-package from Jaunty (http://packages.ubuntu.com/jaunty/radeontool) installed it and used that instead, that way I didn't have to compile anything. I presume that gives the same results. If not please inform me and I'll try compiling it from source instead.

Here are the files :)

Revision history for this message
Rune K. Svendsen (runeks) wrote :
Revision history for this message
In , Bryce Harrington (bryce) wrote :

Forwarding this bug from a Ubuntu reporter:
https://bugs.edge.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/272877

[Problem]
Blank screen during X boot on Radeon HD 3870 in Intrepid (-ati: 1:6.9.0+git20081003.f9826a56-0ubuntu2, xserver 1.5.2)

[Original Report]
When running the Intrepid Alpha 6 Live CD I just get a blank/black screen when GDM starts. I am able to get to a console by pressing Alt+F1, and if I change the driver to "vesa" in xorg.conf and restart GDM, it starts fine and I can log in.

[lspci]
00:00.0 Host bridge [0600]: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller [8086:29c0] (rev 02)
     Subsystem: ABIT Computer Corp. Device [147b:1083]
01:00.0 VGA compatible controller [0300]: ATI Technologies Inc Radeon HD 3870 [1002:9501]
     Subsystem: PC Partner Limited Device [174b:e620]

Revision history for this message
In , Bryce Harrington (bryce) wrote :

Created an attachment (id=22342)
Xorg.0.log

Revision history for this message
In , Bryce Harrington (bryce) wrote :

Created an attachment (id=22343)
regdump_good.txt

Revision history for this message
In , Bryce Harrington (bryce) wrote :

Created an attachment (id=22344)
regdump_broke.txt

Revision history for this message
In , agd5f (agd5f) wrote :

Do any modes besides 2048x1536 work? Also, the display regs have changes on r5xx and newer hardware so the radeontool output isn't relevant on your chip. Dave's radeontool package has another utility called avivotool:
./avivotool regs all
You might also want to try the ati driver from git master as I've just reworked that atom modesetting significantly.

Bryce Harrington (bryce)
Changed in xserver-xorg-video-ati:
importance: Undecided → High
status: Incomplete → Triaged
Changed in xserver-xorg-driver-ati:
status: Unknown → Confirmed
Revision history for this message
Bryce Harrington (bryce) wrote : Re: Blank screen when GDM starts

Thanks for collecting those files. I've forwarded this bug upstream to https://bugs.freedesktop.org/show_bug.cgi?id=19803. Could you please subscribe yourself to this bug, in case they need further information or wish you to test something. Thanks ahead of time!

I've also written a page up to assist others in debugging this class of bug: https://wiki.ubuntu.com/X/Troubleshooting/BlankScreen Thank you for contributing details of how you analyzed your case; I've incorporated your steps into that document.

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

Created an attachment (id=22381)
Wrong colors when changing resolution with gnome-display-properties

When changing resolution with gnome-display-properties this is how it looks. Restarting GDM fixes this.

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

(In reply to comment #4)
> Do any modes besides 2048x1536 work? Also, the display regs have changes on
> r5xx and newer hardware so the radeontool output isn't relevant on your chip.
> Dave's radeontool package has another utility called avivotool:
> ./avivotool regs all
> You might also want to try the ati driver from git master as I've just reworked
> that atom modesetting significantly.
>

Hello Alex

When using the ati-driver neither the default mode nor 1600x1200 work, I haven't tried other modes than those two.
Trying to change the resolution using Ubuntu's built-in graphical tool (gnome-display-properties) doesn't work. When I choose a different resolution and press Apply I get corrupted colors (I've attached a picture that shows how it looks). Getting to a console and restarting gdm fixes this issue with corrupted colors. I'm not sure if it's relevant but I figured it could be.

You'll have to guide me on how to compile avivotool from source. I've tried getting the source with git but it contains no README file or anything so I'm a bit lost.

I'm also not sure what or how to compile, as you say, "ati driver from git master". But if you can tell me how to or just give me a link that explains it I'll definitely try it.

Revision history for this message
In , agd5f (agd5f) wrote :

(In reply to comment #6)
> You'll have to guide me on how to compile avivotool from source. I've tried
> getting the source with git but it contains no README file or anything so I'm a
> bit lost.
>

just run 'make'. you'll need the libpciaccess-dev package installed.

> I'm also not sure what or how to compile, as you say, "ati driver from git
> master". But if you can tell me how to or just give me a link that explains it
> I'll definitely try it.
>

http://www.botchco.com/agd5f/?page_id=2

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

Created an attachment (id=22382)
output of "./avivotool regs all"

Output from running the command "./avivotool regs all" as root.

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

Created an attachment (id=22383)
output of "./avivotool regs all" with non-working ati-driver

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

(In reply to comment #7)
> just run 'make'. you'll need the libpciaccess-dev package installed.

Aah, that package I was missing. Now it works. I've attached the output from avivotool when using the working (vesa) driver and when using the non-working (ati) driver.

> http://www.botchco.com/agd5f/?page_id=2

When I compile the newest drivers and restart GDM it works in the highest resolution (2048x1536@60Hz). I then tried to change the resolution to 1600x1200@85Hz and the symptom described in the bug returned (screen is blank and standby LED goes on (changes from light green to orange)).

Now, when using the ati driver, I don't know how to get back to the 2048x1536 resolution so I can test which other resolutions work. When I restart GDM I keep getting a blank screen with the ati-driver.

I would rather not restart my computer as I'm running a Live CD and I'd need to compile all that I've compiled all over again.

I've tried adding the following line to the "Screen" section in my xorg.conf but it doesn't help:

        DefaultDepth 24
        SubSection "Display"
                Depth 8
                Modes "2048x1536"
        EndSubSection
        SubSection "Display"
                Depth 16
                Modes "2048x1536"
        EndSubSection
        SubSection "Display"
                Depth 24
  Modes "2048x1536"
        EndSubSection(In reply to comment #7)

Revision history for this message
In , Bryce Harrington (bryce) wrote :

Btw, I pulled a git snapshot of Dave's radeontool package into Ubuntu Jaunty so users should have access to both 'radeontool' and 'avivotool' with that, no building from git needed.

  http://packages.ubuntu.com/jaunty/radeontool

In fact I suspect users on Intrepid and Hardy could probably install the jaunty deb and it may work just fine there too.

I've also added some documentation for this class of bug, with directions on running radeontool and avivotool:

  https://wiki.ubuntu.com/X/Troubleshooting/BlankScreen

Alex, it would be appreciated if you could review this so we can be certain we're giving users accurate directions on troubleshooting this class of bug, so when you see the bug reports they'll be more likely to already have all the info you need.

Revision history for this message
In , agd5f (agd5f) wrote :

That looks great Bryce. Thanks for putting it together!

Revision history for this message
In , agd5f (agd5f) wrote :

(In reply to comment #10)
> When I compile the newest drivers and restart GDM it works in the highest
> resolution (2048x1536@60Hz). I then tried to change the resolution to
> 1600x1200@85Hz and the symptom described in the bug returned (screen is blank
> and standby LED goes on (changes from light green to orange)).
>
> Now, when using the ati driver, I don't know how to get back to the 2048x1536
> resolution so I can test which other resolutions work. When I restart GDM I
> keep getting a blank screen with the ati-driver.
>
> I would rather not restart my computer as I'm running a Live CD and I'd need to
> compile all that I've compiled all over again.

http://wiki.debian.org/XStrikeForce/HowToRandR12

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

(In reply to comment #13)
>
> http://wiki.debian.org/XStrikeForce/HowToRandR12
>

After reading that wiki page I tried the following:

Boot an Ubuntu Intrepid Live CD. When the monitor goes blank get to a console by pressing Ctrl+Alt+F1.

Copy the driver radeon_drv.so that I compiled from the git source to where the older radeon_drv.so that is included in Intrepid is located. After doing this GDM starts correctly with the resolution 2048x1536.
While using the functioning radeon driver in this working resolution I run the command "./avivotool regs all" as root and I'm attaching the output of this as the file "regdump_avivotool_good_2048x1536.txt".

After doing this I tried changing the resolution to 1024x768 by running the following command:

   $ xrandr -display :0.0 --output DVI-0 --mode 1024x768

This causes the monitor to go blank and I get to a console by pressing Ctrl+Alt+F1.

From this console I run the command "./avivotool regs all" again to get a dump of the registers running a non-working resolution. I'm attaching the output of this as the file "regdump_avivotool_broke_1024x768.txt".

Now I wish to get back to the working resolution (2048x1536) so I run the exact same command as the above xrandr-command only changing the "mode" option to 2048x1536:

   $ xrandr -display :0.0 --output DVI-0 --mode 2048x1536
   xrandr: Configure crtc 0 failed

I then try running that command again specifying the refresh rate as well, it generates the same output:

   $ xrandr -display :0.0 --output DVI-0 --mode 2048x1536 --rate 60
   xrandr: Configure crtc 0 failed

After running these two commands I ran the command "xrandr --verbose", it still reports the resolution as being 1024x768. I'm attaching the output of this command as "xrand-verbose.txt".

I hope you can get some usablwe information from this, I wasn't quite sure what else to include.

Regards,

Rune

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

Created an attachment (id=22436)
Output of "./avivotool regs all" while running at working resolution 2048x1536

Output of "./avivotool regs all" while running at the working resolution 2048x1536 using the "radeon" driver compiled from the git source on 2009-01-30.

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

Created an attachment (id=22437)
 Output of "./avivotool regs all" while running at non-working resolution 1024x768

Output of "./avivotool regs all" while running at the non-working resolution 1024x768 using the "radeon" driver compiled from the git source on 2009-01-30.

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

Created an attachment (id=22438)
Output of "xrandr --verbose" using the non-working resolution 1024x768

Output of "xrandr --verbose" using the non-working resolution 1024x768 (after trying to change the resolution to 2048x1536 using xrandr which gives the error: "xrandr: Configure crtc 0 failed".

Revision history for this message
In , agd5f (agd5f) wrote :

(In reply to comment #14)

> From this console I run the command "./avivotool regs all" again to get a dump
> of the registers running a non-working resolution. I'm attaching the output of
> this as the file "regdump_avivotool_broke_1024x768.txt".

You can't dump the regs from the console because you are dumping the video state from the video card in console mode rather than in the hi-res mode.

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

(In reply to comment #18)
> (In reply to comment #14)
>
> > From this console I run the command "./avivotool regs all" again to get a dump
> > of the registers running a non-working resolution. I'm attaching the output of
> > this as the file "regdump_avivotool_broke_1024x768.txt".
>
> You can't dump the regs from the console because you are dumping the video
> state from the video card in console mode rather than in the hi-res mode.
>

I see. Is there any way to dump the data from the non-working hi-res mode then?
And is there any other info you think could be important in order to solve this?

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

I think I was able to get a dump of the registers while the blank screen was being displayed.

I made a script that contains the following:

   #! /bin/sh

   ./avivotool regs all > avivotool_regdump_good.txt
   xrandr -display :0.0 --output DVI-0 --mode 1600x1200 --rate 85
   sleep 10
   ./avivotool regs all > avivotool_regdump_broke.txt

I then got GDM running using the radeon-driver I compiled on 2009-01-30 with the working resolution (2048x1536).

I then executed the script and after waiting a bit I got to a console and I could see that the two dump files had been created. I'm attaching them here, I hope they're useful.

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

Created an attachment (id=22524)
register drump with avivotool running the working resolution (2048x1536)

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

Created an attachment (id=22525)
register drump with avivotool running the non-working resolution (blank screen) (1600x1200@60Hz)

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

^
The non-working resolution was 1600x1200@85Hz (not 60 Hz), in case it matters.

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

I'm writing a little update here because I just tried compiling the drivers from the newest git source again and now it works!

The only thing that doesn't work is OpenGL, but I'm not sure if it's supposed to, is it supposed to work? If it isn't, then this bug has been solved.

Here's what it says in my Xorg-log file when it loads glx, it seems to be working:

(II) Loading /usr/lib/xorg/modules/extensions//libglx.so
(II) Module glx: vendor="X.Org Foundation"
        compiled for 7.4.0, module version = 1.0.0
        ABI class: X.Org Server Extension, version 1.1
(**) AIGLX enabled
(II) Loading extension GLX

but here's the output of glxinfo:

rune@runescomp:~$ glxinfo
name of display: :0.0
X Error of failed request: BadRequest (invalid request code or no such operation)
  Major opcode of failed request: 156 (GLX)
  Minor opcode of failed request: 19 (X_GLXQueryServerString)
  Serial number of failed request: 10
  Current serial number in output stream: 10

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

Also, xv isn't working. mplayer won't play anything using the xv video output driver and this is the output of xvinfo:

rune@runescomp:~$ xvinfo
X-Video Extension version 2.2
screen #0
 no adaptors present

I would be thrilled to get Xv working (because of the tear-free video). Using fglrx forces me to use the gl output driver which is very slow.

Revision history for this message
In , agd5f (agd5f) wrote :

(In reply to comment #25)
> Also, xv isn't working. mplayer won't play anything using the xv video output
> driver and this is the output of xvinfo:

Xv and EXA are only available on the r6xx-r7xx-support branch and will be merged eventually, however this is beyond the scope of this bug. If it works well for you now, please close this bug.

Revision history for this message
In , Rune K. Svendsen (runeks) wrote :

(In reply to comment #26)
> (In reply to comment #25)
> > Also, xv isn't working. mplayer won't play anything using the xv video output
> > driver and this is the output of xvinfo:
>
> Xv and EXA are only available on the r6xx-r7xx-support branch and will be
> merged eventually, however this is beyond the scope of this bug. If it works
> well for you now, please close this bug.
>

OK, I wasn't aware of that. I'm marking the bug as fixed. Thank you for your time.

Revision history for this message
In , Bryce Harrington (bryce) wrote :

Could someone point to the patch that resolved the issue, so we can include it in Ubuntu? Otherwise we'll have to wait until the next -ati release/snapshot is merged into Ubuntu.

Revision history for this message
Bryce Harrington (bryce) wrote : Re: Blank screen when GDM starts

Reportedly no longer happening, in the upstream bug report. If anyone can point to the patch that fixed the issue, we can certainly consider cherrypicking it for inclusion in Jaunty right now.

Changed in xserver-xorg-video-ati:
status: Triaged → In Progress
Changed in xserver-xorg-driver-ati:
status: Confirmed → Fix Released
Bryce Harrington (bryce)
description: updated
Revision history for this message
Bryce Harrington (bryce) wrote :

I've just uploaded 6.11.0 to Jaunty which I believe should have this fix. Please re-test and if the issue occurs still, reopen this bug.

Changed in xserver-xorg-video-ati:
status: In Progress → Fix Released
Changed in xserver-xorg-driver-ati:
importance: Unknown → Medium
Changed in xserver-xorg-driver-ati:
importance: Medium → Unknown
Changed in xserver-xorg-driver-ati:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.