Difference between revisions of "Current Status"
From Ultibo.org
| (110 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
|- | |- | ||
| Core | | Core | ||
| − | | | + | | 2.6.157 (15 November 2025) (Beetroot release) |
|- | |- | ||
| FPC | | FPC | ||
| − | | 3. | + | | Stable 3.2.2 (Fixes 3.2.3 / Main 3.3.1) |
|- | |- | ||
| Lazarus | | Lazarus | ||
| − | | 1. | + | | Stable 4.4U (Fixes 4.5U / Main 4.99U) |
| + | |- | ||
| + | | C/C++ API | ||
| + | | 1.0.113 (14 May 2025) | ||
|} | |} | ||
| + | |||
| + | 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] | ||
| + | |- | ||
| + | | Raspberry Pi (Cypress) wireless firmware | ||
| + | | 11 March 2025 | ||
| + | | Commit ID [https://github.com/RPi-Distro/firmware-nonfree/tree/c9d3ae6584ab79d19a4f94ccf701e888f9f87a53/debian/config/brcm80211 c9d3ae6584ab79d19a4f94ccf701e888f9f87a53] | ||
| + | |- | ||
| + | | GNU Toolchain (arm) | ||
| + | | Release 13.3.Rel1 (4 July 2024) | ||
| + | | arm-none-eabi [https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads Downloads (Win64 i686 / Linux x86_64 / macOS x86_64)] | ||
| + | |- | ||
| + | | GNU Toolchain (aarch64) | ||
| + | | Release 13.3.Rel1 (4 July 2024) | ||
| + | | aarch64-none-elf [https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads Downloads (Win64 i686 / Linux x86_64 / macOS x86_64)] | ||
| + | |- | ||
| + | | 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 61: | ||
! 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 69: | ||
| | | | ||
| 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 77: | ||
| | | | ||
| 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 85: | ||
| | | | ||
| | | | ||
| + | | [https://www.freepascal.org/docs-html/rtl/classes/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 53: | Line 93: | ||
| | | | ||
| | | | ||
| + | | [https://www.freepascal.org/docs-html/rtl/crt/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 60: | Line 101: | ||
| | | | ||
| | | | ||
| + | | [https://www.freepascal.org/docs-html/rtl/dos/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 67: | Line 109: | ||
| | | | ||
| | | | ||
| + | | [https://www.freepascal.org/docs-html/rtl/objpas/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 74: | Line 117: | ||
| | | | ||
| Not tested | | Not tested | ||
| + | | | ||
|- | |- | ||
| Line 81: | Line 125: | ||
| | | | ||
| Not tested | | Not tested | ||
| + | | | ||
|- | |- | ||
| Line 88: | Line 133: | ||
| | | | ||
| | | | ||
| + | | [https://www.freepascal.org/docs-html/rtl/strings/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 95: | Line 141: | ||
| | | | ||
| Many functions not tested | | Many functions not tested | ||
| + | | [https://www.freepascal.org/docs-html/rtl/math/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 102: | Line 149: | ||
| | | | ||
| | | | ||
| + | | [https://www.freepascal.org/docs-html/rtl/fgl/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 109: | Line 157: | ||
| | | | ||
| Not tested | | Not tested | ||
| + | | | ||
|- | |- | ||
| Line 116: | Line 165: | ||
| | | | ||
| | | | ||
| + | | [https://www.freepascal.org/docs-html/rtl/typinfo/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 123: | Line 173: | ||
| | | | ||
| | | | ||
| + | | [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 189: | ||
| | | | ||
| Not tested | | Not tested | ||
| + | | [https://www.freepascal.org/docs-html/rtl/getopts/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 144: | Line 197: | ||
| | | | ||
| Not tested | | Not tested | ||
| + | | [https://www.freepascal.org/docs-html/rtl/lineinfo/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 151: | Line 205: | ||
| | | | ||
| | | | ||
| + | | [https://www.freepascal.org/docs-html/rtl/ctypes/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 158: | Line 213: | ||
| | | | ||
| Not tested | | Not tested | ||
| + | | [https://www.freepascal.org/docs-html/rtl/charset/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 165: | Line 221: | ||
| | | | ||
| Not tested | | Not tested | ||
| + | | [https://www.freepascal.org/docs-html/rtl/character/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 172: | Line 229: | ||
| | | | ||
| Not tested | | Not tested | ||
| + | | [https://www.freepascal.org/docs-html/rtl/fpwidestring/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 179: | Line 237: | ||
| | | | ||
| Limited testing | | Limited testing | ||
| + | | [https://www.freepascal.org/docs-html/rtl/unicodedata/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 186: | Line 245: | ||
| | | | ||
| Limited testing | | Limited testing | ||
| + | | | ||
|- | |- | ||
| Uuchar | | Uuchar | ||
| style="background-color: green; color: #ffffff;"|Complete | | style="background-color: green; color: #ffffff;"|Complete | ||
| + | | | ||
| | | | ||
| | | | ||
| Line 199: | Line 260: | ||
| Low | | Low | ||
| Moderate | | Moderate | ||
| + | | | ||
| | | | ||
| Line 206: | Line 268: | ||
| Low | | Low | ||
| Minor | | Minor | ||
| + | | | ||
| | | | ||
| Line 214: | Line 277: | ||
| 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 285: | ||
| | | | ||
| 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 298: | ||
! 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 236: | Line 305: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | | ||
|- | |- | ||
| Line 244: | Line 314: | ||
| | | | ||
| Limited testing | | Limited testing | ||
| + | | [http://wiki.freepascal.org/chm Free Pascal wiki] | ||
|- | |- | ||
| Line 251: | Line 322: | ||
| | | | ||
| Limited testing | | Limited testing | ||
| + | | | ||
|- | |- | ||
| Line 257: | Line 329: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [http://wiki.freepascal.org/fcl-base Free Pascal wiki] | ||
|- | |- | ||
| Line 264: | Line 337: | ||
| | | | ||
| | | | ||
| − | | | + | | Includes driver for SQLite3 |
| + | | [https://www.freepascal.org/docs-html/current/fcl/db/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 271: | Line 345: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [http://wiki.freepascal.org/fcl-extra Free Pascal wiki] | ||
|- | |- | ||
| Line 279: | Line 354: | ||
| | | | ||
| Limited testing | | Limited testing | ||
| + | | [http://wiki.freepascal.org/fcl-fpcunit Free Pascal wiki] | ||
|- | |- | ||
| Line 286: | Line 362: | ||
| | | | ||
| Includes FreeType2 (True Type Font) support | | Includes FreeType2 (True Type Font) support | ||
| + | | [http://wiki.freepascal.org/fcl-image Free Pascal wiki] | ||
|- | |- | ||
| Line 293: | Line 370: | ||
| | | | ||
| Limited testing | | Limited testing | ||
| + | | | ||
|- | |- | ||
| Line 299: | Line 377: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [https://www.freepascal.org/docs-html/current/fcl/fpjson/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 306: | Line 385: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [http://wiki.freepascal.org/fcl-net Free Pascal wiki] | ||
|- | |- | ||
| Line 313: | Line 393: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [http://wiki.freepascal.org/fcl-passrc Free Pascal wiki] | ||
|- | |- | ||
| Line 321: | Line 402: | ||
| | | | ||
| Dummy only | | Dummy only | ||
| + | | [https://www.freepascal.org/docs-html/current/fcl/process/index.html Free Pascal documentation] | ||
|- | |- | ||
| Line 327: | Line 409: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [http://wiki.freepascal.org/fcl-registry Free Pascal wiki] | ||
|- | |- | ||
| Line 334: | Line 417: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [http://wiki.freepascal.org/fcl-res Free Pascal wiki] | ||
|- | |- | ||
| Line 342: | Line 426: | ||
| | | | ||
| Limited testing | | Limited testing | ||
| + | | | ||
|- | |- | ||
| Line 349: | Line 434: | ||
| | | | ||
| Limited testing | | Limited testing | ||
| + | | | ||
|- | |- | ||
| Line 356: | Line 442: | ||
| | | | ||
| Limited testing | | Limited testing | ||
| + | | | ||
|- | |- | ||
| Line 362: | Line 449: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [http://wiki.freepascal.org/fcl-web Free Pascal wiki] | ||
|- | |- | ||
| Line 369: | Line 457: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [http://wiki.freepascal.org/fcl-xml Free Pascal wiki] | ||
| + | |||
| + | |- | ||
| + | | Fftw | ||
| + | | style="background-color: green; color: #ffffff;"|Complete | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
|- | |- | ||
| Line 377: | Line 474: | ||
| | | | ||
| Limited testing | | Limited testing | ||
| + | | | ||
|- | |- | ||
| Line 384: | Line 482: | ||
| | | | ||
| | | | ||
| + | | [http://wiki.freepascal.org/Free_Vision Free Pascal wiki] | ||
|- | |- | ||
| Line 390: | Line 489: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [http://wiki.freepascal.org/hash Free Pascal wiki] | ||
|- | |- | ||
| Line 398: | Line 498: | ||
| | | | ||
| Not tested | | Not tested | ||
| + | | [http://wiki.freepascal.org/hermes Free Pascal wiki] | ||
|- | |- | ||
| Line 404: | Line 505: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [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 411: | Line 529: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | | ||
|- | |- | ||
| Line 418: | Line 537: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [http://wiki.freepascal.org/paszlib Free Pascal wiki] | ||
|- | |- | ||
| Line 425: | Line 545: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [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 439: | Line 561: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | | ||
| + | |||
| + | |- | ||
| + | | Rtl-generics | ||
| + | | style="background-color: green; color: #ffffff;"|Complete | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
|- | |- | ||
| Line 446: | Line 577: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | | ||
|- | |- | ||
| Line 453: | Line 585: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | | ||
|- | |- | ||
| Line 461: | Line 594: | ||
| | | | ||
| | | | ||
| + | | [http://wiki.freepascal.org/sqlite Free Pascal wiki] | ||
|- | |- | ||
| Line 468: | Line 602: | ||
| | | | ||
| Not tested | | Not tested | ||
| + | | | ||
|- | |- | ||
| Line 474: | Line 609: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [http://wiki.freepascal.org/unzip Free Pascal wiki] | ||
| + | |||
| + | |- | ||
| + | | Zlib | ||
| + | | style="background-color: green; color: #ffffff;"|Complete | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
|- | |- | ||
| Line 482: | Line 626: | ||
| Unknown | | Unknown | ||
| Most require libraries or platform specific features | | Most require libraries or platform specific features | ||
| + | | | ||
|} | |} | ||
| Line 494: | Line 639: | ||
! 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 501: | Line 647: | ||
| | | | ||
| | | | ||
| + | | [[Unit_HeapManager|HeapManager]] | ||
|- | |- | ||
| Line 508: | Line 655: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 515: | Line 663: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 522: | Line 671: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 529: | Line 679: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 536: | Line 687: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 543: | Line 695: | ||
| | | | ||
| | | | ||
| + | | [[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 550: | Line 719: | ||
| | | | ||
| Synchronizer is a multi reader single writer lock | | Synchronizer is a multi reader single writer lock | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 557: | Line 727: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 564: | Line 735: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 571: | Line 743: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 578: | Line 751: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 585: | Line 759: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 592: | Line 767: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 599: | Line 775: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 606: | Line 783: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 613: | Line 791: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 620: | Line 799: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 627: | Line 807: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Threads|Threads]] | ||
|- | |- | ||
| Line 634: | Line 815: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
| Line 641: | Line 823: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Timezone|Timezone]] | ||
|- | |- | ||
| Line 648: | Line 831: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
| Line 655: | Line 839: | ||
| | | | ||
| | | | ||
| + | | [[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 669: | Line 855: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
| Line 676: | Line 863: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
| Line 683: | Line 871: | ||
| | | | ||
| Requires an interface to register shutdown handlers | | Requires an interface to register shutdown handlers | ||
| + | | [[Unit_Platform|Platform]] | ||
|- | |- | ||
| Line 690: | Line 879: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Devices|Devices]] | ||
|- | |- | ||
| Line 696: | Line 886: | ||
| | | | ||
| | | | ||
| − | | | + | | Provides multiple text mode console windows including bitmap font and scrolling support |
| + | | [[Unit_Console|Console]] | ||
|- | |- | ||
| Line 704: | Line 895: | ||
| | | | ||
| 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 711: | Line 911: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Keyboard|Keyboard]] | ||
|- | |- | ||
| Line 718: | Line 919: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Mouse|Mouse]] | ||
|- | |- | ||
| Line 724: | Line 926: | ||
| | | | ||
| | | | ||
| − | | | + | | |
| + | | [[Unit_Touch|Touch]] | ||
| + | |||
| + | |- | ||
| + | | Joystick | ||
| + | | style="background-color: green; color: #ffffff;"|Complete | ||
| + | | | ||
| + | | | ||
| + | | Joystick and Gamepad support | ||
| + | | [[Unit_Joystick|Joystick]] | ||
|- | |- | ||
| Line 732: | Line 943: | ||
| | | | ||
| 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 739: | Line 951: | ||
| Moderate | | Moderate | ||
| Functional but requires additional work | | Functional but requires additional work | ||
| + | | [[Unit_Locale|Locale]] | ||
|- | |- | ||
| Line 746: | Line 959: | ||
| Moderate | | Moderate | ||
| Functional but requires additional work | | Functional but requires additional work | ||
| + | | [[Unit_Unicode|Unicode]] | ||
|- | |- | ||
| Line 753: | Line 967: | ||
| Moderate | | Moderate | ||
| Some initial support APIs completed | | Some initial support APIs completed | ||
| + | | [[Unit_Locale|Locale]] | ||
|- | |- | ||
| Line 760: | Line 975: | ||
| Moderate | | Moderate | ||
| | | | ||
| + | | [[Unit_Crypto|Crypto]] | ||
|- | |- | ||
| Line 767: | Line 983: | ||
| | | | ||
| Includes Ultibo specific builds of libc.a and libm.a | | Includes Ultibo specific builds of libc.a and libm.a | ||
| + | | [[Unit_Syscalls|Syscalls]] | ||
|- | |- | ||
| Line 774: | Line 991: | ||
| 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 781: | Line 1,007: | ||
| 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 793: | Line 1,038: | ||
! 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 799: | Line 1,069: | ||
| Medium | | Medium | ||
| Major | | Major | ||
| + | | | ||
| | | | ||
| Line 807: | Line 1,078: | ||
| | | | ||
| Multiple clock source drivers included | | Multiple clock source drivers included | ||
| + | | [[Unit_Platform|Platform]] | ||
| + | |||
| + | |- | ||
| + | | DAB | ||
| + | | style="background-color: red; color: #ffffff;"|Incomplete | ||
| + | | Low | ||
| + | | Major | ||
| + | | | ||
| + | | | ||
|- | |- | ||
| Line 812: | Line 1,092: | ||
| 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 821: | Line 1,118: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Framebuffer|Framebuffer]] | ||
|- | |- | ||
| Line 828: | Line 1,126: | ||
| | | | ||
| | | | ||
| + | | [[Unit_GPIO|GPIO]] | ||
|- | |- | ||
| Line 834: | Line 1,133: | ||
| 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 842: | Line 1,158: | ||
| | | | ||
| | | | ||
| + | | [[Unit_I2C|I2C]] | ||
|- | |- | ||
| Line 848: | Line 1,165: | ||
| 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 863: | Line 1,198: | ||
| | | | ||
| | | | ||
| + | | [[Unit_PWM|PWM]] | ||
|- | |- | ||
| Line 870: | Line 1,206: | ||
| | | | ||
| Driver available for DS1307 chip | | Driver available for DS1307 chip | ||
| + | | [[Unit_RTC|RTC]] | ||
| + | |||
| + | |- | ||
| + | | SCSI | ||
| + | | style="background-color: red; color: #ffffff;"|Incomplete | ||
| + | | Medium | ||
| + | | Moderate | ||
| + | | | ||
| + | | | ||
|- | |- | ||
| Line 877: | Line 1,222: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Serial|Serial]] | ||
|- | |- | ||
| Line 884: | Line 1,230: | ||
| | | | ||
| | | | ||
| + | | [[Unit_SPI|SPI]] | ||
|- | |- | ||
| Line 891: | Line 1,238: | ||
| | | | ||
| Driver included for ARM timer on all Raspberry Pi models | | Driver included for ARM timer on all Raspberry Pi models | ||
| + | | [[Unit_Devices|Devices]] | ||
|- | |- | ||
| Line 898: | Line 1,246: | ||
| | | | ||
| Drivers included for HX8357D and ILI9340 based SPI displays | | Drivers included for HX8357D and ILI9340 based SPI displays | ||
| + | | [[Unit_TFT_Framebuffer|TFT Framebuffer]] | ||
|- | |- | ||
| Line 905: | Line 1,254: | ||
| | | | ||
| | | | ||
| + | | [[Unit_UART|UART]] | ||
|- | |- | ||
| Line 912: | Line 1,262: | ||
| | | | ||
| 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 919: | Line 1,278: | ||
| | | | ||
| | | | ||
| + | | [[Unit_USB|USB]] | ||
|- | |- | ||
| Line 926: | Line 1,286: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Keyboard|Keyboard]] / [[Unit_HIDKEYBOARD|HIDKeyboard]] | ||
|- | |- | ||
| Line 933: | Line 1,294: | ||
| | | | ||
| | | | ||
| + | | [[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 940: | Line 1,326: | ||
| | | | ||
| | | | ||
| + | | [[Unit_Storage|Storage]] / [[Unit_USBSTORAGE|USBStorage]] | ||
|- | |- | ||
| Line 947: | Line 1,334: | ||
| | | | ||
| | | | ||
| + | | [[Unit_USBCDCACM|USBCDCACM]] | ||
| + | |||
| + | |- | ||
| + | | USB CDC (Ethernet) | ||
| + | | style="background-color: green; color: #ffffff;"|Complete | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | [[Unit_USBCDCETHERNET|USBCDCEthernet]] | ||
|- | |- | ||
| Line 953: | Line 1,349: | ||
| Medium | | Medium | ||
| Moderate | | Moderate | ||
| + | | | ||
| | | | ||
| Line 960: | Line 1,357: | ||
| Medium | | Medium | ||
| Moderate | | Moderate | ||
| + | | | ||
| | | | ||
| Line 967: | Line 1,365: | ||
| 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 981: | Line 1,655: | ||
| High | | High | ||
| Major | | Major | ||
| + | | | ||
| | | | ||
|} | |} | ||
Latest revision as of 23:50, 18 November 2025
Contents
Latest versions
| Component | Version |
|---|---|
| Core | 2.6.157 (15 November 2025) (Beetroot release) |
| FPC | Stable 3.2.2 (Fixes 3.2.3 / Main 3.3.1) |
| Lazarus | Stable 4.4U (Fixes 4.5U / Main 4.99U) |
| C/C++ API | 1.0.113 (14 May 2025) |
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 |
| Raspberry Pi (Cypress) wireless firmware | 11 March 2025 | Commit ID c9d3ae6584ab79d19a4f94ccf701e888f9f87a53 |
| GNU Toolchain (arm) | Release 13.3.Rel1 (4 July 2024) | arm-none-eabi Downloads (Win64 i686 / Linux x86_64 / macOS x86_64) |
| GNU Toolchain (aarch64) | Release 13.3.Rel1 (4 July 2024) | aarch64-none-elf Downloads (Win64 i686 / Linux x86_64 / macOS x86_64) |
| 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 | Complete | 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 |