Scrambled console with cirrusfb.c on old Compaq Armada 4120 (and not well-documented boot option as a workaround)

From: Stefan Sitter
Date: Tue Jul 20 2010 - 16:24:17 EST


Dear Jeff:

Since kernel 2.6.31 (I believe - may also be 2.6.30 or 2.6.32) the cirrusfb driver did not work correctly on my laptop, but I found an (undocumented?) boot option which helps. (Well - it does not help perfectly, see below.) I suggest that, at least, the existence of this boot option should be documented.

My laptop is a >10 years old Compaq Armada 4120. Since around kernel version 2.6.31 (might also have been 2.6.30 or 2.6.32), he console output was scrambled, text was unreadable; but input was accepted. However, the Xfbdev X server worked correctly, also the links browser worked on the console (if called with the "-g" option). Returning from X or from links, the console was again unreadable.

Now, when I was comparing the cirrusfb.c files of kernel versions 2.6.26 and 2.6.34, I got a hint what was happening: there is an undocumented module option or kernel boot parameter "noaccel" now. If I include this option, I get a framebuffer console with perfectly readable text again.

My suggestion: This should be documented in Documentation/fb/cirrusfb.txt. Maybe also at other places: e.g., at the relevant place during "make menuconfig"?

Now I discover a second problem, but not so severe: Booting into 800x600 resolution, after a resume operation, the lower part of the console screen remains black; this is cured by going to the console running an the Xfbdev X server and back to the text console again. Booting into 640x480 resolution, I do not have this problem. Calling "fbset 800x600-75" to get the large screen, I do not have this problem either; but now, scrolling does not work correctly when I enter command lines long enough to make the console scroll.

For your information, please find, gzipped and attached to this mail:

- the kernel .config file
- the /etc/lilo.conf file
- the output of lspci -vvv
- the output of ./scripts/ver_linux

Questions:

Is there something I should change in my .config or lilo.conf, in order (1) to get fully functioning high resolution, and (2) to be able to use the cirrusfb driver in accelerated mode?

If the cirrusfb code can be modified to make the cirrusfb driver work in accelerated mode, is there a way how I could contribute? I could test some changes to the cirrusfb driver; also, I might be able to provide a yet older Compaq Armada 4100 laptop (with 16MB memory and no harddisk) to a driver developer. It also has a CLGD video chip, I believe the same chip as my current 4120, and also 1MB of video memory. (Not tested whether 16MB is enough to run 2.6.X kernels; also not tested whether this laptop is defective now. It was working when I put it out of order.)

Thank you very much in advance.

-Stefan Sitter, Berlin/Germany


P.S.
I write to you because your name is at the top of drivers/video/cirrusfb.c . However, I do not know whether you are still its developer - there is a copyright notice of 1999-2001, but this files has changed during the last few 2.6.X kernel versions. Please tell me the current developer, or forward my mail to whoever it concerns.

Attachment: ver_linux.gz
Description: application/gunzip

Attachment: lspci.gz
Description: application/gunzip

Attachment: config.gz
Description: application/gunzip

Attachment: lilo.conf.gz
Description: application/gunzip