Video tearing is a nasty phenomena that can ruin your video experience. It is especially painful when trying to enjoy cinematic material or sports. When using Linux there are several different scenarios that may cause tearing and this post tackles one of them. This is most likely to help if you have:
- Tearing in Chrome web browser, including Chromium, Opera and others.
- In this scenario Firefox usually works ok!
- You have an ATI/AMD video card and you are running the open source Radeon driver.
Somewhere along the way Google/Chromium implemented a blacklist for GPU's and drivers. I have not studied that what is the reason for this, but in my case I have used my Acer XC-605 (AMD R5 235 GPU) for years (Ubuntu 14.04 - 16.04) with smooth video experience - the desktop also serves as the secondary television set. Few months ago I started noticing nasty video tearing when watching Netflix, sports or YouTube.
It took me a while to nail the problem, as the web is full of various video tearing complaints with different root causes. In all cases the root cause is down to video hardware acceleration and in my case at the web browsers level. Without further ado, here is the fix.
Fix video tearing with these simple steps:
- Launch your Chrome/Chromium/Opera
- Type chrome://flags to the URL field, opera://flags if you are using Opera
Enable the following flag
Override software rendering list Mac, Windows, Linux, Chrome OS, Android
Overrides the built-in software rendering list and enables GPU-acceleration on unsupported system configurations.
Now restart the browser and then check chrome://gpu, or the Opera equivalent. You should now see something like this.
In my case the video features are now mostly hardware accelerated. I have not noticed any negative side effects with this setting, which leaves my rather clueless why my GPU was being blacklisted in the first place.
Additional note to Europeans regarding 50/60Hz problems:
In Europe, and several others regions of the world, the TV series and sports are filmed or broadcasted in 25 frames per second, to match the 50Hz electric frequency. In basic desktop monitors however, the refresh rate of 60Hz is very common, which causes a mismatch of refresh rates. This causes video stuttering when watching 50Hz material on 60Hz screen. This is especially evident when watching sports, like football or hockey.
You playback of 50Hz content will be much smoother if you switch to 50Hz refresh rate on your display. If you are using Ubuntu 16.04, you can simply type.
sudo xrandr --rate 50
Windows users typically have refresh rate settings somewhere in your monitors or graphics cards setting menus.