Difference between revisions of "PineNote Development/TODOs"

From PINE64
Jump to navigation Jump to search
 
(33 intermediate revisions by 5 users not shown)
Line 1: Line 1:
These are a list of open questions that pertain to configurations necessary for the OS to function nicely in the short-term during development and in the long term for people. If you know the answer to one of these or want something to do, please make a page with this info and link it here :)
== Kernel/driver TODOs ==
These exist, but they haven't been written down yet.


= Configuration TODOs =
== Artifacting ==


== Configurations that will likely be needed long-term ==
There is some artifacting with the current driver that has been difficult to diagnose and resolve. The github issue tracking this is here: https://github.com/PNDeb/pinenote-debian-image/issues/47
# What are good configurations for GNOME?
# What are good configurations for SWAY?
# How do we get a mouse playing nicely?


== Open questions that would be helpful during development ==
Some members of the community have been considering hiring an e-ink professional to consult on this issue. The thought is to hire someone with expertise in developing drivers for e-ink displays to provide advice and pointers, not to do the actual work (because that's expensive).
# How do we pin packages so Mesa isn't updated when we update using our package manger?


= Documentation TODOs =
== Userspace TODOs ==
{{info|These are things we know how to do, but they just haven't been documented in the wiki yet.}}
The TODOs in this space are organized around what functionality they enable. A table of the important functions that a user may want in the PineNote and a status are listed below:


# How do we control the backlight?
{| class="wikitable plainrowheaders" border="1"
# How do we build alacritty correctly?
! scope="col" | Functionality
# How do we force a screen refresh? See converstaion here: https://matrix.to/#/!QtTzSRYMuozjbOQkzJ:matrix.org/$tfumBpnP2UPouNpaeFrggR40ZkrD_pHAtJdQmQvzL-o?via=matrix.org&via=kde.org&via=tchncs.de
! scope="col" | Approaches (apps)
! scope="col" | Level of support (subjective)
! scope="col" | Supports
! scope="col" | Does not yet support
! scope="col" | Notes
|-
! scope="row" rowspan="3" | Reading Documents
| <code>[https://github.com/koreader/koreader Koreader]</code>
! style="background:LightGreen; text-align:center;" | Great
| Fully featured ebook reader; Supports many filetypes;
| Handwritten notes
| Large user base on many devices; codebase has a somewhat of a reputation for being messy
|-
| <code>[https://github.com/xournalpp/xournalpp Xournalpp]</code>
| style="background:LightGreen; text-align:center;" | Good
| Reading/writing PDFs and other files;
| No definition support (long-press for definition)
| Billed more as a note-taking app than a document reading app
|}
 
=== Themes ===
A lot of getting the PineNote to work nicely will be theming things appropriately. Please list themes for various components here:
==== GNOME ====
Untested: https://github.com/fujimo-t/gnome-shell-theme-e-ink
 
==== GTK ====
TODO
 
=== GNOME Configurations ===
See [https://wiki.pine64.org/wiki/PineNote_Development/Apps#Gnome here].
=== Sway Configurations ===
See [https://wiki.pine64.org/wiki/PineNote_Development/Apps#Sway here].
 
== Documentation TODOs ==
 
* Pin Mesa Packages so they don't update when we upgrade other packages
** Add the information near step 5 [https://wiki.pine64.org/wiki/PineNote_Development/Building_Kernel#Steps_to_build here].
* Control the backlight
* Building alacritty correctly
* Force a screen refresh?
** See conversation here: https://matrix.to/#/!QtTzSRYMuozjbOQkzJ:matrix.org/$tfumBpnP2UPouNpaeFrggR40ZkrD_pHAtJdQmQvzL-o?via=matrix.org&via=kde.org&via=tchncs.de
 
=== Status table draft ===
 
This table is a draft for the wiki development page:
 
{| class="wikitable plainrowheaders" border="1"
! scope="col" | Functionality
! scope="col" style="min-width: 260px;"  | Component
! scope="col" style="width: 120px;" | Status (Android from factory)
! scope="col" style="width: 120px;" | Status (Linux)
! scope="col" | Notes
|-
! | Bootloader
| <code>Bootloader</code>
| style="background:LightGreen; text-align:center;" | Android only
| style="background:LightYellow; text-align:center;" | WIP for Linux
| Booting into linux requires a patched U-Boot. [https://wiki.pine64.org/wiki/PineNote_Development/Booting_Linux Instructions here.]
|-
 
! scope="row" rowspan="4" | Operating System
 
| <code>Stability</code>
| colspan="2" style="background:LightYellow; text-align:center;" | WIP
| Users have successfully booted Arch, Manjaro, and Debian. Debian has most support right now.
|-
| <code>Suspend</code>
| colspan="2" style="background:LightGreen; text-align:center;" | Works
| [https://gitlab.com/hrdl/pinenote-shared/-/blob/main/patches/linux/0001-Rudimentary-attempt-to-keep-PMIC-usable-after-suspen.patch This kernel patch] adds suspend support.
|-
| <code>Updates</code>
| colspan="2" style="background:LightYellow; text-align:center;" | WIP
| GPU libs (mesa) and mutter rely on patched packages. These should not be updated via the package manager at the moment, make sure to exclude them.
|-
| <Code>Networking</code>
| colspan="2" style="background:LightGreen; text-align:center;" | Works
|
|-
 
! scope="row" rowspan="5"| Components
 
| <code>E-Paper Display</code>
| colspan="2" style="background:lightyellow; text-align:center;" | WIP
| Mostly functional. There is some ghosting and work remains, but the device and screen are usable.
|-
| <code>Touch</code>
| colspan="2" style="background:LightGreen; text-align:center;" | Works
|
|-
| <code>Bluetooth</code>
| colspan="2" style="background:LightGreen; text-align:center;" | Works, audio stutters
| [https://wiki.pine64.org/wiki/PineNote_Development/Building_Kernel#Fixing_Bluetooth Switching the driver] provides stable connections for keyboards, but audio still stutters. Trying to fix this [https://wiki.pine64.org/wiki/PineNote_Development/Software_Tweaks#Preliminary_fix_for_stuttering_bluetooth_audio here].
|-
| <code>Sensors</code>
| colspan="2" style="background:LightBlue; text-align:center;" | Unsure
| Light sensors? Rotational sensors?
|-
| <code>Buttons</code>
| colspan="2" style="background:LightGreen; text-align:center;" | Works
| Power button works.
|-
 
! | Accessory compatibility, spare parts
 
| <code>Spare parts</code>
| colspan="2" style="background:lightcoral; text-align:center;" | Not available yet
| Spare parts currently not available yet in the store.
|-
|}
 
 
[[Category:PineNote]]

Latest revision as of 19:45, 12 November 2023

Kernel/driver TODOs

These exist, but they haven't been written down yet.

Artifacting

There is some artifacting with the current driver that has been difficult to diagnose and resolve. The github issue tracking this is here: https://github.com/PNDeb/pinenote-debian-image/issues/47

Some members of the community have been considering hiring an e-ink professional to consult on this issue. The thought is to hire someone with expertise in developing drivers for e-ink displays to provide advice and pointers, not to do the actual work (because that's expensive).

Userspace TODOs

The TODOs in this space are organized around what functionality they enable. A table of the important functions that a user may want in the PineNote and a status are listed below:

Functionality Approaches (apps) Level of support (subjective) Supports Does not yet support Notes
Reading Documents Koreader Great Fully featured ebook reader; Supports many filetypes; Handwritten notes Large user base on many devices; codebase has a somewhat of a reputation for being messy
Xournalpp Good Reading/writing PDFs and other files; No definition support (long-press for definition) Billed more as a note-taking app than a document reading app

Themes

A lot of getting the PineNote to work nicely will be theming things appropriately. Please list themes for various components here:

GNOME

Untested: https://github.com/fujimo-t/gnome-shell-theme-e-ink

GTK

TODO

GNOME Configurations

See here.

Sway Configurations

See here.

Documentation TODOs

Status table draft

This table is a draft for the wiki development page:

Functionality Component Status (Android from factory) Status (Linux) Notes
Bootloader Bootloader Android only WIP for Linux Booting into linux requires a patched U-Boot. Instructions here.
Operating System Stability WIP Users have successfully booted Arch, Manjaro, and Debian. Debian has most support right now.
Suspend Works This kernel patch adds suspend support.
Updates WIP GPU libs (mesa) and mutter rely on patched packages. These should not be updated via the package manager at the moment, make sure to exclude them.
Networking Works
Components E-Paper Display WIP Mostly functional. There is some ghosting and work remains, but the device and screen are usable.
Touch Works
Bluetooth Works, audio stutters Switching the driver provides stable connections for keyboards, but audio still stutters. Trying to fix this here.
Sensors Unsure Light sensors? Rotational sensors?
Buttons Works Power button works.
Accessory compatibility, spare parts Spare parts Not available yet Spare parts currently not available yet in the store.