=============================================================================== -- M o z i l l a R e a d M e ---------------------------------------------- =============================================================================== * This Read Me file contains information about installing and using the OS/2 builds of Firefox, Seamonkey, and Thunderbird. * These applications are subject to the terms detailed in the license agreement accompanying them. * OS/2-specific changes to the product are listed in the CHANGES.OS2 file. * The Mozilla for OS/2 project home page is now located at https://github.com/bitwiseworks/mozilla-os2/wiki. There you will find most recent news, binary downloads and the issue system to report OS/2-specific bugs. * Community support for the Mozilla applications is available through the newsgroups 'mozilla.dev.ports.os2' or 'comp.os.os2.apps'. Messages posted to other forums may not be seen by the developers. For additional resources, see the "Links" section below. =============================================================================== -- Contents ------------------------------------------------------------------- =============================================================================== * Installation * Compatibility Warning * Starting the App * OS/2 Add-ons * Environment Variables * Fonts * Printing * Video * Audio * Troubleshooting * Known Problems * Links * System Requirements * Acknowledgements =============================================================================== -- Installation --------------------------------------------------------------- =============================================================================== Mozilla is a complex product that uses a huge number of 3rd party libraries such as Cairo, FreeType, NSPR and many others. In order to provide better OS/2 support for both Mozilla and these libraries we build them as dynamically loadable modules (DLLs), which are maintained and distributed separately and which Mozilla executables are simply linked with. This approach also allows other applications to use the same library modules which, among other benefits, reduces the overall memory footprint and saves other vital system resources. As a side effect of this approach, Mozilla applications got so many external dependencies that it is nearly impossible for the end user to install all of them from the ZIP files manually - and even naming them all in this file would be a very hard task. For this reason, starting from the release of Firefox version 38.8.0 (Beta 7), manual installation of Mozilla requirements is no longer supported. The only supported way of installing all the requirements now is the YUM command line tool or the Arca Noae Package Manager application (ANPM), which is part of ArcaOS (an OS/2 and eComstation successor distribution by Arca Noae which you can obtain from http://arcanoae.com). Moreover, starting from the release of Firefox version 45.9.0 GA, a separate ZIP distribution of Firefox is no longer maintained. There are now two supported methods of installing Firefox: - From an RPM repository using YUM or ANPM (this method requires a valid ArcaOS Software Subscription, visit http://arcanoae.com for details). This is the preferred and the easiest way to install Firefox including all its dependencies and to keep everything updated with a single mouse click. - From a ZIP archive automatically generated from the RPM distribution. See below for details. The following instruction describe the steps necessary for both methods. 1. Install the RPM/YUM environment. The simplest way to do so is to download and install ANPM as described here: https://www.arcanoae.com/wiki/anpm/. If you prefer command line, you may install only the RPM/YUM environment and tools as described here: http://trac.netlabs.org/rpm/wiki/RpmInstall. Note that you should skip this step if you already have ArcaOS installed, because it already includes the RPM/YUM environment and the ANPM tool. 2. If you have an ArcaOS subscription, then simply install a package named `firefox` using the ANPM GUI or by executing `yum install firefox` from the command line. All Firefox dependencies will be downloaded and installed (or updated) automatically. If you use a ZIP archive, you may unpack its contents to a directory of your choice. Numerous Firefox dependencies are not installed in this case, so you will have to install them manually using ANPM or `yum install PACKAGES` followed by a `yum update`. The list of RPM packages required by Firefox is contained in a file named RPM_REQUIREMENTS inside the ZIP archive. 3. Optional. Choose a directory where the Mozilla applications will store their profile data, then add a line like this to CONFIG.SYS: SET MOZILLA_HOME=D:\Home The first time you run any Mozilla application, it will create a `Mozilla` subdirectory in `D:\Home` where your customized settings are saved. By default, the `Mozilla` subdirectory is created in a directory specified in the HOME environment variable. WARNING!!! Without `MOZILLA_HOME` or `HOME` environment variables, the `Mozilla` subdirectory will be created in the same directory as the program itself. This can make it very hard to upgrade to new versions without deleting your customized settings. 4. Optional. You may want to install some of the items listed in the "OS/2 Add-ons" section below to improve the application's performance. =============================================================================== -- Compatibility Warning ------------------------------------------------------ =============================================================================== After using Firefox v4.0, Seamonkey v2.1, or Thunderbird v3.4 (or any later version) your History and Cookies databases (places.sqlite & cookies.sqlite) will NOT be compatible with earlier versions (i.e. FF3.6, SM2.0, or TB3.1). A REXX script is available to restore compatibility. * To preserve compatibility BEFORE running the new version: - download 'dbrestore.zip' from ftp://ftp.netlabs.org/incoming/mozilla/dbrestore.zip or http://e-vertise.com/warpzilla/dbrestore.zip - unzip it into your profile directory - make backups of places.sqlite and cookies.sqlite * To restore compatibility BEFORE running an earlier version: - run the script from your profile directory. * To restore compatibility AFTER running an earlier version (i.e. you forgot to run the script before): - look for 'places.sqlite.corrupt' and 'cookies.sqlite.corrupt' in your profile directory, If they appear to be the right size, remove the '.corrupt' extension after deleting the newly-created versions. - run the script - if your history and cookies aren't restored, use your backup copies. =============================================================================== -- Starting Firefox / Seamonkey / Thunderbird --------------------------------- =============================================================================== If this is the only Mozilla application you use, then all you need is a simple program object. However, if you run two or more of these apps at the same time, you may encounter dll conflicts. If you can open any one of these apps by itself, but can't open a second one while the first is still running, this is the likely cause. An entry in popuplog.os2 reporting a 'SYS2070' error for the program that failed to start will confirm the problem. The solution for dll conflicts is "SET LIBPATHSTRICT=T". There are several ways to set this: * modify your program object: Path and filename: * Parameters: /c set LIBPATHSTRICT=T & seamonkey.exe "%*" Working directory: x:\mozilla.org\seamonkey * create a .cmd file: x: cd mozilla.org\thunderbird SET LIBPATHSTRICT=T start thunderbird * use Run! : Copy 'run!.exe' into the program's directory, then rename it as: 'firefox!L.exe', or 'seamonkey!L.exe', or 'thunderbird!L.exe' Now, change your program object start it rather than the original exe. (Use 'LK' instead of 'L' if you want the icon to show it's "in-use".) Note: Starting with Firefox 45.9.0 GA, it is not necessary to set LIBPATHSTRICT manually or using the Run! utility for it as this is done automatically by firefox.exe when loading XUL.DLL and other Mozilla DLLs. =============================================================================== -- OS/2 Add-ons --------------------------------------------------------------- =============================================================================== * MP4 Video Starting from version 38.8.0, Firefox can play MP4 (H264/AAC) video files in HTML5 content but this requires the recent FFmpeg runtime libraries to be installed. To do so, run `yum install ffmpeg-libs` on the command line or install the 'ffmpeg-libs' package using ANPM. * Workplace Sans - TrueType Font Mozilla no longer supports bitmap fonts like WarpSans, so its menus and dialogs may not look very "OS/2-like'. To fix this, you may want to install Alex Taylor's 'Workplace Sans', a TrueType font inspired by WarpSans. The app will use it by default if it's available. Many users prefer the bitmapped version as it looks cleaner at small point sizes. http://www.altsan.org/creative/fonts/workplace/#wpsu * RWS - WPS Integration With RWS, you can open downloads using their default WPS association and have the app display the correct icon in file listings & dialogs. For example, when you download a WPI file, the download dialog will display WarpIn's icon, and offer to open it using WarpIn so you can install it directly from the browser. http://hobbes.nmsu.edu/h-search.php?key=rws08dll * Exceptq - Crash Reporting If the app crashes, Exceptq will beep and then create an exception report containing details of the crash. You can send these reports to the developers via Issue Tracker reports (see the Links section). http://home.earthlink.net/~steve53/betas/ * ConfigApps & Internet Application Integration - Set Default Browser These two utilities make it easier to set your default browser, email program, newsreader, etc. - ConfigApps http://hobbes.nmsu.edu//h-search.php?key=configapps - Internet Application Integration http://7cities.net/~mckinnis/os2/ * Doodle ScreenSaver - Intelligent Timing for Internal Cleanups When Doodle's Screen Saver (DSSaver) v1.8 or later is installed, the app can determine how long the user has been inactive. This allows it to suspend reloads of "Live Bookmarks" and perform cleanup operations during idle periods rather than while you're browsing. ftp://ftp.netlabs.org/pub/dssaver/ =============================================================================== -- Environment Variables ------------------------------------------------------ =============================================================================== These can go in config.sys or the .cmd file you use to start the program. * MOZILLA_HOME=[path] (recommended) As noted above, this controls where the 'mozilla' subdirectory containing your profile (personal settings and data) is located. For example: if you specify "SET MOZILLA_HOME=x:\mozilla.org", then your profiles will be stored in 'x:\mozilla.org\mozilla'. * MOZ_PLUGIN_PATH=[path] This lets you specify a global directory for plugins like Flash and Acrobat Reader so that all Mozilla apps can access them. For example: "SET MOZ_PLUGIN_PATH=x:\mozilla.org\plugins" Note that _you_ will have to create the 'plugins' subdirectory and install your plugins into it. Without this environment variable %MOZILLA_HOME%\Mozilla\Plugins can be used. The following are intended to fix problems, not enhance performance. Very few users have any need for any of these: * NSPR_OS2_NO_HIRES_TIMER=1 This tells the app not to use OS/2's high resolution timer. Don't set this unless other applications using the high resolution timer (e.g. multimedia apps) act strangely. * MOZ_ACCELERATED=0 Disable DIVE (accelerated video) support. Try this if the app fails to start or the display is corrupted. * MOZ_NO_REMOTE=1 This permits you to run multiple copies of the same app at the same time (provided you have separate profiles for each copy). Also works as a parameter, eg Firefox -no-remote * MOZ_NO_RWS=1 This disables the WPS-integration features provided by RWS. Signs that this is needed include hangs or crashes when viewing or saving attachments or using a default WPS application as a helper application. * MOZ_DISABLE_PLUGIN_OOP=1 This disables OOP (out-of-process) mode for binary NP plugins. Note that this is only intended to be used for testing purposes as having plugins run in the browser process is insecure because a crash or a hang in a defective plugin will crash and hang the whole browser session in such a case. The following enable additional logging: * MOZ_CONSOLE_LOG=1 Print browser console messages to the standard output stream (which may be redirected to a file when the browser is run as e.g. `firefox.exe 2>&1 >console.log` from the command line). =============================================================================== -- Fonts ---------------------------------------------------------------------- =============================================================================== * Mozilla apps use an internal font engine that offers antialiasing and the ability to search multiple fonts for the correct glyph. However, it only supports TrueType & Type1 fonts. OS/2 bitmap fonts like WarpSans, System Proportional, etc, are NOT supported. Users are encouraged to install Alex Taylor's "Workplace Sans" TrueType font to restore the native OS/2 look-and-feel for menus and dialogs. * Starting with Firefox 38, Mozilla apps use the complete version of the fontconfig library recently ported to OS/2 to manage fonts. This library requires UNIXROOT environment. If you have RPM/YUM installed, nothing needs to be done except `yum install fontconfig`. If you prefer manual installation then you have to unpack the entire contents of the fontconfig package to your UNIXROOT tree (omitting `@unixroot` from the extracted path) and make sure the UNIXROOT environment variable points to this tree. All font settings (and many aspects of the FreeType font engine) are now controlled through the '%UNIXROOT%\etc\fonts\fonts.conf' and '%UNIXROOT%\etc\fonts\conf.d\*' files. Please refer to: http://www.freedesktop.org/software/fontconfig/fontconfig-user.html for more information on how to configure fonts using fonts.conf. Note: You may need to restart the application to see your changes. =============================================================================== -- Printing ------------------------------------------------------------------- =============================================================================== This version offers printing support using the application's built-in PDF and Postscript generators. Native printing using the GPI subsystem is disabled in this version due to incompatible changes in the underlying graphical library. Taking into account generally poor quality of native printing compared to built- in generators and the fact that modern printers don't have (and will never have) native OS/2 drivers, there are no plans to add support for native printing back in the near future. * Built-in Postscript Support There are two supported methods to print to a physical printer: use a native Postscript driver for this printer, if it's available, or set up the printer as a CUPS printer and create a native printer object for it. Both methods will involve the built-in Postscript generator to produce output that is then sent directly to the connected printer. No special setup is required in the application itself for either of these methods because the built-in Postscript generator is now always active when printing to a physical device and cannot be turned off. Note that all printers using non-Postscript drivers (e.g. LASERJET, OMNI, IBMPCL5, etc.) are hidden from the application's Print dialog to avoid the confusion of always getting "An error occurred while printing" message when attempting to print to such a device. If there are no Postscript printers on your system (or no configured printers at all), you will see "No printers available" in the printer selection drop-down box in the Print dialog. It is recommended to set up your printer as a CUPS printer rather than use the native Postscript driver, even when it's available, because in most cases using CUPS will result in better print-out quality. Note that by default any printer- specific features specified in the native printer job properties dialog are stripped out because CUPS may not recognize them. If you use a printer with the native Postscript driver without CUPS, you may wish to disable such stripping. This can be done by setting the `print.os2.postscript.use_ibmnull` preference to `false` in the preference editor which can be opened by typing `about:config` in the browser's address bar (or with the 'Config Editor' in the Options dialog in Thunderbird). Note that the `print.os2.postscript.use_builtin` preference used to enable built-in Postscript support in earlier versions does no longer have any effect as this support is always on now. * Built-in PDF Support PDF files can be created by selecting any printer, then checking "Print to file". When the file dialog appears, give the file's name a ".pdf" extension and the application will generate a PDF file with the printed contents. Note that providing any other extension (including ".ps") will cause raw Postscript data to be saved to the given file. Note that if you don't have any Postscript printer supported by OS/2 or simply don't have any printer at all but still want to print to PDF using the described method, you will need to install a generic PostScript printer (drivers for this printer are shipped with any OS/2 distribution including ArcaOS). Just go to the printer installation program and select "Generic PostScript Printer" from the list when installing a new printer driver (make sure that PSCRIPT is the driver used for this printer). Then select this newly installed driver and an output port for the new printer object and you are done. Note that you may select any output port for it (or simply check "Output to File") since you are not going to actually print to a physical device anyway. The only printer job properties that will be used by the PDF generator are paper size and margins. =============================================================================== -- Video ---------------------------------------------------------------------- =============================================================================== Users of the SNAP and GenGradd video drivers running in full-color mode will automatically experience improved video performance thanks to the applications' use of DIVE. Currently, the Panorama video driver is not supported if its "shadow buffer" option is enabled. * DIVE Support DIVE lets an app bypass PM's graphics subsystem and write directly to your video card's memory. This improves display speed but can cause problems on some systems. Use any one of the following to disable DIVE: - uncheck "Use hardware acceleration when available" on the Options dialog's 'Advanced->General' tab. - start the app in "safe mode" (use "/safe-mode" on the command line) - add "SET MOZ_ACCELERATED=0" to config.sys. * Mouse Pointer Issues If the mouse pointer disappears when starting the app, you can use "SET MOZ_ACCELERATED=1" to override automatic detection of how your video driver displays the pointer. If it flickers when scrolling a page, you may want to try "SET MOZ_ACCELERATED=2". =============================================================================== -- Audio ---------------------------------------------------------------------- =============================================================================== Starting from version 31, Firefox uses the K Audio Interface library (libkai) to play sounds in HTML5/JS content and in Firefox widgets. Currently, this library supports the standard OS/2 MMPM/DART sound subsystem as well as the UNIAUD driver directly. By default, libkai prefers UNIAUD to DART but it may be forced to use either of them using the KAI_AUTOMODE environment variable: - "SET KAI_AUTOMODE=UNIAUD" will activate UNIAUD mode. - "SET KAI_AUTOMODE=DART" will activate MMPM/DART mode. =============================================================================== -- Troubleshooting ------------------------------------------------------------ =============================================================================== The following may help resolve problems that were known at the time this ReadMe was written. Additional community support is available through the newsgroups 'mozilla.dev.ports.os2' or 'comp.os.os2.apps'. Messages posted to other forums may not be seen by the developers. * Program won't start If other Mozilla apps are open, close them, then retry. If it can now start, see the "Starting Firefox/Seamonkey/Thunderbird" section. * Program crashes when the first window appears If you see the outline of the window, then it crashes, see the "Video" section for info on disabling DIVE. * Program crashes or hangs when downloading files, viewing file listings, loading message attachments or dragging with the mouse. Try adding "SET MOZ_NO_RWS=1" to the environment. * Program crashes randomly Restart the app in "safe mode" (use "/safe-mode" on the command line). If it appears to be stable in safe-mode, a plugin may be the cause. Disable all plugins, then restart normally. If it remains stable, re-enable one plugin at a time until the problem returns. * Program beeps several times then crashes The beeps simply indicate that Exceptq is installed and is creating a trap report to help identify the cause of the crash. Since Exceptq isn't activated until a crash occurs, it isn't the cause of the crash. * Continuous 100% CPU usage If you use OS/2's "Comet Cursor" feature, try turning it off. Try adding "SET NSPR_OS2_NO_HIRES_TIMER=1" to the environment. * User-interface (buttons, address bar, etc.) is missing or corrupted Shutdown the program, then open the directory containing its profile. Delete 'XUL.mfl' and the directory named 'startupCache, then restart. Note: To find your profile, select Help->Troubleshooting Information from the main menu. On the page that appears, find the line labelled "Profile Directory" then press the button next to it. After the folder opens, be sure to close the app before changing or deleting anything. * Other problems First, try the solution for "User-interface is missing or corrupted" above. If that doesn't work, try creating a new profile. The easiest way is change the path in your "MOZILLA_HOME" environment variable when the app isn't running, then restart it. If this fixes the problem, try copying files from your original profile to the new one until the issue reappears. The first file to try is "prefs.js". If you can identify which file is the cause, restore your original "MOZILLA_HOME" path. Rename the problem file so Mozilla can't find it, then restart the app. Mozilla should create a new version of the file you've hidden, and with any luck, the problem should be solved. =============================================================================== -- Known Problems ------------------------------------------------------------- =============================================================================== * Printing of complex web pages using the native LASERJET and OMNI printer drivers is known to crash the browser in PMMERGE.DLL in some cases. As a workaround, please install and use the CUPS printer (based on the POSTSCRIPT driver) that always works. CUPS is part of the modern eComStation installations. In order to install it on older systems please refer to: http://trac.netlabs.org/ecups. * Due to bugs in MMPM, the current version of Firefox runs the Flash plugin in "in-process" (traditional) mode instead of the new OOP (out-of-process) mode used on other platforms. This will be fixed in future releases. * The OpenJDK (Java) plugin works but there are some problems with window updates. This is to be addressed in future releases. * Mozilla apps will beep when copying more than 64 kB of text to the clipboard. This is to alert users that many applications (most notably the system editor, EPM, and applications running in VIO windows) cannot paste more than this. * Cross-platform problems are usually listed in the release notes of each milestone release. * Other known problems can be found by following this link: https://github.com/bitwiseworks/mozilla-os2/issues * The old list of bugs (for historical purposes, as it is mostly outdated) can be found by following the link "Current Open Warpzilla Bugs" on the OS/2 Mozilla page: http://www.mozilla.org/ports/os2 =============================================================================== -- Links ---------------------------------------------------------------------- =============================================================================== Main resources: * Mozilla for OS/2 Home Page https://github.com/bitwiseworks/mozilla-os2/wiki * Mozilla for OS/2 Binary Releases https://github.com/bitwiseworks/mozilla-os2/releases * Mozilla for OS/2 Issue Tracker & Bug Reports https://github.com/bitwiseworks/mozilla-os2/issues Seamonkey and Thunderbird builds (not supported by bww bitwise works GmbH): * Comm-Central (SeaMonkey and Thunderbird) for OS/2 https://bitbucket.org/dryeo Additional information: * Official Releases (Firefox 10.0.12 and earlier versions) http://www.mozilla.org/ports/os2/ * Older Official and Experimental Releases (Upto Firefox 10.0.12ESR) ftp://ftp.netlabs.org/pub/mozilla/ ftp://ftp.netlabs.org/incoming/mozilla/ * Beta Versions (Firefox 10ESR and earlier versions) ftp://ftp.netlabs.org/incoming/mozilla/ * General Information About the Mozilla Apps http://www.mozilla.com/en-US/firefox/ http://www.mozilla.com/en-US/thunderbird/ http://www.seamonkey-project.org/ * Steve Wendt's Tips for Warpzilla http://os2news.warpstock.org/Warpzilla.html * Mozilla for OS/2 Newsgroup mozilla.dev.ports.os2 on server news.mozilla.org * Mailing list gateway to mozilla.dev.ports.os2 https://lists.mozilla.org/listinfo/dev-ports-os2 * Mozilla for OS/2 IRC Channel #warpzilla on server irc.mozilla.org * Submit Bug Reports (all platforms) https://bugzilla.mozilla.org * Building Mozilla Apps on OS/2 https://developer.mozilla.org/en/OS/2_Build_Prerequisites =============================================================================== -- System Requirements -------------------------------------------------------- =============================================================================== * Minimum hardware requirements for acceptable performance - 1.0 GHz processor - 256 MiB RAM plus 128 MiB free swap space - 40 MiB free harddisk space for installation plus storage space for disk cache - Graphics card and driver capable of displaying 64k or 16m colors Note: Installing more RAM than the minimum required may produce significant improvements in performance and stability. * Software requirements - Installation on a file system supporting long file names (i.e. HPFS or JFS but not FAT) - OS/2 Warp 4 with Fixpack 15 or later (Warp 3 may work but is unsupported) - Kernel with build level 14.104a is recommended. (http://www.os2site.com/sw/upgrades/kernel/w420050811.zip) - MPTS version 5.3 - TCP/IP version 4.1 - INETVER: SOCKETS.SYS=5.3007, AFOS2.SYS=5.3001, AFINET.SYS=5.3006 Note: Do not attempt to use MPTS & TCP/IP versions below these INETVER levels. Although the app may seem to start and run normally, some features it needs are not implemented correctly in older MPTS versions and may cause crashes and data loss. Convenience Pack 2 or eComStation 1.0 or later meet these requirements out of the box. * Java Java versions earlier than 1.5 are *not* supported. Neither the IBM nor Innotek versions of Java will work with this release. * Innotek Font Engine This is no longer needed or used by any of the Mozilla apps and it is recommended to remove browser related entries from the registry. The mozinst.zip package includes a utility to do this and is automatically invoked when using mozinst.cmd. * Plugins Do not use the "OS/2 Multimedia Plugin for Netscape". It does not support any MM formats currently in use and is known to cause crashes. =============================================================================== -- Acknowledgements ----------------------------------------------------------- =============================================================================== The Mozilla for OS/2 and OS/2 based systems project is currently supported and maintained by the staff of bww bitwise works GmbH: - Dmitriy Kuminov (developer) - Silvan Scherrer (project manager) bww bitwise works GmbH would like to thank the following people for their prior work on Mozilla for OS/2 and OS/2 based systems. We might not share all your opinions, however we still appreciate your work, contributions and input (and will do so in the future): - Mensys BV - Mike Kaply - Peter Weilbacher - Rich Walsh - Walter Meinl - Dave Yeo - Steve Wendt - all we missed here! ===============================================================================