diff -Naur MPlayer-0.90rc3/libvo/vo_fbdev.c MPlayer-0.90rc3-fixfbdev/libvo/vo_fbdev.c --- MPlayer-0.90rc3/libvo/vo_fbdev.c 2003-01-12 17:59:47.000000000 +0000 +++ MPlayer-0.90rc3-fixfbdev/libvo/vo_fbdev.c 2003-01-28 19:44:31.000000000 +0000 @@ -916,6 +916,19 @@ fb_vinfo.xres_virtual = fb_vinfo.xres; fb_vinfo.yres_virtual = fb_vinfo.yres; + /* For some strange reason it is needed to reopen both tty and fbdev + or mplayer will crash when playing a playlist */ + if ((fb_tty_fd = open("/dev/tty", O_RDWR)) < 0) { + printf(FBDEV "Can't open %s: %s\n", "/dev/tty", strerror(errno)); + return 1; + } + if (!fb_dev_name && !(fb_dev_name = getenv("FRAMEBUFFER"))) + fb_dev_name = "/dev/fb0"; + if ((fb_dev_fd = open(fb_dev_name, O_RDWR)) == -1) { + printf(FBDEV "Can't open %s: %s\n", fb_dev_name, strerror(errno)); + return 1; + } + if (fb_tty_fd >= 0 && ioctl(fb_tty_fd, KDSETMODE, KD_GRAPHICS) < 0) { if (verbose > 0) printf(FBDEV "Can't set graphics mode: %s\n", strerror(errno));