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

Bug#825840: Possible fix for colour invertion on ATY,Rockhopper2



On Wed, Oct 05, 2016 at 06:40:36PM +0200, Mathieu Malaterre wrote:
> On Tue, Oct 4, 2016 at 10:24 PM, Lennart Sorensen
> <lsorense@csclub.uwaterloo.ca> wrote:
> > On Tue, Oct 04, 2016 at 09:22:17PM +0200, Mathieu Malaterre wrote:
> >> On Tue, Oct 4, 2016 at 4:44 PM, Lennart Sorensen
> >> <lsorense@csclub.uwaterloo.ca> wrote:
> >> > On Tue, Oct 04, 2016 at 03:49:12PM +0200, Samuel Thibault wrote:
> >> >> € grep bogl_set_palette *
> >> >> bogl.c:      bogl_set_palette = bogl_fb_set_palette;
> >> >> bogl.c:         bogl_set_palette = bogl_fb_set_palette;
> >> >> bogl.c:         bogl_set_palette = bogl_tcfb_set_palette;
> >> >> bogl.c:   the palette with bogl_set_palette() for this to take effect. */
> >> >> bogl.h:void (*bogl_set_palette) (int c, int nc, const unsigned char palette[][3]);
> >> >> bogl-test.c:  bogl_set_palette (0, 16, palette);
> >> >> bogl-test.c:      bogl_set_palette (6, 8, pixmap->palette);
> >> >> bowl.c:  bogl_set_palette (0, 16, (const unsigned char (*)[3]) palette);
> >> >> bterm.c:  bogl_set_palette(0, 16, palette);
> >> >> bterm.c:        bogl_set_palette(0, 16, palette);
> >> >> ChangeLog:    * bterm.c (main): Call bogl_set_palette after VT switch.
> >> >>
> >> >> It looks like bterm always set only colors 0-15.
> >> >
> >> > So it does.  Hmm, I will compare the code some more.
> >> >
> >> > Has it been confirmed that radeonfb does not have wrong colours while
> >> > offb on the same machine does?
> >> >
> >> > And what video mode does radeonfb run with?  I wish someone had dmesg
> >> > dumps of both offb and radeonfb, but I am not having much luck finding
> >> > any with google.
> >>
> >> Attached.
> >
> > Could you try what offb does if you boot with the kernel option:
> > video=1680x1050-32
> 
> Does not seems to be read at all. I tried both:
> 
> $ cat /etc/yaboot.conf
> [...]
>         append="video=1680x1050-32"
> 
> and
> 
> $ cat /etc/yaboot.conf
> [...]
>         append="video=offb:1680x1050-32"
> 
> dmesg & fbset output appears perfectly identical.

Maybe it just doesn't support doing that.

Looking at the code, offb in fact just does whatever open firmware
settings say to do.

So that means you would have to change the mode in open firmware before
booting.

So if you know how to drop to the open firmware prompt this might work:

	dev pci1/@D/ATY,RockHopper2_A
	32 set-depth
	boot

I think I am guessing correctly for the dev value to talk to the video
card.

There is a 'set-mode' command too, but I don't know the mode number
for 1680x1050.  The radeonfb driver actually talks to the monitor and
does the mode setting itself.  Looking at modedb.c in the kernel,
entry 27 happens to be 1600x1200, and entry 36 is 1680x1050.  No idea
if that relates to the modes in the mac open firmware, but if it does,
this might work:

	dev pci1/@D/ATY,RockHopper2_A
	36 enable-videomode
	36 set-mode
	32 set-depth
	boot

But this is still just to find out of offb works correctly in 24/32 bit
color mode, in which case the problem is only in 8 bpp.

-- 
Len Sorensen


Reply to: