NetSurf-reMarkable 
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.
Installation
opkg package
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 root@10.11.99.1:
ssh root@remarkable opkg install netsurf_0.x-x_rmall.ipk
Usage
The 'a' in the bottom-right corner screen toggles the keyboard.
More usage information may be found on the official NetSurf website.
Local build and installation
Requirements
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.
Build
make image
to build the Docker image with the toolchain, then make build
to build netsurf.
The resulting netsurf binary is build/netsurf/nsfb
.
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 build
under MacOS, please see the ticket for details.
Installation
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 INSTALL_DESTINATION
variable.
The netsurf binary will be copied to ~/netsurf
, and the required resources are copied to ~/.netsurf
.
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 Choices
file.
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.
Local development
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
clangd_docker.sh.
Related repositories
- libnsfb-reMarkable: fork of libnsfb with reMarkable-specific code for drawing to the screen and input handling
- netsurf-base-reMarkable: fork of netsurf, with modifications to make it work better on the reMarkable