GraphicsReplicant11 » History » Version 4
dl lud, 08/23/2019 04:26 PM
Added pixel format and DRM auth tasks.
1 | 1 | dl lud | h1. Graphics on Replicant 9 |
---|---|---|---|
2 | 2 | dl lud | |
3 | This page documents the current progress and future plans for the graphics acceleration on Replicant 9. The original plan can be found at [[TasksFunding#Graphics-acceleration]]. Since then, through more in depth research and hands-on experience, several things have diverged. |
||
4 | |||
5 | Background information, as well as details on the software components and acronyms used on this document, can be found at [[GraphicsResearch]]. |
||
6 | 3 | dl lud | |
7 | h2. Graphics stack tasks |
||
8 | |||
9 | |_. status |_. origin |_. short description |_. notes |_. estimated man-hours |_. actual man-hours | |
||
10 | | done | original plan | Set up the development environment. | Required: i9305 phones, LXC Trisquel container (systemd nspawn fails due to old systemd on Trisquel 8), larger SSDs, 1.8V serial-USB adapters (BS101P FT232RL) plus makeshift resistors' banks. |>. 24 |>. 24| |
||
11 | | ongoing | original plan | Read graphics related AOSP documentation. | Never-ending task that, besides actual documentation, involves scouring through source-code, bug trackers, mailing lists and IRC logs. |>. 16 |>. 40 | |
||
12 | | ongoing | new | Ask for help. | Annoying free-software developers[1] that have experience with or contribute to graphics sub-systems has been the most fruitful way to clear most roadblocks. |>. 0 |>. 0 | |
||
13 | 4 | dl lud | | done | original plan | Use Mesa's llvmpipe backend instead of softpipe. | Merge requests on Mesa: "!1402":https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1402 and "!1403":https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1403. There was no need to update LLVM version. |>. 40 |>. 28 | |
14 | | todo | original plan | Implement the missing pixel formats in drm/exynos. | |>. 72 |>. 0 | |
||
15 | | todo | new | Get entire stack to use RGB555 pixel format. | Had a huge performance boost on Replicant 6. |>. 0 |>. 0 | |
||
16 | | ongoing | original plan | Proper way to use DRM-Master and DRM-Auth with gbm_gralloc and drm_hwcomposer. | Tried: |
||
17 | 1. "Auth hack":https://git.replicant.us/contrib/GNUtoo/kernel_replicant_linux/commit/?h=history/lineage-16.0_i9300&id=e0f327c553befec2d367ac9a5ebef29b4291187a (both on @/dev/dri/card0@) |
||
18 | 2. "vGEM":https://git.replicant.us/contrib/replicant-9/kernel_replicant_linux/commit/?id=29fab049bea6a17e5f85ccb147df0e0046bbd487 (gbm gralloc on @/dev/dri/card1@) - Requires memory sync between vGEM and exynos. gbm gralloc cannot take advantage of exynos hardware planes. |
||
19 | 3. "Allow dumb buffers on render node":https://git.replicant.us/contrib/replicant-9/kernel_replicant_linux/commit/?id=805cc511ee2adc62ae40c4253fb8d378c3710a81 (gbm gralloc on @/dev/dri/renderD128@) - Dumb buffers are used for scanout. Should not be created on a render node. |
||
20 | Correct solution is using DRM Magic and have both on @/dev/dri/card0@ |>. 40 |>. 4 | |
||
21 | 1 | dl lud | |
22 | 4 | dl lud | fn1. A big thanks to Joonas Kylmälä, Paul Kocialkowski, Andrés Domínguez, Denis Carikli, Mauro Rossi, Emil Velikov, Andrzej Hajda, Marek Szyprowski and LiquidAcid. |