Can't change video mode when monitor can't display current video mode
|Reported by:||idefix||Owned by:||axeld|
|Has a Patch:||no||Platform:||All|
I have a nVidia TNT2 card which used to have a CRT monitor connected to it, working at 1024x768 @ 85 Hz. Now I have connected a LCD monitor, but it doesn't like the 85 Hz so it displays a warning message. No matter what I try, I can't set the video mode to 60 Hz without connecting the CRT monitor again.
At first I tried to set in the bootloader the 'safe video mode' to 800x600. Haiku boots then with the bootscreen at 800x600 @ 60 Hz, but as soon the desktop loads the video mode is set to 1024x768 @ 85 Hz.
Secondly I tried to set the 'safe video mode' to 800x600 and also set the 'use save video mode'-flag. Haiku boots then into a desktop at 800x600 @ 60 Hz, but as it is using the vesa driver I can't change the video mode for the nVidia driver. So when it boots normally again, it's 1024x768 @ 85 Hz.
Thirdly I remembered the [Ctrl]-[Alt]-[Shift]-[F12] keystroke which in BeOS causes the display to VGA mode @ 60 Hz. In Haiku however I go into the kernel debugger (as I discovered in the serial output, the monitor still displayed a warning).
At this moment I can't see how I can change the video mode without connecting the CRT monitor.
A couple of solutions to this problem:
First, the nVidia driver should detect that the new monitor can't handle the current video mode. See bug #1696.
Secondly the [Ctrl]-[Alt]-[Shift]-[F12] keystroke should work the same as in BeOS.
Thirdly, as the bootloader already differentiate between the 'safe video mode'-setting with the 'use save video mode'-flag on or off, the setting with the flag off could be used to tell the nVidia driver the new resolution. The 'save video mode' should then be renamed to 'video mode'. When it has a value other than default, that video mode would be sent to the videocard-driver. If the 'use save video mode'-flag is on, that value would be used by the vesa-driver.