Bug 476831 (Intel-DVI-problem)
Summary: | Intel-DVI is not working on Q43/Q45 chipset. | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Rainer Koenig <Rainer.Koenig> | ||||||||||||
Component: | xorg-x11-drv-i810 | Assignee: | Adam Jackson <ajax> | ||||||||||||
Status: | CLOSED ERRATA | QA Contact: | desktop-bugs <desktop-bugs> | ||||||||||||
Severity: | high | Docs Contact: | |||||||||||||
Priority: | urgent | ||||||||||||||
Version: | 5.3 | CC: | akarlsso, alanm, blomqvist.janne, clasohm, cmeadors, cward, fmasi, gasmith, jplans, jschrode, jvillalo, ltroan, mgordon, ofourdan, riek, rlerch, rpacheco, tao, xgl-maint | ||||||||||||
Target Milestone: | rc | Keywords: | Patch, ZStream | ||||||||||||
Target Release: | --- | ||||||||||||||
Hardware: | All | ||||||||||||||
OS: | Linux | ||||||||||||||
Whiteboard: | |||||||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||||||
Doc Text: |
previously, although the code to support HDMI output was included in the driver, this was not initialized while the system detected displays. Therefore, the system was unable to detect monitors connected by DVI. HDMI detection is now enabled so that when the system initializes displays, the system can detect monitors on DVI connections and output to them correctly.
|
Story Points: | --- | ||||||||||||
Clone Of: | Environment: | ||||||||||||||
Last Closed: | 2009-09-02 11:55:28 UTC | Type: | --- | ||||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||||
Documentation: | --- | CRM: | |||||||||||||
Verified Versions: | Category: | --- | |||||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||||
Embargoed: | |||||||||||||||
Bug Depends On: | |||||||||||||||
Bug Blocks: | 500404 | ||||||||||||||
Attachments: |
|
Created attachment 327245 [details]
Good start with the vesa driver
Created attachment 328738 [details]
sosreport-rkoenig-528871-29378c
You can get graphical anaconda by forcing the X driver on the kernel command line: xdriver=vesa Created attachment 331543 [details]
Proposed patch (Part 1)
I received the hardware in Fab yesterday.
The code for HDMI is there, but i830_hdmi_init() is not called from I830SetupOutputs() in i830_driver.c, so the output is not detected.
if (IS_I9XX(pI830)) {
#if 1
i830_sdvo_init(pScrn, SDVOB);
i830_sdvo_init(pScrn, SDVOC);
#else
i830_hdmi_init(pScrn, SDVOB);
i830_hdmi_init(pScrn, SDVOC);
#endif
}
Backporting the code from intel 2.5.1 upstream makes the driver correctly detect and use the output.
The patch attached backports the detection part from 2.5.1, ie:
if (INREG(SDVOB) & SDVO_DETECTED) {
Bool found = i830_sdvo_init(pScrn, SDVOB);
if (!found && SUPPORTS_INTEGRATED_HDMI(pI830))
i830_hdmi_init(pScrn, SDVOB);
}
if (INREG(SDVOC) & SDVO_DETECTED) {
Bool found = i830_sdvo_init(pScrn, SDVOC);
if (!found && SUPPORTS_INTEGRATED_HDMI(pI830))
i830_hdmi_init(pScrn, SDVOC);
}
That requires that i830_sdvo_init() actually returns a boolean indicating if the detection was successful, so the patch also backports the return values from i830_sdvo_init() in i830_sdvo.c.
The output is detected with this patch, but it is not complete yet as:
- The resolution selected is not the native resolution of the connected monitor. It seems that the matching is done with the VGA output where no monitor is connected.
Explicitly disabling the VGA output in the xorg.conf makes the detection work correctly and the resolution is set as expected.
- Switching to the console does not work.
I am working on these remaining issue, but attaching the patch if others want to play with it.
Ok, maybe the video card was left in some weird state because of al lthe tests I've run, because after rebooting the resolution is properly selected. Patch looks good to me, thanks for hunting this down! Created attachment 331598 [details]
Proposed patch (Part 2)
This adds the missing bits to save/restore the HW state upon VT switch so that switching to console works with the hardware.
Both patches are required.
Can we get a sample brew build on a people.page to test with? I can put it on my people.page if necessary so the partner has access. The engineer has created a test build with the suggested patch and requests that it be tested. I've downloaded it to my people page for external access: http://people.redhat.com/ltroan/fixes/.it257945/ This is a preliminary build only, is NOT INTENDED AS THE FINAL FIX and is NOT INTENDED FOR A PRODUCTION ENVIRONMENT. This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release. > Partner has verified (PartnerVerified on BZ?) that this problem is resolved with the test package. > Regards, Gary Copying this to the BZ so that engineering knows. Internal Status set to 'Waiting on Engineering' This event sent from IssueTracker by alanm issue 250320 QA_ACK RHEL 5.4 Repoducer is in comment #0. I think we only have engineering samples of this hardware which are not completely trusted. We will test on it, but we may need reporter to help test this to reduce risk. 1794628 build (dist-5E-qu-candidate, /cvs/dist:rpms/xorg-x11-drv-i810/RHEL-5:xorg-x11-drv-i810-1_6_5-9_22_el5) completed successfully MODIFIED ~~ Attention - RHEL 5.4 Beta Released! ~~ RHEL 5.4 Beta has been released! There should be a fix present in the Beta release that addresses this particular request. Please test and report back results here, at your earliest convenience. RHEL 5.4 General Availability release is just around the corner! If you encounter any issues while testing Beta, please describe the issues you have encountered and set the bug into NEED_INFO. If you encounter new issues, please clone this bug to open a new issue and request it be reviewed for inclusion in RHEL 5.4 or a later update, if it is not of urgent severity. Please do not flip the bug status to VERIFIED. Only post your verification results, and if available, update Verified field with the appropriate value. Questions can be posted to this bug or your customer or partner representative. Release note added. If any revisions are required, please set the "requires_release_notes" flag to "?" and edit the "Release Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: previously, although the code to support HDMI output was included in the driver, this was not initialized while the system detected displays. Therefore, the system was unable to detect monitors connected by DVI. HDMI detection is now enabled so that when the system initializes displays, the system can detect monitors on DVI connections and output to them correctly. An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2009-1391.html |
Created attachment 327244 [details] Xorg log from a start with the intel driver Description of problem: Got an Eaglealake based desktop system with the following graphics devices: 00:02.0 VGA compatible controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03) 00:02.1 Display controller: Intel Corporation 4 Series Chipset Integrated Graphi cs Controller (rev 03) Problem is that if a monitor is connected to the DVI output only it is not working with the "intel" Xorg driver. Only VGA output works, but no DVI. Version-Release number of selected component (if applicable): xorg-x11-drv-i810-1.6.5-9.21.el5 How reproducible: Always. Steps to Reproduce: 1. Setup system with 1 monitor connected to DVI only 2. Start RHEL installation Actual results: Display gets black and remains black when anaconda starts. Expected results: Normal function, Xorg screen on the DVI attached monitor. Additional info: Everything works fine as long as you are in text mode. So you can even install in text mode. Anaconda seems to detect the Intel chip and configures the driver "intel" in the xorg.conf. This driver seems to have serious problems in detecting the DVI attached monitor. As a result you get a black screen and that's it. Workaround: After a text install change "intel" driver in xorg.conf to "vesa" and it works. Still open question: How can we get anaconda installing in graphical mode? ;-) I'll attach the Xorg logs from both a start with the failing "intel" driver and a good start with the "vesa" driver.