| Summary: | NVEnterVT fails with hybrid cards | ||||||
|---|---|---|---|---|---|---|---|
| Product: | xorg | Reporter: | zeng.shixin | ||||
| Component: | Driver/nouveau | Assignee: | Maarten Lankhorst <bugs> | ||||
| Status: | RESOLVED DUPLICATE | QA Contact: | Xorg Project Team <xorg-team> | ||||
| Severity: | critical | ||||||
| Priority: | medium | CC: | eparis, peter, tod.jackson | ||||
| Version: | unspecified | ||||||
| Hardware: | x86-64 (AMD64) | ||||||
| OS: | Linux (All) | ||||||
| Whiteboard: | |||||||
| i915 platform: | i915 features: | ||||||
| Attachments: |
|
||||||
Created attachment 78590 [details] [review] [PATCH] hw/xfree86: Allow xf86SetDesiredModes to succeed if no crtc's are enabled. I just noticed the same problem with xserver 1.14, x1.13 worked fine. Hopefully attached patch fixes it for you too. |
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.
Since on system with hybrid cards, the nvidia card might not be connecting to the screen, so Xf86SetDisiredMode could fail, which results in a fatal error for Xserver: [ 91825.257] (II) NOUVEAU(G0): NVEnterVT is called. [ 91825.258] Fatal server error: [ 91825.258] EnterVT failed for gpu screen 0 The following dirty hack fixes the problem. We should check for the connected screen before setting mode, but I don't know how to do that, since this is my first time to look at nouveau code. --- nv_driver-orig.c 2013-03-29 17:19:34.876953461 -0400 +++ nv_driver.c 2013-03-29 17:20:15.810287942 -0400 @@ -407,8 +407,7 @@ if (ret) ErrorF("Unable to get master: %s\n", strerror(errno)); - if (!xf86SetDesiredModes(pScrn)) - return FALSE; + xf86SetDesiredModes(pScrn); if (pNv->overlayAdaptor && pNv->Architecture != NV_ARCH_04) NV10WriteOverlayParameters(pScrn);