mirror of
https://git.citron-emu.org/citron/emulator
synced 2026-01-31 06:43:35 +00:00
fix(gamescope): DPI Attributes
Signed-off-by: Collecting <collecting@noreply.localhost>
This commit is contained in:
@@ -84,6 +84,7 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual
|
||||
#include <QDir>
|
||||
#include <QFile>
|
||||
#include <QFileDialog>
|
||||
#include <QGuiApplication>
|
||||
#include <QInputDialog>
|
||||
#include <QMessageBox>
|
||||
#include <QProgressBar>
|
||||
@@ -6221,17 +6222,16 @@ int main(int argc, char* argv[]) {
|
||||
!qgetenv("STEAM_DECK").isEmpty();
|
||||
|
||||
if (is_gamescope) {
|
||||
// Force the environment to ignore the Deck's high-density screen
|
||||
qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "0");
|
||||
qputenv("QT_ENABLE_HIGHDPI_SCALING", "0");
|
||||
// 1. Force the scale factor to exactly 1.0
|
||||
qputenv("QT_SCALE_FACTOR", "1");
|
||||
qputenv("QT_SCREEN_SCALE_FACTORS", "1");
|
||||
qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "0");
|
||||
qputenv("QT_FONT_DPI", "96");
|
||||
|
||||
// Force Qt to use a 1:1 pixel ratio
|
||||
// These MUST be set before the QApplication app(...) line
|
||||
QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling);
|
||||
QCoreApplication::setAttribute(Qt::AA_Use96Dpi);
|
||||
// 2. This must be called BEFORE the QApplication object is created
|
||||
QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::Floor);
|
||||
|
||||
// 3. Ensure windowing system plays nice with Gamescope
|
||||
QCoreApplication::setAttribute(Qt::AA_DontUseNativeMenuBar);
|
||||
QCoreApplication::setAttribute(Qt::AA_DontUseNativeDialogs);
|
||||
qputenv("QT_WAYLAND_SHELL_INTEGRATION", "xdg-shell");
|
||||
|
||||
Reference in New Issue
Block a user