Curious experiences with a Radeon on the fritz

Michael Witten mfwitten at gmail.com
Thu Sep 15 17:11:55 PDT 2011


On Thu, Sep 15, 2011 at 22:25, Alex Deucher <alexdeucher at gmail.com> wrote:
> On Mon, Sep 12, 2011 at 2:13 PM, Michael Witten <mfwitten at gmail.com> wrote:
>> I hope you find this adventure interesting, and I hope you
>> provide me with some insight.
>>
>> Recently, I booted my computer, a Dell Latitude D810 that has a
>> Radeon Mobility x600 (R300); all systems were waking up as normal:
>>
>>  * The Dell logo popped up in some ancient VGA mode.
>>  * The GRUB menu appeared for 3 seconds as instructed.
>>  * Linux loaded and started spewing out log messages.
>>
>> and then:
>>
>>    BAM!
>>
>> At around:
>>
>>  2011-09-09 20:27:07 +0000
>>
>> the Darkness overcame me; my laptop's LCD panel went black with nary
>> a sign of life. After poking around a bit via ssh, I couldn't figure
>> out what was going on; I had been running all the relevant code
>> without trouble for some time now, so it just didn't make sense, and
>> I began suspecting hardware failure.
>>
>> I strolled on over to freenode/#radeon, where I explained that I was
>> still getting graphics at early boot time, but that it was dying
>> shortly after Linux loaded. A one named Tari suggested that I boot
>> with `nomodeset' in order to avoid anything more complicated than
>> the standards of the Ancients.
>>
>> And Lo! With that very kernel command line parameter, the boot
>> process did indeed land me safely in a working, albeit cramped
>> VGA-backed virtual console.
>>
>> Searching the logs a bit more revealed the following:
>>
>>  [drm:drm_calc_timestamping_constants] *ERROR* crtc 10: Can't
>>  calculate constants, dotclock = 0!
>>
>> Then (skipping a few interesting adventures), I ultimately discovered
>> this kernel message:
>>
>>  [drm] Panel Size 1920x4095
>>
>> which is curious indeed!, because my laptop's panel size should be
>> `1920x1200'. I booted into the computer's BIOS only to find that
>> it too was being fooled into thinking that the display dimensions
>> are `1920x4095'.
>>
>> Why might this have happened? Are bits stuck? Did something get fried?
>
> Looks like your bios got corrupted somehow.  All of the vertical
> timing in your panel modeline is bogus.  You'll need to patch up all
> the vertical timing values the same way you patched up the vdisplay in
> radeon_combios.c.  You'll have to try and find the native mode timing
> for your panel.  Note that other data that the driver uses from the
> vbios may also be corrupt.
>
> The xserver defaults to 96dpi because there are too many broken EDIDs
> out there and no good way to deal with different DPIs across different
> monitors in multi-head desktops.  Also, a lot of users expect 96 dpi
> and file bugs when it's something else.

Thanks for the reply.

I did indeed end up hardcoding modeline values in that same function,
which basically solved the problem for the time being; I plan[ned] on
posting a follow-up email sometime soon (including my attempts to
thwart future corruption).

Thanks again.


More information about the dri-devel mailing list