Cannot disable subpixel (RGB) antialiasing
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Raspbian |
New
|
Undecided
|
Unassigned |
Bug Description
First, I believe this is a bug in Raspbian rather than Debian because I do not have the same problems on my Debian machines. This is not a hardware bug as this happens on both my Pi3b and PiZero.
Raspbian users are supposed to be able to disable subpixel antialiasing for fonts by using 'lxappearance'. The option does appear in the program and one is able to change the subpixel geometry (for example, to BGR instead of RGB). However, disabling it completely by setting it to "none" doesn't work: it looks just like RGB antialiasing.
Most people probably want RGB antialiasing, so this isn't a huge deal. But for certain people or certain monitors, it can be very annoying. All the letters, particularly black on white, will appear to have a little bit of color around them. (Note: I am not talking about the similar, lesser effect caused by Raspbian defaulting to Font Hinting set to hintfull when it should be hintslight. Lxappearance is able to fix the font hinting issue).
I had meant to report this bug a while ago for Raspbian Jessie, but when I heard Stretch was coming out, I decided to wait. Unfortunately, I've upgraded to Raspbian Stretch and the bug still remains.
I am not sure of the exact problem, but I found a workaround. Unfortunately, it requires editing configuration files as root.
WORKAROUND:
Individual Raspbian users can do this to disable RGB subpixel rendering:
cd /etc/fonts/
sudo sed -i.disabled 's/>rgb</>none</' 50-base-
Once that is done, newly created windows will have subpixel rendering off. (BTW: Running new copies of leafpad is great for testing changes.) Fonts will still look fairly smooth, as antialiasing can still happen with grayscale. Interestingly, once this change is made a user can run lxappearance to turn subpixel rendering on and off, the way it was supposed to work in the first place.
SUGGESTION:
Until this bug can be squashed, I suggest raspbian ship with the workaround I mentioned above. Grayscale antialiasing isn't terrible and people who want RGB subpixel rendering can still turn it on using lxappearance. (Perhaps also rename 50-base-
A couple other things to throw out there:
1) lxappearance is not in the Raspbian Stretch menu. I'm pretty sure it was there in Jessie. Instead when I click on "Preferences → Appearance" it gives me pipanel, which does not have font settings. Is lxappearance deprecated? Is there a diferent tool I should have been using?
2) /etc/profile.