Intel HD Graphics: Suspend/Resume -> No Video after Resume

I did a fresh installation of FreeBSD 9.1-RELEASE amd64 on an Acer Aspire One 753 Netbook (SandyBridge, Intel Celeron U3400 CPU, Intel HD Graphics with 128 MB of dedicated system memory).

Sending it to suspend with zzz works, resume works as well except video.

I already tried some things mentioned in the wiki:

  • sysctl debug.acpi.suspend_bounce=1 followed by acpiconf -s 3 does not show any errors
  • kldload vesa.ko doesn't work ("kldload: can't load vesa.ko: File exists")
  • sysctl hw.acpi.reset_video=1 does not change anything
What else can I try?
 
I am just testing OpenBSD 5.2 on that computer, and suspend/resume works just fine right out of the box, with video coming back instantly on resume.

What are they doing differently?

BTW Once executing zzz on FreeBSD it takes quite some time for it to finally suspend, with some output about some USB disconnecting, whereas OpenBSD suspends instantly (within 2 seconds). Suspend/resume works fine running X as well on OpenBSD, didn't try on FreeBSD yet.
 
You get the message because the driver was already loaded:
Code:
kldload: can't load vesa: File exists

Try this settings values, hw.acpi.reset_video to zero (0) if your display is messed up after resume. For hw.acpi.sleep_delay setting to (3) to see if that helps.

I advice you to read Handbook: Chapter 12 Configuration and Tuning, which summarizes debugging methods and shows explanation to know if your system going well into S3 state.
 
Playing around with hw.acpi.reset_video, hw.acpi.sleep_delay and hw.acpi.s4bios did not help, video just does not recover after resume.

I installed Xorg with KMS using the intel video driver, but suspending from X again leads to the same result, video just does not come back.

I am pretty much out of options here, and I am about to give up.

What I don't understand: Is there anybody out there with Intel HD Graphics and suspend/resume working?

It is a general problem with Intel HD Graphics / intel video driver, or is it specific to certain hardware?

If it is a general problem, someone involved should have been able to reproduce the problem and have a closer look.

I still don't get why the functionality is there, the suspend/resume mechanism generally working, but not usable. And how it's possible, that it's working with OpenBSD just fine right out of the box.
 
MasterOne said:
And how it's possible, that it's working with OpenBSD just fine right out of the box.
Well, FreeBSD is not OpenBSD. OpenBSD uses Xenocara, a heavily-customized version of Xorg.
I'm sure you know that FreeBSD added support for GEM/KMS just a few months ago, and that 9.1 is the very first RELEASE version to include the changes. It's not perfect and we know it but it will mature with time hopefully.
 
There is a large time gap between the latest hardware developments and support provided by the current FreeBSD. This is being addressed correctly but is absolutely neccesary: patience.

IHMO patience is one of our best allies ;)

See http://wiki.freebsd.org/Xorg.
 
Suspend resume with KMS was working for me a while ago on CURRENT.
There were some comments a while back on CURRENT about it having broken at a specific revision, but I've been unable to test as yet...this probably has nothing to do with 9.1

Some ideas:

1) are you sure the system is still running after resume...try pinging or ssh. If it's hung, it's probably a different issue than the screen just being off
--These assume the answer to 1 is yes--
a) Do you have working backlight control of some kind? Maybe the brightness gets reset to 0?
b) Have you tried with a monitor attached to an external port
--These assume the answer to 1 is no--
a) Can you set the /var mount options to include sync and see the last log entry (or whichever filesystem contains /var/log)
b) Set debug.acpi.resume_beep=1 ... does it make a horrible modem/warble sound, no sound, or a single beep?
 
cpu82 said:
There is a large time gap between the latest hardware developments and support provided by the current FreeBSD. This is being addressed correctly but is absolutely neccesary: patience.
I know, and it's the reason I don't use any recent hardware. Be aware, that SandyBridge is something from the day before yesterday, that netbook is from 2010.

m6tt said:
are you sure the system is still running after resume...try pinging or ssh. If it's hung, it's probably a different issue than the screen just being off
Yes, system is running, I can reboot entering the command blindly and I still have SSH access after resume.

m6tt said:
Do you have working backlight control of some kind? Maybe the brightness gets reset to 0?
I would not know how to check, but the screen is turned off, not just dimmed.

m6tt said:
Have you tried with a monitor attached to an external port
No, didn't try that.

m6tt said:
Can you set the /var mount options to include sync and see the last log entry (or whichever filesystem contains /var/log)
Didn't try that. What do you think it would show? The system is indeed running after resume, so whatever the problem is with video not being restored I don't think anything will show up in the logs.
m6tt said:
Set debug.acpi.resume_beep=1 ... does it make a horrible modem/warble sound, no sound, or a single beep?
Already tried that, it makes a single beep. The netbook properly goes into suspend, I can see the LED and power button slowly blink orange. Resume definitely works, so this really is about video not being restored.

One other thing I am not clear about: With KMS the virtual consoles do not work any more. I used taz's [howto] minimal FreeBSD desktop for a quick desktop setup without display/login manager, so once I try to exit from X it all goes black and as far as I could read about that issue, there is no solution (yet) because console is not included in KMS, and the driver can not be unloaded. So the only way would be to use a display/login manager to not return to the console, right?
 
MasterOne said:
One other thing I am not clear about: With KMS the virtual consoles do not work any more. I used taz's [howto] minimal FreeBSD desktop for a quick desktop setup without display/login manager, so once I try to exit from X it all goes black and as far as I could read about that issue, there is no solution (yet) because console is not included in KMS, and the driver can not be unloaded. So the only way would be to use a display/login manager to not return to the console, right?
AFAIK, you still have access to the console. It's there and you should be able to type commands (e.g. to shutdown or reboot) but you can't see the text.
 
I wrote an e-mail to the mailing list a few months ago, but got no response. Below is my testing on ThinkPad X220, maybe it can help, maybe not.

As a side question, how many more years do we have to wait for a working suspend/resume? I think I personally have been waiting since 7.X. This is a key feature in today's computing, especially for notebooks, yet it is still not working for FreeBSD. Yet support for all kinds of esoteric and archaic hardware is constantly being added :x. You can't tell me more people use some network card by a god-forgotten manufacturer than people who want suspend/resume. OpenBSD may be anything, but they have this working.

- testing was done in console mode
$ uname -a
FreeBSD LGX 10.0-CURRENT FreeBSD 10.0-CURRENT #2: Tue Oct 9 11:37:31 PDT 2012 alakazam@LGX:/usr/obj/usr/src/sys/GENERIC amd64

- With acpi_ibm.ko unloaded, it suspends with "acpiconf -s 3"
- Power led is blinking
- Beeps on suspend, beeps on resume
- Screen resumes off.
- Keyboard works and I am able to "reboot"
- "kldload acpi_ibm" "kldload vesa" "kldload i915kms" do nothing

- With acpi_ibm.ko loaded, it suspends with "acpiconf -s 3"
- Power led is blinking
- Beeps on suspend, beeps on resume
- Screen resumes off
- Keyboard works and I am able to "reboot"
- "kldload vesa" "kldload i915kms" do nothing

- With acpi_ibm.ko loaded, "sysctl debug.acpi.suspend_bounce=1", it doesn't suspend with "acpiconf -s 3"
- Doesn't suspend
- Screen is on, but it's all black
- Keyboard works and I am able to "reboot"
- "kldload vesa" "kldload i915kms" do nothing

- With acpi_ibm.ko and i915kms.ko loaded, it suspends with "acpiconf -s 3"
- Screen turns off after loading module, solution is to startx, but I am not testing that.
- Power led is blinking
- Beeps on suspend, beeps on resume
- Screen resumes off
- "startx" turns on screen, but it's black with random line in top left.
- "kldload vesa" "kldload i915kms" do nothing
 
Back
Top