Difference between revisions of "Current Status"

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

Latest revision as of 23:59, 19 November 2024

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