Scaling and tearing

I just got my Framework today and am getting it set up the way I like. The DIY setup was even easier than it looked. It took maybe 10 minutes from opening the box to first power-on. :smiley:

I am running Ubuntu 20.04 LTS latest (20.04.04) and everything works out of the box. It is running with X11 rather than Wayland, but I am getting some unfortunate tearing artifacts on fast motion (e.g., video playback) when also using display scaling.

This is a high DPI display and I would like to not run it 100% mode. 200% mode is excessive, though, and I prefer 150% (fractional scaling). I get the tearing artifacts when using scaling at all, fractional or whole number, but it is definitely worse at 150% than it is at 200%.

Has anyone here experienced this, and do you have any tips on what I can do to reduce tearing on fast motion when using scaling? I suspect this is a general Linux problem and so if the answer is, “go to a Linux forum for this” then I’ll give that a shot!

Thanks!

2 Likes

As I test, switched to Wayland. This is not my preference, but I did try it and it’s less-sophisticated (worse) scaling doesn’t result in tearing. Things soften a bit, but it overall works better. I’ll stick with Wayland while I keep digging. Stuff on the Ubuntu forums hasn’t worked so far due to a different config file layout. If anyone has other ideas, I’m happy to test things.

I did, but didn’t see that result. I either missed it or used bad search terms. This also matches the Ubuntu forums, but I don’t seem to have that conf file. I’ll do some more digging. Thanks, and apologies for the duplication.

I would highly recommend taking a look at the Ubuntu 20.04 automated setup scripts. They fix, set up, and work around several little things.

One of the workarounds might fix your issue here: the intel_xe_tearing_workaround disables psr in grub. Maybe give this a shot and see if it helps!

There are solutions, but one of the reasons Wayland is a thing is to correct the issues of tearing that Xorg is known for.

Unless you have a specific program that doesn’t work well through xwayland, I don’t see a real reason to not use Wayland.

1 Like

So far, nothing. Just in case it helps someone else who wants to try, I found that the X11 config files are in /usr/share/X11/xorg.conf.d/ in Debian-based distributions. Apparently this per new-fangled Xorg standards but it was a bit of a curveball. They can be moved into /etc but needn’t be.

I have tried creating 20-intel.conf in the above location per the other thread @RandomUser quoted:

Section "Device"
  Identifier "Intel Graphics"
  Driver "intel"
EndSection

This created artifacting in the screen (splotches of color in static areas like the desktop background, ghosting from window dragging or maximizing in static areas of the screen, artifacts left over in letterboxing bars on video playback, etc.). Adding the:
Option "TearFree"
or
Option "TearFree" "True"
to that configuration does indeed fix tearing, but the other artifacting is so bad that it is not a viable solution. It makes using the computer extremely annoying. I also tried changing acceleration method to no avail.

I did both of these things both before and after running the 20.04 automated setup scripts. Those appear to be good to run anyway, so it isn’t effort wasted.

At this point, I think it’s back to Wayland, where the behavior was better. Wayland is very slightly less sharp than X11 (which is why I wanted to revert to X11), but it is pretty subtle. I suspect the effect would be invisible if not for the display on this machine. Framework’s screen is incredibly good.

With Ubuntu+X11’s choices apparently limited to “put up with tearing” or “put up with constant artifacting” when using fractional scaling, I think it is not worth the effort to chase diminishing returns. If anyone else’s experience is like mine when using scaling (especially fractional scaling) on Ubuntu, Wayland gives me a much better experience and the downside, if detectable, appears to be extremely minor. If your applications don’t fight with Wayland (some do, and require X11 to work properly), it’s probably the best move.

For anyone unfamiliar with the process, here is how you get into Wayland on Ubuntu:

  1. Select your username on the login screen
  2. Click the gear wheel in the lower-right corner
  3. Select “Ubuntu on Wayland” from the menu
  4. Log in

Thanks to @RandomUser, @Jeremiah_Jones and @2disbetter for your input.

I have one other question on this that I just considered, since my screen tearing and artifacting problems look to be worse than what many other people experience.

When I specced my machine, I got it with 32 GB of memory but wanted to be able to upgrade to 64 in the future without having SODIMMs go to waste. I bought one 32GB module and it is populated in channel zero. It occurs to me that I remember reading that Intel GPUs like symmetrical memory and perform better if you have it. Are my issues in Linux possibly worse than they would be due to me getting too clever and having an asymmetrical memory configuration, or is it really just a bunch of X11 vagaries? It wouldn’t be the first time (many people hate X11 for many very good reasons), but I figured I’d mention the perhaps unusual configuration just in case that could be a factor.

So I decided to make a $150 gamble and bought another memory module. Same manufacturer (Crucial) and part number (CT32G4SFD832A) that I bought directly from Framework when I specced my build. I got it installed and switched back to X and then started testing X config file options. I started with just defining the Intel driver.

Unlike before, I got no bizarre artifacting like splotches of weird colors and persistent ghosting in static screen areas. A good sign. I still had tearing after switching to the Intel driver. I then defined the “TearFree” option and still had no bad artifacting and tearing was eliminated and X now behaves like Wayland visually, with the added benefit of (possible) improved sharpness and keystroke capture in VMware clients actually working as expected.

In the end, I created the /usr/share/X11/xorg.conf.d/20-intel.conf file and populated it with:

Section "Device"
  Identifier "Intel Graphics"
  Driver "intel"
  Option "TearFree" "true"
EndSection

This is exactly what I did before that yielded such poor results with artifact-laden video and terrible, unsolvable screen tearing. This time, it worked after making the memory configuration symmetrical. Wayland graphics performance also improved, with tearing going from a very minor problem to not a problem at all.

So it appears that memory symmetry is indeed a factor with graphics performance for this CPU, at least in some configurations. Based on my experience, if you’re planning to run Linux on this machine, do yourself a favor and have a symmetrical memory configuration. It’ll make X usable if you need or want X, and it will make Wayland behave a bit better, too.

1 Like