-
Notifications
You must be signed in to change notification settings - Fork 342
There is no /dev/ttyv10 on FreeBSD #1854
Comments
Patches are welcome. We don't really have a prominent FreeBSD user/maintainer to test things like this. |
Did you launch a bunch of direct sessions simultaneously? :) I've never really used more than one display server, and I use consolekit anyway so my wayfire is on This seems trivial, try changing that line to use |
Yes! /dev/ttyv8 ran GDM (installed from FreeBSD ports) on Xorg. The next vty available for use was /dev/ttyva, but wlroots chose /dev/ttyv10 and failed.
I know there is an option called This bug was found during testing a GTK4 bug: https://gitlab.gnome.org/GNOME/gtk/issues/2201.
I already did it on my local installation, but I haven't checked how the kernel will pick the name if the number of consoles is greater than 16. |
I increased the number of consoles to 1600 in a VM in order to understand how the kernel chooses names. It seems that it is a number of base 32 with digits 0 ~ 9 and a ~ v. When the number goes up to |
Previously, the path of TTY is generated using snprintf with %d format. It works with TTY 1 to 10, but fails with TTY with greater number because the number used in the name is in base 32 instead of base 10. Since there is no standard function to convert a number to a string with a custom base, this commit adds a function to do it. Fixes: swaywm#1854
I opened #1945 to fix this issue. |
Previously, the path of TTY is generated using snprintf with %d format. It works with TTY 1 to 10, but fails with TTY with greater number because the number used in the name is in base 32 instead of base 10. Since there is no standard function to convert a number to a string with a custom base, this commit adds a function to do it. Fixes: swaywm#1854
Previously, the path of TTY is generated using snprintf with %d format. It works with TTY 1 to 10, but fails with TTY with greater number because the number used in the name is in base 32 instead of base 10. Since there is no standard function to convert a number to a string with a custom base, this commit adds a function to do it. Fixes: #1854
Please forgive me for a little offtopic. @lantw44 With consolekit2 you do not have to mess with permissions of More info here, you may find this interesting: https://lists.freebsd.org/pipermail/freebsd-x11/2019-September/024038.html |
@shamazmazum Thanks for the link. It seems that I can't use |
Previously, the path of TTY is generated using snprintf with %d format. It works with TTY 1 to 10, but fails with TTY with greater number because the number used in the name is in base 32 instead of base 10. Since there is no standard function to convert a number to a string with a custom base, this commit adds a function to do it. Fixes: swaywm#1854
In file
backend/session/direct-freebsd.c
, functionsetup_tty
, it constructs the path to vty with:It fails when
tty - 1
is 10 or greater because there is no /dev/ttyv10 on the system. FreeBSD uses /dev/ttyva and /dev/ttyvb instead.This causes sway to fail with 'Cannot open tty: No such file or directory.'
The text was updated successfully, but these errors were encountered: