wiki:ScreensaverEnhancements

Version 6 (modified by charlief, 15 years ago) (diff)

--

Screensaver enhancements

Organization

The BOINC screensaver (Win, Mac) will be divided into two parts:

  • A screensaver coordinator program that doesn't do graphics (except for preview mode, which will just display a logo). Instead, the coordinator will run separate programs (project-supplied graphics apps, and a default graphics app bundled with the installer). The order and timing of these apps will be configurable.
  • A default graphics app, which the coordinator runs if no project apps are available.

Organizations that make their own installers (GridRepublic) might develop their own graphics apps, and bundle them with the installer.

Default Graphics Application

On Windows, the default graphics app must be located in the BOINC executable directory (the same directory which contains boinc.exe) and named boinscr.exe. On the Mac, it must be in the directory /Library/Application? Support/BOINC Data/ and named boincscr. Additional support files needed by the default graphics app, such as logos and fonts, should be in the same directory.

The default graphics app will usually be called with the command-line argument --fullscreen, which may be ignored.

However, it must respond to either of two possible additional command-line arguments:

  • --retry_connect means that if the default graphics app is unable to connect to the BOINC Client via RPC, it should continue running and retry periodically.
  • --test mans that it should try to connect to BOINC Client via RPC once, then exit immediately whether or not it succeeded. This is used by the BOINC Manager to test whether the RPC is blocked by a local software firewall; if so, most firewalls will then display a dialog so the user can approve it.
  • When neither the --retry_connect or --test argument is passed, the default graphics app must return immediately with an error code of -107 if it can't connect to the BOINC Client via RPC.

Configuration file

The screensaver coordinator can be customized by including an optional XML configuration file named ss_config.xml. If used, it must be located in the BOINC data directory on both Mac and Windows.

The format is:

<default_gfx_duration>600</default_gfx_duration>
<science_gfx_duration>1800</science_gfx_duration>
<science_gfx_change_interval>600</science_gfx_change_interval>

This would say to run "boincsr.exe" for an 10 minutes (600 seconds), then run science app graphics (if any are available) for 30 minutes, changing among science apps every 10 minutes (if multiple tasks are running), then repeat the entire sequence.

Each of the three fields is optional, and the file itself is optional. If not otherwise specified, the default values for the three fields are the ones shown in the example above.

Default graphics app

The default graphics app will be implemented using OpenGL, using the BOINC graphics library framework. It will be configurable via a local XML file, and also via general preferences. Optional components:

  • Jobs in progress, with 3-D progress bars
  • Logos and slide shows of running projects
  • User-supplied logo
  • User-supplied background image
  • User name, team, credit
  • RSS feeds