-
Notifications
You must be signed in to change notification settings - Fork 90
contrib
Interested in contributing to the project? Great. This page maintains a running list of current- and urgent- tasks, with annotations that hint towards background and experience.
Look us up in #arcan on Freenode IRC network.
First, recall that one of the best ways to contribute is to use Arcan for your own projects and share your experiences - good and bad.
Roles: QUAL (Configuration Management, Quality Assurance, Testing, Documentation), ADEV (Arcan Lua related scripting), HDEV (High- Level Development, scripting), LDEV (Low- Level Development, experienced / senior "modern" C 9899:1999+ skillset)
Not-ever needed: Comments (Why is this not implemented in <insert hype flavor language of the day>), Opinions (I believe feature X is important and should be done so and so), Marketing/Outputs from Running (insert code analysis tool here). Code-style/comment/formatting nit-picking patches.
Role | Task | Description | Notes |
---|---|---|---|
QUAL | Packaging | Req: Experienced Packager for key distributions | |
QUAL | Automated testing | Updating / Replacing atest.rb, CI setup and deployment | |
QUAL | API documentation | Proof-reading, updating examples and error cases for doc/*.lua | |
QUAL | Hardware testing rigs | Extend automated testing efforts, multi-display hotplug and latency | |
ADEV | Snapshot Lua debugging | Live monitoring and analysis tools for logs/state*.lua | |
ADEV | Support scripts needed | Extend/Generalize multidisplay support from durden with postproc. | |
ADEV | IME cleanup | Internationalisation IMEs for asian/arabic/etc. languages. | |
HDEV | Integration support | Scripts for scanning/populating/managing database | |
LDEV | Vulkan AGP | The graphics/shader abstraction (AGP) is currently GLES2/3/GL21 | |
LDEV | Software AGP | A SSE/Neon optimized implementation of the graphics backend | |
LDEV | BCOM SHMIF Backend | Extend the shmif- backends with globalImageBRCM support | |
LDEV | Windows port resurrection | Switch to midipix or the posix- emulation mode | |
LDEV | Wayland server platform | Protocol Service Tool | Underway, Git |
LDEV | Xorg integration | Sharing, DRI3 improvements, 'Rootless' mode | Underway, Git |
LDEV | QEmu backend | Missing working Virgil/Audio/State-control | Underway, Git |
LDEV | WINE driver | Implement a winearcan.drv, derive from wineandroid.drv? | |
LDEV | SDL2 backend | Clipboard / Quality work | Underway, Git |
In addition, "drive-by" patches are usually appreciated, with the exception of small "fixed indentation, spellcheck comments, sanitize language" pedantry.
Modifications to the Lua scripting interface is treated with extreme caution and expected to dual-license GPLv2/BSD. For binary extending the Lua interface, the currently preferred approach (likely to change) is on an appl level with the system_load() mechanism that can take .so (.dylib) and expand into the VM state.