RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

Welcome to RISC OS Pi

Overview

This is the official RISC OS distribution for the Raspberry Pi.

RISC OS is a British operating system which was designed specifically for the ARM processor by the same team who created the original ARM. It is fast, compact and efficient. It is developed and tested by a loyal community of developers and users.

RISC OS is not a version of Linux, nor is it in any way related to Windows. It has a number of unique features and aspects to its design.

  • A super quick guide to using RISC OS
  • How to get more RISC OS software
  • Help and support
  • Get involved

Keyboard Support

Since the Pi can use pretty much any USB keyboard you might find yourself with one that isn’t arranged in the typical large PC keyboard manner. In particular non-UK Pi owners will likely be surprised when they type shift-3 and get a £ character appear instead of a #.

You can change the keyboard layout in the Configure window – double-click on the Configure icon on the desktop, click on the ‘Keyboard’ button and then pull down the menu of keyboard layout choices at the top; a USA keyboard will insert a # from shift-3. Brave people might even try the Dvorak layouts.

Another issue that might cause problems is with compact keyboards lacking a couple of function keys and a Pause/Break key. Fortunately there is a module called KeyMapper that can map one low level key to another to work around this. Put a copy of the module (not the zip file!) into !Boot.Resources.!System.350.Modules and add an obey file to load it in !Boot.Choices.Boot.PreDesk containing (for example):

RMEnsure KeyMapper 0.00 RMLoad System:Modules.KeyMapper
keymap 2 12
keymap 13 15

Here’s an explanation of what the lines in this example do:

  • Check if the module is loaded, and load it if not
  • Change F2 to represent F12 (since there are only 10 function keys on many compact keyboards and F12 is important to RISC OS)
  • Change the less often used SysRq key to represent the Break key (Break is one of the keys used to reset and open the task watchdog).

Display Support

The default settings (from RISC OS 5.24 onwards) are for RISC OS to read your monitor’s EDID and configure the display output automatically. However, it may not work properly with all monitors, and there are some aspects of the Raspberry Pi itself which can cause problems. If you are experiencing problems with your display then it’s recommended you read through this section to see what configuration options are available to you.

The section is broken down into two parts, one specific to the Raspberry Pi and one which covers settings applicable to any RISC OS machine.

Raspberry Pi specific settings

There are a number of changes you can make to the config.txt file in the boot partition which will affect the behaviour of the RISC OS video driver. The most important ones are as follows:

  • disable_overscan – Sick of those black borders at the edge of the screen? Try adding disable_overscan=1 to config.txt to get rid of them.
  • max_framebuffer_width, max_framebuffer_height – These control the maximum screen resolution that the GPU will support. The default is 1920×1200; if the native resolution of your monitor is higher than this then you will probably want to specify the appropriate values in config.txt in order to allow higher resolution modes to be used.
  • hdmi_pixel_freq_limit – This controls the maximum pixel clock that the GPU will support. The default value is 162000000 (i.e. 162MHz). If you’ve had to specify max_framebuffer_width or max_framebuffer_height then there’s a good chance you’ll need to specify hdmi_pixel_freq_limit as well.
    • Consult your monitor’s manual to see what the clock rate of its highest-resolution modes are. If EDID is configured (see below), you can also check the output of *SaveModeFile from within RISC OS (but note that the pixel_rate value listed by RISC OS will be in kHz, while config.txt requires it to be specified in Hz).
    • Also note that the Raspberry Pi was only designed for pixel rates up to 162MHz – there is no guarantee that any rate above that will work 100% reliably. However, most Raspberry Pi’s appear to operate fine up to around 250MHz, which is enough for 2560×1440 @ 60Hz. Anything higher than that and you might start running into difficulty.
    • A bug in recent Raspberry Pi firmware can prevent RISC OS 5.28 and RISC OS 5.29 from making use of this setting (and several other HDMI settings). For possible workarounds, see the “Increasing the screen size” section of config.txt (Raspberry Pi).
  • hdmi_pixel_freq_limit_min – This controls the minimum pixel clock. The default is 25000000 (i.e. 25MHz), which is the minimum officially supported by the HDMI spec. Older RISC OS software may rely on screen modes which use pixel rates which are lower than this; if you need to run such software then you can try setting hdmi_pixel_freq_limit_min to a lower value.

