I got a really, really cheap 24" 1080p TV to use as a monitor.
Once I finally got hold of the micro-HDMI->HDMI adapter and plugged it in, of course, I ran into overscan issues.
- What's overscan?
When TVs get a full resolution feed over HDMI, then zoom it a bit and trim the edges because tv signals usually have garbage there.
However, computer's don't. In fact, because of Fitt's law, the edges are some of the most interesting bits of the screen.
The usual solution for this is to set a specific mode in the TV menus, like "1:1" or "Just scan" which disables overscan. But this is a very cheap TV and has no such things.
The second usual solution is to use nvidia utilities and configure "underscan". But I have an intel board and can't do such things.
The third usual solution is to use "xrandr --transform" to tweak the screen. But that makes the right and bottom edges be hidden.
The fourth usual solution is to setup a custom mode that doesn't trigger the TV's overscan, but that means you are not doing 1:1 pixels and things look ugly
The fifth usual solution is to use a VGA input, which has no overscan. But my VGA adapter/cable combination produces fuzzy image and the TV can't quite sync it, so I lose the left edge.
The sixth (not quite usual solution) is to use xrandr --output HDMI --set audio force-dvi because that will trigger some random combination of side effects in the intel driver and make the TV believe it's getting DVI input (the TV even says DVI on its mode info!?!) and not overscan.
But that made my screen look purple.
So, seventh solution, which worked for me: xrandr --output HDMI --set audio force-dvi --mode 1920x1080i
UPDATE: The image quality in 1080i is not as good as 1080p, and the purple tint is probably fixable using xrandr's --gamma option.
And no, I have no explanation for it.