If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Rate Thread | Display Modes |
#1
|
|||
|
|||
How to stop W7 arbitrarily changing screen resolutions
I have a laptop in a docking station, which is convenient because
various cables such as the network lead, mouse, and keyboard connect to the dock rather than the laptop, so I can just lift the laptop out of the dock and carry it elsewhere, sometimes even to another dock. The problem is that none of the docks have a monitor plugged into them - mine caught fire, literally, about 9 months ago, and as the only desktop PCs I have were running W2k and I'm short of cash, I didn't think it was an urgent matter to replace it - so Windumb defaults the screen resolution to 1024x768, whereas the laptop's native resolution is 1440x900, which is what I want to use. Even if I set the resolution to 1440x900, if the account times out and locks, or I close the lid to hibernate, when I next log back in all the windows have been rammed into the top-left corner and reduced in size, because either at the log in screen or between it and the user's resolution preference being set, Windumb has defaulted the resolution back to 1024x768. How can I tell Windumb to use *ONE* screen resolution across the entire platform - login screen, default user resolution (and disallow the user from changing it), etc - as in the good old days? |
Ads |
#2
|
|||
|
|||
How to stop W7 arbitrarily changing screen resolutions
Java Jive wrote:
I have a laptop in a docking station, which is convenient because various cables such as the network lead, mouse, and keyboard connect to the dock rather than the laptop, so I can just lift the laptop out of the dock and carry it elsewhere, sometimes even to another dock. The problem is that none of the docks have a monitor plugged into them - mine caught fire, literally, about 9 months ago, and as the only desktop PCs I have were running W2k and I'm short of cash, I didn't think it was an urgent matter to replace it - so Windumb defaults the screen resolution to 1024x768, whereas the laptop's native resolution is 1440x900, which is what I want to use. Even if I set the resolution to 1440x900, if the account times out and locks, or I close the lid to hibernate, when I next log back in all the windows have been rammed into the top-left corner and reduced in size, because either at the log in screen or between it and the user's resolution preference being set, Windumb has defaulted the resolution back to 1024x768. How can I tell Windumb to use *ONE* screen resolution across the entire platform - login screen, default user resolution (and disallow the user from changing it), etc - as in the good old days? This utility is capable of taking a "real time" PNP reading from the hardware, as well as showing a value in the registry recorded against a device. https://www.entechtaiwan.com/util/moninfo.shtm How it's supposed to work (roughly), is laptop panels don't have an EDID. Instead, there is some sort of fakery provided by the BIOS or something. The BIOS has ACPI tables, and is able to pass a good deal of information as a standardized set of PNP-like informations. The manufacturer can add a table at manufacturing time, that declares the dimensions of the LVDS interface LCD panel. If you have a laptop model with two panels as possible product fittings (say a 1366 and a 1920 HD option), then if you put the wrong panel in as a replacement, you get black bars on two sides. This is because the BIOS is set up for 1366, and when a 1920 panel is installed, the PNP is still indicating 1366. And I don't know if that one is easy to fix either - other than some sort of BIOS or utility trick from the chipset maker. (Video drivers have overrides for regular monitors, so you can select values not in the EDID table. As can Entechtaiwan Powerstrip, a product no longer for sale.) Regular monitors are better, in that being portable and self-sufficient devices, they have a "datapath" on the cable, plus a one-way serial channel. The serial channel is DDC and reads an EDID EEPROM. The EEPROM should really be read-only, but some (unfortunately) also support write and get damaged while the user is using the monitor. The EDID gives a table, including a max (native) resolution for usage. The video card has the serial bus to read this. And that's what "moninfo" utility is using in real time. At least for a real monitor, it can command the video card to check the serial bus and read the table. More than 20 years ago, they used to make monitors that were not multisync. The monitors had only one modeline value. If you connected a multisync OS to a single sync monitor, and commanded 135Hz refresh rate, you could destroy the monitor. Naturally, this led to the notion of lawsuits and class action suits. As a result of those unfortunate incidents, the video card drivers have a policy. They won't use "excessive" VESA settings unless they have proof in the form of an EDID table. The consideration would be, for example, that 1024x768 or 1152x870 might be "safe" as those were values used by the "monitors that could fry". Projectors with VGA interfaces, for reasons known unto themselves, didn't have EDID and DDC/CI serial clock and data. They just had RGBHV. And that's kinda what your symptoms are like. Your inability to hold a resolution, could be related to a lack of EDID PNP info useful for "guaranteeing" that the res you selected is safe. It would be normal for the office "projector" for meetings, to revert to 1024x768 @ 60Hz. It could be, that for some reason, your CurrentControlSet is reverting to one of the backup sets, at every boot, and it's somehow related to a behavior like that. It's less likely that whatever table the BIOS passes in lieu of the LCD panel (LVDS) is not getting passed properly. Connecting to a dock, can cause "new hardware detections". But if the dock doesn't actually touch the internal VGA interface from the chipset, I fail to see how that should throw off a resolution setting, or fool the chipset graphics to be running dual panels without an LCD panel connected to the dock. As for locations in the registry, it's tricky. The various monitor types and classes, are actually stored in different places. It's not necessarily true that two set of tables "live near one another". The guy at Entechtaiwan knows where those registry locations live, and I don't. I've looked before, but not been able to reliably track them down. But today, with Process Monitor (procmon), a person could certainly start a trace, and capture some registry operations that way, and see if they can detect a key which is getting written, while playing with the Display Control Panel. Automatic detection of connected displays (by impedance sensing), probably started close to 20 years ago, and the price we pay for that, is constant changes to settings. Powerstrip could be used to set a modeline (for say your office projector), but I don't know if Powerstrip actively hammers the Registry when you plug and unplug stuff. Since the office projector doesn't have DDC, there can't even be a product branding showing in the table, like "Bell and Howell". A 1024x768 projector would be "generic display device" or similar. Good luck, Paul |
Thread Tools | |
Display Modes | Rate This Thread |
|
|