This is the announcement thread for emacs-pgtk-native-comp
, where you can find bleeding-edge Emacs builds combining the work-in-progress pgtk
and native-comp
branches.
The following builds are produced from a Guix package, but will run on any linux system using a stand-alone pack. Alternatively, you can compile emacs-pgtk-native-comp
on ArchLinux-based systems using the AUR package, or install it from the Nix overlay.
Builds
The latest build is available here (updated 2021-04-28).
Earlier builds can be found here.
Changelog
– emacs master changelog
– feature/pgtk changelog
– feature/native-comp changelog
– pgtk-nativecomp changelog
Installation
using the stand-alone pack
The emacs-...-guix-pack.tar.xz
file contains a self-contained emacs build which can run on any linux system.
To use it, download and extract the archive somewhere, then launch bin/emacs
directly or add the bin/
directory to your PATH
.
mkdir emacs-pgtk-native-comp
cd emacs-pgtk-native-comp
tar xf /path/to/emacs-...-guix-pack.tar.xz
export PATH="$PWD/bin:$PATH"
which emacs # .../emacs-pgtk-native-comp/bin/emacs
using the Guix package manager
The emacs-...-guix-archive.nar.xz
file contains a complete export of the Guix build.
To import it for the first time, you’ll need to accept the signing key:
cat /path/to/signing-key.pub | guix archive --authorize
Then you can import the build archive and install it using the package hash:
xzcat /path/to/emacs-...-guix-archive.nar.xz | guix archive --import
guix install `cat /path/to/package-hash.txt`
which emacs # ~/.guix-profile/bin/emacs
NOTE: Run with FONTCONFIG_PATH=/etc/fonts
for Guix Emacs to see your system fonts.
What is pgtk?
The pgtk
branch (Pure GTK) adds a new rendering engine to Emacs, replacing the legacy X11 implementation with one using only GTK APIs. This brings native Wayland support to Emacs, and also gives improved rendering performance on X11.
See masm11’s pgtk branch for more information.
What is native-comp?
The native-comp
branch (aka. gccemacs) adds functionality for compiling Elisp to native code. The compiler runs a number of optimization passes to generate code which performs noticeably faster than interpreted or byte-compiled Elisp.
See the official gccemacs page and the GccEmacs wiki for more information.
When will these be released?
The native compilation branch has been merged to master
and will be included in Emacs 28, but pgtk
is still under development/review. The objective is to have it stabilized and merged for the Emacs 28 release, but that is not guaranteed.