Intel - Poor graphics performance, frames dropped when playing videos

For 1-2 months now I’ve had some issues with video performance with two of my systems. Nothing has been changed in the OS or hardware, except for trying out some Xorg configs to attempt to sort this issue out. (more on that below)

Both have integrated intel graphics, one of them has the following inxi -G output:

  Device-1: Intel 2nd Generation Core Processor Family Integrated Graphics
    driver: i915 v: kernel
  Display: x11 server: X.Org v: 21.1.8 driver: X: loaded: intel gpu: i915
    resolution: 1920x1080~60Hz
  API: EGL v: 1.5 drivers: crocus,swrast
    platforms: gbm,x11,surfaceless,device
  API: OpenGL v: 4.5 compat-v: 3.3 vendor: mesa v: 23.1.9-manjaro1.1
    renderer: llvmpipe (LLVM 16.0.6 256 bits)

For the other I don’t have access ATM, so no inxi output, but it’s a 4th gen CPU, so a bit newer that the above system. If additional info is required, I can provide it.

Now I know both systems are a bit long in the tooth, and I wouldn’t expect them to have peak performance, but the least I could expect out of those two is some smooth video for UI/browsing, and smooth playback of 1080p60 video.

Instead what I get is skipped/stuttering frames both in Firefox and VLC, noticeable slow framerate when accessing certain sites and overall poor performance, and frequent Firefox crashes.

I’ve been using XFCE in order to combat this issue (and for stability which is lacking in Cinnamon and other DEs for this system) but lately I see that XFCE is also plagued by this.

So in order to fix this, I’ve tried the following Xorg configurations:

Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "AccelMethod"  "sna"
   Option      "TearFree"        "false"
   Option      "TripleBuffer"    "false"
   Option      "DRI"          "3"

Poor video/UI performance (XFCE’s windows and prompts not affected), frequent Firefox crashes.

Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "AccelMethod"  "uxa"
   Option      "TearFree"        "false"
   Option      "TripleBuffer"    "false"
   Option      "DRI"          "2"

Poorer video/UI performance (XFCE’s windows and prompts not affected), frequent Firefox crashes, framerate capped for most things under 30fps.

Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "AccelMethod"  "uxa"
   Option      "TearFree"        "true"
   Option      "TripleBuffer"    "true"
   Option      "SwapbuffersWait" "false"
   Option      "DRI"          "false"
   Option      "NoAccel"      "true"

Results in no crashes in Firefox, but lots of tearing when compositor is disabled, and still poor video playback/UI performance. VLC now crashes or freezes from time to time. Tried all the available output types, most of them don’t work, and those that do, don’t fix the issue.

So far all that I’ve tried to change based off my knowledge hasn’t done much to fix all issues, video performance is still quite poor, and I have a “choice” of either VLC crashing, or Firefox crashing.
What’s odd is that it appears that the Gen 4 Intel machine has perceivable worse performance than the older one, and to add to the irony, it’s hooked up to a monitor with a lower native resolution.

All 3 Xorg configurations have been tested on both systems.

So under those circumstances, could anyone suggest anything I could do further to improve video performance or perhaps move to another DE?

On such old Intel GPU’s you would to switch off some features, which doesn’t work well with the latest module.

Modern Desktops rely heavily on GPU nowadays, therefore probably a lightweight WM like I3 oder Sway would be a better choice.

Okay, so after a while I tried to install Manjaro Sway on a separate partition to test it out.

So far this is what I’ve found out:

  • Performance is a bit better, have no screen tearing unlike on X11/XFCE (believe me, I’ve tried all the possible combos in xorg.conf, none would remove the pesky tearing without adding a compositor that would bog things down). Not sure if the performance improvement is due to Wayland or Sway
  • I can run games that are modest in graphics capability just fine, although the FPS is not stable
  • Video playback under browser (didn’t try VLC or any video player yet) is still choppy
  • Everything pertaining to UI seems to be capped at 25-30FPS, which is far from smooth
  • Tiling window managers and Sway itself are annoying to use IMHO, I’d much rather switch to a stacking window manager (or compositor under Wayland?). I can’t for the life of me figure out how to use another compositor and ditch Sway. Search results are useless as always.
  • Not sure if the Firefox issue is fixed yet as I haven’t used it extensively

All in all, this is not ideal, I don’t think the IGP should be crippled like this by a new version of a driver. I know it’s long in the tooth, but up until 7-8 months ago, it was still working fine and pretty usable.

Any suggestions on what I could try next? Or at least on a way to switch the compositor?

Likely the removal of certain proprietary codecs from mesa.

VLC needs tending in general, and the “Automatic” setting for output/hw-accel has been broken for years. I generally suggest using mpv/smplayer instead … but you should also take the time to select the correct output and hardware acceleration settings.

And that will be determined by your ability to use h.264/vaapi/etc.

Please see any other related threads, but heres some quickly grabbed.

Try to switch from Intel driver to modesetting, if you have xf86-video-intel package installed remove it, and edit your xorg config file like this:

Section "Device"
    Identifier  "Intel Graphics"   
    Driver      "modesetting"
1 Like

I’ve tried Smplayer, but it offers even worse performance than VLC. With VLC I can easily select the output module (which I already did, but I couldn’t get any smooth playback out of it either) while Smplayer is a bit cumbersome to use, at least coming from VLC.

According to this wiki, none of the driver options would offer any acceleration in my case, since they only work with Broadwell CPUs, while mine’s (Haswell) one generation behind. Looking at the page, it seems there’s a AUR package for Haswell Refresh intel-hybrid-codec-driver-git but it’s only for VP8/VP9, no H264 or 265 acceleration, and I’m not sure if it works on the original Haswell, or only Haswell Refresh.
So I guess I’m left out of any video hardware acceleration?

Thank you, removed that specific package, and updated the config file with what you provided. Will report back after I restart.

On an semi-related note, does anyone have any idea how to switch the compositor under Wayland? I want to switch from Sway to Waybox. At least I’m familiar with OpenBox, as I’ve used it in the past and grew quite fond of it.

Most people tend to find the options in smplayer easier, but its all subjective I suppose.