Difference between revisions of "Current Status"
From Ultibo.org
(94 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 | ||
|- | |- | ||
Line 32: | Line 57: | ||
| | | | ||
| 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] | ||
|- | |- | ||
Line 39: | Line 65: | ||
| | | | ||
| 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] | ||
|- | |- | ||
Line 46: | Line 73: | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/classes/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 53: | Line 81: | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/crt/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 60: | Line 89: | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/dos/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 67: | Line 97: | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/objpas/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 74: | Line 105: | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | | ||
|- | |- | ||
Line 81: | Line 113: | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | | ||
|- | |- | ||
Line 88: | Line 121: | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/strings/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 95: | Line 129: | ||
| | | | ||
| Many functions not tested | | Many functions not tested | ||
+ | | [https://www.freepascal.org/docs-html/rtl/math/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 102: | Line 137: | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/fgl/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 109: | Line 145: | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | | ||
|- | |- | ||
Line 116: | Line 153: | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/typinfo/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 123: | Line 161: | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/types/index.html Free Pascal documentation] | ||
|- | |- | ||
| RtlConsts | | RtlConsts | ||
| style="background-color: green; color: #ffffff;"|Complete | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
| | | | ||
| | | | ||
Line 137: | Line 177: | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | [https://www.freepascal.org/docs-html/rtl/getopts/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 144: | Line 185: | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | [https://www.freepascal.org/docs-html/rtl/lineinfo/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 151: | Line 193: | ||
| | | | ||
| | | | ||
+ | | [https://www.freepascal.org/docs-html/rtl/ctypes/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 158: | Line 201: | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | [https://www.freepascal.org/docs-html/rtl/charset/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 165: | Line 209: | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | [https://www.freepascal.org/docs-html/rtl/character/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 172: | Line 217: | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | [https://www.freepascal.org/docs-html/rtl/fpwidestring/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 179: | Line 225: | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | [https://www.freepascal.org/docs-html/rtl/unicodedata/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 186: | Line 233: | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | | ||
|- | |- | ||
| Uuchar | | Uuchar | ||
| style="background-color: green; color: #ffffff;"|Complete | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
| | | | ||
| | | | ||
Line 199: | Line 248: | ||
| Low | | Low | ||
| Moderate | | Moderate | ||
+ | | | ||
| | | | ||
Line 206: | Line 256: | ||
| Low | | Low | ||
| Minor | | Minor | ||
+ | | | ||
| | | | ||
Line 214: | Line 265: | ||
| 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] | ||
|- | |- | ||
Line 221: | Line 273: | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | [https://www.freepascal.org/docs-html/rtl/exeinfo/index.html Free Pascal documentation] | ||
|} | |} | ||
Line 233: | 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 | ||
|- | |- | ||
Line 239: | Line 293: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | | ||
|- | |- | ||
Line 247: | Line 302: | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | [http://wiki.freepascal.org/chm Free Pascal wiki] | ||
|- | |- | ||
Line 254: | Line 310: | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | | ||
|- | |- | ||
Line 260: | Line 317: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-base Free Pascal wiki] | ||
|- | |- | ||
Line 267: | Line 325: | ||
| | | | ||
| | | | ||
− | | | + | | Includes driver for SQLite3 |
+ | | [https://www.freepascal.org/docs-html/current/fcl/db/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 274: | Line 333: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-extra Free Pascal wiki] | ||
|- | |- | ||
Line 282: | Line 342: | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | [http://wiki.freepascal.org/fcl-fpcunit Free Pascal wiki] | ||
|- | |- | ||
Line 289: | Line 350: | ||
| | | | ||
| Includes FreeType2 (True Type Font) support | | Includes FreeType2 (True Type Font) support | ||
+ | | [http://wiki.freepascal.org/fcl-image Free Pascal wiki] | ||
|- | |- | ||
Line 296: | Line 358: | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | | ||
|- | |- | ||
Line 302: | Line 365: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [https://www.freepascal.org/docs-html/current/fcl/fpjson/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 309: | Line 373: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-net Free Pascal wiki] | ||
|- | |- | ||
Line 316: | Line 381: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-passrc Free Pascal wiki] | ||
|- | |- | ||
Line 324: | Line 390: | ||
| | | | ||
| Dummy only | | Dummy only | ||
+ | | [https://www.freepascal.org/docs-html/current/fcl/process/index.html Free Pascal documentation] | ||
|- | |- | ||
Line 330: | Line 397: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-registry Free Pascal wiki] | ||
|- | |- | ||
Line 337: | Line 405: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-res Free Pascal wiki] | ||
|- | |- | ||
Line 345: | Line 414: | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | | ||
|- | |- | ||
Line 352: | Line 422: | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | | ||
|- | |- | ||
Line 359: | Line 430: | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | | ||
|- | |- | ||
Line 365: | Line 437: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-web Free Pascal wiki] | ||
|- | |- | ||
Line 372: | Line 445: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/fcl-xml Free Pascal wiki] | ||
+ | |||
+ | |- | ||
+ | | Fftw | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
|- | |- | ||
Line 380: | Line 462: | ||
| | | | ||
| Limited testing | | Limited testing | ||
+ | | | ||
|- | |- | ||
Line 387: | Line 470: | ||
| | | | ||
| | | | ||
+ | | [http://wiki.freepascal.org/Free_Vision Free Pascal wiki] | ||
|- | |- | ||
Line 393: | Line 477: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/hash Free Pascal wiki] | ||
|- | |- | ||
Line 401: | Line 486: | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | [http://wiki.freepascal.org/hermes Free Pascal wiki] | ||
|- | |- | ||
Line 407: | Line 493: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [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 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
|- | |- | ||
Line 414: | Line 517: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | | ||
|- | |- | ||
Line 421: | Line 525: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/paszlib Free Pascal wiki] | ||
|- | |- | ||
Line 428: | Line 533: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/Regexpr Free Pascal wiki] | ||
|- | |- | ||
| Rtl-console | | Rtl-console | ||
| style="background-color: green; color: #ffffff;"|Complete | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
| | | | ||
| | | | ||
Line 442: | Line 549: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | | ||
+ | |||
+ | |- | ||
+ | | Rtl-generics | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
|- | |- | ||
Line 449: | Line 565: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | | ||
|- | |- | ||
Line 456: | Line 573: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | | ||
|- | |- | ||
Line 464: | Line 582: | ||
| | | | ||
| | | | ||
+ | | [http://wiki.freepascal.org/sqlite Free Pascal wiki] | ||
|- | |- | ||
Line 471: | Line 590: | ||
| | | | ||
| Not tested | | Not tested | ||
+ | | | ||
|- | |- | ||
Line 477: | Line 597: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [http://wiki.freepascal.org/unzip Free Pascal wiki] | ||
+ | |||
+ | |- | ||
+ | | Zlib | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
|- | |- | ||
Line 485: | Line 614: | ||
| Unknown | | Unknown | ||
| Most require libraries or platform specific features | | Most require libraries or platform specific features | ||
+ | | | ||
|} | |} | ||
Line 497: | 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 | ||
|- | |- | ||
Line 504: | Line 635: | ||
| | | | ||
| | | | ||
+ | | [[Unit_HeapManager|HeapManager]] | ||
|- | |- | ||
Line 511: | Line 643: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 518: | Line 651: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 525: | Line 659: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 532: | Line 667: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 539: | Line 675: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 546: | Line 683: | ||
| | | | ||
| | | | ||
+ | | [[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]] | ||
|- | |- | ||
Line 553: | Line 707: | ||
| | | | ||
| Synchronizer is a multi reader single writer lock | | Synchronizer is a multi reader single writer lock | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 560: | Line 715: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 567: | Line 723: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 574: | Line 731: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 581: | Line 739: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 588: | Line 747: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 595: | Line 755: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 602: | Line 763: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 609: | Line 771: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 616: | Line 779: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 623: | Line 787: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 630: | Line 795: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
Line 637: | Line 803: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
Line 644: | Line 811: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Timezone|Timezone]] | ||
|- | |- | ||
Line 651: | Line 819: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
Line 658: | Line 827: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
| System calls (SWI) | | System calls (SWI) | ||
− | | style="background-color: | + | | 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]] | ||
|- | |- | ||
Line 672: | Line 843: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
Line 679: | Line 851: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
Line 686: | Line 859: | ||
| | | | ||
| Requires an interface to register shutdown handlers | | Requires an interface to register shutdown handlers | ||
+ | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
Line 693: | Line 867: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Devices|Devices]] | ||
|- | |- | ||
Line 699: | Line 874: | ||
| | | | ||
| | | | ||
− | | | + | | Provides multiple text mode console windows including bitmap font and scrolling support |
+ | | [[Unit_Console|Console]] | ||
|- | |- | ||
Line 707: | Line 883: | ||
| | | | ||
| 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]] | ||
|- | |- | ||
Line 714: | Line 899: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Keyboard|Keyboard]] | ||
|- | |- | ||
Line 721: | Line 907: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Mouse|Mouse]] | ||
|- | |- | ||
Line 727: | Line 914: | ||
| | | | ||
| | | | ||
− | | | + | | |
+ | | [[Unit_Touch|Touch]] | ||
+ | |||
+ | |- | ||
+ | | Joystick | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | Joystick and Gamepad support | ||
+ | | [[Unit_Joystick|Joystick]] | ||
|- | |- | ||
Line 735: | Line 931: | ||
| | | | ||
| 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]] | ||
|- | |- | ||
Line 742: | Line 939: | ||
| Moderate | | Moderate | ||
| Functional but requires additional work | | Functional but requires additional work | ||
+ | | [[Unit_Locale|Locale]] | ||
|- | |- | ||
Line 749: | Line 947: | ||
| Moderate | | Moderate | ||
| Functional but requires additional work | | Functional but requires additional work | ||
+ | | [[Unit_Unicode|Unicode]] | ||
|- | |- | ||
Line 756: | Line 955: | ||
| Moderate | | Moderate | ||
| Some initial support APIs completed | | Some initial support APIs completed | ||
+ | | [[Unit_Locale|Locale]] | ||
|- | |- | ||
Line 763: | Line 963: | ||
| Moderate | | Moderate | ||
| | | | ||
+ | | [[Unit_Crypto|Crypto]] | ||
|- | |- | ||
Line 770: | Line 971: | ||
| | | | ||
| Includes Ultibo specific builds of libc.a and libm.a | | Includes Ultibo specific builds of libc.a and libm.a | ||
+ | | [[Unit_Syscalls|Syscalls]] | ||
|- | |- | ||
Line 777: | Line 979: | ||
| Moderate | | 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]] | ||
|- | |- | ||
Line 784: | Line 995: | ||
| Moderate | | Moderate | ||
| Includes support for loading .so and .dll files at run time | | 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 796: | 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 | ||
+ | | | ||
+ | | | ||
|- | |- | ||
Line 802: | Line 1,057: | ||
| Medium | | Medium | ||
| Major | | Major | ||
+ | | | ||
| | | | ||
Line 810: | Line 1,066: | ||
| | | | ||
| Multiple clock source drivers included | | Multiple clock source drivers included | ||
+ | | [[Unit_Platform|Platform]] | ||
+ | |||
+ | |- | ||
+ | | DAB | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Low | ||
+ | | Major | ||
+ | | | ||
+ | | | ||
|- | |- | ||
Line 815: | Line 1,080: | ||
| style="background-color: green; color: #ffffff;"|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 824: | Line 1,106: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Framebuffer|Framebuffer]] | ||
|- | |- | ||
Line 831: | Line 1,114: | ||
| | | | ||
| | | | ||
+ | | [[Unit_GPIO|GPIO]] | ||
|- | |- | ||
Line 837: | Line 1,121: | ||
| Medium | | Medium | ||
| Unknown | | Unknown | ||
− | | CEC (Consumer Electronics Control) over HDMI. | + | | 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 845: | Line 1,146: | ||
| | | | ||
| | | | ||
+ | | [[Unit_I2C|I2C]] | ||
|- | |- | ||
Line 851: | Line 1,153: | ||
| Medium | | Medium | ||
| Moderate | | Moderate | ||
+ | | | ||
| | | | ||
|- | |- | ||
− | | MMC/SD | + | | iSCSI |
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Low | ||
+ | | Moderate | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | MMC/SD/SDIO | ||
| style="background-color: green; color: #ffffff;"|Complete | | 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]] | ||
|- | |- | ||
Line 866: | Line 1,186: | ||
| | | | ||
| | | | ||
+ | | [[Unit_PWM|PWM]] | ||
|- | |- | ||
Line 873: | Line 1,194: | ||
| | | | ||
| Driver available for DS1307 chip | | Driver available for DS1307 chip | ||
+ | | [[Unit_RTC|RTC]] | ||
+ | |||
+ | |- | ||
+ | | SCSI | ||
+ | | style="background-color: red; color: #ffffff;"|Incomplete | ||
+ | | Medium | ||
+ | | Moderate | ||
+ | | | ||
+ | | | ||
|- | |- | ||
Line 880: | Line 1,210: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Serial|Serial]] | ||
|- | |- | ||
Line 887: | Line 1,218: | ||
| | | | ||
| | | | ||
+ | | [[Unit_SPI|SPI]] | ||
|- | |- | ||
Line 894: | Line 1,226: | ||
| | | | ||
| Driver included for ARM timer on all Raspberry Pi models | | Driver included for ARM timer on all Raspberry Pi models | ||
+ | | [[Unit_Devices|Devices]] | ||
|- | |- | ||
Line 901: | Line 1,234: | ||
| | | | ||
| Drivers included for HX8357D and ILI9340 based SPI displays | | Drivers included for HX8357D and ILI9340 based SPI displays | ||
+ | | [[Unit_TFT_Framebuffer|TFT Framebuffer]] | ||
|- | |- | ||
Line 908: | Line 1,242: | ||
| | | | ||
| | | | ||
+ | | [[Unit_UART|UART]] | ||
|- | |- | ||
Line 915: | Line 1,250: | ||
| | | | ||
| 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]] | ||
|- | |- | ||
Line 922: | Line 1,266: | ||
| | | | ||
| | | | ||
+ | | [[Unit_USB|USB]] | ||
|- | |- | ||
Line 929: | Line 1,274: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Keyboard|Keyboard]] / [[Unit_HIDKEYBOARD|HIDKeyboard]] | ||
|- | |- | ||
Line 936: | Line 1,282: | ||
| | | | ||
| | | | ||
+ | | [[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]] | ||
|- | |- | ||
Line 943: | Line 1,314: | ||
| | | | ||
| | | | ||
+ | | [[Unit_Storage|Storage]] / [[Unit_USBSTORAGE|USBStorage]] | ||
|- | |- | ||
Line 950: | Line 1,322: | ||
| | | | ||
| | | | ||
+ | | [[Unit_USBCDCACM|USBCDCACM]] | ||
+ | |||
+ | |- | ||
+ | | USB CDC (Ethernet) | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_USBCDCETHERNET|USBCDCEthernet]] | ||
|- | |- | ||
Line 956: | Line 1,337: | ||
| Medium | | Medium | ||
| Moderate | | Moderate | ||
+ | | | ||
| | | | ||
Line 963: | Line 1,345: | ||
| Medium | | Medium | ||
| Moderate | | Moderate | ||
+ | | | ||
| | | | ||
Line 970: | Line 1,353: | ||
| Medium | | Medium | ||
| Moderate | | Moderate | ||
+ | | | ||
| | | | ||
|- | |- | ||
| VideoCore IV GPU | | VideoCore IV GPU | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_VC4|VC4]] | ||
+ | |||
+ | |- | ||
+ | | VirtIO | ||
| style="background-color: red; color: #ffffff;"|Incomplete | | 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 | | High | ||
+ | | Moderate | ||
+ | | USB eXtensible Host Controller Interface | ||
+ | | [[Unit_XHCI|XHCI]] | ||
+ | |||
+ | |} | ||
+ | |||
+ | === Filesystem support === | ||
+ | ---- | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="text-align:left;"| Device | ||
+ | ! 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 | ||
+ | |||
+ | |- | ||
+ | | 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 | | 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;"| 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 | ||
+ | | 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]] | ||
|- | |- | ||
Line 984: | Line 1,643: | ||
| High | | High | ||
| Major | | 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 |