Safeguarding the past, present and future of RISC OS for everyone
Account
News | Downloads | Bugs | Bounties | Forums | Library

Stable Release Status

Summary

The table below gives a summary of the stable release (5.30) readiness of each RISC OS port, based upon a review by RISC OS Open conducted on 28 May 2022 (14 Jul 2022 for the PineA64) of the code in GitLab. This page will be updated weekly as the planned release date approaches; watch this space…

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Ready Ready Significant shortfalls Ready Ready Ready Significant shortfalls Some issues Some issues
Status Status - Status Status Status - Status Status
0 remain 0 remain 28 remain 0 remain 0 remain 0 remain 25 remain 3 remain 2 remain

Details

Please note: many of these ports are maintained by other people and companies so this should not be interpreted as indicating the work remaining for ROOL to complete the stable release preparation.

The remainder of this page gives a more detailed breakdown of the status of each port, based upon the criteria specified in our stable release policy. Hover over any amber or red coloured table entries and a box will pop up showing which aspects need addressing to achieve a green pass.

You can also compare this with the previous readiness tests for RISC OS 5.24 or RISC OS 5.28.

Update 10-Mar-2023

Raspberry Pi transitioned from amber to red.

Update 15-Apr-2023

Hang on boot for Raspberry Pis using the SDHOST controller now fixed (Ben Avison).
Folded issues previously listed under “Forums/mailing lists” into the main table.
Number of issues left to address now shown in summary.

Update 19-Aug-2023

Confirmed OMAP5 video driver issue is still present; 5 of 9 monitors tested showed no image.
Added bug 611 to Pi port.

Update 05-Sep-2023

The Pi 400 rev 1.1’s Ethernet chip is now supported (Sprow).

Update 25-Nov-2023

PineVideo no longer uses untrappable error base of 0 (Cameron).
PineVideo HDMIOn/Off commands contained hardwired English, now removed (Cameron).

Update 21-Feb-2024

PineVideo no longer attempts *WimpMode command during Service_PostInit (Cameron).

Update 20-Mar-2024

Workaround for Pi’s SDHOST controller on using CMD23 corrupting SD cards due to silicon bug (Ben Avison).
Compute Module 4 eMMC now detected via mailbox message, restoring SD card compatibility (Sprow).
Raspberry Pi transitioned from red to amber.

Update 20-Apr-2024

Fix to OMAPHDMI to allow it to work with a wide selection of brands of monitors (ROOL).
OMAP5 transitioned from amber to green.

Update 25-Apr-2024

Having reviewed the residual desirable items, and confirmed that they have not regressed since the position at RISC OS 5.28, or await changes from a 3rd party beyond our control, Raspberry Pi and Titanium have transitioned from amber to green.

Administrative

The port status page should reflect the current status of any known unresolvable problems

Port has “Status of the NNN port” page on the wiki, and is up to date (see policy) so users can compare ports side by side.

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass
Fail No page.
Pass Pass Pass
Fail No page.
Pass Pass

A products file must be provided listing the tags of all the components included, and corresponding components file

ROOL will generate the tags prior to building release candidates

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass Pass Pass Pass Pass Pass Pass Pass

If a previous stable release exists, the (autogenerated) change logs must be made available based on the previous products file. Newly stable platforms can’t provide this, so isn’t needed.

ROOL will generate change logs from the previous products files

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass N/A Pass N/A Pass N/A Pass Pass

Peripherals

Accessible plugs and sockets for which there are support in contemporary platforms should be similarly supported

Inaccessible or internal plugs and sockets need not be supported, or can be powered down

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass Pass Pass Pass Pass
Fail External HDMI socket not active.
Pass Pass

Modules

Module names, SWI bases, error bases etc… must be registered using the normal allocation service to avoid clashes.

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass
Desirable Change AHCIDriver module title to SCSISoftAHCI to fit into existing SCSIDriver client scheme (cf. SCSISoftUSB, SCSISoftWD33C93).
Pass Pass Pass Pass Pass Pass

ROM based modules must be internationalised via MessageTrans, with default en-gb translations in ResourceFS.

Disc based modules can use fixed en-gb strings, since international users can replace those easily by copying a localised version on top.

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass
Fail Hardwired English found in AHCIDriver, EtherTH.
PartMan (the task title, plus a spelling mistake in CmdHelp) though this isn’t in the ROM components file so can be English only.
Pass Pass Pass
Fail PartMan (the task title, plus a spelling mistake in CmdHelp).
Pass Pass

Programmer’s interfaces

Any newly introduced APIs should be finalised and run past ROOL to check they make provision for future hardware.

From inspection of GitLab and Code review forum from 20-Feb-2020 to 28-May-2022

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass
Fail Some docs for PartMan SWIs required to check API design.
Recommended improvements to SPIDriver API have not been made yet.
Pass Pass Pass
Fail Some docs for PartMan SWIs required to check API design.
Pass Pass

Any extensions to existing APIs should be finalised, and extended in as backwards compatible manner as practical.

Part of the guarantee of a stable release is that programmer’s can rely on (and test for) APIs and that they will be continue to be supported in the future

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass
Desirable HAL CPUClkDevice should move to API 0.2.
HAL GPIODevice should move to API 1.0
Pass Pass Pass
Fail HAL AudC, Mixer, DMAC, DMAL and VDU devices are all reusing device ID’s that were allocated to other controllers.
Battery management SWIs are not implemented, see ticket 571.
Pass Pass

