LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   Correct desktop resolution. Incorrect screensaver & lock resolution (https://www.linuxquestions.org/questions/linux-general-1/correct-desktop-resolution-incorrect-screensaver-and-lock-resolution-439176/)

mybootorg 04-26-2006 08:03 PM

Correct desktop resolution. Incorrect screensaver res (SOLVED)
 
I'm running Ubuntu 5.10 w/ Gnome on a Dell D610 Latitude Laptop. (Though I think the actual distro is probably less important as I've seen the same problem posted -- but not resolved -- by folks running Fedora etc.)

I'm docked and hooked up to a Dell 2001FPS monitor running at 1600x1200 resolution. My video card is an ATI Radeon Mobility M300 (M22) running on the "fglrx" driver.

The problem I am having is that when my screensaver starts, or I go to lock my workstation on my way to lunch, the lock screen or screensaver comes up at what looks like 1024x768 - in a smaller window - leaving the rest of my desktop exposed beneath it.

I feel like I have a pretty good grip on the possible locations of the .xscreensaver files and how to configure them. And also, I'm fairly certain I have xorg.conf set up properly (though I'm including it at the bottom of the post). Likewise, I have no other problems with resolution except when the screensaver or lock screen comes on. I can punch in my password and I'm back to my desktop @ 1600x1200 without any problems.

It "feels" to me like the screensaver is pulling its default resolution from somewhere other than what's currently running in Xserver, and somewhere other than the /etc/X11/xorg.conf file. But for the life of me, I can't figure out where or why this is occuring.

It should be noted that I originally installed Ubuntu 5.10 without the Dell Flat Panel attached and using the default resolution of the laptop LCD panel which *is* 1024x768. I doubt an installation would hard code such a thing as a base resolution, and if so, I see no way to change it in the GUI. However, the other posts of this problem that I've googled were of a similar variety - someone upgraded their monitor, got their monitor resolution correct, but their old resolution stayed on to haunt their screensaver and lock desktop.

Thanks in advance,

Craig Mitchell, St. Louis, Missouri

Code:

Section "Files"
        FontPath        "/usr/share/X11/fonts/misc"
        FontPath        "/usr/share/X11/fonts/100dpi/:unscaled"
        FontPath        "/usr/share/X11/fonts/75dpi/:unscaled"
        FontPath        "/usr/share/X11/fonts/Type1"
        FontPath        "/usr/share/X11/fonts/CID"
        FontPath        "/usr/share/X11/fonts/100dpi"
        FontPath        "/usr/share/X11/fonts/75dpi"
        # paths to defoma fonts
        FontPath        "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
        FontPath        "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
EndSection

Section "Module"
        Load        "GLcore"
        Load        "bitmap"
        Load        "ddc"
        Load        "dri"

# Load "extmod" but omit DGA extension - this must be included as is
#    if you want to change resolution on the fly

          SubSection "extmod"
              Option "omit xfree86-dga"
          EndSubSection

        Load        "extmod"
        Load        "freetype"
        Load        "glx"
        Load        "int10"
        Load        "type1"
        Load        "vbe"
EndSection

Section "InputDevice"
        Identifier        "Generic Keyboard"
        Driver                "kbd"
        Option                "CoreKeyboard"
        Option                "XkbRules"        "xorg"
        Option                "XkbModel"        "pc104"
        Option                "XkbLayout"        "us"
EndSection

Section "InputDevice"
        Identifier        "Configured Mouse"
        Driver                "mouse"
        Option                "CorePointer"
        Option                "Device"                "/dev/input/mice"
        Option                "Protocol"                "ImPS/2"
        Option                "Emulate3Buttons"        "true"
        Option                "ZAxisMapping"                "4 5"
EndSection

Section "InputDevice"
        Identifier        "Synaptics Touchpad"
        Driver                "synaptics"
        Option                "SendCoreEvents"        "true"
        Option                "Device"                "/dev/psaux"
        Option                "Protocol"                "auto-dev"
        Option                "HorizScrollDelta"        "0"
EndSection

Section "Device"
        Identifier        "ATI Technologies, Inc. Radeon Mobility M300 (M22)"
        Driver                "fglrx"
        BusID                "PCI:1:0:0"
EndSection

Section "Monitor"
        Identifier        "Dell 2001FPS"
        Option                "DPMS"
        HorizSync        31-81
        VertRefresh        60
        Modeline "1600x1200" 130.25 1600 1648 1680 1760 1200 1203 1207 1235
EndSection

Section "Screen"
        Identifier        "Default Screen"
        Device                "ATI Technologies, Inc. Radeon Mobility M300 (M22)"
        Monitor                "Dell 2001FPS"
        DefaultDepth        24
        SubSection "Display"
                Depth                24
                Modes                "1600x1200"
        EndSubSection
EndSection

Section "ServerLayout"
        Identifier        "Default Layout"
        Screen                "Default Screen"
        InputDevice        "Generic Keyboard"
        InputDevice        "Configured Mouse"
        InputDevice        "Synaptics Touchpad"
