Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 235600 - uvesafb blanks the screen when changing terminals if scrolling text is occuring
Summary: uvesafb blanks the screen when changing terminals if scrolling text is occuring
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Michal Januszewski (RETIRED)
Depends on:
Reported: 2008-08-24 11:39 UTC by Dave N
Modified: 2008-09-10 19:00 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---

Kernel Config (x,53.69 KB, text/plain)
2008-08-24 11:42 UTC, Dave N
lspci output (x,2.18 KB, text/plain)
2008-08-24 11:43 UTC, Dave N

Note You need to log in before you can comment on or make changes to this bug.
Description Dave N 2008-08-24 11:39:13 UTC
uvesafb will blank the screen if you change terminals while text is scrolling (eg gcc output)

This occurs when uvesafb is compiled in as a module or in kernel.

When the screen blanks it is still possible to switch to tty 7 and resume working in X, alsot to Ctrl + C kill running process and reboot / execute other commands.

This occurs with and without X being started, And with or without the proprietary NVidia driver loaded. 

Reproducible: Always

Steps to Reproduce:
1. Ctrl+ Alt + F1 & login
2. emerge a alrge package and wait for gcc output to scroll the screen
3. Ctrl+ Alt + F2 (etc)

Actual Results:  
Screen Blanks

Expected Results:  
Switches to different terminal

sophie dave # uname -a
Linux sophie 2.6.26-gentoo-r1 #11 SMP Sun Aug 24 01:58:06 GMT 2008 i686 Intel(R) Core(TM)2 Duo CPU T5250 @ 1.50GHz GenuineIntel GNU/Linux

sophie dave # emerge --info 
Portage 2.2_rc8 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.8_p20080602-r0, 2.6.26-gentoo-r1 i686)
System uname: Linux-2.6.26-gentoo-r1-i686-Intel-R-_Core-TM-2_Duo_CPU_T5250_@_1.50GHz-with-glibc2.0
Timestamp of tree: Sun, 24 Aug 2008 01:16:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.6-r1
dev-lang/python:     2.5.2-r7
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.2.5
sys-devel/autoconf:  2.13, 2.62-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.4
virtual/os-headers:  2.6.26
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CONFIG_PROTECT="/etc /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
FEATURES="ccache distlocks parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
USE="3dnow 3dnowext X a52 aac acl acpi alsa avahi bash-completion berkdb binary-drivers branding bzip2 cairo cdaudio cdda cdr cdrom cli cpudetection cracklib crypt cups dbus directfb divx dri dvb dvbplayer dvbsetup dvd dvdr dvdread eds emboss encode evo fam fat fbcon fbcondecor fbdev fbsplash ffmpeg firefox fortran ftp gdbm gdm gif gmail gnome gnome-keyring gnome-print gphoto2 gpm grub gstreamer gtk hal iconv ipod ipw4965 isdnlog jpeg kerberos lame laptop ldap libnotify mad md5sum midi mikmod mp2 mp3 mp4 mpeg mpeg2 mplayer msn mudflap nautilus ncurses nls nptl nptlonly ntfs offensive ogg openal opengl openmp pam pcre pdf perl png podcast ppds pppd python quicktime readline reflection rss samba sdl session spell spl sqlite sqlite3 sse ssl ssse3 startup-notification svg sysfs tcpd tiff truetype twolame unicode upnp usb v4l v4l2 vnc vorbis webkit wifi win32codecs x11vnc x86 xinerama xml xorg xv xvid xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard synaptics mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="nvidia vesa"
Comment 1 Dave N 2008-08-24 11:42:15 UTC
Created attachment 163702 [details]
Kernel Config
Comment 2 Dave N 2008-08-24 11:43:29 UTC
Created attachment 163704 [details]
lspci output
Comment 3 Dave N 2008-08-24 11:50:23 UTC
As lspci doesn't state it clearly, the graphics card being used is an Nvidia 8600M GS

v86d is at version 0.1.6 with no use flags set

Unlike the other bugs the system is still usable.

Output of dmesg | grep vesafb

