GNU bug report logs - #80271
[PATCH 0/6] Add Skia as alternative graphics backend for PGTK

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Arthur Heymans <arthur@HIDDEN>; Keywords: patch; dated Tue, 27 Jan 2026 07:48:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 27 Jan 2026 07:47:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 27 02:47:06 2026
Received: from localhost ([127.0.0.1]:57833 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vkdn0-0001w3-ET
	for submit <at> debbugs.gnu.org; Tue, 27 Jan 2026 02:47:06 -0500
Received: from lists.gnu.org ([2001:470:142::17]:37578)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <arthur@HIDDEN>)
 id 1vkdmv-0001vN-Ew
 for submit <at> debbugs.gnu.org; Tue, 27 Jan 2026 02:47:04 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <arthur@HIDDEN>)
 id 1vkdmm-00087B-IJ
 for bug-gnu-emacs@HIDDEN; Tue, 27 Jan 2026 02:46:53 -0500
Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <arthur@HIDDEN>)
 id 1vkdmi-0001t2-TC
 for bug-gnu-emacs@HIDDEN; Tue, 27 Jan 2026 02:46:51 -0500
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-653780e9eb3so7526223a12.1
 for <bug-gnu-emacs@HIDDEN>; Mon, 26 Jan 2026 23:46:47 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=aheymans-xyz.20230601.gappssmtp.com; s=20230601; t=1769500006; x=1770104806;
 darn=gnu.org; 
 h=mime-version:message-id:date:from:subject:to:from:to:cc:subject
 :date:message-id:reply-to;
 bh=9sHkGoetYhghmL76o1pVpO0+J2E2G11D/l1wMdXQkeM=;
 b=tMYbHxDBAmotvRPoXqpE3n5LwPmIKFgdg6MK2md5c9c+923o2UQFe4LZVXnEInuOh+
 NMwLcPYU4StEo2aKH7QM9dnWihF6pGpegJt6R8O/rdo8oClKSZ23YFhZH7yUqx450p7s
 OD+qYv9oPWhWFKbJ5Hrn55Gk+YhH7MNTvGVuJcZb6LlIYlaUEZc0VQdZkRdlbiRmUTfo
 KO72ZxrxQlfzKMiTHq/serZRPxrBdT/QwPW56OVR9QvlPreBhjKuh+bhZgSxjJpRY7wU
 6ECFhb7TQp9uQjMZbLZuaCNyNPxD/Glwp6Tqm6ZnbnjxnUiPrgfC0DW5GbF3+Ur+2paF
 5aQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1769500006; x=1770104806;
 h=mime-version:message-id:date:from:subject:to:x-gm-gg
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=9sHkGoetYhghmL76o1pVpO0+J2E2G11D/l1wMdXQkeM=;
 b=sLNCNjMWEcvXZTZohv2g48/VyR44wb727SkkdjbPF8DCpjL0zwhNIrs6/xfVMkfeua
 REvtR8S/0vIWL64bn/K9bG0YXuwW2Z42Nqj/aZHFm3nJvoiGXFCBJozU/wf3B2Fgb7Ld
 8m5ImOukFupnQrKyxZtX4rmL4uCuBFh2c72m3Eg9lOpN0LT8xQQ5dRfTK4LEzMUmVLQI
 PgPnBTh2iVFxwm1yXqL4zWI87A2O88W3ewBHwGLOKKsYjPlplAdUTVAD6DEmnDCXqhU+
 fDFSpGkp24wRS7wDxCIkjGH99HHekhw8uplkDsknHD+pNrZWBZXvIcyYgWjTC8t3mmgr
 IU9g==
X-Gm-Message-State: AOJu0Ywc0WorZ7boHYenBQAVHqaLgykrVeF3b9EmIz+vqrtnHALfxx9X
 NH/N2QXBi7CBghJN32KS8zSe1lexODEZ8+mgvCpb35a7V75RysYHWiU+amen2ex5PEMjtMcDujY
 7I1TuwE4=
X-Gm-Gg: AZuq6aL8mKnKazmpmzQ/DkiroeKFsu7n1W5V08HK6rOXQ/N0J4zEpwG5gfzOhxsiRfK
 gWH9K632MnLWdQoTJyes/ke6dtamdn2G+AXrkGsBw5zTLtSDxLbPofvaS3S+orkIrf1XhSZTxLt
 hK+HygZqhCnE3BM5RvXmg/ixFcpyOfcEzCSfh/3SgEU30rVOgVSljEYkfS+K/At2YbKtV2IX/Xl
 jZtIXV3MPwePJjR3oS/fzkKkNxhgYBdkkrTbspEny6d98zXjjEp2gzbZApKIfz48cj4M7v3dERz
 TmkLOcjn5ENQl0D9CsQr7iac7hRIaO4EGtUaktF6ORZrrdEDf2ZrbpZcukAHMVSOxK/gckATWgf
 ssetDkCkrVVoQb2uyJXM/n5cVOjD/vDJ479/BxyxPqEKUeBolIsGlXPdYHhQ0pbD1vn08+VSnko
 W1F38wv5aBSmog4D2Y68xlCw8cgO9l89O/mnSrbSOfxDINDxLvPSoJ2T4u1Sfj+XyxSJ7bA43ye
 LWM3DBN2fM/
