Fixing an external display refresh rate problem
I use a Dell 1226H External display with my PowerBook G4. Apparently the negotiation between the video card and the monitor didn’t go very well. The monitor offered a weird refresh rate, but could not actually support that rate when I selected it. I solved this problem, but only after a few unintuitive steps.
![]()
As you can see in the image (click to make it bigger), the monitor is offering a 74.8 MHz refresh rate. I thought “gee, I wonder what happens if I click on that.” Well, the answer is that my Dell monitor goes blank. I couldn’t use it. If I press the F7 key on the keyboard, I could turn on mirroring of displays, so I could at least use the monitor that way, but that’s not what I wanted. I wanted to reset Mac OS X’s notion of refresh rate and resolution for my montior. I wanted to just delete the preference file and restore default settings.
Here’s how I fixed it:
- Stop the window manager. This can be done in one of two ways.
- I logged out of the desktop and logged in via SSH from another workstation. This is probably the easiest thing to do, but it may not be easy for everyone. I don’t know if the other steps will work if you don’t login by ssh.
- Alternatively, you can edit
/etc/ttysto disable the window manager.- Run
sudo vi /etc/ttysor use some other equivalent means of editing the file. - Comment out the line that looks like this:
console "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow...
Commenting it out means putting a
#as the first character on the line. - Uncomment (i.e. remove the
#from the beginning of the line) the line that looks like:console "/usr/libexec/getty std.57600" vt100 on secure
- Restart
initby runningsudo kill -HUP 1. - Log out. You should find yourself staring at a command line.
- Run
- Remove two files:
- /Library/Preferences/com.apple.windowserver.plist
- ~/Library/Preferences/ByHost/com.apple.windowserver.abcdef.plist
Note that the abcdef will be some random series of letters and numbers.
- Restart the Window Server. This means reversing what you did before. If you edited
/etc/ttys, then reverse the edits and dosudo kill -HUP 1again. If you logged in by ssh, you can either reboot (sudo shutdown -r now) or you can kill two processes:- /System/Library/CoreServices/loginwindow.app
- the other process with
CoreServicesin its name. I forget its exact name now.
That should do it. The system will forget any resolution or refresh settings you had for the external monitor. It’s a bit of a heavyweight solution, but it works.