Summary: | sys-apps/v86d missing vesa modes | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Daniel Perzynski <daniel.perzynski> |
Component: | Current packages | Assignee: | Michal Januszewski (RETIRED) <spock> |
Status: | RESOLVED NEEDINFO | ||
Severity: | normal | CC: | copyliu, specious |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | Booting Linux 2.6.28 w/ vesafb, vga=0x346, showing no 1600x1200 mode while DVI cable is connected. |
Description
Daniel Perzynski
2007-10-06 07:15:40 UTC
Please build your kernel without uvesafb, but with vesafb and try booting with vga=0x348 to see whether this can actually work. If it boots successfully with a working framebuffer, please attach the output of `fbset -i`, and your kernel log (`dmesg`). Closing until the requested information is provided. I think I encountered the same problem Doing cat /sys/devices/platform/uvesafb.0/vbe_modes is showing the following modes: 640x400-8, 0x0100 640x480-8, 0x0101 800x600-8, 0x0103 1024x768-8, 0x0105 1280x1024-8, 0x0107 320x200-16, 0x010e 320x200-32, 0x010f 640x480-16, 0x0111 640x480-32, 0x0112 800x600-16, 0x0114 800x600-32, 0x0115 1024x768-16, 0x0117 1024x768-32, 0x0118 1280x1024-16, 0x011a 1280x1024-32, 0x011b 320x200-8, 0x0130 320x400-8, 0x0131 320x400-16, 0x0132 320x400-32, 0x0133 320x240-8, 0x0134 320x240-16, 0x0135 320x240-32, 0x0136 640x400-16, 0x013d 640x400-32, 0x013e 1600x1200-8, 0x0145 1600x1200-16, 0x0146 1600x1200-32, 0x014a but running hwinfo --framebuffer is giving these modes: 02: None 00.0: 11001 VESA Framebuffer [Created at bios.447] Unique ID: rdCR.cjCIAy2vYJD Hardware Class: framebuffer Model: "NVIDIA G84 Board - p403h06 3603" Vendor: "NVIDIA Corporation" Device: "G84 Board - p403h06 3603" SubVendor: "NVIDIA" SubDevice: Revision: "Chip Rev" Memory Size: 14 MB Memory Range: 0xfb000000-0xfbdfffff (rw) Mode 0x0300: 640x400 (+640), 8 bits Mode 0x0301: 640x480 (+640), 8 bits Mode 0x0303: 800x600 (+800), 8 bits Mode 0x0305: 1024x768 (+1024), 8 bits Mode 0x0307: 1280x1024 (+1280), 8 bits Mode 0x030e: 320x200 (+640), 16 bits Mode 0x030f: 320x200 (+1280), 24 bits Mode 0x0311: 640x480 (+1280), 16 bits Mode 0x0312: 640x480 (+2560), 24 bits Mode 0x0314: 800x600 (+1600), 16 bits Mode 0x0315: 800x600 (+3200), 24 bits Mode 0x0317: 1024x768 (+2048), 16 bits Mode 0x0318: 1024x768 (+4096), 24 bits Mode 0x031a: 1280x1024 (+2560), 16 bits Mode 0x031b: 1280x1024 (+5120), 24 bits Mode 0x0330: 320x200 (+320), 8 bits Mode 0x0331: 320x400 (+320), 8 bits Mode 0x0332: 320x400 (+640), 16 bits Mode 0x0333: 320x400 (+1280), 24 bits Mode 0x0334: 320x240 (+320), 8 bits Mode 0x0335: 320x240 (+640), 16 bits Mode 0x0336: 320x240 (+1280), 24 bits Mode 0x033d: 640x400 (+1280), 16 bits Mode 0x033e: 640x400 (+2560), 24 bits Mode 0x0345: 1600x1200 (+1600), 8 bits Mode 0x0346: 1600x1200 (+3200), 16 bits Mode 0x0347: 1400x1050 (+1400), 8 bits Mode 0x0348: 1400x1050 (+2800), 16 bits Mode 0x0349: 1400x1050 (+5600), 24 bits Mode 0x034a: 1600x1200 (+6400), 24 bits Mode 0x0352: 2048x1536 (+8192), 24 bits Mode 0x0360: 1280x800 (+1280), 8 bits Mode 0x0361: 1280x800 (+5120), 24 bits Mode 0x0362: 768x480 (+768), 8 bits Mode 0x0364: 1440x900 (+1440), 8 bits Mode 0x0365: 1440x900 (+5760), 24 bits Mode 0x0368: 1680x1050 (+1680), 8 bits Mode 0x0369: 1680x1050 (+6720), 24 bits Mode 0x037c: 1920x1200 (+1920), 8 bits Mode 0x037d: 1920x1200 (+7680), 24 bits Config Status: cfg=new, avail=yes, need=no, active=unknown Reproducible: Always I think I have encountered the same problem I tried to change the monitor of the same size, with a highest resolution of 1440x900, and a dvi portal. testvbe could then display in 1440x900, and it could be used on booting. But if the monitor is connected in VGA portal, 1440x900 in testvbe would become unavailable I also tried building my kernel with vesafb instead of uvesafb, but the problem remained. sorry about my bad english Portage 2.2_rc16 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.26-gentoo-r3 x86_64) ================================================================= System uname: Linux-2.6.26-gentoo-r3-x86_64-Intel-R-_Core-TM-2_Duo_CPU_E4500_@_2.20GHz-with-glibc2.2.5 Timestamp of tree: Wed, 03 Dec 2008 06:45:02 +0000 app-shells/bash: 3.2_p33 dev-lang/python: 2.4.4-r13, 2.5.2-r7 dev-util/cmake: 2.4.6-r1 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r2 sys-devel/automake: 1.7.9-r1, 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: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS=" http://gentoo.gg3.net/ http://src.gentoo.pl http://mirror.mdfnet.se/mirror/gentoo http://ftp.linux.ee/pub/gentoo/distfiles/" LANG="zh_CN.utf8" LDFLAGS="-Wl,-O1" LINGUAS="zh_TW zh_CN zh ja en" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/gentoo-china /usr/portage/local/layman/mozilla" SYNC="rsync://mirror.averse.net/gentoo-portage" USE="3dnow 3dnowext X a52 aac aalib acl alsa amd64 amr amrnb amrwb arts asf audiofile berkdb browserplugin bzip2 cairo cdparanoia chardet cjk cli cracklib crypt cups daap dbus dri dts dv dvb dvd dvdnav dvdread encode esd fbcondecor ffmpeg flac fortran gdbm gif glitz gpm hal iconv immqt isdnlog jpeg jpeg2k kde lame mad midi mikmod mmx mozilla mp3 mpeg mudflap multilib musepack ncurses nls nptl nptlonly nsplugin nvidia ogg opengl openmp oss pam pcre perl png portaudio pppd python qq qt3 qt3support qt4 readline reflection samba session sox spl sse sse2 ssl sysfs tcpd tiff truetype tta unicode usb vorbis wavpack wma x264 xcb xcomposite xine xml xorg xulrunner xv xvid zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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 mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="zh_TW zh_CN zh ja en" USERLAND="GNU" VIDEO_CARDS="fbdev glint i810 intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS (In reply to comment #3) > I think I have encountered the same problem > I tried to change the monitor of the same size, with a highest resolution of > 1440x900, and a dvi portal. testvbe could then display in 1440x900, and it > could be used on booting. But if the monitor is connected in VGA portal, > 1440x900 in testvbe would become unavailable I'm not sure I understood you correctly. If you connect a monitor to the DVI port before booting the computer, is 1440x900 listed in vbe_modes? Is it listed there if you connect a monitor to the VGA port before booting instead? Note that the part "before booting" is important here. uvesafb caches the BIOS information during boot and it is never refreshed afterwards. If a new mode becomes available because you switch monitors while the system is running, it will not appear in vbe_modes and the driver will not be able to use it. > I also tried building my kernel with vesafb instead of uvesafb, but the > problem remained. That's a bad sign.. I know of no circumstances in which a mode not working in vesafb would work in uvesafb. Maybe we have some problem in comunication, and then I describe it again for you. First, I connected the monitor with DVI port, and I got the mode 1440x900 in uvesafb. and then I closed the computer and connected another widescreen monitor with VGA port, and then I counldn't get any widescreen mode. (In reply to comment #5) > First, I connected the monitor with DVI port, and I got the mode 1440x900 in > uvesafb. > and then I closed the computer and connected another widescreen monitor with > VGA port, and then I counldn't get any widescreen mode. Thanks, it's all clear now :) Have you tried using vesafb with the VGA monitor and with 'vga=0x365' (or 0x364) on the kernel command line? yes i tried, but i can only get 1440x900 with a dvi monitor nomatter what monitor i use, with uvesafb or vesafb, I can find 1440x900 in `hwinfo --framebuffer`'s output (In reply to comment #7) > yes i tried, but i can only get 1440x900 with a dvi monitor > > nomatter what monitor i use, with uvesafb or vesafb, I can find 1440x900 in > `hwinfo --framebuffer`'s output Could you please emerge v86d with the 'debug' USE flag and post the output of testvbe when the monitor is connected to the VGA port? with VGA port, testvba output : VBE Version: 3.00 OEM String: NVIDIA OEM Vendor Name: NVIDIA Corporation OEM Prod. Name: G84 Board - p403h06 3603 OEM Prod. Rev: Chip Rev ID attr mode --------------------------- 0100 03bf 640x400-8 0101 03bf 640x480-8 0102 033f 800x600-4 0103 03bf 800x600-8 0104 033f 1024x768-4 0105 03bf 1024x768-8 0106 033f 1280x1024-4 0107 03bf 1280x1024-8 010e 03bf 320x200-16 010f 03bf 320x200-32 0111 03bf 640x480-16 0112 03bf 640x480-32 0114 03bf 800x600-16 0115 03bf 800x600-32 0117 03bf 1024x768-16 0118 03bf 1024x768-32 011a 03bf 1280x1024-16 011b 03bf 1280x1024-32 0130 03bf 320x200-8 0131 03bf 320x400-8 0132 03bf 320x400-16 0133 03bf 320x400-32 0134 03bf 320x240-8 0135 03bf 320x240-16 0136 03bf 320x240-32 013d 03bf 640x400-16 013e 03bf 640x400-32 0145 03bf 1600x1200-8 0146 03bf 1600x1200-16 014a 03bf 1600x1200-32 I think I'm running into the same problem. I've got a two monitor set-up, an LCD (primary) and CRT (secondary) monitors connected to one GeForce G80 graphics card. If I connect either of those monitors via a VGA cable, I get all modes up to 1600x1200, as I'd expect. However, if I boot with the LCD monitor on a DVI cable as my primary display, the highest I get is 1280x1024. I also can't switch the monitor between VGA and DVI mode without rebooting. My kernel line: video=uvesafb:1600x1200,mtrr:3,ywrap My v86d version: 0.1.9 $ uname -a Linux carmack 2.6.28-gentoo #4 SMP PREEMPT Mon Dec 29 01:52:12 EST 2008 x86_64 AMD Athlon(tm) 64 FX-62 Dual Core Processor AuthenticAMD GNU/Linux $ testvbe # (LCD or CRT connected via VGA) VBE Version: 3.00 OEM String: NVIDIA OEM Vendor Name: NVIDIA Corporation OEM Prod. Name: G80 Board - p356h01 OEM Prod. Rev: Chip Rev ID attr mode --------------------------- 0100 03bf 640x400-8 0101 03bf 640x480-8 0102 033f 800x600-4 0103 03bf 800x600-8 0104 033f 1024x768-4 0105 03bf 1024x768-8 0106 033f 1280x1024-4 0107 03bf 1280x1024-8 010e 03bf 320x200-16 010f 03bf 320x200-32 0111 03bf 640x480-16 0112 03bf 640x480-32 0114 03bf 800x600-16 0115 03bf 800x600-32 0117 03bf 1024x768-16 0118 03bf 1024x768-32 011a 03bf 1280x1024-16 011b 03bf 1280x1024-32 0130 03bf 320x200-8 0131 03bf 320x400-8 0132 03bf 320x400-16 0133 03bf 320x400-32 0134 03bf 320x240-8 0135 03bf 320x240-16 0136 03bf 320x240-32 013d 03bf 640x400-16 013e 03bf 640x400-32 0145 03bf 1600x1200-8 0146 03bf 1600x1200-16 $ testvbe # (LCD connected via DVI-D) VBE Version: 3.00 OEM String: NVIDIA OEM Vendor Name: NVIDIA Corporation OEM Prod. Name: G80 Board - p356h01 OEM Prod. Rev: Chip Rev ID attr mode --------------------------- 0100 03bf 640x400-8 0101 03bf 640x480-8 0102 033f 800x600-4 0103 03bf 800x600-8 0104 033f 1024x768-4 0105 03bf 1024x768-8 0106 033f 1280x1024-4 0107 03bf 1280x1024-8 010e 03bf 320x200-16 010f 03bf 320x200-32 0111 03bf 640x480-16 0112 03bf 640x480-32 0114 03bf 800x600-16 0115 03bf 800x600-32 0117 03bf 1024x768-16 0118 03bf 1024x768-32 011a 03bf 1280x1024-16 011b 03bf 1280x1024-32 0130 03bf 320x200-8 0131 03bf 320x400-8 0132 03bf 320x400-16 0133 03bf 320x400-32 0134 03bf 320x240-8 0135 03bf 320x240-16 0136 03bf 320x240-32 013d 03bf 640x400-16 013e 03bf 640x400-32 (In reply to comment #10) > If I connect either of those monitors via a VGA cable, I get all modes up to > 1600x1200, as I'd expect. However, if I boot with the LCD monitor on a DVI > cable as my primary display, the highest I get is 1280x1024. I also can't Does the LCD monitor support the 1600x1200 resolution? > switch the monitor between VGA and DVI mode without rebooting. Why is that? What happens if you boot with a monitor connected via the VGA cable and then switch to DVI without restarting the system? Do you get any signal on the DVI port? (In reply to comment #11) > > Does the LCD monitor support the 1600x1200 resolution? Yes, the LCD has a native resolution of 1600x1200. Works great in X, and works in the console when booting with a VGA cable. > > switch the monitor between VGA and DVI mode without rebooting. > > Why is that? What happens if you boot with a monitor connected via the VGA > cable and then switch to DVI without restarting the system? Do you get > any signal on the DVI port? Yes, if I switch cables after booting, I get no signal. > Yes, the LCD has a native resolution of 1600x1200. Works great in X, and works
> in the console when booting with a VGA cable.
Do you get a working framebuffer in the 1600x1200 video mode if you build your kernel with vesafb instead of uvesafb and boot with 'vga=0x346' on the kernel command line?
Created attachment 178306 [details]
Booting Linux 2.6.28 w/ vesafb, vga=0x346, showing no 1600x1200 mode while DVI cable is connected.
(In reply to comment #14) > Created an attachment (id=178306) [edit] > Booting Linux 2.6.28 w/ vesafb, vga=0x346, showing no 1600x1200 mode while DVI > cable is connected. In that case, I don't think there is anything I can do. Apparently, the Video BIOS disables the highest resolution modes when the DVI port is used. If 1600x1200 worked with vesafb, but not with uvesafb, I would suspect a bug in v86d. Since it works in neither of those, it looks like a problem with the BIOS and that's something we can't fix. Ok! Thanks a lot for analysing my problem! Perhaps others are running into the same issue as well. |