The University of Queensland Homepage
UQ VisLab UQ VisLab

 Using PowerPoint to view shared presentations under Linux
This document describes the steps involved to use Microsoft PowerPoint or the PowerPoint Viewer with the AccessGrid Shared Presentation software under Linux using Wine.

Contents

  1. Prerequisites
  2. Building a patched Wine
  3. Configuring Wine

1. Prerequisites

You need the following:
  • An updated SharedPresentation package with WineViewer
    Get it from here.
     
  • The PowerPoint controller software
    Download PPControl here. It is the backend program that waits for commands from the shared application and then translates those into PowerPoint commands. This Windows program is licensed under the GNU General Public License and the VC++6 source code is available here.
     
  • Microsoft PowerPoint 2000 or PowerPoint Viewer 97
    At the time of writing we have not been able to use PowerPoint XP nor 2003 without encountering frequent crashes. On the other hand, PowerPoint Viewer 2003 works fine with wine but is useless for our purpose because it doesn't support COM. If you have PowerPoint 2000 we recommend using it. Otherwise get the PowerPoint Viewer 97 for free from here. In this case you don't need to build wine from CVS. Install a wine package (version 0.9.5 or newer) for your distribution instead and skip section 2 about building wine.
    NOTE: Wine exhibits a problem when loading a presentation with a preview under PowerPoint 2000. At the time of writing no solution was known and a patch was written instead that disables a graphics transformation in wine to prevent crashes. Therefore, it is likely that other programs that run under wine show a white area instead of an icon (eg.) when using this patch.
    If this text is relatively old (i.e. the current wine version is >0.9.6) the problem is probably fixed upstream and you can save some time by trying a wine package for your distribution (as for the case of the PowerPoint Viewer).
     
  • DCOM98
    Get the Distributed Component Object Model from Microsoft.
    (search for dcom98 on the Microsoft homepage if the link is outdated)
     
  • Fonts
    We recommend that you have the Microsoft core fonts installed as presentations can look very different if a font is not available and a substitute is used instead.
    To remove some minor visual glitches in the application these are also helpful but not essential: coure.fon, serife.fon, smalle.fon, sserife.fon. If you don't have the truetype core fonts (eg. in the X11 fonts folder) you can use the ones from a Windows installation or you download the exe files from here. You don't have to worry about packages or cabextract because you will use wine to install the files. A Google search should lead to pages with the *.fon files (eg. distributed in a RPM package) but don't worry if you can't find them.
     
  • The latest Wine CVS (only for PowerPoint when building from CVS)
    At the command line enter:
    $ export CVSROOT=:pserver:cvs@cvs.winehq.org:/home/wine
    $ cvs login
    (enter password 'cvs')
    $ cvs checkout wine
    
    This will create a new directory ./wine and download the latest source code for wine into it (and may take some time).
     
  • Wine PowerPoint Patch (only for PowerPoint when building from CVS)
    Get the patch to prevent crashes in PowerPoint.

  • Some Windows libraries (only for PowerPoint)
    Two native Windows libraries are needed to make PowerPoint work with wine. One way of obtaining them is from Dlldump: hlink.dll and riched20.dll

2. Building a patched Wine

It is well known that having more than one wine version installed causes REAL trouble. So before going ahead uninstall any wine version that might exist on your system (check that the /usr/[,local/]lib/wine directory does not exist) unless it is a recent CVS version. Now change into the wine source directory and apply the wine_ppt patch
$ patch -Np0 -i /path/to/wine_ppt.patch
Then issue
$ ./tools/wineinstall
to build and install wine. The default prefix is /usr/local. If that doesn't suit you you can edit the scripts in the tools directory BEFORE running wineinstall.
Confirming that you wish to install wine after the build process you may grab some food and a video as suggested and wait for wine to be compiled and installed. As a last step the installer will run wineprefixcreate to create the needed directory structure under ~/.wine including a fake 'C: drive' and cache font metrics.

3. Configuring Wine

If you have the truetype fonts installed for X you can make wine use those instead of installing duplicates. Go into the ~/.wine/drive_c/windows/fonts folder and issue
$ ln -s /path/to/X-fonts/TTF/*.ttf
Otherwise install the downloaded fonts using
$ wine arial32.exe
$ wine courie32.exe\
If you want to use the fonts from a Windows installation copy the appropriate files from the windows/fonts directory over into ~/.wine/drive_c/windows/fonts.
  • If using PowerPoint 2000:
    Mount the Office 2000 CD-ROM, change into the folder and run
    $ wine setupppt.exe
    The default setup options are fine for this purpose so just let the installer run and complete.
    Now copy the two library files into the ~/.wine/drive_c/windows/system folder.
  • If using PowerPoint Viewer:
    Change into the folder where you saved ppview97.exe and run
    $ wine ppview97.exe
    to install the viewer.
Now that the application is installed issue
$ winecfg
to change some settings:
  • Set the Windows version to 'Windows 98'
  • Under Libraries enter ole32 and press Add. Repeat this step with oleaut32, rpcrt4 and only if using PowerPoint: riched20. Now select each entry and click on Edit to change the load order to 'Native (Windows)'. The list should now contain:
        ole32 (native) oleaut32 (native) [riched20 (native)] (PowerPoint case) rpcrt4 (native)
Apply the settings and press OK to close the window. This enables you to install DCOM. Change into the directory where you saved DCOM98.EXE and issue
$ wine DCOM98.EXE
All done! The next time you start or join a shared presentation session your WineViewer installation should be detected automatically and PowerPoint (Viewer) will be started.

by Cihan Altinay (cihan (at) uq.edu.au)