I have a Nvidia 7050PV onboard videocard connected to a 46" LCD TV via HDMI which has a 1920x1080 reolution. When i run vbetest it reports 1400x1050 as highest selectable resolution. attatching output of vbetest and cat /sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_modes. Reproducible: Always
Created attachment 138207 [details] vbetest output
Created attachment 138208 [details] uvesafb vbe_modes output
Created attachment 138210 [details] dmesg | grep vesa
Please emerge v86d with the 'debug' USE flag and attach the output of `testvbe`.
Created attachment 138274 [details] testvbe output
Since uvesafb and testvbe use exactly the same mechanism to get a list of supported modes and since the list from uvesafb lacks modes listes by testvbe, I guess the mode list returned by the Video BIOS is actually dependent on the time at which it is requested. Could you please try building uvesafb as a module and loading it manually _after_ boot (i.e. at the same time you'd normally run testvbe)?
Created attachment 138333 [details] uvesafb compiled as module
It seems to work as you say, now there are more modes listed now.
Are you also using the binary nvidia drivers? If you are, try not loading the nvidia kernel module before uvesafb. My guess is that the mode list reported by uvesafb or testvbe will be the same as the original one which caused you to file this bug.
You are correct. I have now removed the nvidia binary module, rebooted and modprobed the uvesafb module. It now reports the same modes uvesafb does when compiled into the kernel. Also testvbe reports the same as uvesafb compiled into the kernel.
Unfortunately, there is nothing I can do there. Apparently the binary nvidia module somehow modifies the BIOS or the state of the video card so that more video modes are reported. If you need to use one of these modes, you can try loading the nvidia module before uvesafb (I realize this is very inconvenient).
Well its nvidia that sucks then :) Now I at least know what the problem is, thanks.
This bug may have to be reponed, since the workaround with loading the binary drivers dont work anymore! First i had uvesafb compiled into kernel, but i could not use my TFT native resolution (1440x900). Then i followed the suggestions on this page to workaround this problem, but it did not helped: nvidia module is loaded before uvesafb: NVRM: loading NVIDIA UNIX x86 Kernel Module 177.82 Tue Nov 4 13:35:57 PST 2008 uvesafb: NVIDIA Corporation, G86 Board - p403h22 , Chip Rev , OEM: NVIDIA, VBE v3.0 cat /sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_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 An other thing to note: After loading uvesafb (doesnt matter kernel or module) with resolution 1440x900 it even sets to a higher resolution, which in my case isnt that bad since my monitor can still display things, but which will not work for all: fbset -i mode "1600x1200-60" # D: 161.057 MHz, H: 74.529 kHz, V: 60.007 Hz geometry 1600 1200 1600 9175 8 timings 6209 281 108 38 1 172 3 vsync high rgba 8/0,8/0,8/0,0/0 endmode Frame buffer device information: Name : VESA VGA Address : 0xd1000000 Size : 14680064 Type : PACKED PIXELS Visual : PSEUDOCOLOR XPanStep : 0 YPanStep : 1 YWrapStep : 0 LineLength : 1600 Accelerator : No
sorry for the previous comment, it only affects widescreen resolutions which are not supported by uvedafb.