Index


RISC World

FireFox Beta 2

Peter Naulls

About RISC OS Firefox

Firefox was ported to RISC OS to fill the requirement for a comprehensive browsing solution. Based upon the original Mozilla and Netscape work, Firefox is potentially able to access almost any website, and is one of the most widely used browsers in use. Its open source nature means that anyone inside or outside RISC OS development can update it. These features made it an ideal choice for porting to RISC OS.

Firefox was ported to RISC OS by Peter Naulls under the Unix Porting Project as part of a program of bringing Unix programs to RISC OS in order to fill gaps in the application space.

Firefox was only possible at all because it built upon work by the GCCSDK team with GCC and UnixLib and current work by the project such as the ChoX11 library, and of course, the many subscribers to the project who made it financially viable. Thanks for supporting the future of RISC OS.

About the Port

In order to indicate why Firefox is presently the way it is, it is important to understand that, as it stands, it is essentially a direct port of the vanilla Unix version. Very little has been customised to make it RISC OS friendly, with the focus on making it work at all. Without going through this phase, the port would have been all but impossible. Future versions will of course become more RISC OS friendly, with the integration you expect from RISC OS applications.

Current Bugs/Oddities

This is a list of things which are known to be either wrong or non-RISC OS in nature in this version.

  • Why is this browser called "Deer Park"? This is the name given to the current development version of Firefox. The RISC OS version is based upon the latest sources, and therefore is somewhat newer than the 1.04 version you would normally see on Windows and Linux.
  • Icon bar icon - There is no icon bar icon at the present time. If you close the last window, the browser will exit. This reflects behaviour on many other OSes.
  • Drop down menus - This version has drop down menus as seen on most other GUIs. The mouse buttons retain their meaning as seen on those platforms with right button opening a context sensitive menu, and middle over a link opening a new tab.
  • Scollbars - Firefox has its own scrollbars as well as the RISC OS one. This will be properly integrated in future.
  • Images - some types of images, notably table backgrounds are not displayed. This is to mitigate an unresolved memory handling issue.
  • RISC OS Firefox will not respond to the HTML filetype, or any attempt to drag things to it. It employs file save dialogues to access any local files.
  • RISC OS Fonts - whilst Firefox does indeed employ anti-aliased RISC OS fonts, characters are placed at pixel aligned positions to comply with assumptions made by the rendering engine. This means they may look slightly odd in some instances. Top-bit and UTF8 characters are displayed as question marks. It is intended in future to use the same font engine as NetSurf.
  • Speed - Firefox is slow. This version is noticeably faster than that demonstrated at Wakefield, which reflects ongoing improvements. More improvements are planned to get as much speed as possible, with the ultimate aim for it to work smoothly on faster RISC OS machines. It will of course never be as fast as native RISC OS browsers like NetSurf.
  • Memory Usage - Firefox uses lots. In order to avoid WimpSlot limitations, Firefox uses one or more dynamic areas for memory allocations on RiscPCs.

  • On 32-bit systems, it uses the WimpSlot in normal fashion. You will need around 30 MB free memory to start Firefox, and this can rise to 64 MB or more during extended usage. It will probably crash if it runs out of memory.
  • Printing - there is no tested printing support. It's possible you may be able to print to a postscript file.
  • Plugin support - there is no RISC OS plugin support in this version.

Installing/Usage

Firefox requires SharedUnixLibrary and UnixHome. See www.riscos.info/unix/usage.html on how to obtain these.

Firefox also requires Tinct: www.tinct.net.

The Firefox archive contains a skeleton !UnixHome application. This simply contains an empty !UnixHome.home./mozilla directory which must exist before Firefox will start. Drag this skeleton over your existing !UnixHome.

Drag the !Firefox application to a location of your choice. Firefox requires long filenames and more than 77 files per directory.

On a StrongARM RiscPC, Firefox can take up to 40 seconds to start up. It will take longer on the first run, as profile files are copied. There is no hourglass presently to indicate when it is done, so be patient. .

Unfortunately on some systems and setups Firefox will refuse to load.

This is due to a memory handling problem, and its appearance is somewhat random in nature. This is being worked upon as a priority.

However, also ensure:

You don't have an old !RiscXLib on your system. This sets the HOME variable which conflicts with !UnixHome. The latest RiscXLib is available from www.riscos.info/xlib.

Firefox may have problems starting if you move it. In this case, delete all the files under !UnixHome.home./mozilla.

There's also been a great deal of speculation about what Firefox might and might not be doing. Much of it has been inaccurate. Unless you've looked at relevant code, please refrain.

Getting Help

I can only offer help to Unix Porting Project subscribers. For the moment, do not contact me if you have problems starting Firefox. I already have more than enough information about the issue.

I must insist on no feature requests at this time. This will avoid me becoming inundated with mail.

Bug Reporting

For the same reason, I must insist upon very stringent requirements for reporting bugs. Remember, for the most part, I'm very much aware of all the present issues, and am working hard to try and improve them. Responding to reports of misfeatures or thing you'd like changed is not a good use of my time. Please refer to the earlier list for present issues.

At the present, I am only interested in repeatable crashes once Firefox has started. That is, a crash you can make happen at least twice, with a specific set of instructions for causing it to occur. If !Firefox.stderr is not blank, then it is important you include that too, and finally, the version of RISC OS you are using. If I require further information, I will ask, and please no "life stories". I am not interested in stdout; don't send it to me.

Only if your bug falls into this category and you have all this information, then send your bug to unix@chocky.org. Don't send it to the mailing list. This may sound harsh, but it is the only way I can properly manage what is one of the largest RISC OS programs ever.

Conclusion

Thanks again to all who contributed to this project. I hope some people may be encouraged to help fix some of the issues still present. Happy browsing

Release History

Beta 1 - Initial RISC OS Release.
Beta 2 - Noticeable speed improvements. Update to latest CVS.

Peter Naulls

 Index