Date: Fri, 24 Oct 2025 11:46:41 GMT From: Max Brazhnikov <makc@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: b7d53d8438e6 - main - x11/sddm: add workaround for Wayland sessions. Message-ID: <202510241146.59OBkfGL002416@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by makc: URL: https://cgit.FreeBSD.org/ports/commit/?id=b7d53d8438e66f84768f28cbccc92a04d5df76b8 commit b7d53d8438e66f84768f28cbccc92a04d5df76b8 Author: Max Brazhnikov <makc@FreeBSD.org> AuthorDate: 2025-10-24 11:45:43 +0000 Commit: Max Brazhnikov <makc@FreeBSD.org> CommitDate: 2025-10-24 11:45:57 +0000 x11/sddm: add workaround for Wayland sessions. Mimic seatd and put the underlying tty in raw mode to prevent killing Wayland sessions on CTRL+C. Upstream reports: KDE: https://bugs.kde.org/505552 SDDM: https://github.com/sddm/sddm/issues/1986 PR: 286592 Submitted by: jsm, jhale --- x11/sddm/Makefile | 2 +- .../files/patch-src_common_VirtualTerminal.cpp | 30 ++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/x11/sddm/Makefile b/x11/sddm/Makefile index 8720870a8c15..5d6522bf1528 100644 --- a/x11/sddm/Makefile +++ b/x11/sddm/Makefile @@ -2,7 +2,7 @@ PORTNAME= sddm DISTVERSIONPREFIX= v DISTVERSION= 0.21.0-36 DISTVERSIONSUFFIX= -gc2b97dd -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= x11 MAINTAINER= kde@FreeBSD.org diff --git a/x11/sddm/files/patch-src_common_VirtualTerminal.cpp b/x11/sddm/files/patch-src_common_VirtualTerminal.cpp new file mode 100644 index 000000000000..89717f5bd0b9 --- /dev/null +++ b/x11/sddm/files/patch-src_common_VirtualTerminal.cpp @@ -0,0 +1,30 @@ +--- src/common/VirtualTerminal.cpp.orig 2025-01-31 09:57:01 UTC ++++ src/common/VirtualTerminal.cpp +@@ -29,6 +29,7 @@ + #include <signal.h> + #ifdef __FreeBSD__ + #include <sys/consio.h> ++#include <termios.h> + #else + #include <linux/vt.h> + #include <linux/kd.h> +@@ -217,6 +218,19 @@ out: + // set graphics mode to prevent flickering + if (ioctl(fd, KDSETMODE, KD_GRAPHICS) < 0) + qWarning("Failed to set graphics mode for VT %d: %s", vt, strerror(errno)); ++ ++#ifdef __FreeBSD__ ++ struct termios tios; ++ ++ if (tcgetattr(fd, &tios) != 0) { ++ qFatal("Failed to get term attrs for VT %d: %s", vt, strerror(errno)); ++ } else { ++ cfmakeraw(&tios); ++ if (tcsetattr(fd, TCSAFLUSH, &tios) != 0) { ++ qWarning("Failed to set term attrs for VT %d: %s", vt, strerror(errno)); ++ } ++ } ++#endif + + // it's possible that the current VT was left in a broken + // combination of states (KD_GRAPHICS with VT_AUTO) that wehome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202510241146.59OBkfGL002416>
