Skip to main content
A newer version of this page is available. .
All docs
V20.2

Linux and MacOS Specifics

  • 3 minutes to read

Install Libgdiplus Library

The ASP.NET Core Dashboard control requires the libgdiplus library for non-Windows platforms. The library is required for export and Text Editor to work properly.

Install on Linux

Install the following operating system libraries:

sudo apt-get update  
sudo apt-get install -y software-properties-common  
sudo add-apt-repository 'deb http://deb.debian.org/debian sid main'  
sudo apt-get update 
sudo apt-get install -y libc6 -f -o APT::Immediate-Configure=0 
sudo apt-get install -y libgdiplus
sudo apt-get install -y libicu-dev
sudo apt-get install -y libharfbuzz0b
sudo apt-get install -y libfontconfig1
sudo apt-get install -y libfreetype6

Tip

The -y flag (yes) assumes silent installation, without asking you questions in most cases.

Note

For information on what libraries are required for the Office-based Text Editor, refer to the following document: Use Office File API on Linux (.NET Core).

Install on MacOS

Install additional operating system libraries with homebrew:

brew install mono-libgdiplus

Note

For information on what libraries are required for the Office-based Text Editor, refer to the following document: Use Office File API on macOS (.NET Core).

Docker Support

Refer to the following tutorials for instructions on how to dockerize (add to a Docker container) your ASP.NET Core application:

Make the following changes to the Dockerfile when you add the application to a Linux container:

 ...
 FROM microsoft/aspnetcore:2.1 AS base
 RUN apt-get update
 RUN apt-get install -y libgdiplus libc6-dev
 RUN apt-get install -y libicu-dev libharfbuzz0b libfontconfig1 libfreetype6
 ...

Export Specifics on Linux and MacOS

Compatibility Mode

If the dashboard or specific dashboard items are exported to PDF or image formats, their content is saved to the Windows Metafile format, which is not supported by .NET Core. To overcome this limitation, set the DashboardExportSettings.CompatibilityMode property to DashboardExportCompatibilityMode.Restricted at the application startup.

using DevExpress.DashboardCommon;
// ...

public Startup(IConfiguration configuration, IHostingEnvironment hostingEnvironment) {
    Configuration = configuration;
    FileProvider = hostingEnvironment.ContentRootFileProvider;
    DashboardExportSettings.CompatibilityMode = DashboardExportCompatibilityMode.Restricted;
}

In this case, images from the corresponding exported documents will be always rendered as bitmaps and you can export dashboard or dashboard items to PDF or image formats properly.

Drawing Engine

Register the DevExpress cross-platform drawing engine if the application is executed on a non-Windows platform. Based on tests conducted on Linux and MacOS, the cross-platform engine renders dashboard elements more accurately. The engine does not need to be registered on Windows because exported documents are rendered without the issues such as incorrectly applied text emphasis or text alignment. More information: Use the DevExpress Cross-Platform Drawing Engine.

The drawing engine requires installation of the libgdiplus and pango libraries.