diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp index bfbd465f6b..91d84568f9 100644 --- a/src/citra_qt/bootmanager.cpp +++ b/src/citra_qt/bootmanager.cpp @@ -144,8 +144,8 @@ QByteArray GRenderWindow::saveGeometry() { } qreal GRenderWindow::windowPixelRatio() const { - // windowHandle() might not be accessible until the window is displayed to screen. - return windowHandle() ? windowHandle()->screen()->devicePixelRatio() : 1.0f; + // QOpenGLWidget isn't backed by a native window, so we need to use the top level window instead + return QApplication::activeWindow()->devicePixelRatio(); } std::pair GRenderWindow::ScaleTouch(const QPointF pos) const { diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index 9d752d3cee..52c1ba4365 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp @@ -2062,6 +2062,7 @@ int main(int argc, char* argv[]) { std::string bin_path = FileUtil::GetBundleDirectory() + DIR_SEP + ".."; chdir(bin_path.c_str()); #endif + QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication::setAttribute(Qt::AA_DontCheckOpenGLContextThreadAffinity); QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts); QApplication app(argc, argv);