[Openchrome-users] Getting around VBE modes
userforum@openchrome.org
userforum
Sat Mar 11 06:23:19 PST 2006
Re: Getting around VBE modes
Whoo thanks Thomas!
I finally managed to fix this thing that has been bothering me for almost a year!
Unfortunately your reply isn't visible in the forum, but here's what happened:
I looked in via_driver.c as you suggested and added some debugging code.
Then I started X remotely. The driver calls ViaVbeSaveRestore in VIAScreenInit:
....
if (pVia->pVbe)
ViaVbeSaveRestore(pScrn, MODE_SAVE);
else
....
This call to ViaVbeSaveRestore is the problem. I removed this line completely and the whole delay problem is gone.
I also needed to remove the other calls to ViaVbeSaveRestore to be able to switch back and forth between a terminal and an X session.
Here's a patch for the SVN from 7 march. I don't know if this is useful for other cards as well.
--- openchrome-cvs-070306.bak/unichrome/via_driver.c 2006-03-11 15:17:09.000000000 +0100
+++ openchrome-cvs-070306/unichrome/via_driver.c 2006-03-11 15:01:38.000000000 +0100
@@ -1592,7 +1592,7 @@
DEBUG(xf86DrvMsg(scrnIndex, X_INFO, "VIAEnterVT\n"));
if (pVia->pVbe) {
- ViaVbeSaveRestore(pScrn, MODE_SAVE);
+/* ViaVbeSaveRestore(pScrn, MODE_SAVE);*/
ret = ViaVbeSetMode(pScrn, pScrn->currentMode);
} else {
VIASave(pScrn);
@@ -1661,9 +1661,9 @@
if (pVia->hwcursor)
ViaCursorStore(pScrn);
- if (pVia->pVbe)
+/* if (pVia->pVbe)
ViaVbeSaveRestore(pScrn, MODE_RESTORE);
- else
+ else*/
VIARestore(pScrn);
vgaHWLock(hwp);
@@ -2071,9 +2071,9 @@
if (!VIAMapMMIO(pScrn))
return FALSE;
- if (pVia->pVbe)
+/* if (pVia->pVbe)
ViaVbeSaveRestore(pScrn, MODE_SAVE);
- else
+ else*/
VIASave(pScrn);
vgaHWUnlock(hwp);
@@ -2409,9 +2409,9 @@
}
if (pScrn->vtSema) {
- if (pVia->pVbe)
+/* if (pVia->pVbe)
ViaVbeSaveRestore(pScrn, MODE_RESTORE);
- else
+ else*/
VIARestore(pScrn);
vgaHWLock(hwp);
More information about the Openchrome-users
mailing list