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