h3. 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. * [[Quick Guide: 1. Apps Folder|A super quick guide to using RISC OS]] * [[Getting RISC OS Software|How to get more RISC OS software]] * [[Help and Support|Help and support]] * [[Get Involved|Get involved]] h3(#Keyboard). 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":https://github.com/effarig/ro-key-mapper/releases that can map one [[Low-Level Internal Key Numbers|low level]] key to another to work around this. Put a copy of the module (not the zip file!) into <nowiki>!Boot.Resources.!System.350.Modules</nowiki> and add an obey file to load it in !Boot.Choices.Boot.PreDesk containing (for example): bc. 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). h3(#Display). 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. h4. Raspberry Pi specific settings There are a number of changes you can make to the [[config.txt (Raspberry Pi)|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 1920x1200; 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 2560x1440 @ 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.":#General 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 (Raspberry Pi)|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":http://www.pi-star.co.uk/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. h4(#General). General RISC OS settings The screen setup plugin in !Configure is the main place to make changes. h5. 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 may[1] 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 fn1. <small>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.</small> h5. 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. h4. See also h5. Other languages documentation [[Welcome to RISC OS Pi (français)|Français]]