I'm attempting to use a TV as an external monitor for my laptop, connecting with a HDMI cable. When I plug the cable into HDMI 1 (on the TV, the laptop only has a single HDMI port) both the laptop and the TV recognize the connection and connect immediately.
My problem is that the TV will periodically blink / go blank. When I "Join" the displays, the TV displays properly, as long as there are no windows open on it, just the static desktop. Within a few seconds of moving a window onto the TV (from the laptop screen), horizontal blue lines start flickering at seemingly random locations on the screen, then the TV goes blank for a few seconds, then comes back on. Then the cycle repeats - a few seconds good, blue lines, blank. Once I move the window back over to the laptop screen, things settle down, and the TV displays the desktop, with blue lines flashing every 4-9 seconds, and only occasional blanking. The TV does not report a loss of signal an all in this mode.
When I set my displays as "Mirrored", the TV displays properly for a few seconds, and then goes blank or says that it has no signal. After a 5-20 seconds it will show up again, and then the cycle repeats.
I have a short video showing these behaviors at https://www.dropbox.com/s/l3ksukabm3lgeyg/20210127_200918.mp4?dl=0. (For anyone checking this question once it has been fixed, I might have removed the video.)
Hardware specs from "Settings|About": the laptop is a Dell Vostro 3560 (Intel i5-3210M CPU, 6GB RAM, AMD Turks/Intel HD Graphics 4000 [IVB GT2]) running Ubuntu 20.04 64 bit, Gnome version 3.36.8, using Wayland for the windowing system. The TV is a Samsung UN32M5300 smart TV (software version T-KTSAKUC-1290.3).
Things I have tried/checked:
- I swapped to a brand new HDMI cable (I don't know what version it is, but is connector has "High Speed" molded into it). No difference.
- I (ugh) booted over to Windows 10. The TV worked as an external monitor (in both mirrored and joined modes) flawlessly. Edit: I wanted to test changing the HDMI port on the TV under Windows (#5 below), so I booted back over. It's now exhibiting the same blanking behavior, but with no flashing.
- The refresh rate is set at 60.00 Hz, and I verified that that is the rate specified for the TV by Samsung. Just to check, I did try 59.94 Hz and 40.00 Hz, and there wasn't any change in the problem, so I went back to 60.00 Hz.
- I switched the windowing system from xorg to wayland after seeing it suggested on here (Ubuntu screen flickering). No change.
- I moved the cable to the second HDMI port on the TV [it's labeled "HDMI 2 (ARC)"]. This makes things worse. Even when the screens are "Joined", the TV will only display the desktop for a split second, then it goes blank for 20+ seconds, then reports no signal for a while, then blanks again, ad nauseam. When I moved the cable back to port 1, the original behavior resumed. I tried this a couple of times to verify that it wasn't a one off.
I think that the problem is somewhere in how the screen is refreshed, but I'm not sure, and don't know what to try next. Any suggestions?
Edit: To make things even more confusing, I noticed that when at the Ubuntu login screen, everything behaves properly. I waited ~20 minutes, and not one flicker, just a steady purple display.
Settings
thenAdditional Drivers
tab. If proprietary I would try the Nouveau (or vice-versa) to rule out driver issues. – codlord Jan 28 '21 at 08:22cvt -r
"reduced blanking" mode. I have seen some monitors cannot handle certain clock timings and adding a reduced blanking mode can make it work. All information is here, see the troubleshooting part about thecvt -r
flag and the section on adding custom resolutions (and about how to add the mode permanently if it fixes the issue): https://wiki.archlinux.org/index.php/Xrandr#Troubleshooting – codlord Jan 29 '21 at 11:17