NetSurf is a lightweight and portable open-source web browser. This project adapts NetSurf for the reMarkable E Ink tablet. This repository contains the code for to building and releasing new versions.
On the releases page, you can find the latest release.
The release assets contain a file
netsurf_[version]_rmall.ipk that allows for easy installation on device, if you have
opkg configured on the device.
You can find an installation script for
opkg in the Toltec repository.
Example commands to download and install the ipk file:
wget https://github.com/alex0809/netsurf-reMarkable/releases/download/vx.x/netsurf_0.x-x_rmall.ipk scp netsurf_0.x-x_rmall.ipk firstname.lastname@example.org: ssh root@remarkable opkg install netsurf_0.x-x_rmall.ipk
The 'a' in the bottom-right corner screen toggles the keyboard.
More usage information may be found on the official NetSurf website.
The build itself is done in a Docker container, so apart from Docker and make, there should be no additional requirements.
make prints a list of all available commands by default.
make image to build the Docker image with the toolchain, then
make build to build netsurf.
The resulting netsurf binary is
MacOS note: There is an open issue with the build when using a bind-mounted build directory. A workaround will be automatically enabled when running
make buildunder MacOS, please see the ticket for details.
make install to build and then install the updated binary to the device.
This will use
scp to copy the binary and required files to the device.
Device address used is by default
10.11.99.1 (i.e. reMarkable connected to your PC via USB), but can be overridden with the
The netsurf binary will be copied to
~/netsurf, and the required resources are copied to
The font files defined in the configuration file
~/.netsurf/Choices must exist.
You can either install the pre-configured fonts via opkg, or copy your own preferred fonts to the device and adapt the
Installation of pre-configured fonts:
opkg install dejavu-fonts-ttf-DejaVuSans dejavu-fonts-ttf-DejaVuSans-Bold dejavu-fonts-ttf-DejaVuSans-BoldOblique dejavu-fonts-ttf-DejaVuSans-Oblique dejavu-fonts-ttf-DejaVuSerif dejavu-fonts-ttf-DejaVuSerif-Bold dejavu-fonts-ttf-DejaVuSerif-Italic dejavu-fonts-ttf-DejaVuSansMono dejavu-fonts-ttf-DejaVuSansMono-Bold
make uninstall to remove the binary and other installed files from the device.
make checkout to set up the workspace for local development.
This will prepare the
build/ directory by cloning the HEAD of all forked code repositories.
The build script (called when running
make build) will only clone missing repositories,
so any local changes will be picked up with the next build.
To use clangd language server, you can run
make clangd-build, which will prepare a Docker container
clangd and compile-commands set up.
After the build is complete, you can can start the container with
make clangd-start, and access with