Summary: | [pnv] Phantom LVDS -- Intel D510MO mainboard | ||
---|---|---|---|
Product: | DRI | Reporter: | Andrey <annndddrr> |
Component: | DRM/Intel | Assignee: | Jani Nikula <jani.nikula> |
Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Your screen size is 2880x1200. You must use Option AccelMethod "SNA" for that to work. If you turn off one of monitors (e.g. xrandr -d :0 --output LVDS1 --off) then even UXA will work. Chris. Thank you for your comment. I understand that for some unknown reason resolution was set to 2880x1200. But why? I have only one monitor attached to the system through the installation and after, besides I have only one connector on the MB for video output - it is VGA 15-pin DSUB (LVDS connector isn't populated) Monitor highest supported resolution is 1600x1200. And this resolution is set correctly at GRUB stage (I see menu and vbeinfo returns 1600x1200). Kernel is configured to load with this resolution too. Why did X desided to go with 2880x1600 on my system??? How could I make it follow 1600x1200 during boot? Ok, so it's a phantom LVDS connection. For the time being, append video=LVDS-1:d to your kernel commandline. Can you please also grab the output of dmidecode for your system? Created attachment 78435 [details]
dmidecode
appending video=LVDS-1:d seems fixing the issue. System was able to boot in X with correct resolution for external monitor. I attached dmidecode Well that is odd. It's an Intel mainboard and Intel BIOS that appears broken. http://ark.intel.com/products/42645/Intel-Desktop-Board-D510MO confirms that there is no LVDS header, nor should there be en embedded version of the board with the same tag (that might actually use the LVDS). Looks like it might be safe enough for us to quirk... Created attachment 78457 [details] [review] Quirk phantom LVDS. Can you please try this patch (without video=LVDS-1:d on the commandline)? Chris, Let me share additional info before I try your patch. D510 motheboards had 2 spins: D510MOV http://ark.intel.com/products/48478/Intel-Desktop-Board-D510MOV D510MO http://ark.intel.com/products/42645/Intel-Desktop-Board-D510MO. The difference was that on MOV there was LVDS connector populated. BIOS seems to be the same for both motherboards - latest available version is 0542 https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=20288&lang=eng&OSVersion=&DownloadType=BIOS For LVDS there is no any plug-in detection mechanism other than reading EDID through I2C. So, to support a possibility, when both LVDS and VGA or only LVDS is connected to the motherboard, the LVDS EDID read should be executed in default case. It should help to detect complete list of active (means connected) displays. An additional mechanism to suppress output to LVDS or use custom DTD for a specific LVDS panel would be additional advantage to support custom design configurations and speed up boot. Which is pretty much what we do, with the exception that a suprising large bunch of panels don't have EDID support at all. So we also check the vbios as a last resort to figure out whether a panel is there. And since BIOS are equally cheap&buggy, we throw a quirk table on top to fix the remaining bits. Which for your board here isn't possible, since one version does indeed have an lvds port. So conclusion: You're unfortunately stuck with the kernel boot parameter, since I see no way to properly make this work in all configurations. My apologies for the sorry state of affairs here. I guess I do not agree with this resolution. It is not because I have to work around this by extra kernel option (I did this for my system and it works). It is because the logic looks incorrect. It is irrelevant to this specific motherboard and its bios. How will your driver work for a buggy free bios and motherboard that support internal LVDS panel and external VGA(or HDMI or DP) panel, when only external monitor was attached? Output the reproduction of famous Kazimir Malevich's Black Square? BIOS at his end have no chance to detect EDID-less panel too, but on the other hand it should be reliably enough to output BIOS menu for any display configuration. To achieve that, VBIOS orom configures in clone mode to make sure, if any display connected the bios menu will be displayed. This is not a bug. It doesn’t cause problem at bios level and work well in any display configuration. In your attempt to rely on BIOS configuration, you have to consider that the one is good for BIOS may not be good for OS driver in all cases. If you leave this issue unfixed, it would affect many dual panel motherboard with LVDS Well, the BIOS can't do more probing than what i915.ko can do, that's correct. But the BIOS has a hw description table (called VBT) which the board manufacturer is supposed to fill out, which tells it (and our driver) whether there's and LVDS. I guess we could just merge the quirk and revert it in case someone else (with the LVDS header configuration) complains that we broke his setup. Yeah why not merge the quirk? It makes life better on this board, so what's the problem? Looks like we can differentiate based on the DMI string between the board with and LVDS header and the one without... (In reply to comment #12) > Yeah why not merge the quirk? It makes life better on this board, so what's > the problem? Looks like we can differentiate based on the DMI string > between the board with and LVDS header and the one without... Apart from the dmi_match table uses strstr() and so the shorter D510MO will also quirk away the D510MOV... Created attachment 78636 [details] [review] drm/i915: don't quirk away LVDS on D510MOV (In reply to comment #13) > (In reply to comment #12) > > Yeah why not merge the quirk? It makes life better on this board, so what's > > the problem? Looks like we can differentiate based on the DMI string > > between the board with and LVDS header and the one without... > > Apart from the dmi_match table uses strstr() and so the shorter D510MO will > also quirk away the D510MOV... Use your imagination! The attached patch (n.b. not even compile tested) on top of Chris' D510MO quirk patch de-quirks D510MOV. Whether we want such an abomination is another matter. ;) Yeah, that's a workable solution. And there I was thinking we should teach the dmi_matcher to be exact where necessary... Created attachment 78640 [details] [review] dmi: add support for exact DMI matches in addition to substring matching Chris, but that's so conventional and boring and totally the right thing to do! Care to check this patch before I send it off to whichever is the appropriate list, please? Created attachment 78642 [details] [review] drm/i915: Quirk away phantom LVDS on Intel's D510MO mainboard v2 Andrey, please apply this patch and the patch from comment #17 above, and let us know if they fix the problem for you. We'll need that to move on. Thanks. Andrey, please try the patches attached in comment #17 and comment #18. Thanks. Ping for testing feedback, thanks. See bug 65256, it looks like Intel repeated their tricks of making two motherboards (one with and one without lvds) and using the same bios and broken layout. Jani, can you submit those patches along with a third for DMI_EXACT_MATCH(DMI_BOARD_NAME, "D525MW")? commit 5017b2851373ee15c7035151853bb1448800cae2 Author: Jani Nikula <jani.nikula@intel.com> Date: Wed Jul 3 15:05:02 2013 -0700 dmi: add support for exact DMI matches in addition to substring matching commit e5614f0c2d0f4d7f0b8ef745d34593baf2c5dbf8 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Jul 3 15:05:03 2013 -0700 drm/i915: quirk away phantom LVDS on Intel's D510MO mainboard |
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 78403 [details] dmesg, vbiosdump, Xorg.0.log I had installed 64-bit Fedora 18 LXDE spin from CD. All installation went well. The display was autoconfigured to 1600x1200 resolution. Can see GRUB boot menu. But when system rebooted and run from HDD the black screen appeared with mouse pointer. Mouse worked fine. Virtual terminal is available. Xrandr returns no display was found I can start X from virtual terminal, but the icons aren't appeared on the left bottom of LXDE desktop.