i855/6.8.2/1280x768/swsusp1 - can't restore mode after hibernate

Felix Kühling fxkuehl at gmx.de
Tue Sep 27 10:19:31 PDT 2005


Am Dienstag, den 27.09.2005, 11:30 -0400 schrieb Jay R. Ashworth:
> I'm setting up one of these spiffy new Sony VGN-T350P subnotes for a
> client with SuSE9.3 dualbooting with WinXP.  Everything has worked out
> better than expected... except X.
> 
> It's running Xorg 6.8.2, and I have to use 855resolution to set one of
> the unused VBIOS modes to 1280x768, so that the Xserver can find that
> mode to use it -- even though there's a modeline in the config file for
> that resolution, X pukes on it, saying
> 
> (II) I810(0): Not using mode "1280x768" (no mode of this name)
> 
> unless I run 855resolution 5c 1024 768 at boot.
> 
> Now, that's ok, and I get widescreen... right up until I hibernate the
> machine.  Hibernation works *wonderfully*... but when X comes back up,
> it can't find the video mode anymore, and the suspended X server falls
> over, for KDM to restart it.
> 
> Note that this is *not* swsusp*2*; it's the kernel based version in
> SuSE's 2.6.11.4 kernel... which I would *much* rather run; this laptop
> is for a businessman, not a geek.
> 
> I can't tell you whether X pukes into it's log... because that log
> gets overwritten on the restart (should it rename the found log file to
> Xorg.#.log- on start, maybe?).
> 
> I realize that the *fundamental* problem here is Sony failing to pay
> Intel to put the proper resolution in the ROM VBIOS.  But that doesn't
> help me much.
> 
> Is there a way to convince Xorg to run that res without having the
> VBIOS say it's ok?  Or, alternatively, is there a way to re-run 855res
> on de-hibernate that I'm missing?

I'm using a script for hibernation that switches VTs before suspending.
This would give you time to restore the VBIOS mode before returning to
X:

        #!/bin/bash
        
        if [ "$1" != "__vt__" ]; then
            # Run the suspend script in its own VT. This allows user interaction
            # on resume, for example for netenv.
            openvt -s -w -- $0 __vt__ "$@"
            exit 0
        fi
        
        # Remove the __vt__ argument.
        shift
        
        # - suspend
        # - restore wide screen mode in vbios
        #
        # When this exits it will automatically switch back to the previous VT.
        # So X will find its current video mode in the BIOS by the time it wakes
        # up from hibernate.

HTH,
  Felix

>   I've tried setting it up as a
> service, and having /etc/sysconfig/powersave/sleep restart it, but that
> isn't working.  I'm beginning to think that maybe 855res needs to be
> translated into a module, so it can be reloaded... but maybe even
> *that* wouldn't be early enough in the unhibernate sequence.
> 
> Those linux laptop people who name everything after breeds of Penguins
> *sell this laptop with Linux*; I'm reasonably certain that a) they
> wouldn't tolerate this and therefore that b) it acn be solved.
> 
> I just don't know how.
> 
> Pointers appreciated.
> 
> Cheers,
> -- jra
-- 
| Felix Kühling <fxkuehl at gmx.de>                     http://fxk.de.vu |
| PGP Fingerprint: 6A3C 9566 5B30 DDED 73C3  B152 151C 5CC1 D888 E595 |




More information about the xorg mailing list