Category: OriginLab

  • OriginLab 2017 on Linux/Wine

    OriginLab does not officially support running their software on Linux/Wine, however, with a few tricks, it 95% usable – if you can live with 32bit only. The following is an a little more detailed description the AppDB entry on Wine HQ that I submitted recently, which is currently queued for publication.

    The following applies to the 32-Bit Pro version only, more specifically service release 2. 64 bit origin installs well, but crashes on startup; I didn’t investigate further, maybe it’s only a small bug…

    Setup

    As most people will probably already run a 64bit system, so you need to create a 32-bit wine prefix to continue.

    WINEPREFIX=$HOME/Apps/OriginLab WINEARCH='win32' wineboot

    After that, you should should use winetricks to install .NET Framework 2.0. In fact, it’s probably the wrong version to use, as Origin already expects Windows 7 – however, at the time of writing this, I did not succeed in installing any other .NET version in Wine. I’m not entirely sure what it is needed for, however, OriginLab refuses to export Graphs and Tables to Images without having it installed. To install it, it’s good to setup msxml3 manually beforehand, otherwise winetricks sometimes refuses to continue with .NET 2.0 installation. You will have to download msxml3 binaries manually anyway…

    WINEPREFIX=$HOME/Apps/OriginLab winetricks msxml3
    WINEPREFIX=$HOME/Apps/OriginLab winetricks dotnet20

    You may now set the reported Windows version to Windows 7 using winecfg

    WINEPREFIX=$HOME/Apps/OriginLab winecfg

    After that, some additional runtimes need to be replaced by the “original” versions. It is worth a try without them from time to time, Wine is gradually perfecting their build-in libs. At the moment, however, OriginLab crashes at least without CV runtime 2012 installed.

    WINEPREFIX=$HOME/Apps/OriginLab winetricks gdiplus vcrun2012

    You can then start the installer, e.g. by

    WINEPREFIX=$HOME/Apps/OriginLab wine $HOME/Downloads/Origin/setup.exe

    The setup might stall for a while at ~25%, but it will finish eventually.

    You can then start OriginLab 2017 and activate it with your license like on any other windows system. After creating your Workspace directory, you should however modify the newly created Origin.ini to disable the “Origin Navigator” dialog at startup. This dialog relies on MS Internet Explorer 9 and it’s HTML-Dialog feature, which is implemented in Wine, but with some features still missing. The dialog will be non functional, and cannot be deactivated from within OriginLab. Open the file and add the following two lines ad the very end:

    [ReminderMessages]
    20046=1

    This will disable the dialog for now. Note that Origin tends to store translated strings in different languages / encodings in that file, so if gedit / xed etc. refuse to open it, try the internal Wine notepad or GNU nano for example. This “hack” only disable the dialog startup, it does not “fix” any HTML based dialogs, those will need additional work on Wine Gecko…

    Working features…

    Working well as tested so far is

    • general data processing
    • ASCII import
    • OriginC scripting
    • Non-linear curve fitting
    • Digitizer / Data-Picker

    Working with some restrictions:

    • Image export (Vector-Graphics preview is not shown, export looks nice). You need to install .NET for this dialog
    • Python Scripting (works, but sometimes the runtime is not initialized correctly, leading to unrecognized functions and crashes)
    • 3D Plots work, were however not intensely tested
    • UI docking. The window titles of most of the tool windows are very narrow, docking is very picky about the positioning of the windows…
    • Printing; I could only test using “print to file”, some distortion did occur

    …and unusable things:

    • The 64-bit version of OriginLab. It crashes on startup…
    • Everything that requires some not yet implemented subset of MSHTML + JScript, so all Apps and features using the “HTML-Dialog” functionality. This includes the Welcome-Dialog unfortunately – it does not show any information and does also not hide. You need to modify the Origin.ini to get rid of it. As it relies on IE 9, setting the prefix to windows XP and installing IE8 does also not work.
    • Database Query Generator, probably also more of the database connection (the corresponding OCX-Controls do not work but crash).

    Not tested:

    • Image processing
    • Python or 3D support was only shortly tested
    • Matrices, I don’t need them
    • Signal processing
    • anything else…
  • Updating sparklines in OriginC

    Ever wondered how to tell OriginLab to update the sparklines after a custom import-filter (or whatever data-manipulating script) has been called?

    Well, you can call the “sparklines” X-Function. The documentation is, as usual for OriginC, not the best and calling X-Functions with the wrong parameter will simply crash OriginLab, but it’s worth it…

    Code:

    bool call_UpdateSparklines_XF(Worksheet &wks)
    {
        // Create an instance of XFBase using the X-Function name.
        XFBase xf("sparklines");
        if (!xf)
            return false;
     
        // Set the 'iw' argument. A worksheet for XFBase is referenced using a Pointer (not the name...)
        if (!xf.SetArg("iw", wks))
            return false;
     
        // Set the 'sel' argument.
        if (!xf.SetArg("sel", 0))
            return false;
     
        // Set the 'c1' argument, the first row to update. Counter starts at 1.
        if (!xf.SetArg("c1", 1))
            return false;
     
        // Set the 'sel' argument.
        if (!xf.SetArg("c2", wks.GetNumCols()))
            return false;
     
        // Call XFBase's 'Evaluate' method to execute the X-Function
        if (!xf.Evaluate())
            return false;
     
        return true;
    }

    You might also find this Forum-Entry useful, where some different possibilities are given: OriginC-Forum / Sparklines