head 1.2; access; symbols pkgsrc-2026Q2:1.2.0.4 pkgsrc-2026Q2-base:1.2 pkgsrc-2026Q1:1.2.0.2 pkgsrc-2026Q1-base:1.2; locks; strict; comment @// @; 1.2 date 2026.01.02.22.22.23; author gutteridge; state Exp; branches; next 1.1; commitid ummSSbno0jdxURoG; 1.1 date 2025.12.30.04.00.09; author gutteridge; state Exp; branches; next ; commitid b48VDjz0YiLMUnoG; desc @@ 1.2 log @sddm: apply various functional fixes From Stepan Ipatov via pkgsrc-wip: Fix keyboard responsiveness on startup. "It happens due to the way sddm selects the virtual TTY for starting the X server. It calls ioctl(fd, VT_OPENQRY, &vt) and gets the first free TTY. The problem is that at the stage of system boot when the rc scripts are executed, the ioctl() call returns /dev/ttyE1. Apparently, sddm and getty do not coexist well on the same TTY. The only workaround I've found so far is to delay starting sddm until init has already spawned getty. Once that happens, ioctl() returns the expected /dev/ttyE4." Require dbus during rc.d startup. Further changes from me: Fixed typo in the rc.d/sddm script that prevented directories from being created. Fixed typo in PKG_GROUPS_VARS assignment. Increased parameterization of the rc.d/sddm script. (Some of these changes are different from what was last committed to wip.) @ text @$NetBSD: patch-src_common_VirtualTerminal.cpp,v 1.1 2025/12/30 04:00:09 gutteridge Exp $ Fix tty device for NetBSD. --- src/common/VirtualTerminal.cpp.orig 2024-02-26 10:23:03.000000000 +0000 +++ src/common/VirtualTerminal.cpp @@@@ -29,6 +29,8 @@@@ #include #ifdef __FreeBSD__ #include +#elif __NetBSD__ +#include #else #include #include @@@@ -58,6 +60,21 @@@@ namespace SDDM { } return vtActive; } +#elif defined(__NetBSD__) + static const char *defaultVtPath = "/dev/ttyE0"; + + QString path(int vt) { + return QStringLiteral("/dev/ttyE%1").arg(vt - 1); + } + + int getVtActive(int fd) { + int vtActive = 0; + if (ioctl(fd, VT_GETACTIVE, &vtActive) < 0) { + qCritical() << "Failed to get current VT:" << strerror(errno); + return -1; + } + return vtActive; + } #else static const char *defaultVtPath = "/dev/tty0"; @@@@ -119,12 +136,12 @@@@ namespace SDDM { if (getmodeReply.mode != VT_AUTO) goto out; - +#ifdef KDGETMODE if (ioctl(fd, KDGETMODE, &kernelDisplayMode) < 0) { qWarning() << "Failed to query kernel display mode:" << strerror(errno); ok = false; } - +#endif if (kernelDisplayMode == KD_TEXT) goto out; @ 1.1 log @x11/sddm: add new package, version 0.21.0 Packaged in wip by Stepan Ipatov. (Review and minor changes by me.) SDDM is a modern display manager for X11 and Wayland aiming to be fast, simple and beautiful. It uses modern technologies like QtQuick, which in turn gives the designer the ability to create smooth, animated user interfaces. SDDM is extremely themeable. We put no restrictions on the user interface design, it is completely up to the designer. We simply provide a few callbacks to the user interface which can be used for authentication, suspend, etc. @ text @d1 1 a1 1 $NetBSD$ d16 1 a16 1 @@@@ -58,6 +60,22 @@@@ namespace SDDM { d24 1 a24 2 + char c = (vt <= 10 ? '0' : 'a') + (vt - 1); + return QStringLiteral("/dev/ttyE%1").arg(c); d38 1 a38 1 @@@@ -119,12 +137,12 @@@@ namespace SDDM { @