Updates to other disc based applications that your platform relies upon should also have been made

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass Pass Pass Pass Pass Pass Pass Pass

Hardware abstraction

Generally the main difference between platforms are involved in the HAL; video; USB; and ethernet, though some platforms might share some of these. Each must implement the entry points that their contemporaries do.

HAL

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass
Fail SoftCMOS not required – just clear the area (so the checksum fails) and the kernel will substitute the correct CMOS defaults, rather than Iyonix ones.
Freescale copyrighted code (eg. sdk_types.h) has been prefixed with Apache licence, also ROOL BSD code in hdr/SDMAAsm & s/SDMAScripts & s/SDMA.
HAL_ATACableID & HAL_ATASetModes can be deleted now.
Useful to return a string for HAL_PlatformName, rather than NULL.
AudioTemplate shows SGTL5000 reports as connected via IIC, should probably be IIS (the mixer would be IIC).
OSStartFlag for power on reset is hardwired as always set, even for hard resets.
HAL_PlatformInfo compares a1 and ip, when both are undefined on entry.
HAL_PhysInfo is incorrect for iMX6 – this looks like a copy & paste of Pandaboard’s physical memory arrangement.
HAL GPIO device template claims API 0.1, but copy loop stops after only copying the API 0.0 fields.
Pass Pass Pass
Fail Video device incorrectly reports IMX6 device ID.
Video device exposes internal values beyond the end of the documented structure, which PineVideo relies on at +16 and +20.
3 UARTs are reported all with modem control lines, missing baud rate setter, FIFO size returns undefined results (though feature flags reports they are present), modem control function has no EXIT (stack imbalance). Top level HALEntry table entries aren’t linked to the code, despite non-zero UART count.
AudioTemplate declares a SGTL5000 mixer which isn’t present on the design.
OS start flags determined from undefined register (actually, return pointer from OS_AddRAM).
HAL_ControllerAddress, HAL_HardwareInfo, HAL_SuperIOInfo not implemented.
Useful to return a string for HAL_PlatformName, rather than NULL.
HAL_PhysInfo table not implemented.
Neither machine ID nor extended machine ID are implemented for unique ID generation.
DMA device incorrectly reports IMX6 device ID.
RTC device incorrectly reports TPS65950 device ID.
List of modules for boot keyboard scan is missing InternationalKeyboard, and includes BBC BASIC.
Minor: CLibAsm contains RISC_OSLib functions relicensed as CDDL without attributing the original author(s). Unused NIC & NVMemory sources could be deleted.
Pass Pass

Video driver

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass
Desirable Uses unallocated error base of 0.
Pass Pass Pass
FailDriver carries a built in MDF.
On start, scans HAL for API 10.0.
Desirable Screen blanks when gamma correction is enabled, see ticket raspberrypi/firmware/issues/971.
[494] Pi Zero video detects the TV, PI 3 doesn’t.
Pi 4 gamma is very bright as it uses a polynomial but the mailbox API takes a table, see ticket raspberrypi/firmware/issues/1404.
Pass

All GraphicsV entry points are implemented

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass
Desirable No Vet Mode 2 entry.
Pass Pass Pass
FailMissing IICOp entry to read EDID EEPROM, IIC is connected on the panel CON1, see ticket 588.
No Vet Mode 2 entry.
No ReadInfo entry.
Pass Pass

USB

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass N/A Pass Pass Pass Pass Pass
Desirable XHCIDriver abort when unplugging/switching KVM forum/forums/4/topics/15609.
Desirable XHCIDriver abort when unplugging/switching KVM forum/forums/4/topics/15609.

USB sockets act upon overcurrent situations.

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass Pass Pass Pass Pass Pass Pass Pass

USB bulk, control, and interrupt end points are supported.

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass Pass Pass Pass Pass Pass Pass Pass

Ethernet

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass
Fail HAL EtherDevice exposes HAL workspace pointer.
Service_DCIProtocolStatus doesn’t deregister filters when the protocol module goes away, see DCI4 4.2.4.
Command ETHConfig would be better as a configure keyword (see EtherK for suitable set), and store value in NIC podule CMOS.
DIB reports that extended stats are available, but none are defined or provided.
Do not call HAL_IRQDisable on clearing up, just release the device vector, see https://www.riscosopen.org/wiki/documentation/show/Interrupts.
Hangs as ‘mod init complete’ approx 1:10, InitPause recommended in !Boot to workaround Ethernet startup issues.
Pass Pass Pass Pass Pass
Desirable Synology NAS at 1Gbps can cause packets to be dropped and reduced throughput

An autosense file is provided for any new ethernet driver(s), which abandons gracefully on systems that don’t include that driver

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass
Fail None provided.
Pass Pass Pass Pass Pass Pass

The info/self test commands are implemented and follow the general form of the other ethernet drivers (eg. EtherK)

Beagleboard IOMD iMX6 Iyonix OMAP5 Pandaboard PineA64 Raspberry Pi Titanium
Pass Pass
Fail No ETHTest self test (see DCI4 section 9.1).
EthConfig should use configure syntax similar to EtherK, and store result in CMOS for the NIC.
Pass Pass Pass Pass Pass Pass

Search whole site

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Information pages

  • Downloads
  • Licences
  • About
  • Contact
  • Privacy
  • Help
Contact Us  |  About Us

The RISC OS Open theme is an original creation
Site design © RISC OS Open Limited 2024 except where indicated

Hosted by Arachsys

Powered by Radiant CMS
This site runs on Rails