Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Aug 2010 19:17:42 +0200
From:      David DEMELIER <demelier.david@gmail.com>
To:        Jung-uk Kim <jkim@freebsd.org>
Cc:        freebsd-acpi@freebsd.org, "geoffrey.ferrari" <geoffrey.ferrari@me.com>
Subject:   Re: Black Display after suspend/resume on Thinkpad X201 with 8.1/amd64
Message-ID:  <AANLkTi=NFb6omF3F9J4DtfTJFrm17=qhrG-kwH3eMoYb@mail.gmail.com>
In-Reply-To: <201008161354.03666.jkim@FreeBSD.org>
References:  <35f41cee-79d9-4bad-c4b1-f6f7f816cf6f@me.com> <AANLkTinVAuzXz5pNQHZgQjU-5mYaHkUQ1T--4U6Gp3fT@mail.gmail.com> <AANLkTim63=4mTAcP-cDJ%2BAvErUwmi0wmCFdYxtJveHOX@mail.gmail.com> <201008161354.03666.jkim@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
2010/8/16 Jung-uk Kim <jkim@freebsd.org>:
> On Monday 16 August 2010 06:34 am, David DEMELIER wrote:
>> I enabled device dpms, and vesa stuff in the -CURRENT GENERIC
>> kernel config but for the moment it resumes well (even the screen!)
>> but take a look at the graphic output :
>>
>> http://files.malikania.fr/Photo0176.jpg
>>
>> This is X after resuming. Maybe the graphic card `cache|buffer'
>> should be cleaned.
>>
>> Suspend and resuming works on my laptop now !
>
> I am glad to hear it helped. :-)
>
> X.org framebuffer corruption is a totally different issue. =C2=A0For
> example, xf86-video-ati saves/restores everything when VT is
> switching (not only 2D frame buffer but also 3D texture buffer and
> some critical GPU registers, etc), which is the behaviour we are
> heavily relying on. =C2=A0In other words, if X.org driver "owns" the vide=
o
> card, we force switching to the first VT (just as we pressed
> CTRL-ALT-F1) so that X.org driver "releases" the video card before we
> suspend console, assuming the current video card state is completely
> saved by X.org driver. =C2=A0That way, we can just save the console state
> and we don't need to worry about X.org or whatever. =C2=A0Conversely, whe=
n
> we resume, we just restore the console state and switch VT (just as
> we pressed ALT-F9) assuming X.org driver will restore the previous
> state. =C2=A0If any X.org video drivers don't do it properly, we lose. =
=C2=A0I
> guess you may be experiencing this problem. =C2=A0We may save/restore
> "some" video memory contents but it is not a good idea because we can
> easily clobber X.org driver's idea of current state.
>
> Unfortunately, it is even possible some video drivers may not do it
> any more as Linux people started moving this type of stuff out of
> X.org drivers into Linux kernel and "old school" stuff (e.g., VT
> switching from user land) is no longer maintained well or not
> supported. :-(
>
> Jung-uk Kim
>

By the way, we can suspend with drm now, but resume make Xorg so slow... Sa=
d.

--=20
Demelier David



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTi=NFb6omF3F9J4DtfTJFrm17=qhrG-kwH3eMoYb>