Note that RISC OS is now able to directly control the timings of the signal that the GPU sends to your monitor. This means that some config.txt settings, like hdmi_group and hdmi_mode, are effectively ignored. Instead, you will want to configure the screen mode through RISC OS, as described below.

If you want to revert to the old behaviour, you can do so by adding disable_mode_changes to the first line of the cmdline.txt file in !Boot.Loader (create the file if it does not already exist). The net effect of adding disable_mode_changes is:

  • RISC OS will no longer dictate mode timings to the GPU. Instead, the system will use whatever mode timings the GPU selects at boot (e.g. as specified by the hdmi_group and hdmi_mode settings).
  • RISC OS will be less vigorous with checking parameters in mode definitions. This will allow third-party utilities such as AnyMode to continue to function.
  • When you select a screen mode in RISC OS, the GPU will scale the output to fill the screen. This will allow use of low-resolution modes which are outside the ability of your monitor.

To examine or edit files in the boot partition from within RISC OS, open the filer window for the SD card by clicking on the “:0” icon on the icon bar, shift- double-click on the !Boot application to view its contents, and then double-click on Loader. Because RISC OS uses dots for directory separators, config.txt will appear as config/txt.

General RISC OS settings

The screen setup plugin in !Configure is the main place to make changes.

Enabling EDID

RISC OS should be using EDID by default, but to ensure it’s enabled you can try following the steps below.

  • From the “Monitor type” menu, select “Auto (your-monitor-name-here)”, e.g. “Auto (DELL 2515H)”. Do not select the plain “Auto” setting – this will restrict you to a handful of low-resolution modes.
  • From the “Resolution” menu, select “Native” to have RISC OS use the native resolution of the display, in 16 million colours. If you want to control the resolution and colour depth manually then you can select different settings here.
  • Use the “Try” and/or “Set” buttons to try/set the new settings, as appropriate.

If the initial splash screen appears low-res or blocky after enabling EDID, the settings in the CMOS RAM may1 be incorrect:

  • Open a task window – press Ctrl-F12 or select “Task window” from the task manager’s menu (click the middle mouse button over the Raspberry Pi icon in the bottom right corner of the screen)
  • Enter *Status to retrieve the CMOS RAM settings
  • In the list of values you should see “Mode Auto” and “MonitorType EDID”. If either of these are wrong you can use *Configure to change them, e.g. *Configure Mode Auto

1 If your monitor is slow to start up, RISC OS may select a “fallback” (low-resolution) startup screen, temporarily ignoring the EDID settings. You should still be able to select a higher desktop resolution from the “Monitor type” menu in !Configure, as explained above.

Disabling EDID

You can disable EDID and specify all the settings manually by selecting any of the other monitor types listed within Configure. Each of the monitors listed will correspond to an MDF (Monitor Definition File) contained in the !Boot.Resources.Configure.Monitors folder – if you have an MDF that’s suitable for your monitor then you need to add it to that folder in order for Configure to be able to find it.

See also

Other languages documentation

Français

Revised on December 24, 2020 21:57:09 by Sprow (202)? (91.85.45.13)
Edit | Back in time (15 revisions) | See changes | History | Views: Print | Source | Linked from: Quick Guide: 1. Apps Folder, Introduction to RISC OS, Quick Guide: 3. Iconbar Icons, Quick Guide: 2. Start Edit, Quick Guide: 4. New Document Window, Quick Guide: 5. SD Filing System, Quick Guide: 6. Moving Windows, Quick Guide: 16. Shutdown, Quick Guide: 9. Saving from a Menu, Quick Guide: 11. Drag to Save, Quick Guide: 14. Quit Edit, Quick Guide: 15. The “RISC OS” Menu, Quick Guide: 13. Iconbar Menus, Getting RISC OS Software, Help and Support, Get Involved, Quick Guide: 7. Input Focus, Quick Guide: 12. New File Saved, Quick Guide: 8. Hello world!, Quick Guide: 10. Filenames, Welcome to RISC OS Pi (français), Using RISC OS on the Raspberry Pi

Search the Wiki

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.

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
  • Export
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys