-
Notifications
You must be signed in to change notification settings - Fork 89
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 | |
HDEV | Launching wrapper | User-friendlier env. var and path scanning / setup | |
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 | Update SDL1.2 platform | Migrate to SDL2 for multi-window etc. support | |
LDEV | Wayland server platform | Protocol Service Tool | [Underway, Git] |
(https://github.com/letoram/arcan/tree/waybridge) | |||
LDEV | Dec/Enc frameserver | Complement / replace existing default or simpler alternatives needed | |
LDEV | Remoting frameserver | Alternate implementations for protocols (RDP, SPICE) - or designing new) | |
LDEV | More robust hijack libs | X11(+GLX), libpulse | |
LDEV | QEmu backend | Missing working Virgil/Audio/State-control | Underway, Git |
LDEV | SDL2 backend | Clipboard / Quality work | [Underway, Git] (https://github.com/letoram/SDL2 ) |
LDEV | Improve Lua debugging | Debug traceback on crash should include arguments |
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.