X-Received: by 2002:a17:907:9816:b0:b88:4102:8932 with SMTP id
 a640c23a62f3a-b8dab348ba3mr66858166b.44.1769500005626; 
 Mon, 26 Jan 2026 23:46:45 -0800 (PST)
Received: from gmktec-k11 (228.243-245-81.adsl-dyn.isp.belgacom.be.
 [81.245.243.228]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b8d89026200sm237660766b.14.2026.01.26.23.46.45
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 26 Jan 2026 23:46:45 -0800 (PST)
To: bug-gnu-emacs@HIDDEN
Subject: [PATCH 0/6] Add Skia as alternative graphics backend for PGTK
From: Arthur Heymans <arthur@HIDDEN>
Date: Tue, 27 Jan 2026 08:40:25 +0100
Message-ID: <87a4xzy046.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=2a00:1450:4864:20::52d;
 envelope-from=arthur@HIDDEN; helo=mail-ed1-x52d.google.com
X-Spam_score_int: -5
X-Spam_score: -0.6
X-Spam_bar: /
X-Spam_report: (-0.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, FROM_SUSPICIOUS_NTLD=0.499, FROM_SUSPICIOUS_NTLD_FP=0.843,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 2.3 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: #+OPTIONS: html-postamble:nil H:5 num:nil ^:{} toc:nil
 author:nil
 email:nil tex:dvipng d:nil #+STARTUP: hidestars indent inlineimages
 :PROPERTIES:
 :reply-to: nil :attachment: ("~/src/emacs_Skia/patche [...] 
 Content analysis details:   (2.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
 0.8 FROM_SUSPICIOUS_NTLD_FP From abused NTLD
 0.5 FROM_SUSPICIOUS_NTLD   From abused NTLD
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.5 (/)

#+OPTIONS: html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil tex:dvipng d:nil
#+STARTUP: hidestars indent inlineimages
:PROPERTIES:
:reply-to: nil
:attachment: ("~/src/emacs_Skia/patches/0001-Add-Skia-C-wrapper-library.patch" "~/src/emacs_Skia/patches/0002-Add-with-skia-configure-option-and-build-system-supp.patch" "~/src/emacs_Skia/patches/0003-Add-Skia-type-definitions-and-declarations-to-header.patch" "~/src/emacs_Skia/patches/0004-Add-Skia-font-driver.patch" "~/src/emacs_Skia/patches/0005-Implement-Skia-rendering-for-PGTK.patch" "~/src/emacs_Skia/patches/0006-Document-with-skia-configure-option.patch")
:alternatives: (utf-8 html)
:END:

This patch series adds Skia as a GPU-accelerated rendering backend for
the PGTK build of Emacs.  Skia is Google's 2D graphics library used in
Chrome and Android.
When configured with --with-skia, Emacs uses Skia for all drawing
operations instead of Cairo, providing GPU-accelerated rendering via
OpenGL through GtkGLArea.
The series is split into logical commits for easier review:
  1. Skia C wrapper - standalone C API around Skia's C++ library
  2. Build system - configure.ac and Makefile.in support
  3. Header definitions - type definitions and declarations
  4. Font driver - Skia font rendering with FreeType/HarfBuzz
  5. Rendering implementation - all drawing primitives
  6. Documentation - INSTALL and NEWS updates
Tested with both --with-pgtk (Cairo) and --with-pgtk --with-skia.

I've send the copyright assignement request.
Disclaimer: I did use an LLM to help with this work. 

Arthur Heymans (6):
  Add Skia C wrapper library
  Add --with-skia configure option and build system support
  Add Skia type definitions and declarations to headers
  Add Skia font driver
  Implement Skia rendering for PGTK
  Document --with-skia configure option

 INSTALL                 |   27 +
 configure.ac            |  191 +++-
 etc/NEWS                |   11 +-
 src/Makefile.in         |   27 +-
 src/dispextern.h        |   23 +-
 src/font.c              |    8 +-
 src/font.h              |    7 +
 src/ftfont.h            |    7 +
 src/gtkutil.c           |   19 +-
 src/image.c             |  255 ++++-
 src/pgtkfns.c           |   86 +-
 src/pgtkterm.c          | 2141 ++++++++++++++++++++++++++++++++++--
 src/pgtkterm.h          |   74 +-
 src/skia/emacs_skia.cpp | 2271 +++++++++++++++++++++++++++++++++++++++
 src/skia/emacs_skia.h   |  650 +++++++++++
 src/skiafont.c          |  774 +++++++++++++
 16 files changed, 6376 insertions(+), 195 deletions(-)
 create mode 100644 src/skia/emacs_skia.cpp
 create mode 100644 src/skia/emacs_skia.h
 create mode 100644 src/skiafont.c

-- 
2.52.0






Acknowledgement sent to Arthur Heymans <arthur@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#80271; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Tue, 27 Jan 2026 08:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.