Difference between revisions of "PineNote Development/TODOs"

From PINE64
Jump to navigation Jump to search
m (add link back to main pinenote page and add empty "kernel todo" section)
 
(25 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Template:Under construction}}
== Kernel/driver TODOs ==
These exist, but they haven't been written down yet.


[[PineNote|Back to PineNote main page]]
== Artifacting ==


TODOs to get the pinenote to a user ready state. 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 :)
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


= Kernel/driver TODOs=
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=
== Userspace TODOs ==
== Themes ==
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:
 
{| class="wikitable plainrowheaders" border="1"
! scope="col" | Functionality
! 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:
A lot of getting the PineNote to work nicely will be theming things appropriately. Please list themes for various components here:
=== GNOME ===
==== GNOME ====
Untested as far as I know: https://github.com/fujimo-t/gnome-shell-theme-e-ink
Untested: https://github.com/fujimo-t/gnome-shell-theme-e-ink
=== GTK ===
 
Todo
==== GTK ====
TODO


== GNOME Configurations ==
=== GNOME Configurations ===
See [https://wiki.pine64.org/wiki/PineNote_Development/Apps#Gnome here].
See [https://wiki.pine64.org/wiki/PineNote_Development/Apps#Gnome here].
== Sway Configurations ==
=== Sway Configurations ===
See [https://wiki.pine64.org/wiki/PineNote_Development/Apps#Sway here].
See [https://wiki.pine64.org/wiki/PineNote_Development/Apps#Sway here].


== Open questions that would be helpful during development ==
== Documentation TODOs ==
# How do we pin packages so Mesa isn't updated when we update using our package manger?
 
* 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.
|-
|}


= Documentation TODOs =
{{info|These are things we know how to do, but they just haven't been documented in the wiki yet. If you know how to do one of these things, please make a page for it. If you aren't sure where to put it or just don't feel like doing it, please just message @aarondabomb on matrix and I'll be happy to document it.}}


=== Pin Mesa Packages so they don't update when we upgrade other packages ===
[[Category:PineNote]]
Should be super simple, I just don't know how. If you know, it would be helpful for you to add that 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? ===
Maximilian mentioned how to do this, but I don't know enough to know what it means XD see conversation here: https://matrix.to/#/!QtTzSRYMuozjbOQkzJ:matrix.org/$tfumBpnP2UPouNpaeFrggR40ZkrD_pHAtJdQmQvzL-o?via=matrix.org&via=kde.org&via=tchncs.de

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.