Prepare your target

Software requirements

To support the QNX Web Browser, your target must also run the following software:

If your target isn't already running Screen, see the QNX BSP User's Guide for your target hardware. The guide will specify the build file that Screen requires. (Note that not all BSPs support graphics.) For more information on Screen, see the Screen Graphics Subsystem Developer's Guide, including the sections on the screen utility and on configuring Screen.

If you want the QNX Web Browser to play video, you must run the required multimedia services and codec on your target. See the documentation for the QNX Multimedia Suite for more information.

Storage requirements

The QNX Web Browser requires storage space for the:

The space requirements for the runtime binary, libraries, and resources vary by platform architecture:

Architecture Storage
aarch64 139 MB
x86_64 146 MB

Certificates require an additional 252 KB.

As for temporary files, the browser uses the directory specified in the $HOME environment variable to store cookies, IndexedDB, preferences, cache, and so on. The space required depends on the applications you run. We recommend that you dedicate at least 100 MB of storage for temporary files.

Memory requirements

Memory requirements depend on the application or page that the browser is running. As a baseline, here is the memory that the browser requires to run the about:blank page or www.google.com:
Architecture about:blank www.google.com
aarch64 206 MB 270 MB
x86_64 197 MB 240 MB

Memory usage doesn’t increase linearly as you launch additional applications. For example, on x86_64, launching five browser instances running www.google.com under the shared application process model consumes 570 MB.

Target preparation

Note: In the following steps, installation_directory refers to the directory in which you installed QNX SDP 7.x on your host, and architecture refers to the processor architecture of your target (for instance, x86_64).

To prepare your target to run the QNX Web Browser:

  1. Copy the following binaries from installation_directory/target/qnx7/architecture/usr/bin/ to /usr/bin/ on your target:
    Binary Description
    content_shell QNX Web Browser runtime
    content_shell.pak QNX Web Browser resources bundle
    icudtl.dat ICU (International Components for Unicode) data file
  2. Copy the following libraries from installation_directory/target/qnx7/architecture/usr/lib/ to /usr/lib/ on your target:
    Library Description
    libblink_core.so QNX Web Browser engine core library
    libblink_platform.so QNX Web Browser engine platform library
    libblink_modules.so QNX Web Browser engine modules library
    libwtf.so Webkit template framework library
    libbacktrace.so.1 QNX SDP 7.x OS services core library
    libfontconfig.so.1 QNX SDP 7.x font engine
    libstrm.so.1 QNX SDP 7.x OS services core library
    libxml2.so.2 QNX SDP 7.x OS services core library
  3. Copy the following library from installation_directory/target/qnx7/architecture/lib/ to /lib/ on your target:
    Library Description
    libsandbox.so.1 QNX SDP 7.x security - sandboxing support
  4. Copy the font files in installation_directory/target/qnx7/usr/share/fonts/ to /usr/share/fonts/ on your target.
  5. On your target, create the font configuration file: /etc/fontconfig/fonts.conf
  6. Copy and paste the following sample font configuration into the fonts.conf file on your target:
    
    <?xml version="1.0"?>
    <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
    <fontconfig>
    
    <!-- Font directory list -->
    <dir>/usr/share/fonts/</dir>
    
    <!--
      Accept deprecated 'mono' alias, replacing it with 'monospace'
    -->
    <match target="pattern">
    	<test qual="any" name="family">
    		<string>mono</string>
    	</test>
    	<edit name="family" mode="assign">
    		<string>monospace</string>
    	</edit>
    </match>
    
    <!--
      Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
    -->
    <match target="pattern">
    	<test qual="any" name="family">
    		<string>sans serif</string>
    	</test>
    	<edit name="family" mode="assign">
    		<string>sans-serif</string>
    	</edit>
    </match>
    
    <!--
      Accept deprecated 'sans' alias, replacing it with 'sans-serif'
    -->
    <match target="pattern">
    	<test qual="any" name="family">
    		<string>sans</string>
    	</test>
    	<edit name="family" mode="assign">
    		<string>sans-serif</string>
    	</edit>
    </match>
    
    <!-- Font cache directory list -->
    <cachedir>/var/fontconfig</cachedir>
    
    </fontconfig>
    
    

    This configuration assumes that fonts are installed on your target under /usr/share/fonts/. If you install the fonts in a different directory, edit the configuration to reflect the actual location.

  7. Save your changes to the fonts.conf file on your target.
  8. On your target, create a /var/fontconfig/ directory, if one doesn't already exist. This directory serves as the font cache and speeds up initialization of font resources.
  9. Copy the certificates from installation_directory/target/qnx7/var/certmgr/ to /var/certmgr/ on your target.

    These certificates are installed automatically onto your host when you install the QNX Web Browser package. The QNX Software Center presents new certificates in its Updates tab as they become available.

  10. On your target, set the HOME environment variable to define where the browser creates its internal directories for cookies, sessions, databases, and so on:
        export HOME=browser_home_directory

    By default, the browser creates all of these directories in the location from which it is launched.

  11. Prepare your target to run the location manager if you want the QNX Web Browser to determine its current location.

    See the location_manager entry in the QNX Neutrino RTOS Utilities Reference for information about using the location manager.

  12. You should now be able to launch the QNX Web Browser on your target.

    At the shell prompt, enter the following command to open the browser on the QNX home page:
        content_shell http://www.qnx.com

    See the Using the Browser Command Line chapter for more information on launching and configuring the QNX Web Browser.