diff --git a/cmake/apple/lmms.plist.in b/cmake/apple/lmms.plist.in
index 638b4af1a..10ff7a996 100644
--- a/cmake/apple/lmms.plist.in
+++ b/cmake/apple/lmms.plist.in
@@ -143,6 +143,8 @@
+ NSPrincipalClass
+ NSApplication
NSHighResolutionCapable
True
diff --git a/cmake/linux/lmms.desktop b/cmake/linux/lmms.desktop
index 0d236d446..6094ccfe1 100644
--- a/cmake/linux/lmms.desktop
+++ b/cmake/linux/lmms.desktop
@@ -8,7 +8,7 @@ Comment=easy music production for everyone!
Comment[ca]=Producció fàcil de música per a tothom!
Comment[fr]=Production facile de musique pour tout le monde !
Icon=lmms
-Exec=env QT_X11_NO_NATIVE_MENUBAR=1 lmms %f
+Exec=env QT_X11_NO_NATIVE_MENUBAR=1 QT_AUTO_SCREEN_SCALE_FACTOR=1 lmms %f
Terminal=false
Type=Application
Categories=Qt;AudioVideo;Audio;Midi;
diff --git a/src/gui/GuiApplication.cpp b/src/gui/GuiApplication.cpp
index 5315a66a9..e82d95b9a 100644
--- a/src/gui/GuiApplication.cpp
+++ b/src/gui/GuiApplication.cpp
@@ -40,6 +40,7 @@
#include "SongEditor.h"
#include
+#include
#include
#include
@@ -53,6 +54,11 @@ GuiApplication* GuiApplication::instance()
GuiApplication::GuiApplication()
{
+ // enable HiDPI scaling before showing anything (Qt 5.6+ only)
+ #if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
+ QApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);
+ #endif
+
// prompt the user to create the LMMS working directory (e.g. ~/lmms) if it doesn't exist
if ( !ConfigManager::inst()->hasWorkingDir() &&
QMessageBox::question( NULL,