Windows 11 features built-in support for running Linux GUI applications. Emacs 29 has became a real GTK application, gone with the blurry fonts problem.
Install Essential Packages#
Firstly, install essential packages in WSL2 Ubuntu 24.04.
Native compilation support is enabled by default with Emacs 30, install libgccjit0
and libgccjit-xx-dev
to build this feature.
apt-get update
apt-get install build-essential libgtk-3-dev libgnutls28-dev libtiff5-dev libgif-dev libjpeg-dev libpng-dev libxpm-dev libncurses-dev texinfo sqlite3 libsqlite3-dev libjansson4 libjansson-dev autoconf
apt-get install libgccjit0 libgccjit-13-dev
Tree-sitter Support#
And in Emacs 29, tree-sitter support is built-in. Now build tree-sitter from source code, tree-sitter library will be installed into /usr/local/lib
.
git clone https://github.com/tree-sitter/tree-sitter.git
cd tree-sitter
git checkout v0.24.3
make
make install
export LD_LIBRARY_PATH=/usr/local/lib/
Install Emacs#
Now build emacs with pgtk and tree-sitter.
git clone https://git.savannah.gnu.org/git/emacs.git
cd emacs
./autogen.sh
./configure --prefix=/usr/local/emacs --with-native-compilation=aot --with-pgtk --with-tree-sitter --without-pop
make -j 8
make install
Install libvterm#
Build libvterm if you need to use vterm on Linux.
tar -zxf libvterm-0.3.3.tar.gz
cd libvterm-0.3.3
make
make install
FAQs#
When run emacs with WSL Ubuntu 24.04, Ubuntu 24.04 Wayland falling back to X11.
Due to a bug of systemd fixed in 24.04, you must do :
ln -sf /mnt/wslg/runtime-dir/wayland-* $XDG_RUNTIME_DIR/
Or use an autostart conf: https://github.com/viruscamp/wslg-links