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>