915gm/945gm/XAA lockup with gray blocks when switching video mode

Alex Deucher alexdeucher at gmail.com
Fri Oct 12 12:36:14 PDT 2007

On 10/12/07, Bryce Harrington <bryce at bryceharrington.org> wrote:
> On Thu, Oct 11, 2007 at 05:19:28PM -0700, Jesse Barnes wrote:
> > On Wednesday, October 10, 2007, Bryce Harrington wrote:
> > > Commenting out this loop seems to resolve the issue.
> > > What is this loop for, and what do we risk by not having it?
> >
> > The loop is needed for modes where we use the pallet.  But this might be
> > a timing issue.  Can you try replacing the two pallet restore loops
> > with delay loops of various kinds?  That would indicate whether the
> > time it takes to restore the pallet is exposing a bug elsewhere.
> > Alternately, you could add some small delays to the pallet restoration
> > itself in the unlikely event that the pallet registers don't like to be
> > written too quickly.
> I tried adding a usleep(20) inside the loops, but the issue still came
> up (seemed like it took more attempts than normal to trigger, but that
> is hard to judge).
> I'll also try replacing the pallet restore loops.
> Could you also explain a bit more about what this pallet is?

it's a color look up table.  It converts pixel values into physical
colors.  You need to initialize it correctly depending on what depth
you are using and you can make adjustments to it to affect the color
reproduction of the monitor (e.g., xgamma).

As usual see wikipedia for more:


More information about the xorg mailing list