EndSection

Section "DRI"
        Mode        0666
EndSection


JZL240I-U 04-27-2006 07:39 AM

I don't know the technical reason either but here is something you might want to try: Search for [X|x]org.conf* (or any other intelligent combination with a wildcard). That should show all instances of xorg.conf (and, incidentally, xorg.conf.new etc...). Rename them to something different and copy your /etc/xorg.conf to their place(s).

Now your screensaver should hopefully behave properly ... ;)

mybootorg 04-27-2006 10:11 AM

Quote:

Originally Posted by JZL240I-U
I don't know the technical reason either but here is something you might want to try: Search for [X|x]org.conf* (or any other intelligent combination with a wildcard). That should show all instances of xorg.conf (and, incidentally, xorg.conf.new etc...). Rename them to something different and copy your /etc/xorg.conf to their place(s).

Now your screensaver should hopefully behave properly ... ;)

I did find another copy of xorg.conf under /usr/xresprobe and replaced it. However, this didn't help me any. Thanks for your kind suggestion nonetheless.

I almost wonder whether my docked laptop is causing the problem. Maybe with the lid closed, the screen is actually still on so Xserver is bringing the screensaver down to the lowest common denominator. It's a Schrondinger's Cat sort of thing really... is the screen really on with the lid closed? Or does it only turn on when I lift the lid? :P

JZL240I-U 04-27-2006 10:18 AM

Quote:

Originally Posted by mybootorg
I did find another copy of xorg.conf under /usr/xresprobe and replaced it. However, this didn't help me any. Thanks for your kind suggestion nonetheless.

Then you missed at least one. There is a template for xorg.conf somewhere on your machine which is copied to /etc/xorg.conf during the initial setup of the system...

Quote:

Originally Posted by mybootorg
I almost wonder whether my docked laptop is causing the problem. Maybe with the lid closed, the screen is actually still on so Xserver is bringing the screensaver down to the lowest common denominator. ...

As a guess, that's not it. The brute force approach would be to delete the 1024x768 resolution from xorg.conf. If this doesn't work you must have a copy somewhere else...

mybootorg 04-27-2006 05:31 PM

Double checking never hurts. So I went through my system with a fine tooth comb. I used 'find' to find all files having anything to do with xorg. I even piped the result through grep searching for references to 1024x768. Then I searched for references to 1024x768 in all of my files. Nothing of interest.

Here's an interesting new clue though. Today for grins, I was running at 1600x 1200 and decided to change my resolution on the fly to "1024x768" Guess what happened? That's right, it made a smaller sub-window of my desktop in the top left corner of my screen.

Suggests to me that it's not a problem with screensaver resoltuion -- but instead, a problem with changing resolution on the fly. Perhaps the screensavers also try to run at 1024x768 but instead of running in full screen resolution, they end up trapped in the box.

mybootorg 05-02-2006 10:48 PM

Correct desktop resolution. Incorrect screensaver & lock resolution (SOLVED)
 
I ****FINALLY**** found a solution to this. The other day on a whim I installed the Gnome Screensavers package. Its pretty basic. Not too many choices - like 3 or 4 choices of screensavers and none of them very interesting. But guess what. They run at the correct resolution and desklock works fine too.

This led me to investigate the problem from a strictly XScreensaver angle and the solution I found made me laugh.... it made me a laugh a big pirate laugh at the pure ridiculousness of it. HAR HARRRR HAR-HAR HARRRR HARRR!

Here's what I found. From the Xscreensaver faq:

Quote:

Originally Posted by Xscreensaver FAQ
This is a bug in the X server, not xscreensaver: the XF86VidModeGetViewPort() function is full of lies, and I don't see any way to work around it.

I believe this only happens on certain laptops, and possibly only on systems that have a docking station or external monitor that runs in a different resolution than the laptop's screen.

Sound familiar? Why yes it does...

Quote:

Originally Posted by Xscreensaver FAQ
There is discussion of this bug in the Red Hat and Debian bug systems; the buck was finally passed upstream to XFree86, where it is bug 421.

The XFree86 developers have closed the bug. As far as I can tell, their reason for this was, "this is an X server bug, but it's pretty hard to fix. Therefore, we are closing it."

So how about that. If you'd like them to actually fix this, you'll have to convince them that it matters, I guess...

In the meantime, you can work around this by editing your .xscreensaver file and setting the "GetViewPortIsFullOfLies" preference to True. That will make xscreensaver always run on the full size of the desktop, regardless of what lies the server tells about the currently-visible area. (This preference was added in version 4.16, May 2004.)

HAR-HAR HARR!

JZL240I-U 05-03-2006 02:39 AM

Gah ... what comes next? :rolleyes: I'm glad you could solve this, since I was just preparing a long list of links for you to investigate -- all of which would have helped just nothing.

So, congratulations and the appropriate kudos for your tenacity to solve this -- and for posting the solution here.


All times are GMT -5. The time now is 08:59 PM.