Difference between revisions of "PineNote Development/Apps"

From PINE64
Jump to navigation Jump to search
m
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page lists applications and tweaks for the [https://wiki.pine64.org/wiki/PineNote PineNote].
= Development =  
= Development =  


Line 32: Line 34:


=== Gnome ===
=== Gnome ===
[https://github.com/m-weigand/mw_pinenote_misc/tree/main/gnome Maximilian's Config]


{{info|You may need to compile a [https://github.com/m-weigand/mw_pinenote_misc/blob/main/compile_mutter.sh modified mutter] as well.}}
Gnome on wayland runs nicely on the PineNote. However, a slightly patched version of mutter is required at the moment.
 
* See this repository for .deb packages and patch/compile files: [https://github.com/m-weigand/pinenote_debian_mutter Patched Debian Mutter for Bookworm]
* The ready-to-use [https://github.com/m-weigand/pinenote-debian-recipes/releases Debian image] provides a pre-configured GNOME environment], with specific GNOME configurations found [https://github.com/m-weigand/pinenote-debian-recipes/blob/main/overlays/gnome_config/01-pinenote-settings here]
* A GNOME extension is being [https://github.com/m-weigand/mw_pinenote_misc/tree/main/gnome_extension developed] that provides access to some of the ebc-specific driver options.
* [https://github.com/MichiMolle/PNEink PNEink] is a GNOME Theme for use with the PineNote


==== GTK3 ====
==== GTK3 ====
Line 43: Line 49:


= Application support on the PineNote =
= Application support on the PineNote =
== System-Control ==
* A rust-based dbus service is being [https://github.com/m-weigand/pinenote_dbus_service developed] to enable easy, system-wide control over some of the PineNote-specific settings by users and programs (e.g., triggering global screen refreshes, changing waveforms, enabling/disabling dithering). Requires [https://github.com/m-weigand/linux/releases this kernel].
== Notetaking ==
== Notetaking ==


Line 49: Line 60:


Xournal++ uses anti-aliasing and interpolation, which do not work well for the A1 waveform. Mitigations include using either dithering or black-white mode in the ebc driver, or compiling Xournal++ with https://gitlab.com/hrdl/pinenote-shared/-/blob/main/patches/xournalpp/0001-Disable-anti-aliasing-and-use-NEAREST-interpolation-.patch.
Xournal++ uses anti-aliasing and interpolation, which do not work well for the A1 waveform. Mitigations include using either dithering or black-white mode in the ebc driver, or compiling Xournal++ with https://gitlab.com/hrdl/pinenote-shared/-/blob/main/patches/xournalpp/0001-Disable-anti-aliasing-and-use-NEAREST-interpolation-.patch.
Pre-compiled Debian packages with some of the PineNote-related modifications and support for triggering global refreshes after scrolling using the dbus service (see above) can be found [https://github.com/m-weigand/xournalpp_pn/releases here]


=== Obsidian ===
=== Obsidian ===

Revision as of 12:29, 4 February 2023

This page lists applications and tweaks for the PineNote.

Development

Here are some resources you may find helpful in learning to develop on embedded Linux devices:

Emulator recommendation for developing and testing PineNote apps: https://github.com/michaelshiel/picom-epaper

The PineNote is a specialized device, mainly due to the eink display having unique display and refresh characteristics. Finding and configuring apps that work well sometimes requires a lot of tweaking and a lot exploring, especially for applications containing fast screen updates and animations, as well as depend on a lot of colors.

Here is a video showing the performance of a few applications.

Desktop Environments

Sway

  • WinkShell "Collected applications, configurations and scripts for using a wlroots-based compositor with an EPD (aka e-ink display). Currently supports Sway only."

Getting touch + pen working on sway

If you notice that touching the screen works, but when you use the pen the mouse coordinates are inverted, don't worry! We can fix it! Set rockchip_ebc.panel_reflection=0 on boot (see this page for more info). Add the following line to your sway config:

# This line rotates the mouse input by 180 degrees. See https://wayland.freedesktop.org/libinput/doc/1.11.3/absolute_axes.html
input "type:table_tool" calibration_matrix -1 0 1 0 -1 1

Gnome

Gnome on wayland runs nicely on the PineNote. However, a slightly patched version of mutter is required at the moment.

  • See this repository for .deb packages and patch/compile files: Patched Debian Mutter for Bookworm
  • The ready-to-use Debian image provides a pre-configured GNOME environment], with specific GNOME configurations found here
  • A GNOME extension is being developed that provides access to some of the ebc-specific driver options.
  • PNEink is a GNOME Theme for use with the PineNote

GTK3

High contrast style for eink-devices can be found here.

GTK4

High contrast style for eink-devices can be found here.

Application support on the PineNote

System-Control

  • A rust-based dbus service is being developed to enable easy, system-wide control over some of the PineNote-specific settings by users and programs (e.g., triggering global screen refreshes, changing waveforms, enabling/disabling dithering). Requires this kernel.

Notetaking

Xournal++

Works well, writing is pretty quick. The development version supports PDF highlighting, links, and offers repainting-related optimisations (https://github.com/xournalpp/xournalpp/commit/c0a91f02afbfb67a60f7088b4c579a796693e05d and https://github.com/xournalpp/xournalpp/commit/ce1c66cb6d78f3332714ca21d279cf20548d7c06). To improve the performance even further apply https://github.com/xournalpp/xournalpp/pull/4158 and https://github.com/xournalpp/xournalpp/pull/4611 while on master.

Xournal++ uses anti-aliasing and interpolation, which do not work well for the A1 waveform. Mitigations include using either dithering or black-white mode in the ebc driver, or compiling Xournal++ with https://gitlab.com/hrdl/pinenote-shared/-/blob/main/patches/xournalpp/0001-Disable-anti-aliasing-and-use-NEAREST-interpolation-.patch.

Pre-compiled Debian packages with some of the PineNote-related modifications and support for triggering global refreshes after scrolling using the dbus service (see above) can be found here

Obsidian

Works well, EInk-Theme can be found here.

Web Browsing

Firefox

Pretty good experience! Enabling GPU acceleration is helpful.

GPU Acceleration in Firefox

See 0ccam's notes here.

"Cloud"

syncthing

High contrast theme can be found here.