Summary: | [RANDR, dual head] set monitor's position incorrect | ||
---|---|---|---|
Product: | xorg | Reporter: | WuNian <nian.wu> |
Component: | App/xrandr | Assignee: | Wang Zhenyu <zhenyu.z.wang> |
Status: | RESOLVED NOTABUG | QA Contact: | Xorg Project Team <xorg-team> |
Severity: | trivial | ||
Priority: | low | CC: | eric |
Version: | git | Keywords: | patch |
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
WuNian
2007-11-04 19:15:35 UTC
The git tip is used. commits: Xf86_video_intel: b434c1a437c407de88396b219560649c2dae82b2 Xserver: aec0d06469a2fa7440fdd5ee03dc256a68704e77 This is a bug of app/xrandr. In app/xrandr, it will set one monitor's position to 0x0. But this is not necessery. Below patch can fix this bug. diff --git a/xrandr.c b/xrandr.c index 2fb1212..abdff32 100644 --- a/xrandr.c +++ b/xrandr.c @@ -1378,31 +1378,6 @@ set_positions (void) if (!any_set) fatal ("loop in relative position specifications\n"); } - - /* - * Now normalize positions so the upper left corner of all outputs is at 0,0 - */ - min_x = 32768; - min_y = 32768; - for (output = outputs; output; output = output->next) - { - if (output->mode_info == NULL) continue; - - if (output->x < min_x) min_x = output->x; - if (output->y < min_y) min_y = output->y; - } - if (min_x || min_y) - { - /* move all outputs */ - for (output = outputs; output; output = output->next) - { - if (output->mode_info == NULL) continue; - - output->x -= min_x; - output->y -= min_y; - output->changes |= changes_position; - } - } } static void Keeping the monitors normalized so that the bounding box of their coverage aligns with the origin is the policy of the xrandr tool, and is very useful when people want to specify '-left-of' or '-above'. Changing this policy will break many existing tools. I don't think it's a sensible behaviour. The rule is reasonable. But when execute below commands: root@x-gm965:~/media# xrandr --output VGA --pos 400x800 root@x-gm965:~/media# xrandr --output LVDS --pos 200x700 Xrandr should not change the VGA's pos when execute the second command. We can tell the user that one monitor need to be locate 0x0, so the second command does not work. Reopen this bug ans change the priority to low. (In reply to comment #4) > The rule is reasonable. But when execute below commands: > > root@x-gm965:~/media# xrandr --output VGA --pos 400x800 > root@x-gm965:~/media# xrandr --output LVDS --pos 200x700 > > Xrandr should not change the VGA's pos when execute the second command. We can > tell the user that one monitor need to be locate 0x0, so the second command > does not work. > Since xrandr normalizes all outputs' position to the minmium one, shall we just document this behavior as xrandr's policy? Thanks, Hong So this is xrandr tool behavior, mark as not-a-bug. My option is in comment #4. Of coz, the bug is trivial and we can think this a known issue. |
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.