From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: Xorg tearing fix on Intel HD Graphics 4000 Date: Sun, 25 Jun 2017 07:08:30 -0400 Message-ID: <87injkiatt.fsf@netris.org> References: <877f053hc7.fsf@gnu.org> <87k24539rz.fsf@elephly.net> <87d19xwjxe.fsf@gnu.org> <87h8z9jlvk.fsf@netris.org> <87vank7h4x.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49633) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dP5PM-0004CQ-Bu for guix-devel@gnu.org; Sun, 25 Jun 2017 07:08:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dP5PI-0005yH-BI for guix-devel@gnu.org; Sun, 25 Jun 2017 07:08:48 -0400 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Chris Marusich Cc: guix-devel --=-=-= Content-Type: text/plain Hi Chris, Chris Marusich writes: > Mark H Weaver writes: > >> However, your proposed workaround is not a proper fix, and I don't think >> we should apply it system-wide in Guix. > > Can you elaborate on why it is not a proper fix? It isn't obvious to > me. You're right, it's not obvious, and an explanation is indeed warranted. The problem is that the Device section added by this patch specifies that the "intel" driver should be used. I haven't tested it, but the way xorg.conf generally works is that explicit configuration overrides auto-configuration. Quoting from the introduction of xorg.conf(5): Xorg supports several mechanisms for supplying/obtaining configuration and run-time parameters: command line options, environment variables, the xorg.conf configuration file, auto-detection, and fallback defaults. When the same information is supplied in more than one way, the highest precedence mechanism is used. The list of mechanisms is ordered from highest precedence to lowest. https://www.x.org/archive/X11R6.8.1/doc/xorg.conf.5.html#sect1 If we want to make UXA the default acceleration method for xf86-video-intel, I've attached a patch that accomplishes this without overriding auto-configuration. Given the severity of the problems on the X200, I would be in favor of applying this patch to master. The X200 is an important system for us because it is one of only two RYF-certified laptops. FWIW, I do not notice any visually apparent difference in performance between UXA and SNA on the X200 for things like web browsing, watching videos, and running gnome-shell. Nonetheless, I've seen reports that SNA performs significantly better than UXA, at least on newer Intel chips: http://cynic.cc/blog/posts/sna_acceleration_vs_uxa/ https://ickle.wordpress.com/2013/10/02/and-over-in-the-red-corner/ https://www.reddit.com/r/archlinux/comments/17sy9l/intel_graphics_uxa_vs_sna/ I would invite someone who cares about this to enhance 'xorg-configuration-file' in (gnu services xorg) to allow users to optionally specify which accel-method to use for each driver. Mark --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-xf86-video-intel-Use-UXA-accel-method-by-default.patch Content-Transfer-Encoding: quoted-printable Content-Description: [PATCH] gnu: xf86-video-intel: Use UXA accel method by default >From 745487d79dca402609200f67431ac19eaa99a4eb Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 25 Jun 2017 05:20:36 -0400 Subject: [PATCH] gnu: xf86-video-intel: Use UXA accel method by default. * gnu/packages/xorg.scm (xf86-video-intel)[arguments]: Add #:configure-flags with "--with-default-accel=3Duxa". --- gnu/packages/xorg.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d4da5d709..c6d194622 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2013, 2014 Andreas Enge -;;; Copyright =C2=A9 2014, 2015 Mark H Weaver +;;; Copyright =C2=A9 2014, 2015, 2017 Mark H Weaver ;;; Copyright =C2=A9 2014, 2015 Eric Bavier ;;; Copyright =C2=A9 2015, 2016, 2017 Ludovic Court=C3=A8s ;;; Copyright =C2=A9 2015 Eric Dvorsak @@ -2849,7 +2849,8 @@ X server.") (string-prefix? "x86_64-" system))) %supported-systems)) (arguments - '(#:phases (modify-phases %standard-phases + '(#:configure-flags '("--with-default-accel=3Duxa") + #:phases (modify-phases %standard-phases (add-after 'unpack 'bootstrap (lambda _ (zero? (system* "autoreconf" "-vfi"))))))) --=20 2.13.1 --=-=-=--