I have a CrystalFonts 635 and in the ROM I have set a background image to display on power on. After I start LCDproc the menus/screens appear as expected, BUT, characters unused by the screen defined in the LCDproc client (which should be blank) are showing the background image. Shouldn't a screen replace unused portions of the screen with blank? (Not show through the background)?
LCDd only updates the portions of the screen that it has changed. It has no idea there was a character there, so it doesn't know it needs to (re)blank those positions. It's not "showing through" so much as not changing characters that were never written to by LCDd.
Use of a background image is not supported.
Is there a way to 'clear' the screen? (and command?)
Actually I think it is quite reasonable for a driver to clear the screen upon initialization. From looking at the code the driver actually seems to try that - not sure what's going wrong in your case. (And I don't have the HW to test myself.)
There is an API to clear the screen, but no server command. The only way I can think of to clear the screen from a client is, to display a screen full of space characters.