From your description, I can not see why Mesa should be responsible.
The inxi message
drivers: intel (unloaded: vesa) has no adverse meaning and has only misled you. The X-Server loads all suitable graphics hardware drivers (modules) and probes them. Those whom the server rejects are removed then. That's why the
unloaded comes. In your system the Vesa driver was loaded and then discarded. By using
Driver "intel" in
Section "Device" the server is stated the driver to use, eliminating probing over all drivers. Therefore no more
unloaded message. Which drivers are involved can be found in the X-Server-Logging (/var/log/Xorg.0.log), as long as no driver is specified. For me, four drivers are probed and three are discarded. The same inxi call indicates only two of them as unloaded.
The logging also contains the exact name of the chipset. Also, the command
lspci shows the exact chipset name. Both gives you the certainty that a suitable Haswell graphics driver has been loaded. To your question, whether always a driver must be loaded: Yes, always when X11 is running.
For the troubleshooting, I would first turn off the option
TearFree (comment out) or remove the 20-intel.conf file. Then check in the logging whether the functionality
TripleBuffer is still switched on. This is active by default, but is turned off by the server if the shared video memory is insufficient for a third buffer. If this third buffer is missing, this can lead to a constant change in the representation, which can cause such a line-flicker. The definition of the video memory size for the integrated video adapter is made in the BIOS settings. I can choose between four sizes for my non-Intel hardware. You could choose the largest possible for testing. There are cases when the X server can not determine the size of the video memory. Then this size must be communicated via the keyword VideoRam. The
VideoRam keyword usage in Section Device:
Code: Select all
VideoRam integer # integer in KiByte
Next you can check all acceleration settings. Almost all are already switched on or pre-assigned with a method. The actual uses are also dependent on conditions.
Also, I would check if frames are displayed in non-interlace method. If the interlace method is used instead, that's unlikely, one will also see jumps on horizontal edges. That would be visible in a standing image, too.
It would not be wrong if you show the X server logging (without the 20-intel.conf setup). You should also make sure that there are no unwanted or outdated X11 rules in /etc/udev/rules.d. Same for unwanted or outdated X11 configuration files in /etc/X11 (except xorg.conf-vesa) and /etc/X11/xorg.conf.d (except 10-keymap.conf).