Difference between revisions of "Current Status"
From Ultibo.org
m |
|||
Line 7: | Line 7: | ||
|- | |- | ||
| Core | | Core | ||
− | | 2.1. | + | | 2.1.125 (25 August 2021) (Beetroot release) |
|- | |- | ||
| FPC | | FPC | ||
Line 290: | Line 290: | ||
| | | | ||
| | | | ||
− | | | + | | |
| | | | ||
Line 314: | Line 314: | ||
| | | | ||
| | | | ||
− | | | + | | |
| [http://wiki.freepascal.org/fcl-base Free Pascal wiki] | | [http://wiki.freepascal.org/fcl-base Free Pascal wiki] | ||
Line 322: | Line 322: | ||
| | | | ||
| | | | ||
− | | | + | | Includes driver for SQLite3 |
| [https://www.freepascal.org/docs-html/current/fcl/db/index.html Free Pascal documentation] | | [https://www.freepascal.org/docs-html/current/fcl/db/index.html Free Pascal documentation] | ||
Line 330: | Line 330: | ||
| | | | ||
| | | | ||
− | | | + | | |
| [http://wiki.freepascal.org/fcl-extra Free Pascal wiki] | | [http://wiki.freepascal.org/fcl-extra Free Pascal wiki] | ||
Line 362: | Line 362: | ||
| | | | ||
| | | | ||
− | | | + | | |
| [https://www.freepascal.org/docs-html/current/fcl/fpjson/index.html Free Pascal documentation] | | [https://www.freepascal.org/docs-html/current/fcl/fpjson/index.html Free Pascal documentation] | ||
Line 370: | Line 370: | ||
| | | | ||
| | | | ||
− | | | + | | |
| [http://wiki.freepascal.org/fcl-net Free Pascal wiki] | | [http://wiki.freepascal.org/fcl-net Free Pascal wiki] | ||
Line 378: | Line 378: | ||
| | | | ||
| | | | ||
− | | | + | | |
| [http://wiki.freepascal.org/fcl-passrc Free Pascal wiki] | | [http://wiki.freepascal.org/fcl-passrc Free Pascal wiki] | ||
Line 394: | Line 394: | ||
| | | | ||
| | | | ||
− | | | + | | |
| [http://wiki.freepascal.org/fcl-registry Free Pascal wiki] | | [http://wiki.freepascal.org/fcl-registry Free Pascal wiki] | ||
Line 402: | Line 402: | ||
| | | | ||
| | | | ||
− | | | + | | |
| [http://wiki.freepascal.org/fcl-res Free Pascal wiki] | | [http://wiki.freepascal.org/fcl-res Free Pascal wiki] | ||
Line 434: | Line 434: | ||
| | | | ||
| | | | ||
− | | | + | | |
| [http://wiki.freepascal.org/fcl-web Free Pascal wiki] | | [http://wiki.freepascal.org/fcl-web Free Pascal wiki] | ||
Line 442: | Line 442: | ||
| | | | ||
| | | | ||
− | | | + | | |
| [http://wiki.freepascal.org/fcl-xml Free Pascal wiki] | | [http://wiki.freepascal.org/fcl-xml Free Pascal wiki] | ||
+ | |||
+ | |- | ||
+ | | Fftw | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
|- | |- | ||
Line 466: | Line 474: | ||
| | | | ||
| | | | ||
− | | | + | | |
| [http://wiki.freepascal.org/hash Free Pascal wiki] | | [http://wiki.freepascal.org/hash Free Pascal wiki] | ||
Line 482: | Line 490: | ||
| | | | ||
| | | | ||
− | | | + | | |
| [https://www.freepascal.org/docs-html/current/fcl/libtar/index.html Free Pascal documentation] | | [https://www.freepascal.org/docs-html/current/fcl/libtar/index.html Free Pascal documentation] | ||
+ | |||
+ | |- | ||
+ | | Libpng | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
|- | |- | ||
Line 498: | Line 514: | ||
| | | | ||
| | | | ||
− | | | + | | |
| | | | ||
Line 506: | Line 522: | ||
| | | | ||
| | | | ||
− | | | + | | |
| [http://wiki.freepascal.org/paszlib Free Pascal wiki] | | [http://wiki.freepascal.org/paszlib Free Pascal wiki] | ||
Line 514: | Line 530: | ||
| | | | ||
| | | | ||
− | | | + | | |
| [http://wiki.freepascal.org/Regexpr Free Pascal wiki] | | [http://wiki.freepascal.org/Regexpr Free Pascal wiki] | ||
Line 530: | Line 546: | ||
| | | | ||
| | | | ||
− | | | + | | |
| | | | ||
Line 538: | Line 554: | ||
| | | | ||
| | | | ||
− | | | + | | |
| | | | ||
Line 546: | Line 562: | ||
| | | | ||
| | | | ||
− | | | + | | |
| | | | ||
Line 570: | Line 586: | ||
| | | | ||
| | | | ||
− | | | + | | |
| [http://wiki.freepascal.org/unzip Free Pascal wiki] | | [http://wiki.freepascal.org/unzip Free Pascal wiki] | ||
+ | |||
+ | |- | ||
+ | | Zlib | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
|- | |- | ||
Line 961: | Line 985: | ||
| Source level debugging support via QEMU | | 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]] | ||
|} | |} | ||
Line 1,216: | Line 1,248: | ||
| | | | ||
| [[Unit_USBCDCACM|USBCDCACM]] | | [[Unit_USBCDCACM|USBCDCACM]] | ||
+ | |||
+ | |- | ||
+ | | USB CDC (Ethernet) | ||
+ | | style="background-color: green; color: #ffffff;"|Complete | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | [[Unit_USBCDCEthernet|USBCDCEthernet]] | ||
|- | |- |
Revision as of 03:36, 30 August 2021
Contents
Latest versions
Component | Version |
---|---|
Core | 2.1.125 (25 August 2021) (Beetroot release) |
FPC | 3.1.1 revision 32846 |
Lazarus | 1.6RC1 |
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 608C2824 (14 May 2021) | Commit ID 6c3d7745680f10802a7a5ed201e5252a3520e696 |
QEMU | 2.9.94 (24 August 2017) |
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-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 | Needs correct handling of scaling and calibration | Touch | ||
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 | ||
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. Seems to require support of the VideoCore IV GPU. | |
1-Wire | Incomplete | Medium | Moderate | ||
I2C | Complete | I2C | |||
I2S | Incomplete | Medium | Moderate | ||
iSCSI | Incomplete | Low | Moderate | ||
MMC/SD | Complete | Requires support for eMMC and SDIO | MMC | ||
PWM | Complete | PWM | |||
RTC | Complete | Driver available for DS1307 chip | RTC | ||
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 Hubs | Complete | USB | |||
USB Keyboard | Complete | Keyboard | |||
USB Mouse | Complete | Mouse | |||
USB Storage | Complete | Storage | |||
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 | |||
XHCI | Incomplete | Medium | Major |
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 | ||
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 |