Difference between revisions of "Current Status"
From Ultibo.org
(105 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
|- | |- | ||
| Core | | Core | ||
− | | | + | | 2.6.001 (19 November 2024) (Beetroot release) |
|- | |- | ||
| FPC | | FPC | ||
− | | 3. | + | | Stable 3.2.2 (Fixes 3.2.3 / Main 3.3.1) |
|- | |- | ||
| Lazarus | | Lazarus | ||
− | | 1. | + | | Stable 3.6U (Fixes 3.7U / Main 4.99U) |
+ | |- | ||
+ | | C/C++ API | ||
+ | | 1.0.090 (19 November 2024) | ||
|} | |} | ||
+ | |||
+ | Please note: Unless otherwise stated the information contained in the tables below applies to all supported platforms. | ||
+ | |||
+ | === Tested versions === | ||
+ | ---- | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="text-align:left;"| Platform | ||
+ | ! style="text-align:left;"| Version | ||
+ | ! style="text-align:left;"| Notes | ||
+ | |- | ||
+ | | Raspberry Pi firmware (All models) | ||
+ | | Revision 6419E8C8 (6419E6D8 Pi 4B/400/CM4) (18 April 2023) | ||
+ | | Commit ID [https://github.com/raspberrypi/firmware/tree/5c276f55a4b21345cd4d6200a504ee991851ff7a/boot 5c276f55a4b21345cd4d6200a504ee991851ff7a] | ||
+ | |- | ||
+ | | QEMU | ||
+ | | 8.2.0 (25 December 2023) | ||
+ | | | ||
+ | |} | ||
+ | |||
+ | The versions shown here are the latest that have been tested and confirmed to work, if you experience problems using releases later than those listed please test with the version shown before reporting an issue. | ||
=== RTL support === | === RTL support === | ||
Line 25: | Line 49: | ||
! style="text-align:left;"| Effort | ! style="text-align:left;"| Effort | ||
! style="text-align:left;"| Notes | ! style="text-align:left;"| Notes | ||
+ | ! style="text-align:left;"| Documentation | ||
|- | |- | ||
| System | | System | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Some non relevant features not implemented | | Some non relevant features not implemented | ||
+ | | [https://www.freepascal.org/docs-html/rtl/system/index.html Free Pascal documentation] | ||
|- | |- | ||
| SysUtils | | SysUtils | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Some non relevant features not implemented | | Some non relevant features not implemented | ||
+ | | [https://www.freepascal.org/docs-html/rtl/sysutils/index.html Free Pascal documentation] | ||
|- | |- | ||
| Classes | | Classes | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/classes/index.html Free Pascal documentation] | ||
|- | |- | ||
| Crt | | Crt | ||
− | | | + | | style="background-color: green; color: #ffffff;"|Complete |
− | | | + | |
− | + | ||
| | | | ||
+ | | | ||
+ | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/crt/index.html Free Pascal documentation] | ||
|- | |- | ||
| Dos | | Dos | ||
− | | | + | | style="background-color: green; color: #ffffff;"|Complete |
− | | | + | | |
− | | | + | | |
− | | | + | | |
+ | | [https://www.freepascal.org/docs-html/rtl/dos/index.html Free Pascal documentation] | ||
|- | |- | ||
| Objpas | | Objpas | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/objpas/index.html Free Pascal documentation] | ||
|- | |- | ||
| Iso7185 | | Iso7185 | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | | ||
|- | |- | ||
| Extpas | | Extpas | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | | ||
|- | |- | ||
| Strings | | Strings | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/strings/index.html Free Pascal documentation] | ||
|- | |- | ||
| Math | | Math | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Many functions not tested | | Many functions not tested | ||
+ | | [https://www.freepascal.org/docs-html/rtl/math/index.html Free Pascal documentation] | ||
|- | |- | ||
| Fgl | | Fgl | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/fgl/index.html Free Pascal documentation] | ||
|- | |- | ||
| Macpas | | Macpas | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | | ||
|- | |- | ||
| Typinfo | | Typinfo | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/typinfo/index.html Free Pascal documentation] | ||
|- | |- | ||
| Types | | Types | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/types/index.html Free Pascal documentation] | ||
|- | |- | ||
| RtlConsts | | RtlConsts | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
+ | | | ||
| | | | ||
| | | | ||
Line 133: | Line 173: | ||
|- | |- | ||
| Getopts | | Getopts | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | [https://www.freepascal.org/docs-html/rtl/getopts/index.html Free Pascal documentation] | ||
|- | |- | ||
| Lineinfo | | Lineinfo | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | [https://www.freepascal.org/docs-html/rtl/lineinfo/index.html Free Pascal documentation] | ||
|- | |- | ||
| Ctypes | | Ctypes | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/ctypes/index.html Free Pascal documentation] | ||
|- | |- | ||
| Charset | | Charset | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | [https://www.freepascal.org/docs-html/rtl/charset/index.html Free Pascal documentation] | ||
|- | |- | ||
| Character | | Character | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | [https://www.freepascal.org/docs-html/rtl/character/index.html Free Pascal documentation] | ||
|- | |- | ||
| Fpwidestring | | Fpwidestring | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | [https://www.freepascal.org/docs-html/rtl/fpwidestring/index.html Free Pascal documentation] | ||
|- | |- | ||
| Unicodedata | | Unicodedata | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | [https://www.freepascal.org/docs-html/rtl/unicodedata/index.html Free Pascal documentation] | ||
|- | |- | ||
| Unicodenumtable | | Unicodenumtable | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | | ||
|- | |- | ||
| Uuchar | | Uuchar | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
+ | | | ||
| | | | ||
| | | | ||
Line 196: | Line 245: | ||
|- | |- | ||
| Softfpu | | Softfpu | ||
− | | Incomplete | + | | style="background-color: red; color: #ffffff;"|Incomplete |
| Low | | Low | ||
| Moderate | | Moderate | ||
+ | | | ||
| | | | ||
|- | |- | ||
| Ufloat128 | | Ufloat128 | ||
− | | Incomplete | + | | style="background-color: red; color: #ffffff;"|Incomplete |
| Low | | Low | ||
| Minor | | Minor | ||
+ | | | ||
| | | | ||
|- | |- | ||
| Heaptrc | | Heaptrc | ||
− | | Incomplete | + | | style="background-color: red; color: #ffffff;"|Incomplete |
| Medium | | Medium | ||
| Unknown | | Unknown | ||
| Unknown if this can be made to work with HeapManager | | Unknown if this can be made to work with HeapManager | ||
+ | | [https://www.freepascal.org/docs-html/rtl/heaptrc/index.html Free Pascal documentation] | ||
|- | |- | ||
| Exeinfo | | Exeinfo | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | [https://www.freepascal.org/docs-html/rtl/exeinfo/index.html Free Pascal documentation] | ||
|} | |} | ||
+ | |||
+ | === Package support === | ||
+ | ---- | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 230: | Line 286: | ||
! style="text-align:left;"| Effort | ! style="text-align:left;"| Effort | ||
! style="text-align:left;"| Notes | ! style="text-align:left;"| Notes | ||
+ | ! style="text-align:left;"| Documentation | ||
|- | |- | ||
| Bzip2 | | Bzip2 | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
+ | | | ||
+ | | | ||
| | | | ||
| | | | ||
− | |||
|- | |- | ||
| Chm | | Chm | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | [http://wiki.freepascal.org/chm Free Pascal wiki] | ||
|- | |- | ||
| Fastcgi | | Fastcgi | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | | ||
|- | |- | ||
| Fcl-base | | Fcl-base | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-base Free Pascal wiki] | ||
|- | |- | ||
| Fcl-db | | Fcl-db | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
− | | | + | | Includes driver for SQLite3 |
+ | | [https://www.freepascal.org/docs-html/current/fcl/db/index.html Free Pascal documentation] | ||
|- | |- | ||
| Fcl-extra | | Fcl-extra | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-extra Free Pascal wiki] | ||
|- | |- | ||
| Fcl-fpcunit | | Fcl-fpcunit | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | [http://wiki.freepascal.org/fcl-fpcunit Free Pascal wiki] | ||
|- | |- | ||
| Fcl-image | | Fcl-image | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
− | | | + | | Includes FreeType2 (True Type Font) support |
+ | | [http://wiki.freepascal.org/fcl-image Free Pascal wiki] | ||
|- | |- | ||
| Fcl-js | | Fcl-js | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | | ||
|- | |- | ||
| Fcl-json | | Fcl-json | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
− | | | + | | |
+ | | [https://www.freepascal.org/docs-html/current/fcl/fpjson/index.html Free Pascal documentation] | ||
|- | |- | ||
| Fcl-net | | Fcl-net | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-net Free Pascal wiki] | ||
|- | |- | ||
| Fcl-passrc | | Fcl-passrc | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-passrc Free Pascal wiki] | ||
|- | |- | ||
| Fcl-process | | Fcl-process | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Dummy only | | Dummy only | ||
+ | | [https://www.freepascal.org/docs-html/current/fcl/process/index.html Free Pascal documentation] | ||
|- | |- | ||
| Fcl-registry | | Fcl-registry | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-registry Free Pascal wiki] | ||
|- | |- | ||
| Fcl-res | | Fcl-res | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-res Free Pascal wiki] | ||
|- | |- | ||
| Fcl-sdo | | Fcl-sdo | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | | ||
|- | |- | ||
| Fcl-sound | | Fcl-sound | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | | ||
|- | |- | ||
| Fcl-stl | | Fcl-stl | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | | ||
|- | |- | ||
| Fcl-web | | Fcl-web | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-web Free Pascal wiki] | ||
|- | |- | ||
| Fcl-xml | | Fcl-xml | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [http://wiki.freepascal.org/fcl-xml Free Pascal wiki] | ||
+ | |||
+ | |- | ||
+ | | Fftw | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
| | | | ||
| | | | ||
− | |||
|- | |- | ||
| Fpmkunit | | Fpmkunit | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | | ||
|- | |- | ||
| FV (FreeVision) | | FV (FreeVision) | ||
− | | | + | | style="background-color: green; color: #ffffff;"|Complete |
− | | | + | | |
− | | | + | | |
− | | | + | | |
+ | | [http://wiki.freepascal.org/Free_Vision Free Pascal wiki] | ||
|- | |- | ||
| Hash | | Hash | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/hash Free Pascal wiki] | ||
|- | |- | ||
| Hermes | | Hermes | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | [http://wiki.freepascal.org/hermes Free Pascal wiki] | ||
|- | |- | ||
| Libtar | | Libtar | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [https://www.freepascal.org/docs-html/current/fcl/libtar/index.html Free Pascal documentation] | ||
+ | |||
+ | |- | ||
+ | | Libpng | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | OpenGLES | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
| | | | ||
| | | | ||
− | |||
|- | |- | ||
| Pasjpeg | | Pasjpeg | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
+ | | | ||
+ | | | ||
| | | | ||
| | | | ||
− | |||
|- | |- | ||
| Paszlib | | Paszlib | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/paszlib Free Pascal wiki] | ||
|- | |- | ||
| Regexpr | | Regexpr | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/Regexpr Free Pascal wiki] | ||
|- | |- | ||
| Rtl-console | | Rtl-console | ||
− | | | + | | style="background-color: green; color: #ffffff;"|Complete |
− | | | + | | |
− | | | + | | |
− | | | + | | |
+ | | | ||
|- | |- | ||
| Rtl-extra | | Rtl-extra | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | Rtl-generics | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
| | | | ||
| | | | ||
− | |||
|- | |- | ||
| Rtl-objpas | | Rtl-objpas | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
+ | | | ||
+ | | | ||
| | | | ||
| | | | ||
− | |||
|- | |- | ||
| Rtl-unicode | | Rtl-unicode | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
+ | | | ||
+ | | | ||
| | | | ||
| | | | ||
− | | | + | |
+ | |- | ||
+ | | Sqlite | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [http://wiki.freepascal.org/sqlite Free Pascal wiki] | ||
|- | |- | ||
| Symbolic | | Symbolic | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | | ||
|- | |- | ||
| Unzip | | Unzip | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [http://wiki.freepascal.org/unzip Free Pascal wiki] | ||
+ | |||
+ | |- | ||
+ | | Zlib | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
| | | | ||
| | | | ||
− | |||
|- | |- | ||
| All others | | All others | ||
− | | Incomplete | + | | style="background-color: red; color: #ffffff;"|Incomplete |
| Unknown | | Unknown | ||
| Unknown | | Unknown | ||
| Most require libraries or platform specific features | | Most require libraries or platform specific features | ||
+ | | | ||
|} | |} | ||
Line 487: | Line 627: | ||
! style="text-align:left;"| Effort | ! style="text-align:left;"| Effort | ||
! style="text-align:left;"| Notes | ! style="text-align:left;"| Notes | ||
+ | ! style="text-align:left;"| Unit | ||
|- | |- | ||
| Heap | | Heap | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_HeapManager|HeapManager]] | ||
|- | |- | ||
| Threads | | Threads | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Spin locks | | Spin locks | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Mutexes | | Mutexes | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Semaphores | | Semaphores | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Critical sections | | Critical sections | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Events | | Events | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_Threads|Threads]] | ||
+ | |||
+ | |- | ||
+ | | Condition variables | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_Threads|Threads]] | ||
+ | |||
+ | |- | ||
+ | | Completion objects | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Synchronizers | | Synchronizers | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Synchronizer is a multi reader single writer lock | | Synchronizer is a multi reader single writer lock | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Thread messages | | Thread messages | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Messageslots | | Messageslots | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Mailslots | | Mailslots | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Buffers | | Buffers | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Thread variables | | Thread variables | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Thread lists | | Thread lists | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Thread queues | | Thread queues | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| TLS indexes | | TLS indexes | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Exceptions | | Exceptions | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Timers | | Timers | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Workers | | Workers | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Clock | | Clock | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
| Timezones | | Timezones | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Timezone|Timezone]] | ||
|- | |- | ||
| Interrupt IRQ | | Interrupt IRQ | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
| Interrupt FIQ | | Interrupt FIQ | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
− | | System calls | + | | System calls (SWI) |
− | | | + | | style="background-color: orange; color: #ffffff;"|In progress |
− | | | + | | Medium |
− | | | + | | Moderate |
| Requires update of handler to support new model | | Requires update of handler to support new model | ||
+ | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
| Page tables | | Page tables | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
| Vector tables | | Vector tables | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
| Shutdown restart | | Shutdown restart | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Requires an interface to register shutdown handlers | | Requires an interface to register shutdown handlers | ||
+ | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
| Devices | | Devices | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Devices|Devices]] | ||
|- | |- | ||
| Console | | Console | ||
− | | | + | | style="background-color: green; color: #ffffff;"|Complete |
− | | | + | |
| | | | ||
| | | | ||
+ | | Provides multiple text mode console windows including bitmap font and scrolling support | ||
+ | | [[Unit_Console|Console]] | ||
|- | |- | ||
| Fonts | | Fonts | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Selection of fonts available plus font tools | | Selection of fonts available plus font tools | ||
+ | | [[Unit_Font|Font]] | ||
+ | |||
+ | |- | ||
+ | | Graphics console | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | Provides graphics mode console windows with pixel image and DMA rendering support | ||
+ | | [[Unit_GraphicsConsole|GraphicsConsole]] | ||
|- | |- | ||
| Keyboard | | Keyboard | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Keyboard|Keyboard]] | ||
|- | |- | ||
| Mouse | | Mouse | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Mouse|Mouse]] | ||
+ | |||
+ | |- | ||
+ | | Touch | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_Touch|Touch]] | ||
+ | |||
+ | |- | ||
+ | | Joystick | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | Joystick and Gamepad support | ||
+ | | [[Unit_Joystick|Joystick]] | ||
|- | |- | ||
| Keymaps | | Keymaps | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Keymaps included for US English, German, Spanish, French, UK English and US International | | Keymaps included for US English, German, Spanish, French, UK English and US International | ||
+ | | [[Unit_Keymap|Keymap]] | ||
|- | |- | ||
| Code Pages | | Code Pages | ||
− | | Implemented | + | | style="background-color: blue; color: #ffffff;"|Implemented |
| Medium | | Medium | ||
| Moderate | | Moderate | ||
| Functional but requires additional work | | Functional but requires additional work | ||
+ | | [[Unit_Locale|Locale]] | ||
|- | |- | ||
| Unicode | | Unicode | ||
− | | Implemented | + | | style="background-color: blue; color: #ffffff;"|Implemented |
| Medium | | Medium | ||
| Moderate | | Moderate | ||
| Functional but requires additional work | | Functional but requires additional work | ||
+ | | [[Unit_Unicode|Unicode]] | ||
|- | |- | ||
| Locales | | Locales | ||
− | | Incomplete | + | | style="background-color: red; color: #ffffff;"|Incomplete |
| Medium | | Medium | ||
| Moderate | | Moderate | ||
| Some initial support APIs completed | | Some initial support APIs completed | ||
+ | | [[Unit_Locale|Locale]] | ||
|- | |- | ||
| Cryptography | | Cryptography | ||
− | | In progress | + | | style="background-color: orange; color: #ffffff;"|In progress |
| High | | High | ||
| Moderate | | Moderate | ||
| | | | ||
+ | | [[Unit_Crypto|Crypto]] | ||
+ | |||
+ | |- | ||
+ | | Static C libraries | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | Includes Ultibo specific builds of libc.a and libm.a | ||
+ | | [[Unit_Syscalls|Syscalls]] | ||
+ | |||
+ | |- | ||
+ | | Static C++ libraries | ||
+ | | style="background-color: orange; color: #ffffff;"|In progress | ||
+ | | High | ||
+ | | Moderate | ||
+ | | | ||
+ | | [[Unit_Syscalls|Syscalls]] | ||
+ | |||
+ | |- | ||
+ | | POSIX threads | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | Includes threads, mutexes, synchronization, condition variables and POSIX semaphores | ||
+ | | [[Unit_Syscalls|Syscalls]] | ||
+ | |||
+ | |- | ||
+ | | Dynamic libraries | ||
+ | | style="background-color: orange; color: #ffffff;"|In progress | ||
+ | | High | ||
+ | | Moderate | ||
+ | | Includes support for loading .so and .dll files at run time | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | Debugging | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | High | ||
+ | | Moderate | ||
+ | | Source level debugging support via QEMU | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | Device tree | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | Includes boot support, entry lookup, enumeration and decode | ||
+ | | [[Unit_DeviceTree|DeviceTree]] | ||
|} | |} | ||
− | === | + | === Device support === |
---- | ---- | ||
+ | The table below refers to generic support for the device protocol and functionality, for specific details of supported hardware devices please see the [[Supported_Hardware|Supported Hardware]] page. | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
! style="text-align:left;"| Device | ! style="text-align:left;"| Device | ||
Line 758: | Line 1,026: | ||
! style="text-align:left;"| Effort | ! style="text-align:left;"| Effort | ||
! style="text-align:left;"| Notes | ! style="text-align:left;"| Notes | ||
+ | ! style="text-align:left;"| Unit | ||
+ | |||
+ | |- | ||
+ | | AHCI | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | ATAOE | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Low | ||
+ | | Moderate | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | ATA/ATAPI | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | Bluetooth | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Major | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | Clock | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | Multiple clock source drivers included | ||
+ | | [[Unit_Platform|Platform]] | ||
+ | |||
+ | |- | ||
+ | | DAB | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Low | ||
+ | | Major | ||
+ | | | ||
+ | | | ||
|- | |- | ||
| DMA | | DMA | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_DMA|DMA]] | ||
+ | |||
+ | |- | ||
+ | | DVB | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Low | ||
+ | | Major | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | EHCI | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
| | | | ||
| | | | ||
Line 768: | Line 1,102: | ||
|- | |- | ||
| Framebuffer | | Framebuffer | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Framebuffer|Framebuffer]] | ||
|- | |- | ||
| GPIO | | GPIO | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_GPIO|GPIO]] | ||
+ | |||
+ | |- | ||
+ | | HDMI CEC | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Unknown | ||
+ | | CEC (Consumer Electronics Control) over HDMI. Initial support available via VideoCore IV libraries. | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | HID | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | Human Interface Device generic parser and report handling | ||
+ | | [[Unit_HID|HID]] | ||
+ | |||
+ | |- | ||
+ | | 1-Wire | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
| | | | ||
| | | | ||
Line 782: | Line 1,142: | ||
|- | |- | ||
| I2C | | I2C | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_I2C|I2C]] | ||
|- | |- | ||
| I2S | | I2S | ||
− | | Incomplete | + | | style="background-color: red; color: #ffffff;"|Incomplete |
| Medium | | Medium | ||
| Moderate | | Moderate | ||
+ | | | ||
| | | | ||
|- | |- | ||
− | | | + | | iSCSI |
− | | | + | | style="background-color: red; color: #ffffff;"|Incomplete |
+ | | Low | ||
+ | | Moderate | ||
| | | | ||
| | | | ||
− | | | + | |
+ | |- | ||
+ | | MMC/SD/SDIO | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | Supports SD, MMC, eMMC and SDIO devices | ||
+ | | [[Unit_MMC|MMC]] | ||
+ | |||
+ | |- | ||
+ | | PCI | ||
+ | | style="background-color: orange; color: #ffffff;"|In progress | ||
+ | | High | ||
+ | | Moderate | ||
+ | | | ||
+ | | [[Unit_PCI|PCI]] | ||
|- | |- | ||
| PWM | | PWM | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_PWM|PWM]] | ||
|- | |- | ||
| RTC | | RTC | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Driver available for DS1307 chip | | Driver available for DS1307 chip | ||
+ | | [[Unit_RTC|RTC]] | ||
+ | |||
+ | |- | ||
+ | | SCSI | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | | ||
+ | | | ||
|- | |- | ||
| Serial | | Serial | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Serial|Serial]] | ||
|- | |- | ||
| SPI | | SPI | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_SPI|SPI]] | ||
|- | |- | ||
| Counters (Timers) | | Counters (Timers) | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Driver included for ARM timer on all Raspberry Pi models | | Driver included for ARM timer on all Raspberry Pi models | ||
+ | | [[Unit_Devices|Devices]] | ||
+ | |||
+ | |- | ||
+ | | TFT LCD | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | Drivers included for HX8357D and ILI9340 based SPI displays | ||
+ | | [[Unit_TFT_Framebuffer|TFT Framebuffer]] | ||
|- | |- | ||
| UART | | UART | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_UART|UART]] | ||
|- | |- | ||
| USB | | USB | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| Isochronous transfers not supported yet | | Isochronous transfers not supported yet | ||
+ | | [[Unit_USB|USB]] | ||
+ | |||
+ | |- | ||
+ | | USB HID | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | USB HID (Human Interface Device) class support | ||
+ | | [[Unit_USBHID|USBHID]] | ||
|- | |- | ||
| USB Hubs | | USB Hubs | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_USB|USB]] | ||
|- | |- | ||
| USB Keyboard | | USB Keyboard | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Keyboard|Keyboard]] / [[Unit_HIDKEYBOARD|HIDKeyboard]] | ||
|- | |- | ||
| USB Mouse | | USB Mouse | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Mouse|Mouse]] / [[Unit_HIDMOUSE|HIDMouse]] | ||
+ | |||
+ | |- | ||
+ | | USB Gamepad | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_Joystick|Joystick]] / [[Unit_HIDJOYSTICK|HIDJoystick]] | ||
+ | |||
+ | |- | ||
+ | | USB Joystick | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_Joystick|Joystick]] / [[Unit_HIDJOYSTICK|HIDJoystick]] | ||
+ | |||
+ | |- | ||
+ | | USB Touchscreen | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_Touch|Touch]] / [[Unit_HIDTOUCH|HIDTouch]] | ||
|- | |- | ||
| USB Storage | | USB Storage | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_Storage|Storage]] / [[Unit_USBSTORAGE|USBStorage]] | ||
|- | |- | ||
| USB CDC (Serial) | | USB CDC (Serial) | ||
− | | Complete | + | | style="background-color: green; color: #ffffff;"|Complete |
| | | | ||
| | | | ||
| | | | ||
+ | | [[Unit_USBCDCACM|USBCDCACM]] | ||
+ | |||
+ | |- | ||
+ | | USB CDC (Ethernet) | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_USBCDCETHERNET|USBCDCEthernet]] | ||
|- | |- | ||
| USB Firmware (DFU) | | USB Firmware (DFU) | ||
− | | Incomplete | + | | style="background-color: red; color: #ffffff;"|Incomplete |
| Medium | | Medium | ||
| Moderate | | Moderate | ||
+ | | | ||
| | | | ||
|- | |- | ||
| USB Audio | | USB Audio | ||
− | | Incomplete | + | | style="background-color: red; color: #ffffff;"|Incomplete |
| Medium | | Medium | ||
| Moderate | | Moderate | ||
+ | | | ||
| | | | ||
|- | |- | ||
| USB Video | | USB Video | ||
− | | Incomplete | + | | style="background-color: red; color: #ffffff;"|Incomplete |
| Medium | | Medium | ||
| Moderate | | Moderate | ||
| | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | VideoCore IV GPU | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_VC4|VC4]] | ||
+ | |||
+ | |- | ||
+ | | VirtIO | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | Virtual I/O drivers for QEMU/KVM | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | XHCI | ||
+ | | style="background-color: orange; color: #ffffff;"|In progress | ||
+ | | High | ||
+ | | Moderate | ||
+ | | USB eXtensible Host Controller Interface | ||
+ | | [[Unit_XHCI|XHCI]] | ||
|} | |} | ||
− | === | + | === Filesystem support === |
---- | ---- | ||
{| class="wikitable" | {| class="wikitable" | ||
− | ! style="text-align:left;"| | + | ! style="text-align:left;"| Device |
+ | ! style="text-align:left;"| Status | ||
! style="text-align:left;"| Priority | ! style="text-align:left;"| Priority | ||
− | ! style="text-align:left;"| | + | ! style="text-align:left;"| Effort |
+ | ! style="text-align:left;"| Notes | ||
+ | ! style="text-align:left;"| Unit | ||
+ | |||
+ | |- | ||
+ | | CDFS | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | Includes write support for creating ISO images | ||
+ | | [[Unit_CDFS|CDFS]] | ||
+ | |||
+ | |- | ||
+ | | CIFS | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | EXTFS | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Major | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | FATFS | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | Includes FAT12/16/32 and long file name support | ||
+ | | [[Unit_FATFS|FATFS]] | ||
+ | |||
+ | |- | ||
+ | | NFS | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | NTFS | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_NTFS|NTFS]] | ||
+ | |||
+ | |- | ||
+ | | RAMDisk | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_VirtualDisk|VirtualDisk]] | ||
+ | |||
+ | |} | ||
+ | |||
+ | === Networking support === | ||
+ | ---- | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="text-align:left;"| Device | ||
! style="text-align:left;"| Status | ! style="text-align:left;"| Status | ||
+ | ! style="text-align:left;"| Priority | ||
+ | ! style="text-align:left;"| Effort | ||
+ | ! style="text-align:left;"| Notes | ||
+ | ! style="text-align:left;"| Unit | ||
|- | |- | ||
− | | | + | | ARP |
− | | | + | | style="background-color: green; color: #ffffff;"|Complete |
− | | | + | | |
− | | | + | | |
+ | | | ||
+ | | [[Unit_ARP|ARP]] | ||
+ | |||
+ | |- | ||
+ | | DHCP | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_DHCP|DHCP]] | ||
+ | |||
+ | |- | ||
+ | | DNS | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_DNS|DNS]] | ||
+ | |||
+ | |- | ||
+ | | FTP | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | HTTP | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_HTTP|HTTP]] | ||
+ | |||
+ | |- | ||
+ | | ICMP | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_ICMP|ICMP]] | ||
+ | |||
+ | |- | ||
+ | | ICMPv6 | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | IGMP | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | IMAP4 | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_IMAP4|IMAP4]] | ||
+ | |||
+ | |- | ||
+ | | IP | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_IP|IP]] | ||
+ | |||
+ | |- | ||
+ | | IPv6 | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | LDAP | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | PING | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_Services|Services]] | ||
+ | |||
+ | |- | ||
+ | | POP3 | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_POP3|POP3]] | ||
+ | |||
+ | |- | ||
+ | | NTP | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_Services|Services]] | ||
+ | |||
+ | |- | ||
+ | | SIP | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Low | ||
+ | | Moderate | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | SMTP | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_SMTP|SMTP]] | ||
+ | |||
+ | |- | ||
+ | | SSH | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | Requires Crypto support | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | SYSLOG | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_Services|Services]] | ||
|- | |- | ||
| TCP | | TCP | ||
− | | | + | | style="background-color: green; color: #ffffff;"|Complete |
− | | | + | | |
− | | | + | | |
+ | | | ||
+ | | [[Unit_TCP|TCP]] | ||
|- | |- | ||
− | | | + | | Telnet |
− | | | + | | style="background-color: green; color: #ffffff;"|Complete |
− | | | + | | |
− | | | + | | |
+ | | | ||
+ | | [[Unit_Services|Services]] | ||
|- | |- | ||
− | | | + | | UDP |
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_UDP|UDP]] | ||
+ | |||
+ | |- | ||
+ | | WiFi | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
| High | | High | ||
− | | | + | | Major |
− | | | + | | |
+ | | | ||
|} | |} | ||
− | |||
− |
Latest revision as of 23:59, 19 November 2024
Contents
Latest versions
Component | Version |
---|---|
Core | 2.6.001 (19 November 2024) (Beetroot release) |
FPC | Stable 3.2.2 (Fixes 3.2.3 / Main 3.3.1) |
Lazarus | Stable 3.6U (Fixes 3.7U / Main 4.99U) |
C/C++ API | 1.0.090 (19 November 2024) |
Please note: Unless otherwise stated the information contained in the tables below applies to all supported platforms.
Tested versions
Platform | Version | Notes |
---|---|---|
Raspberry Pi firmware (All models) | Revision 6419E8C8 (6419E6D8 Pi 4B/400/CM4) (18 April 2023) | Commit ID 5c276f55a4b21345cd4d6200a504ee991851ff7a |
QEMU | 8.2.0 (25 December 2023) |
The versions shown here are the latest that have been tested and confirmed to work, if you experience problems using releases later than those listed please test with the version shown before reporting an issue.
RTL support
Unit | Status | Priority | Effort | Notes | Documentation |
---|---|---|---|---|---|
System | Complete | Some non relevant features not implemented | Free Pascal documentation | ||
SysUtils | Complete | Some non relevant features not implemented | Free Pascal documentation | ||
Classes | Complete | Free Pascal documentation | |||
Crt | Complete | Free Pascal documentation | |||
Dos | Complete | Free Pascal documentation | |||
Objpas | Complete | Free Pascal documentation | |||
Iso7185 | Complete | Not tested | |||
Extpas | Complete | Not tested | |||
Strings | Complete | Free Pascal documentation | |||
Math | Complete | Many functions not tested | Free Pascal documentation | ||
Fgl | Complete | Free Pascal documentation | |||
Macpas | Complete | Not tested | |||
Typinfo | Complete | Free Pascal documentation | |||
Types | Complete | Free Pascal documentation | |||
RtlConsts | Complete | ||||
Getopts | Complete | Not tested | Free Pascal documentation | ||
Lineinfo | Complete | Not tested | Free Pascal documentation | ||
Ctypes | Complete | Free Pascal documentation | |||
Charset | Complete | Not tested | Free Pascal documentation | ||
Character | Complete | Not tested | Free Pascal documentation | ||
Fpwidestring | Complete | Not tested | Free Pascal documentation | ||
Unicodedata | Complete | Limited testing | Free Pascal documentation | ||
Unicodenumtable | Complete | Limited testing | |||
Uuchar | Complete | ||||
Softfpu | Incomplete | Low | Moderate | ||
Ufloat128 | Incomplete | Low | Minor | ||
Heaptrc | Incomplete | Medium | Unknown | Unknown if this can be made to work with HeapManager | Free Pascal documentation |
Exeinfo | Complete | Not tested | Free Pascal documentation |
Package support
Package | Status | Priority | Effort | Notes | Documentation |
---|---|---|---|---|---|
Bzip2 | Complete | ||||
Chm | Complete | Limited testing | Free Pascal wiki | ||
Fastcgi | Complete | Limited testing | |||
Fcl-base | Complete | Free Pascal wiki | |||
Fcl-db | Complete | Includes driver for SQLite3 | Free Pascal documentation | ||
Fcl-extra | Complete | Free Pascal wiki | |||
Fcl-fpcunit | Complete | Limited testing | Free Pascal wiki | ||
Fcl-image | Complete | Includes FreeType2 (True Type Font) support | Free Pascal wiki | ||
Fcl-js | Complete | Limited testing | |||
Fcl-json | Complete | Free Pascal documentation | |||
Fcl-net | Complete | Free Pascal wiki | |||
Fcl-passrc | Complete | Free Pascal wiki | |||
Fcl-process | Complete | Dummy only | Free Pascal documentation | ||
Fcl-registry | Complete | Free Pascal wiki | |||
Fcl-res | Complete | Free Pascal wiki | |||
Fcl-sdo | Complete | Limited testing | |||
Fcl-sound | Complete | Limited testing | |||
Fcl-stl | Complete | Limited testing | |||
Fcl-web | Complete | Free Pascal wiki | |||
Fcl-xml | Complete | Free Pascal wiki | |||
Fftw | Complete | ||||
Fpmkunit | Complete | Limited testing | |||
FV (FreeVision) | Complete | Free Pascal wiki | |||
Hash | Complete | Free Pascal wiki | |||
Hermes | Complete | Not tested | Free Pascal wiki | ||
Libtar | Complete | Free Pascal documentation | |||
Libpng | Complete | ||||
OpenGLES | Complete | ||||
Pasjpeg | Complete | ||||
Paszlib | Complete | Free Pascal wiki | |||
Regexpr | Complete | Free Pascal wiki | |||
Rtl-console | Complete | ||||
Rtl-extra | Complete | ||||
Rtl-generics | Complete | ||||
Rtl-objpas | Complete | ||||
Rtl-unicode | Complete | ||||
Sqlite | Complete | Free Pascal wiki | |||
Symbolic | Complete | Not tested | |||
Unzip | Complete | Free Pascal wiki | |||
Zlib | Complete | ||||
All others | Incomplete | Unknown | Unknown | Most require libraries or platform specific features |
Feature support
Feature | Status | Priority | Effort | Notes | Unit |
---|---|---|---|---|---|
Heap | Complete | HeapManager | |||
Threads | Complete | Threads | |||
Spin locks | Complete | Threads | |||
Mutexes | Complete | Threads | |||
Semaphores | Complete | Threads | |||
Critical sections | Complete | Threads | |||
Events | Complete | Threads | |||
Condition variables | Complete | Threads | |||
Completion objects | Complete | Threads | |||
Synchronizers | Complete | Synchronizer is a multi reader single writer lock | Threads | ||
Thread messages | Complete | Threads | |||
Messageslots | Complete | Threads | |||
Mailslots | Complete | Threads | |||
Buffers | Complete | Threads | |||
Thread variables | Complete | Threads | |||
Thread lists | Complete | Threads | |||
Thread queues | Complete | Threads | |||
TLS indexes | Complete | Threads | |||
Exceptions | Complete | Threads | |||
Timers | Complete | Threads | |||
Workers | Complete | Threads | |||
Clock | Complete | Platform | |||
Timezones | Complete | Timezone | |||
Interrupt IRQ | Complete | Platform | |||
Interrupt FIQ | Complete | Platform | |||
System calls (SWI) | In progress | Medium | Moderate | Requires update of handler to support new model | Platform |
Page tables | Complete | Platform | |||
Vector tables | Complete | Platform | |||
Shutdown restart | Complete | Requires an interface to register shutdown handlers | Platform | ||
Devices | Complete | Devices | |||
Console | Complete | Provides multiple text mode console windows including bitmap font and scrolling support | Console | ||
Fonts | Complete | Selection of fonts available plus font tools | Font | ||
Graphics console | Complete | Provides graphics mode console windows with pixel image and DMA rendering support | GraphicsConsole | ||
Keyboard | Complete | Keyboard | |||
Mouse | Complete | Mouse | |||
Touch | Complete | Touch | |||
Joystick | Incomplete | Medium | Moderate | Joystick and Gamepad support | Joystick |
Keymaps | Complete | Keymaps included for US English, German, Spanish, French, UK English and US International | Keymap | ||
Code Pages | Implemented | Medium | Moderate | Functional but requires additional work | Locale |
Unicode | Implemented | Medium | Moderate | Functional but requires additional work | Unicode |
Locales | Incomplete | Medium | Moderate | Some initial support APIs completed | Locale |
Cryptography | In progress | High | Moderate | Crypto | |
Static C libraries | Complete | Includes Ultibo specific builds of libc.a and libm.a | Syscalls | ||
Static C++ libraries | In progress | High | Moderate | Syscalls | |
POSIX threads | Complete | Includes threads, mutexes, synchronization, condition variables and POSIX semaphores | Syscalls | ||
Dynamic libraries | In progress | High | Moderate | Includes support for loading .so and .dll files at run time | |
Debugging | Incomplete | High | Moderate | Source level debugging support via QEMU | |
Device tree | Complete | Includes boot support, entry lookup, enumeration and decode | DeviceTree |
Device support
The table below refers to generic support for the device protocol and functionality, for specific details of supported hardware devices please see the Supported Hardware page.
Device | Status | Priority | Effort | Notes | Unit |
---|---|---|---|---|---|
AHCI | Incomplete | Medium | Moderate | ||
ATAOE | Incomplete | Low | Moderate | ||
ATA/ATAPI | Incomplete | Medium | Moderate | ||
Bluetooth | Incomplete | Medium | Major | ||
Clock | Complete | Multiple clock source drivers included | Platform | ||
DAB | Incomplete | Low | Major | ||
DMA | Complete | DMA | |||
DVB | Incomplete | Low | Major | ||
EHCI | Incomplete | Medium | Moderate | ||
Framebuffer | Complete | Framebuffer | |||
GPIO | Complete | GPIO | |||
HDMI CEC | Incomplete | Medium | Unknown | CEC (Consumer Electronics Control) over HDMI. Initial support available via VideoCore IV libraries. | |
HID | Complete | Human Interface Device generic parser and report handling | HID | ||
1-Wire | Incomplete | Medium | Moderate | ||
I2C | Complete | I2C | |||
I2S | Incomplete | Medium | Moderate | ||
iSCSI | Incomplete | Low | Moderate | ||
MMC/SD/SDIO | Complete | Supports SD, MMC, eMMC and SDIO devices | MMC | ||
PCI | In progress | High | Moderate | PCI | |
PWM | Complete | PWM | |||
RTC | Complete | Driver available for DS1307 chip | RTC | ||
SCSI | Incomplete | Medium | Moderate | ||
Serial | Complete | Serial | |||
SPI | Complete | SPI | |||
Counters (Timers) | Complete | Driver included for ARM timer on all Raspberry Pi models | Devices | ||
TFT LCD | Complete | Drivers included for HX8357D and ILI9340 based SPI displays | TFT Framebuffer | ||
UART | Complete | UART | |||
USB | Complete | Isochronous transfers not supported yet | USB | ||
USB HID | Complete | USB HID (Human Interface Device) class support | USBHID | ||
USB Hubs | Complete | USB | |||
USB Keyboard | Complete | Keyboard / HIDKeyboard | |||
USB Mouse | Complete | Mouse / HIDMouse | |||
USB Gamepad | Complete | Joystick / HIDJoystick | |||
USB Joystick | Complete | Joystick / HIDJoystick | |||
USB Touchscreen | Complete | Touch / HIDTouch | |||
USB Storage | Complete | Storage / USBStorage | |||
USB CDC (Serial) | Complete | USBCDCACM | |||
USB CDC (Ethernet) | Complete | USBCDCEthernet | |||
USB Firmware (DFU) | Incomplete | Medium | Moderate | ||
USB Audio | Incomplete | Medium | Moderate | ||
USB Video | Incomplete | Medium | Moderate | ||
VideoCore IV GPU | Complete | VC4 | |||
VirtIO | Incomplete | Medium | Moderate | Virtual I/O drivers for QEMU/KVM | |
XHCI | In progress | High | Moderate | USB eXtensible Host Controller Interface | XHCI |
Filesystem support
Device | Status | Priority | Effort | Notes | Unit |
---|---|---|---|---|---|
CDFS | Complete | Includes write support for creating ISO images | CDFS | ||
CIFS | Incomplete | Medium | Moderate | ||
EXTFS | Incomplete | Medium | Major | ||
FATFS | Complete | Includes FAT12/16/32 and long file name support | FATFS | ||
NFS | Incomplete | Medium | Moderate | ||
NTFS | Complete | NTFS | |||
RAMDisk | Complete | VirtualDisk |
Networking support
Device | Status | Priority | Effort | Notes | Unit |
---|---|---|---|---|---|
ARP | Complete | ARP | |||
DHCP | Complete | DHCP | |||
DNS | Complete | DNS | |||
FTP | Incomplete | Medium | Moderate | ||
HTTP | Complete | HTTP | |||
ICMP | Complete | ICMP | |||
ICMPv6 | Incomplete | Medium | Moderate | ||
IGMP | Incomplete | Medium | Moderate | ||
IMAP4 | Complete | IMAP4 | |||
IP | Complete | IP | |||
IPv6 | Incomplete | Medium | Moderate | ||
LDAP | Incomplete | Medium | Moderate | ||
PING | Complete | Services | |||
POP3 | Complete | POP3 | |||
NTP | Complete | Services | |||
SIP | Incomplete | Low | Moderate | ||
SMTP | Complete | SMTP | |||
SSH | Incomplete | Medium | Moderate | Requires Crypto support | |
SYSLOG | Complete | Services | |||
TCP | Complete | TCP | |||
Telnet | Complete | Services | |||
UDP | Complete | UDP | |||
WiFi | Incomplete | High | Major |