Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libkscreen6 for openSUSE:Factory checked in at 2026-01-18 22:19:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libkscreen6 (Old) and /work/SRC/openSUSE:Factory/.libkscreen6.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libkscreen6" Sun Jan 18 22:19:22 2026 rev:35 rq:1327853 version:6.5.5 Changes: -------- --- /work/SRC/openSUSE:Factory/libkscreen6/libkscreen6.changes 2025-12-11 18:33:36.958008389 +0100 +++ /work/SRC/openSUSE:Factory/.libkscreen6.new.1928/libkscreen6.changes 2026-01-18 22:20:21.379287497 +0100 @@ -1,0 +2,19 @@ +Tue Jan 13 14:40:19 UTC 2026 - Fabian Vogt <[email protected]> + +- Update to 6.5.5: + * New bugfix release + * For more details see https://kde.org/announcements/plasma/6/6.5.5 +- Changes since 6.5.4: + * Update version for new release 6.5.5 + * Require passing tests + * Fix hwdata location on FreeBSD + * Remove references to no longer existing QScreen backend + * Adjust test to removed qscreen backend + * Remove testcase for qscreen backend + * Remove testcase for xrandr 1.1 backend + * Drop testQScreenBackend + * Drop testModeSwitching + * doctor: Add flipped rotation to help text + * Add usage example for output.HDMI-2.brightness.10 + +------------------------------------------------------------------- Old: ---- libkscreen-6.5.4.tar.xz libkscreen-6.5.4.tar.xz.sig New: ---- libkscreen-6.5.5.tar.xz libkscreen-6.5.5.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libkscreen6.spec ++++++ --- /var/tmp/diff_new_pack.bI8rsr/_old 2026-01-18 22:20:22.911350447 +0100 +++ /var/tmp/diff_new_pack.bI8rsr/_new 2026-01-18 22:20:22.911350447 +0100 @@ -1,7 +1,7 @@ # # spec file for package libkscreen6 # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,7 +23,7 @@ %define rname libkscreen %define sover 8 Name: libkscreen6 -Version: 6.5.4 +Version: 6.5.5 Release: 0 # Full Plasma 6 version (e.g. 6.0.0) %{!?_plasma6_bugfix: %define _plasma6_bugfix %{version}} ++++++ libkscreen-6.5.4.tar.xz -> libkscreen-6.5.5.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-6.5.4/.kde-ci.yml new/libkscreen-6.5.5/.kde-ci.yml --- old/libkscreen-6.5.4/.kde-ci.yml 2025-12-09 10:51:01.000000000 +0100 +++ new/libkscreen-6.5.5/.kde-ci.yml 2026-01-13 13:59:43.000000000 +0100 @@ -7,3 +7,6 @@ 'frameworks/extra-cmake-modules': '@latest-kf6' 'libraries/plasma-wayland-protocols': '@latest-kf6' 'third-party/wayland': '@latest' + +Options: + require-passing-tests-on: ['@all'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-6.5.4/CMakeLists.txt new/libkscreen-6.5.5/CMakeLists.txt --- old/libkscreen-6.5.4/CMakeLists.txt 2025-12-09 10:51:01.000000000 +0100 +++ new/libkscreen-6.5.5/CMakeLists.txt 2026-01-13 13:59:43.000000000 +0100 @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.16) project(libkscreen) -set(PROJECT_VERSION "6.5.4") +set(PROJECT_VERSION "6.5.5") set(QT_MIN_VERSION "6.9.0") set(KF6_MIN_VERSION "6.18.0") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-6.5.4/autotests/CMakeLists.txt new/libkscreen-6.5.5/autotests/CMakeLists.txt --- old/libkscreen-6.5.4/autotests/CMakeLists.txt 2025-12-09 10:51:01.000000000 +0100 +++ new/libkscreen-6.5.5/autotests/CMakeLists.txt 2026-01-13 13:59:43.000000000 +0100 @@ -16,7 +16,6 @@ endmacro(KSCREEN_ADD_TEST) kscreen_add_test(testscreenconfig) -kscreen_add_test(testqscreenbackend) kscreen_add_test(testconfigserializer) kscreen_add_test(testconfigmonitor) kscreen_add_test(testinprocess) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-6.5.4/autotests/testbackendloader.cpp new/libkscreen-6.5.5/autotests/testbackendloader.cpp --- old/libkscreen-6.5.4/autotests/testbackendloader.cpp 2025-12-09 10:51:01.000000000 +0100 +++ new/libkscreen-6.5.5/autotests/testbackendloader.cpp 2026-01-13 13:59:43.000000000 +0100 @@ -56,7 +56,7 @@ auto backends = BackendManager::instance()->listBackends(); QVERIFY(!backends.isEmpty()); auto preferred = BackendManager::instance()->preferredBackend(); - QVERIFY(preferred.exists()); + QVERIFY(!preferred.isFile()); auto fake = BackendManager::instance()->preferredBackend(QStringLiteral("Fake")); QVERIFY(fake.fileName().startsWith(QLatin1String("KSC_Fake"))); } @@ -72,8 +72,6 @@ QTest::newRow("all upper") << "KWAYLAND" << "KSC_KWayland"; QTest::newRow("mixed") << "kwAYlaND" << "KSC_KWayland"; - QTest::newRow("xrandr 1.1") << "xrandr11" << "KSC_XRandR11"; - QTest::newRow("qscreen") << "qscreen" << "KSC_QScreen"; QTest::newRow("mixed") << "fake" << "KSC_Fake"; // clang-format on } @@ -92,7 +90,7 @@ { qputenv("KSCREEN_BACKEND", "nonsense"); auto preferred = BackendManager::instance()->preferredBackend(); - QVERIFY(preferred.fileName().startsWith(QLatin1String("KSC_QScreen"))); + QVERIFY(!preferred.isFile()); } QTEST_GUILESS_MAIN(TestBackendLoader) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-6.5.4/autotests/testinprocess.cpp new/libkscreen-6.5.5/autotests/testinprocess.cpp --- old/libkscreen-6.5.4/autotests/testinprocess.cpp 2025-12-09 10:51:01.000000000 +0100 +++ new/libkscreen-6.5.5/autotests/testinprocess.cpp 2026-01-13 13:59:43.000000000 +0100 @@ -40,7 +40,6 @@ void loadConfig(); void testCreateJob(); - void testModeSwitching(); void testBackendCaching(); void testConfigApply(); @@ -101,67 +100,6 @@ QVERIFY(m_config->isValid()); } -void TestInProcess::testModeSwitching() -{ - KScreen::BackendManager::instance()->shutdownBackend(); - BackendManager::instance()->setMethod(BackendManager::InProcess); - // Load QScreen backend in-process - qDebug() << "TT qscreen in-process"; - qputenv("KSCREEN_BACKEND", "QScreen"); - auto op = new GetConfigOperation(); - QVERIFY(op->exec()); - auto oc = op->config(); - QVERIFY(oc != nullptr); - QVERIFY(oc->isValid()); - - qDebug() << "TT fake in-process"; - // Load the Fake backend in-process - qputenv("KSCREEN_BACKEND", "Fake"); - auto ip = new GetConfigOperation(); - QVERIFY(ip->exec()); - auto ic = ip->config(); - QVERIFY(ic != nullptr); - QVERIFY(ic->isValid()); - QVERIFY(ic->outputs().count()); - - KScreen::ConfigPtr xc(nullptr); - if (m_backendServiceInstalled) { - qDebug() << "TT xrandr out-of-process"; - // Load the xrandr backend out-of-process - qputenv("KSCREEN_BACKEND", "QScreen"); - qputenv("KSCREEN_BACKEND_INPROCESS", "0"); - BackendManager::instance()->setMethod(BackendManager::OutOfProcess); - auto xp = new GetConfigOperation(); - QCOMPARE(BackendManager::instance()->method(), BackendManager::OutOfProcess); - QVERIFY(xp->exec()); - xc = xp->config(); - QVERIFY(xc != nullptr); - QVERIFY(xc->isValid()); - QVERIFY(xc->outputs().count()); - } - - qDebug() << "TT fake in-process"; - - qputenv("KSCREEN_BACKEND_INPROCESS", "1"); - BackendManager::instance()->setMethod(BackendManager::InProcess); - // Load the Fake backend in-process - qputenv("KSCREEN_BACKEND", "Fake"); - auto fp = new GetConfigOperation(); - QCOMPARE(BackendManager::instance()->method(), BackendManager::InProcess); - QVERIFY(fp->exec()); - auto fc = fp->config(); - QVERIFY(fc != nullptr); - QVERIFY(fc->isValid()); - QVERIFY(fc->outputs().count()); - - QVERIFY(oc->isValid()); - QVERIFY(ic->isValid()); - if (xc) { - QVERIFY(xc->isValid()); - } - QVERIFY(fc->isValid()); -} - void TestInProcess::testBackendCaching() { KScreen::BackendManager::instance()->shutdownBackend(); @@ -207,7 +145,6 @@ KScreen::BackendManager::instance()->shutdownBackend(); if (m_backendServiceInstalled) { - // qputenv("KSCREEN_BACKEND", "QScreen"); qputenv("KSCREEN_BACKEND_INPROCESS", "0"); BackendManager::instance()->setMethod(BackendManager::OutOfProcess); QCOMPARE(BackendManager::instance()->method(), BackendManager::OutOfProcess); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-6.5.4/autotests/testqscreenbackend.cpp new/libkscreen-6.5.5/autotests/testqscreenbackend.cpp --- old/libkscreen-6.5.4/autotests/testqscreenbackend.cpp 2025-12-09 10:51:01.000000000 +0100 +++ new/libkscreen-6.5.5/autotests/testqscreenbackend.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,215 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2012 Alejandro Fiestas Olivares <[email protected]> - * SPDX-FileCopyrightText: 2012 Sebastian Kügler <[email protected]> - * - * SPDX-License-Identifier: LGPL-2.1-or-later - */ - -#include <QElapsedTimer> -#include <QLoggingCategory> -#include <QObject> -#include <QTest> - -#include <cstdint> - -#include "../src/backendmanager_p.h" -#include "../src/config.h" -#include "../src/edid.h" -#include "../src/getconfigoperation.h" -#include "../src/mode.h" -#include "../src/output.h" -#include "../src/screen.h" - -Q_LOGGING_CATEGORY(KSCREEN_QSCREEN, "kscreen.qscreen") - -using namespace KScreen; - -class testQScreenBackend : public QObject -{ - Q_OBJECT - -private Q_SLOTS: - void initTestCase(); - void verifyConfig(); - void verifyScreen(); - void verifyOutputs(); - void verifyModes(); - void verifyFeatures(); - void commonUsagePattern(); - void cleanupTestCase(); - -private: - QProcess m_process; - ConfigPtr m_config; - QString m_backend; -}; - -void testQScreenBackend::initTestCase() -{ - qputenv("KSCREEN_LOGGING", "false"); - qputenv("KSCREEN_BACKEND", "qscreen"); - qputenv("KSCREEN_BACKEND_INPROCESS", "1"); - KScreen::BackendManager::instance()->shutdownBackend(); - - m_backend = QString::fromLocal8Bit(qgetenv("KSCREEN_BACKEND")); - - QElapsedTimer t; - t.start(); - auto *op = new GetConfigOperation(); - op->exec(); - m_config = op->config(); - const int n = t.nsecsElapsed(); - qDebug() << "Test took: " << n << "ns"; -} - -void testQScreenBackend::verifyConfig() -{ - QVERIFY(!m_config.isNull()); - if (!m_config) { - QSKIP("QScreenbackend invalid", SkipAll); - } -} - -void testQScreenBackend::verifyScreen() -{ - ScreenPtr screen = m_config->screen(); - - QVERIFY(screen->minSize().width() <= screen->maxSize().width()); - QVERIFY(screen->minSize().height() <= screen->maxSize().height()); - - QVERIFY(screen->minSize().width() <= screen->currentSize().width()); - QVERIFY(screen->minSize().height() <= screen->currentSize().height()); - - QVERIFY(screen->maxSize().width() >= screen->currentSize().width()); - QVERIFY(screen->maxSize().height() >= screen->currentSize().height()); - QVERIFY(m_config->screen()->maxActiveOutputsCount() > 0); -} - -void testQScreenBackend::verifyOutputs() -{ - bool primaryFound = false; - for (const KScreen::OutputPtr &op : m_config->outputs()) { - if (op->isPrimary()) { - primaryFound = true; - } - } - qDebug() << "Primary found? " << primaryFound; - QVERIFY(primaryFound); - if (m_backend == QLatin1String("screen")) { - QCOMPARE(m_config->outputs().count(), QGuiApplication::screens().count()); - } - - const KScreen::OutputPtr primary = m_config->primaryOutput(); - QVERIFY(primary->isEnabled()); - QVERIFY(primary->isConnected()); - // qDebug() << "Primary geometry? " << primary->geometry(); - // qDebug() << " prim modes: " << primary->modes(); - - QList<int> ids; - for (const KScreen::OutputPtr &output : m_config->outputs()) { - qDebug() << " _____________________ Output: " << output; - qDebug() << " output name: " << output->name(); - qDebug() << " output modes: " << output->modes().count() << output->modes(); - qDebug() << " output enabled: " << output->isEnabled(); - qDebug() << " output connect: " << output->isConnected(); - qDebug() << " output sizeMm : " << output->sizeMm(); - QVERIFY(!output->name().isEmpty()); - QVERIFY(output->id() > -1); - QVERIFY(output->isConnected()); - QVERIFY(output->isEnabled()); - QVERIFY(output->geometry() != QRectF(1, 1, 1, 1)); - QVERIFY(output->geometry() != QRectF()); - - // Pass, but leave a note, when the x server doesn't report physical size - if (!output->sizeMm().isValid()) { - QEXPECT_FAIL("", "The X server doesn't return a sensible physical output size", Continue); - QVERIFY(output->sizeMm() != QSize()); - } - QVERIFY(output->edid() != nullptr); - QCOMPARE(output->rotation(), Output::None); - QVERIFY(!ids.contains(output->id())); - ids << output->id(); - } -} - -void testQScreenBackend::verifyModes() -{ - const KScreen::OutputPtr primary = m_config->primaryOutput(); - QVERIFY(primary); - QVERIFY(primary->modes().count() > 0); - - for (const KScreen::OutputPtr &output : m_config->outputs()) { - for (const KScreen::ModePtr &mode : output->modes()) { - qDebug() << " Mode : " << mode->name(); - QVERIFY(!mode->name().isEmpty()); - QVERIFY(mode->refreshRate() > 0); - QVERIFY(mode->size() != QSize()); - } - } -} - -void testQScreenBackend::commonUsagePattern() -{ - auto *op = new GetConfigOperation(); - op->exec(); - - const KScreen::OutputList outputs = op->config()->outputs(); - - QVariantList outputList; - for (const KScreen::OutputPtr &output : outputs) { - if (!output->isConnected()) { - continue; - } - - QVariantMap info; - info[QStringLiteral("id")] = output->id(); - info[QStringLiteral("priority")] = output->priority(); - info[QStringLiteral("enabled")] = output->isEnabled(); - info[QStringLiteral("rotation")] = output->rotation(); - - QVariantMap pos; - pos[QStringLiteral("x")] = output->pos().x(); - pos[QStringLiteral("y")] = output->pos().y(); - info[QStringLiteral("pos")] = pos; - - if (output->isEnabled()) { - const KScreen::ModePtr mode = output->currentMode(); - if (!mode) { - // qWarning() << "CurrentMode is null" << output->name(); - return; - } - - QVariantMap modeInfo; - modeInfo[QStringLiteral("refresh")] = mode->refreshRate(); - - QVariantMap modeSize; - modeSize[QStringLiteral("width")] = mode->size().width(); - modeSize[QStringLiteral("height")] = mode->size().height(); - modeInfo[QStringLiteral("size")] = modeSize; - - info[QStringLiteral("mode")] = modeInfo; - } - - outputList.append(info); - } -} - -void testQScreenBackend::cleanupTestCase() -{ - KScreen::BackendManager::instance()->shutdownBackend(); - qApp->exit(0); -} - -void testQScreenBackend::verifyFeatures() -{ - GetConfigOperation *op = new GetConfigOperation(); - op->exec(); - auto config = op->config(); - QVERIFY(config->supportedFeatures().testFlag(Config::Feature::None)); - QVERIFY(!config->supportedFeatures().testFlag(Config::Feature::Writable)); - QVERIFY(!config->supportedFeatures().testFlag(Config::Feature::PrimaryDisplay)); -} - -QTEST_MAIN(testQScreenBackend) - -#include "testqscreenbackend.moc" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-6.5.4/poqm/ca@valencia/libkscreen6_qt.po new/libkscreen-6.5.5/poqm/ca@valencia/libkscreen6_qt.po --- old/libkscreen-6.5.4/poqm/ca@valencia/libkscreen6_qt.po 2025-12-09 10:51:01.000000000 +0100 +++ new/libkscreen-6.5.5/poqm/ca@valencia/libkscreen6_qt.po 2026-01-13 13:59:43.000000000 +0100 @@ -21,7 +21,7 @@ #: getconfigoperation.cpp:62 msgctxt "KScreen::GetConfigOperationPrivate|" msgid "Failed to prepare backend" -msgstr "No s'ha pogut preparar el dorsal" +msgstr "Ha fallat mentre es preparava el dorsal" #: getconfigoperation.cpp:87 msgctxt "KScreen::GetConfigOperationPrivate|" @@ -36,12 +36,12 @@ #: setconfigoperation.cpp:58 msgctxt "KScreen::SetConfigOperationPrivate|" msgid "Failed to prepare backend" -msgstr "No s'ha pogut preparar el dorsal" +msgstr "Ha fallat mentre es preparava el dorsal" #: setconfigoperation.cpp:65 msgctxt "KScreen::SetConfigOperationPrivate|" msgid "Failed to serialize request" -msgstr "No s'ha pogut serialitzar la sol·licitud" +msgstr "Ha fallat mentre se serialitzava la sol·licitud" #: setconfigoperation.cpp:89 msgctxt "KScreen::SetConfigOperationPrivate|" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-6.5.4/poqm/ga/libkscreen6_qt.po new/libkscreen-6.5.5/poqm/ga/libkscreen6_qt.po --- old/libkscreen-6.5.4/poqm/ga/libkscreen6_qt.po 1970-01-01 01:00:00.000000000 +0100 +++ new/libkscreen-6.5.5/poqm/ga/libkscreen6_qt.po 2026-01-13 13:59:43.000000000 +0100 @@ -0,0 +1,38 @@ +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Qt-Contexts: true\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#: getconfigoperation.cpp:62 +msgctxt "KScreen::GetConfigOperationPrivate|" +msgid "Failed to prepare backend" +msgstr "" + +#: getconfigoperation.cpp:87 +msgctxt "KScreen::GetConfigOperationPrivate|" +msgid "Failed to deserialize backend response" +msgstr "" + +#: getconfigoperation.cpp:99 +msgctxt "KScreen::GetConfigOperationPrivate|" +msgid "Backend invalidated" +msgstr "" + +#: setconfigoperation.cpp:58 +msgctxt "KScreen::SetConfigOperationPrivate|" +msgid "Failed to prepare backend" +msgstr "" + +#: setconfigoperation.cpp:65 +msgctxt "KScreen::SetConfigOperationPrivate|" +msgid "Failed to serialize request" +msgstr "" + +#: setconfigoperation.cpp:89 +msgctxt "KScreen::SetConfigOperationPrivate|" +msgid "Failed to deserialize backend response" +msgstr "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-6.5.4/src/backendmanager.cpp new/libkscreen-6.5.5/src/backendmanager.cpp --- old/libkscreen-6.5.4/src/backendmanager.cpp 2025-12-09 10:51:01.000000000 +0100 +++ new/libkscreen-6.5.5/src/backendmanager.cpp 2026-01-13 13:59:43.000000000 +0100 @@ -121,9 +121,7 @@ * - env var KSCREEN_BACKEND is considered * - if platform is X11, the XRandR backend is picked * - if platform is wayland, KWayland backend is picked - * - if neither is the case, QScreen backend is picked - * - the QScreen backend is also used as fallback - * + * - empty QFileInfo otherwise */ QString backendFilter; const auto env_kscreen_backend = QString::fromUtf8(qgetenv("KSCREEN_BACKEND")); @@ -136,8 +134,6 @@ backendFilter = QStringLiteral("XRandR"); } else if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"))) { backendFilter = QStringLiteral("KWayland"); - } else { - backendFilter = QStringLiteral("QScreen"); } } QFileInfo fallback; @@ -147,9 +143,6 @@ if (f.baseName().toLower() == QStringLiteral("ksc_%1").arg(backendFilter.toLower())) { return f; } - if (f.baseName() == QLatin1String("KSC_QScreen")) { - fallback = f; - } } // qCWarning(KSCREEN) << "No preferred backend found. KSCREEN_BACKEND is set to " << env_kscreen_backend; // qCWarning(KSCREEN) << "falling back to " << fallback.fileName(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-6.5.4/src/backendmanager_p.h new/libkscreen-6.5.5/src/backendmanager_p.h --- old/libkscreen-6.5.4/src/backendmanager_p.h 2025-12-09 10:51:01.000000000 +0100 +++ new/libkscreen-6.5.5/src/backendmanager_p.h 2026-01-13 13:59:43.000000000 +0100 @@ -57,8 +57,7 @@ * - Otherwise, the wayland backend is picked when the runtime platform is Wayland * (we assume kwin in this case * - Otherwise, if the runtime platform is X11, the XRandR backend is picked - * - If neither is the case, we fall back to the QScreen backend, since that is the - * most generally applicable and may work on platforms not explicitly supported + * - Otherwise, an empty QFileInfo is returned * * @return the backend plugin to load * @since 5.7 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-6.5.4/src/doctor/main.cpp new/libkscreen-6.5.5/src/doctor/main.cpp --- old/libkscreen-6.5.4/src/doctor/main.cpp 2025-12-09 10:51:01.000000000 +0100 +++ new/libkscreen-6.5.5/src/doctor/main.cpp 2026-01-13 13:59:43.000000000 +0100 @@ -49,12 +49,14 @@ " $ kscreen-doctor output.HDMI-2.mode.1920x1080@60 \n" "\n Set scale (note: fractional scaling is only supported on wayland)\n" " $ kscreen-doctor output.HDMI-2.scale.2 \n" - "\n Set rotation (possible values: none, left, right, inverted)\n" + "\n Set rotation (possible values: none, left, right, inverted, flipped, flipped90, flipped180, flipped270)\n" " $ kscreen-doctor output.HDMI-2.rotation.left \n" "\n Set HDR mode (possible values: enable, disable)\n" " $ kscreen-doctor output.HDMI-2.hdr.enable\n" "\n Set SDR brightness (possible values: 100-1000)\n" " $ kscreen-doctor output.HDMI-2.sdr-brightness.300\n" + "\n Set brightness on non HDR screens (possible values: 0-100)\n" + " $ kscreen-doctor output.HDMI-2.brightness.10\n" "\n Set wide color gamut mode (possible values: enable, disable)\n" " $ kscreen-doctor output.HDMI-2.wcg.enable\n" "\n Set ICC profile path\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-6.5.4/src/edid.cpp new/libkscreen-6.5.5/src/edid.cpp --- old/libkscreen-6.5.4/src/edid.cpp 2025-12-09 10:51:01.000000000 +0100 +++ new/libkscreen-6.5.5/src/edid.cpp 2026-01-13 13:59:43.000000000 +0100 @@ -29,7 +29,11 @@ #define GCM_DESCRIPTOR_ALPHANUMERIC_DATA_STRING 0xfe #define GCM_DESCRIPTOR_COLOR_POINT 0xfb +#ifdef Q_OS_FREEBSD +#define PNP_IDS "/usr/local/share/hwdata/pnp.ids" +#else #define PNP_IDS "/usr/share/hwdata/pnp.ids" +#endif using namespace KScreen;
