Summary: | Switching to tty1 gives only blank screen with version newer than 0.5.103 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Max Rus <off_mail> | ||||||||
Component: | Driver/openchrome | Assignee: | Kevin Brace <kevinbrace> | ||||||||
Status: | RESOLVED FIXED | QA Contact: | |||||||||
Severity: | normal | ||||||||||
Priority: | high | CC: | kevinbrace, openchrome-devel | ||||||||
Version: | git | ||||||||||
Hardware: | x86 (IA32) | ||||||||||
OS: | Linux (All) | ||||||||||
Whiteboard: | |||||||||||
i915 platform: | i915 features: | ||||||||||
Attachments: |
|
Created attachment 126148 [details]
register dump with blank tty1 screen (after blind login)
Created attachment 126149 [details]
Xorg.0.log for last working driver version and first problematic.
Hi Max, First of all, I apologize for causing inconvenience on your side. I do strive to fix OpenChrome, but unfortunately in the process, unexpected portions of the code breaks for some people. I have been aware of some issues with tty1 terminal switch for some time. At least with the two computer I mainly use for testing, Epic 1314 (VN896 chipset) and Sylvania g netbook (VX700 chipset), Ctrl + Alt + F1 switch works as long as the use does not put the computer into standby. (ACPI S3 State) Once the computer is put into standby, and resume from it, Ctrl + Alt + F1 causes Epic 1314 to freeze or causes Sylvania g netbook for have a blank screen similar to what you are describing. (It can come out of the blank screen with repeated Ctrl + Alt + F7. One try usually does not do it.) I do own a mainboard with P4M890 chipset (It was made by ABIT.), but due to a personal event that happened in mid-July, I do not have access to it, and it will be like this probably until October. Regarding the bisecting you have performed, Version 0.5.103 rewrote the VGA register save / restore portion. I did this, in order to fix a bug that caused Sylvania g netbook and KM400 chipset based boxes to lose the screen after standby resume. For both of them, standby resume now works, although Ctrl + Alt + F1 causes the screen to go blank from hereon. I will start working on fixing this bug before OpenChrome Version 0.6 release Regarding the cause, I will think that I am not properly saving all VGA registers is the root cause, but I have not found the exact root cause of the bug. That being said, since you did the bisecting of the bug, that will be a good starting point for me to look into the bug. Hi, Kevin. I tried to change function iga1_crtc_restore this way: diff --git a/src/via_display.c b/src/via_display.c index 721dfe8..e451f66 100644 --- a/src/via_display.c +++ b/src/via_display.c @@ -3188,7 +3188,7 @@ iga1_crtc_restore(xf86CrtcPtr crtc) ViaDisablePrimaryFIFO(pScrn); vgaHWLock(hwp); - vgaHWProtect(pScrn, TRUE); + vgaHWProtect(pScrn, FALSE); DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Exiting iga1_crtc_restore.\n")); and now TTY1-6 shows text. I can't explain why it worked (but I found similar function in internet with comments "ON: Reenable sequencer, then turn on screen." and decided to change this parameter to "ON"). And I have no knowledge how such a change could affect resume from standby process (ACPI S3 State) you tried to repair. Fixed by commit 9da49a3. https://cgit.freedesktop.org/openchrome/xf86-video-openchrome/commit/?id=9da49a3a4d568ee341d7d4677106a14d17596ab9 Version 0.5.151 fixes the issue. https://cgit.freedesktop.org/openchrome/xf86-video-openchrome/commit/?id=04370eb04e7cf8e4f90f574b3d96a414db0fdd40 |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 126147 [details] register dump with working tty1 screen I have a motherboard Asus P5VD2-MX SE with P4M890 and integrated VGA output. Lubuntu 16.04. Dell S2740L FullHD monitor connected to VGA output. I noticed that with newest drivers I can't see anything on the screen after switching to text console with Ctrl+Alt+F1. Returning to X session (Alt+F7) works normally. I bisected commits and found this one as the first with problem: f4166d683aeed6b5e17d8715ca676add112cb2e1 Date: Fri Jul 8 14:43:31 2016 -0500 Rewriting iga1_crtc_restore Rewrote iga1_crtc_restore callback function, in order to improve ACPI S3 State resume reliability. Driver with version before this commit shows TTY1 normally. Attached register dumps from normal and problematic versions (blindly logined and run "via_regs_dump -d -m -p"). Xorg.0.log files also are attached.