My company recently moved to a temporary office while we renovate our primary location. A lot of people worked tirelessly over the weekend to make the move as frictionless as possible for everybody, but I ended up with a different set of screens.

This would normally not have been a big deal at all. Despite some variation in the specific model, all the screens are the same size and resolution, and they're all mounted on articulating arms so I can have my sweet vertical terminal on one side.

However, this time something was wrong.

The middle screen looked... Fuzzy. The text was giving me a slight headache. My first instinct was to try the auto-adjust setting on the screen, but I realized that I was using DisplayPort cables: auto-adjusting is only necessary for analog connections like VGA, since the monitor needs to synchronize with the component signal they carry.

I tried the next logical debugging step and swapped the cables for the two screens, with the same result. The right screen was fine, while the middle one was fuzzy. The screens were otherwise identical: same brand and same model.

Having established that it was not a cable issue, I looked at the software side more closely. I realized that what was making the text fuzzy was an issue with subpixel rendering: Ubuntu was using a red subpixel on the left of each black pixel instead of on the right. I figured that I was probably running into some obscure bug with how Ubuntu handles text antialiasing. Giving up on my search for a specific issue and wanting to get back to work, I decided to just set the global antialiasing method to greyscale and call it a day.

Unfortunately, I had to reconsider once I discovered just how many applications don't respect the global settings at all: PyCharm, my IDE of choice, was one of those, and Google Chrome was also very inconsistent, with some parts of the UI following the system-wide choice, and others doing their own thing.

It was at this point that I had a sudden realization.

Ubuntu was using a red subpixel on the left of each black pixel instead of on the right me, earlier

What? But that is correct, at least for an RGB screen! I switched the subpixel method to BGR and, lo and behold, the middle screen looked perfect. Unfortunately, of course, the other two screens exhibited the issue instead. I briefly considered going down the rabbit hole that is proper per-monitor subpixel configuration, but I had a more fundamental question: why was this even happening at all?

I searched for "dell monitor bgr" on Google and there it was: a post on the Dell forums titled "Solved: P2214H RGB and BGR?"

As it turns out, some production runs of the specific screen model I had were accidentally manufactured using BGR panels, with no indication whatsoever that this was the case. I checked the model labels on the back of the screens, and they turned out to be two different revisions: 05 for the BGR panel, and 06 for the RGB one.

Relieved that I wasn't going crazy and excited to have found the actual issue, I sneakily swapped my middle screen with an absent coworker's. Balance had been restored to the Force.

Add a comment

Previous Post Next Post