2025-01-31 09:57:01 UTC ++++ src/common/VirtualTerminal.cpp +@@ -29,6 +29,7 @@ + #include + #ifdef __FreeBSD__ + #include ++#include + #else + #include + #include +@@ -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 we