> > Happens sometime, for reasons yet unknown. What seems to happen is > > that the cursor changes color to black. Feel free to look up where > > the cursor color gets set, and pepper the fbcon code with printk to find > > where it goes wrong. > > However, the reason is known: the fbcon-* code draws the cursor by xor'ing the > pixel values with a mask consisting of all 1's. This is not correct for > directcolor modes (e.g. 16, 24 and 32 bpp on ATI Mach64), where the color of > the cursor depends on what leftovers are present in the palette registers.
Must be yet another reason for the invisible cursor: atyfb uses the hardware cursor :-) Any idea why setting the cursor color sometimes won't work? The cursor color gets set pretty early, maybe the chip needs some more init, or it isn't idle at that stage? > The fix is to make fbcon-* use a mask in the 17th entry of > display->dispsw_data[], and to make drivers fill in this field where > appropriate. Setting atyfb to use a software cursor, the fix you suggest works nicely (otherwise, the cursor color depends on the console in use, another neat feature). I'll have to switch from hardcoded masks to a field in dispsw_data as you suggested but that won't help in our case. Michael