docs(twitter): add 1688491417109196800 corpus (NOTimothyLottes CRT-on-LCD sub-pixel multiplexing)

6-post thread, 6 images, HIGHEST engagement NOTimothyLottes thread in
corpus (98 likes, 18 reposts, 12960 views). CRT emulation on LCDs can
trigger LCD hardware bugs - Steam Deck example: 2x1 {G,RB} checker
inside a window affects the scan outside the window (Deck scan is
90deg rotated). Theory: 90deg scan gives {(bottom)R, G, B (top)}
sub-pixel components; alternate {G,RB} per pixel for new sub-pixel
pattern at different virtual resolution. Linear-energy-conserving in
theory, breaks down in practice. Tangent post 6 from
@realtimekeith on voltage-inversion crosstalk varying across TN/IPS/VA.
This commit is contained in:
ed
2026-07-26 22:12:06 -04:00
parent 56538f8e3d
commit 57f26b0aec
8 changed files with 161 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 606 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

@@ -0,0 +1,49 @@
---
title: "CRT emulation on LCDs can be hard. For example it's often easy to generate a pat"
author: "NOTimothyLottes"
handle: "@NOTimothyLottes"
post_url: "https://x.com/NOTimothyLottes/status/1688491417109196800"
post_id: "1688491417109196800"
timestamp: "2023-08-07 10:04:59"
post_count: 6
reply_count: 2
repost_count: 18
like_count: 98
view_count: 12960
---
# @NOTimothyLottes — CRT emulation on LCDs can be hard. For example it's often easy to generate a pat
## Post 1 (2023-08-07 10:04:59)
CRT emulation on LCDs can be hard. For example it's often easy to generate a pattern that causes a LCD hardware bug. NOT joking. Here is an example on the Steam Deck. The pattern in the window affects the scan (Deck scan is rotated) outside the window.
![Media 1](./media/1688491417109196800_1.jpg)
![Media 2](./media/1688491417109196800_2.jpg)
## Post 2 (2023-08-07 10:08:14) — reply to Post 1
The actual pattern is this (it's a 2x1 pixel checker of {G,RB}).
![Media 1](./media/1688492237775142912_1.png)
## Post 3 (2023-08-07 10:14:00) — reply to Post 2
The theory: Deck's 90deg scan results in {(bottom)R, G, B (top)} sub-pixel components. So could alternate {G,RB} only per pixel in a checker pattern to generate a new sub-pixel pattern at a different resolution. In this case trying for 640x400 virtual resolution.
![Media 1](./media/1688493686554849280_1.png)
## Post 4 (2023-08-07 10:18:28) — reply to Post 3
For virtual pixel, shift energy into masked virtual phosphor. So 50% brightness red, would be {100%, 0%} for {in, out} of phosphor pixels. Over 50% one starts to increase non-phosphor pixels until some maximum so mask is still visible, but brightness isn't too compromised.
## Post 5 (2023-08-07 10:23:35) — reply to Post 4
Of course this is done in linear, so it's energy conserving in theory. But when the panel fails, it breaks down and doesn't work. I see this problem on a bunch of different devices. My personal AMD laptop has the exact same fail case (but rotated differently).
## Post 6 (2023-08-10 03:29:30) — reply to Post 1
@NOTimothyLottes Very interesting "crosstalk from voltage inversion" artifact. Some repeating patterns or flicker patterns can trigger crosstalk artifacts too. Behavior varies a lot between TN, IPS, and VA, but all of them have to alternate voltage polarity spatially and temporally.
![Media 1](./media/1689479056448684032_1.png)
![Media 2](./media/1689479056448684032_2.png)
@@ -0,0 +1,112 @@
{
"root_post_id": "1688491417109196800",
"posts": [
{
"post_id": "1688491417109196800",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "CRT emulation on LCDs can be hard. For example it's often easy to generate a pattern that causes a LCD hardware bug. NOT joking. Here is an example on the Steam Deck. The pattern in the window affects the scan (Deck scan is rotated) outside the window.",
"timestamp": "2023-08-07 10:04:59",
"media_urls": [
"https://pbs.twimg.com/media/F265_JZXsAAInpa?format=jpg&name=orig",
"https://pbs.twimg.com/media/F265_hLXkAAnfek?format=jpg&name=orig"
],
"reply_to_id": null,
"quote_of_id": null,
"metrics": {
"reply_count": 2,
"repost_count": 18,
"like_count": 98,
"view_count": 12960
}
},
{
"post_id": "1688492237775142912",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "The actual pattern is this (it's a 2x1 pixel checker of {G,RB}).",
"timestamp": "2023-08-07 10:08:14",
"media_urls": [
"https://pbs.twimg.com/media/F266epnW4AAdCiK?format=png&name=orig"
],
"reply_to_id": "1688491417109196800",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 3,
"view_count": 905
}
},
{
"post_id": "1688493686554849280",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "The theory: Deck's 90deg scan results in {(bottom)R, G, B (top)} sub-pixel components. So could alternate {G,RB} only per pixel in a checker pattern to generate a new sub-pixel pattern at a different resolution. In this case trying for 640x400 virtual resolution.",
"timestamp": "2023-08-07 10:14:00",
"media_urls": [
"https://pbs.twimg.com/media/F267UYuXAAAO50A?format=png&name=orig"
],
"reply_to_id": "1688492237775142912",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 3,
"view_count": 868
}
},
{
"post_id": "1688494811366506496",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "For virtual pixel, shift energy into masked virtual phosphor. So 50% brightness red, would be {100%, 0%} for {in, out} of phosphor pixels. Over 50% one starts to increase non-phosphor pixels until some maximum so mask is still visible, but brightness isn't too compromised.",
"timestamp": "2023-08-07 10:18:28",
"media_urls": [],
"reply_to_id": "1688493686554849280",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 1,
"view_count": 1002
}
},
{
"post_id": "1688496100460605442",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "Of course this is done in linear, so it's energy conserving in theory. But when the panel fails, it breaks down and doesn't work. I see this problem on a bunch of different devices. My personal AMD laptop has the exact same fail case (but rotated differently).",
"timestamp": "2023-08-07 10:23:35",
"media_urls": [],
"reply_to_id": "1688494811366506496",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 2,
"view_count": 957
}
},
{
"post_id": "1689479056448684032",
"author": "Blur Busters",
"handle": "BlurBusters",
"text": "@NOTimothyLottes Very interesting \"crosstalk from voltage inversion\" artifact. Some repeating patterns or flicker patterns can trigger crosstalk artifacts too. Behavior varies a lot between TN, IPS, and VA, but all of them have to alternate voltage polarity spatially and temporally.",
"timestamp": "2023-08-10 03:29:30",
"media_urls": [
"https://pbs.twimg.com/media/F3I8AZmW0AEy6jn?format=png&name=orig",
"https://pbs.twimg.com/media/F3I8BVlXoAAnuJB?format=png&name=orig"
],
"reply_to_id": "1688491417109196800",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 1,
"view_count": 159
}
}
],
"source_url": "https://x.com/NOTimothyLottes/status/1688491417109196800"
}