[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#521655: libdrm2: causes ATI fglrx driver to hard lock the system upon starting X

Package: libdrm2
Version: 2.4.5-2
Severity: important

The current version of libdrm2 is completely breaks the fglrx driver.  Because
the machine completely locks up, I cannot tell exactly what occurs during the
X startup procedure which triggers the lock because the log file does not get
a chance to sync to disk.

However, by process of elimination, I have narrowed down the cause to this
package.  I did an update on March 25 after which X would no longer work.
Checking all the packages I had updated that day did not at first reveal
anything as I failed to notice libdrm2.

Over the next couple of days, I tried kernels 2.6.26, 2.6.28, and 2.6.29 as
well as about six different versions of fglrx.  I hadn't changed any of those
on the 25th, but I couldn't think of a better area of investigation.
Unfortunately, nothing helped.

Checking the list of updated packages again, I noticed libdrm2 this time.
Fetching version 2.3.1-2 from snapshot.debian.net, I installed it and X began
to work again.  A big relief.

So, whatever changed in libdrm2, it affects all fglrx releases going back
about one year and also does not seem dependent on the kernel version.  The
new libdrm2 does not break the OSS ATI drivers, radeon and radeonhd.
Unfortunately, my card has a very new RV770 chipset which is not at all
supported by X in Sid and only barely functional with X from experimental, so
I can't really use those drivers yet.

During my many X experiments trying to discover some new information, I would
let X run and while it was starting, I kept hitting the Magic SysRq key combo
for emergency sync (Alt-SysRq-S) again and again so that after a crash and
reboot I might have some log fragments to look at.  It worked a little.  When
X is trying to start the DRM subsystem I get these messages:

drmOpenDevice: node name is /dev/dri/card0
drmOpenByBusid: Searching for BusID PCI:1:0:0
drmOpenDevice: node name is /dev/dri/card0
drmOpenByBusid: drmOpenMinor returns -1

.... repeats for many cardX values ....

drmOpenDevice: node name is /dev/dri/card14
drmOpenByBusid: drmOpenMinor returns -1
(WW) fglrx(0): Failed to open DRM connection
(--) fglrx(0): Video RAM: 524288 kByte, Type: GDDR3
(EE) fglrx(0): [FB] Can not get FB MC address range.

I don't know if any of those are useful, but that is the only DRM related
information from the log.  I can attach the whole log if it might be useful.

Using libdrm 2.3.1-2, a successful X log looks like:

drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 11, (OK)
drmOpenByBusid: Searching for BusID PCI:1:0:0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 11, (OK)
drmOpenByBusid: drmOpenMinor returns 11
drmOpenByBusid: drmGetBusid reports PCI:1:0:0
(II) AIGLX: Loaded and initialized /usr/lib/dri/fglrx_dri.so
(II) GLX: Initialized DRI GL provider for screen 0

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.29-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libdrm2 depends on:
ii  libc6                         2.9-6      GNU C Library: Shared libraries

libdrm2 recommends no packages.

libdrm2 suggests no packages.

-- no debconf information

--John Gruenenfelder    Systems Manager, MKS Imaging Technology, LLC.
Try Weasel Reader for PalmOS  --  http://weaselreader.org
"This is the most fun I've had without being drenched in the blood
of my enemies!"
        --Sam of Sam & Max

Reply to: