-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
yaft locks console #40
Comments
I'll check whether yaft works correctly in my environments, because I'm not using latest arch now. Please send error messages in your environments if you can.
|
One more question: |
i found the error file. pasted here: http://dpaste.com/38FGVEF |
I tested yaft on archlinux (latest image and packages) and yaft works correctly. |
A few questions:
|
can't run as root either. yes i can ctrl-D to get back to a prompt. i tried installing yaft and fbv on another machine with linux mint and it worked fine. must be something to do with using yaft on arch in a virtual machine. oh well. thanks for the help. i appreciate it. |
I experienced this just now using Debian 9.8 (stretch) in VirtualBox. I was able to see yaft work by:
This got me to the simplest working version. (Sidebar: This let me try out yaft against jexer . yaft is the first terminal outside xterm successfully displaying mixed-mode text and sixel!) |
@klamonte thanks for enjoying yaft :) |
@mrsteve0924 I don't know the cause of this problem, but it may be some graphics hardware problem. Please tell me the type of Virtual Machine (and graphics emulation device) that you are using. Virtualbox or VMware or qemu etc... And output of I need to re-produce this problem to fix. |
Hi @uobikiemukot . I have same Problem this issue.
Let me know if we can give you any other information. |
Hi, I cannot re-produce this problem at the moment. |
@dohq You can use other framebuffer software (fbv, fbterm, mlterm-fb, etc...) without any problem? |
@mrsteve0924 If you are using Virtualbox, please try to change graphics hardware settings. I tested these devices:
fbv also fails with VBoxVGA. I think this problem is not caused by yaft. |
@uobikiemukot
hmm... isolate the cause is difficult 🤔 . |
I have the same issue. But does yaft really lock the terminal? I don't think so. If I type e.g. I think yaft is simply being too lazy about updating the underlying framebuffer under certain drivers. I also have Intel i915. |
I have the same issue. Also i915. C-d does close yaft. Switching tty reveals input is processed but the screen is not refreshed. tried with all combinations of conf.h options involving when the screen is refreshed. I'd like to get this to work, as fbterm / dvtm don't support sixel and don't seem to be changing that anytime soon. |
We should figure out what fbterm is doing different. |
I can confirm that fbterm does not suffer from this problem, neither does dvtm. So they are certainly a resource for this. |
@ctrlcctrlv @TCCQ diff --git a/fb/linux.h b/fb/linux.h
index 5e572b6..3981815 100644
--- a/fb/linux.h
+++ b/fb/linux.h
@@ -99,6 +99,8 @@ bool set_fbinfo(int fd, struct fb_info_t *info)
if (ioctl(fd, FBIOPUT_VSCREENINFO, &vinfo))
logging(WARN, "couldn't reset offset (x:%d y:%d)\n", vinfo.xoffset, vinfo.yoffset);
}
+ vinfo.activate = FB_ACTIVATE_NOW | FB_ACTIVATE_FORCE;
+ ioctl(fd, FBIOPUT_VSCREENINFO, &vinfo);
return true;
}
diff --git a/yaft.c b/yaft.c
index 7b145aa..014746b 100644
--- a/yaft.c
+++ b/yaft.c
@@ -170,6 +170,11 @@ int main(int argc, char *const argv[])
if (setlocale(LC_ALL, "") == NULL) /* for wcwidth() */
logging(WARN, "setlocale falied\n");
+ if (!tty_init(&termios_orig)) {
+ logging(FATAL, "tty initialize failed\n");
+ goto tty_init_failed;
+ }
+
if (!fb_init(&fb)) {
logging(FATAL, "framebuffer initialize failed\n");
goto fb_init_failed;
@@ -180,11 +185,6 @@ int main(int argc, char *const argv[])
goto term_init_failed;
}
- if (!tty_init(&termios_orig)) {
- logging(FATAL, "tty initialize failed\n");
- goto tty_init_failed;
- }
-
/* fork and exec shell */
cmd = (argc < 2) ? shell_cmd: argv[1];
if (!fork_and_exec(&term.fd, cmd, argv + 1, term.lines, term.cols)) { |
Alright. I can can confirm that @pnutbtr 's patch does fix the freezing issue. It's now reactive and seems to be stable. I did also notice that things like screen clears (C-l) and full screen management programs (less, more, man) do not scroll correctly. A screen clear just does the same thing as an enter in a shell (new prompt on the next line), and the screen management programs leave artifact lines around here and there. No clue if that is related or some other issue of mine. |
@TCCQ did you install terminfo db? That usually happens when shell can't find terminfo files. |
Yea that was it. A combination of running it out of the makedir and not make installing and not applying the patch correctly. It all seems good now. |
As you can see, I made a PR for just the patch above. |
Without this, yaft's screen isn't shown at all. See issue uobikiemukot#40.
@pnutbtr's patch is almost correct, but not quite, as it only runs once. The FB also needs to be activated every time the virtual terminal is switched to with Ctrl+Alt+Fn or it will lock up in the same way. I will submit a pull request soon. @uobikiemukot are you still around and interested in this project? Do you want us to fork it to continue development elsewhere? |
installed yaft on arch. but each time i call yaft my system locks up and i have to reboot.
i've added my user to the video group, added exported FRAMEBUFFER=/dev/fb0 to my .bashrc file and installed FBV.
anything else i should be doing to get this working?
using kernel 5.0.2-arch1-1 and running arch in virtual machine
appreciate any advice. thanks
The text was updated successfully, but these errors were encountered: