Xorg (i810) freezes randomly when using hardware accel

Oliver Fromme olli at lurza.secnetix.de
Wed Sep 20 06:05:50 PDT 2006


Markus Hoenicka <markus.hoenicka at mhoenicka.de> wrote:
 > I'm running FreeBSD 6.1 on a MSI260 subnotebook. It's a Centrino thing using the
 > 915GM chipset. Xorg is running (mostly) alright using the current 6.9.0 ports.

I have pretty much the same setup with a Samsung notebook:
Centrino, 915GM chipset, FreeBSD RELENG_6 (which is now
6.2-PRERELEASE), Xorg 6.9.0, i810 driver.  I have never
experienced freezes.

So there must be a difference somewhere.  Maybe you should
also try to upgrade to latest RELENG_6?

 > The real bad thing is that after the i810 driver freezes X, I can't access the
 > console anymore. Pressing Ctrl+Alt+backspace sometimes alters the frozen
 > display to a modern-art style random pattern, but the box does not react to
 > further keypresses, and the display never leaves graphics mode. FreeBSD is
 > still running happily underneath as I can log in from a remote box without a
 > hitch. The process list shows that all X-related stuff is gone, except a font
 > server.

If all X-related processes are gone, can you restart the X
server?  What happens if you try?

Obviously, what seems to happen is that the X server dies
in an uncontrolled way (e.g. due to a fatal signal), so it
doesn't have a chance to restore text mode.  Does it write
a core dump?  Are there any hints in the corg log file?

Maybe you should also try to ask for help on an Xorg
mailing list, as the problem might not be FreeBSD-specific.

 > 1) is there anything I can do to prevent the crashes in the first place?

I don't know what's causing the crash, so I don't know how
to prevent it.

 > 2) if it has to crash anyway, is there a magic incantation (even if I have to
 > log in remotely) to activate the console again? Having to reboot makes me feel
 > like running Windows.

You could try to log in on the text console (blindly) and
type "vidcontrol 80x25" to reset the standard text mode.
If you log in via ssh, you must redirect stdin so it uses
the right text console (you need to be root for this):
"vidcontrol 80x25 </dev/ttyv0".

Instead of "80x25" you could also try "VGA_80x25" or even
one of the VESA modes documented in the vidcontrol(8) man-
page, e.g. "VESA_132x25" (requires VESA support compiled
into the kernel).  After all, the VESA BIOS should know
best how to reset and initialize text mode.

If any of the above works, wrap the command into a shell
script, and create a pseudo-user who has that script as
its login shell.  Give that pseudo-user a short name and
no password, and make sure that it can only log in from
the console, but not remotely.  Then you can easily reset
the screen by simply typing that name blindly at the login
prompt.

Best regards
   Oliver

-- 
Oliver Fromme,  secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.

cat man du : where Unix geeks go when they die


More information about the freebsd-mobile mailing list