| Summary: | xrandr needs to ensure the right number of graphics heads are used | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Bill C. Riemers <briemers> |
| Component: | xorg-x11-server-utils | Assignee: | X/OpenGL Maintenance List <xgl-maint> |
| Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 15 | CC: | apodtele, fhimpe, mcepl, pbrobinson, richard, uraeus, xgl-maint |
| Target Milestone: | --- | Keywords: | Triaged |
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | [cat:rendering] | ||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | 708530 | Environment: | |
| Last Closed: | 2011-08-04 21:13:38 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | |||
| Bug Blocks: | 709028 | ||
|
Description
Bill C. Riemers
2011-05-30 12:59:06 UTC
Bill, I am sorry, but I am probably too dumb to get this. Could you please rewrite the issue in simple form: 1) what did you do? 2) what did you expect? 3) what should happen? I am sorry for asking for one more needinfo, but I got really lost while reading your story. Thank you OK. There are multiple scenarios. Lets start with a fairly simple one: Scenario A: (HDMI3 is off, LVDS1 is primary, VGA1 is off) 1) what did you do xrandr --newmode "1280x1024_75" 138.75 1280 1368 1504 1728 1024 1027 1034 1 072 -hsync +vsync xrandr --addmode VGA1 "1280x1024_75" xrandr --output HDMI3 --primary 2) what did you expect to happen I expected the same results as he previous version of Xrandr. LVDS1 is off, VGA1 is secondary, HDMI3 is primary. 3) what should happen Perhaps neither the old or he current behavoir is correct. Probably what should happen is the final command in this sequence xrandr --output HDM3 --primary should return an error that all graphics heads are in use, and LVDS1 should continue as primary. 4) what did happen Displays LVDS1 and HDMI3 both went black. Display VGA1 continued to display but was non-responsive. e.g. I could not move a mouse cursor into the screen or such. In the case where these commands were in the GNOME default init, I had a gdm login on the blank display. I was able to enter my password and login, desplite the blank display. Scenario B: (LVDS1 is primary, VGA1 is off, HDMI3 is off) 1) What did you do? xrandr --output HDMI3 --mode "1280x1024" xrandr --output LVDS1 --off 2) what did you expect to happen My laptop display LVDS1 to be off, and my HDMI3 display to be on. 3) what should happen Exactly what I describe. 4) what did happen The command xrandr --output LVDS1 --off failed. Apparently the primary display cannot be disabled without first assigning a new primary display. Scenario C: (HDMI3 is primary, VGA1 is secondary, LVDS1 is off) 1) what did you do? xrandr --output VGA1 --off;xrandr --output LVDS1 --primary 2) what did you expect to happen Display VGA1 disabled, display LVDS1 enabled as primary. Display HDMI3 still displaying as well. 3) what should happen Good question. I would expect what I described, or perhaps an error message if I am overlooking something. 4) what did happen Display VGA1 disabled. Display LVDS1 remained disabled. Display HDMI3 was still primary. There are of course many more scenarios. Ultimately, the net result is the only way to use the current version of xrandr is to completely micromanage. To know exactly what your hardware is capable of. (e.g. How many graphics heads.) Be aware of the current state before assigning a new one... And to put sleep statements or other delays to allow the state to settle, so commands never execute during the "adjustment" period, which can result in using too many graphics heads being used at once. OK, I will pass the bug to developers, but I guess /var/log/Xorg.0.log and /var/log/messages after these exercises would help us to understand what's going on. Thank you. It's always safest to use ALL --output instructions together with a SINGLE xrandr call. This is the only way that is demonstrated in the man page for multiple --output's. You want xrandr to read your mind, remember your last command, and even guess what xrandr call will be next. This ain't ever gonna work. Use a single xrandr call! For example: xrandr --output HDMI3 --mode "1280x1024" --output LVDS1 --off This is only a bug if this does not work. I'm sure it will. Thank you Alexei, good point. Reporter, can you retest this command, please? Alexei, no combining the commands does not work. The result of this particular combination is that all displays go black and remain that way. There seems to need to be a modest time delay between commands. Hi Bill, just wanted to say thanks for following up on this bug. I have to admit that I thought it was dead and forgotten already. Haven't been using my docking station monitor ever since I upgraded to Fedora 15, so this issue is frustrating me a lot. Sorry, it has been a while since I tried these scenarios. My last yum update pulled in approximately 400 updated packages, including xrandr alternatives. I tried all the above scenarios again, both with them combined on one line as you suggested, and in the original multiline format I reported, and they all work!!! The only scenarios that still are not working is when I have two displays active. e.g. If I have VGA1 active, LVDS1 active, and HDMI3 inactive then I get the following: $ xrandr --output HDMI3 --mode "1280x1024" --output LVDS1 --off xrandr: cannot find crtc for output HDMI3 This error message seems new, and is a big improvement over the prior behaviour where it left my display in a valid state. The following does work in that scenario: $ xrandr --output LVDS1 --off; xrandr --output HDMI3 --mode "1280x1024" Again, this is improvement, as previously this would not work without an additional delay like: $ xrandr --output LVDS1 --off; sleep 0.5; xrandr --output HDMI3 --mode "1280x1024" > This error message seems new, and is a big improvement over the prior behaviour
where it left my display in a valid state.
This should have read:
This error message seems new, and is a big improvement over the prior behaviour
where it left my display in a invalid state.
While it would be nice to be able to do the scenario I described that returns an error message, I do not consider that in anyway essential. Since all the scenarios I originally reported have been fixed, I would not mind if this ticket is close this as fixed upstream.
Thank you for letting us know. |