dave@sophie:~$ dmesg | grep vesafb
Kernel command line: root=/dev/sda3 resume=/dev/sdb2 video=uvesafb:mtrr:1,ywrap,1440x900-16@60
uvesafb: NVIDIA Corporation, G86 Board - e416h01c, Chip Rev   , OEM: NVIDIA, VBE v3.0
uvesafb: protected mode interface info at c000:b7b0
uvesafb: pmi: set display start = c00cb813, set palette = c00cb86e
uvesafb: pmi: ports = 3b4 3b5 3ba 3c0 3c1 3c4 3c5 3c6 3c7 3c8 3c9 3cc 3ce 3cf 3d0 3d1 3d2 3d3 3d4 3d5 3da 
uvesafb: VBIOS/hardware doesn't support DDC transfers
uvesafb: no monitor limits have been set, default refresh rate will be used
uvesafb: scrolling: ywrap using protected mode interface, yres_virtual=7200
uvesafb: framebuffer at 0xc5000000, mapped to 0xf8880000, using 10125k, total 14336k
Comment 4 Dave N 2008-08-24 16:33:10 UTC
After it happening again, Ive found this in dmesg

uvesafb: mode switch failed (eax=0x182b, err=0)
uvesafb: VBE state restore call failed (eax=0x1c04, err=0)
uvesafb: mode switch failed (eax=0xff04, err=0)
uvesafb: mode switch failed (eax=0xff04, err=0)
uvesafb: VBE get state call failed (eax=0x0, err=0)
uvesafb: mode switch failed (eax=0x2105, err=0)
uvesafb: mode switch failed (eax=0xff04, err=0)
uvesafb: VBE state restore call failed (eax=0x1c04, err=0)
uvesafb: mode switch failed (eax=0x2104, err=0)
uvesafb: mode switch failed (eax=0xff04, err=0)
uvesafb: mode switch failed (eax=0x0, err=0)
uvesafb: VBE state restore call failed (eax=0x2104, err=0)
uvesafb: mode switch failed (eax=0x82b, err=0)

(This was after watching a video on tty1 with mplayer through the framebuffer)
Comment 5 Michal Januszewski (RETIRED) gentoo-dev 2008-08-25 05:51:59 UTC
Could you please try to build v86d with the x86emu USE flag and see whether this changes anything?
Comment 6 Dave N 2008-08-26 15:06:24 UTC
Same problem with the x86emu use flag set, with this in dmesg

uvesafb: VBE get state call failed (eax=0x2a, err=0)
uvesafb: mode switch failed (eax=0x873, err=0)
uvesafb: mode switch failed (eax=0xff04, err=0)
uvesafb: mode switch failed (eax=0xff04, err=0)

after trying to change terminals while gcc was spewing output
Comment 7 Michal Januszewski (RETIRED) gentoo-dev 2008-08-28 21:47:01 UTC
Could you please try rebuilding your kernel with CONFIG_SCHED_HRTICK=n and see whether this changes anything?  There is a known problem with this option in 2.6.26, which could be causing this kind of errors.
Comment 8 Steven Noonan 2008-09-07 04:54:35 UTC
I'm having the same problem with kernel v2.6.26 vanilla.

I tried with CONFIG_SCHED_HRTICK off and with 'nocrtc' on the boot line and am encountering the same issue, but with some more strange eax values than Dave N:

[   73.740827] uvesafb: mode switch failed (eax=0xeb, err=0)
[   74.381207] uvesafb: mode switch failed (eax=0x1121104, err=0)
[   76.065148] uvesafb: mode switch failed (eax=0x1121105, err=0)
[   78.133360] uvesafb: mode switch failed (eax=0x1120000, err=0)
[   78.857236] uvesafb: mode switch failed (eax=0x20100100, err=0)

And looking at the code for uvesafb.c, I can't see anything that jumps out at me as to why this is occurring.

Comment 9 Steven Noonan 2008-09-10 03:01:09 UTC
I can't reproduce this bug on 2.6.27-rc5-tip. I will check 2.6.27-rc6 from Linus pristine branch in a while.
Comment 10 Steven Noonan 2008-09-10 06:46:48 UTC
Apparently the bug will be resolved in the 2.6.27 release, because 2.6.27-rc6 does not suffer the same symptoms. Unfortunately, the latest stable ( still shows the symptoms.
Comment 11 Michal Januszewski (RETIRED) gentoo-dev 2008-09-10 19:00:00 UTC
OK, closing as 'upstream' then.  If any of you really need to get it working correctly in 2.6.26*, then I'm afraid you'll need to do a git bisect between the broken version and the working one and try to identify the commit which fixes the problem.  Even then we can't really guarantee it will be backportable to 2.6.26.

Thanks for your work in tracking the bug.