LemonBoy / bar

A featherweight, lemon-scented, bar based on xcb
MIT License
1.63k stars 194 forks source link

Monitor bar is rendered in is not consistent #59

Closed andornaut closed 10 years ago

andornaut commented 10 years ago

The monitor that bar is rendered in appears to change at random. I am able to reproduce this issue by starting bar multiple times using:

 echo "%{S0}test" |bar -g 1200x30+0+0 -p

xrandr output:

Screen 0: minimum 8 x 8, current 3120 x 1920, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 1920x1200+1200+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200      60.0*+
   1920x1080      60.0     59.9     50.0     60.0     50.0  
   1680x1050      60.0  
   1600x1200      60.0  
   1440x900       59.9  
   1280x1024      60.0  
   1280x960       60.0  
   1280x720       60.0     59.9     50.0  
   1024x768       60.0  
   800x600        60.3  
   720x576        50.0  
   720x480        59.9     60.1  
   640x480        59.9     59.9  
DP-0 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1200x1920+0+0 left (normal left inverted right x axis y axis) 520mm x 320mm
   1920x1200      60.0*+
   1920x1080      60.0     59.9     50.0     60.0     50.0  
   1680x1050      60.0  
   1600x1200      60.0  
   1440x900       59.9  
   1280x1024      60.0  
   1280x960       60.0  
   1280x720       60.0     59.9     50.0  
   1024x768       60.0  
   800x600        60.3  
   720x576        50.0  
   720x480        59.9     60.1  
   640x480        59.9     59.9 

I'm using the current master branch head.

LemonBoy commented 10 years ago

@jvvv Could this be related to the issues you mentioned in some other reports ?

jvvv commented 10 years ago

I suppose it's possible, but I don't think so. With the current master, the monitors are sorted, so that the monitor at +0+0 will be %{S0}. I can't think how that is changing, if it's not changing on the host. I will review the code again this weekend to make sure there isn't some corner case I'm missing. One question and also doubt I have about the test case is that the bar command is called multiple times with the '-p' (persist option), but no mention of killing the previous instance of bar. I can't see how that would have an effect, but I'm also perplexed how such a straight forward sort algorithm could be getting this wrong. It would also help to see both Xorg.log and .xsession-errors (or it's equivalent) for the time period of the test case. Something weird is going on here, and my gut reaction is that a vital peice of this puzzle is missing.

andornaut commented 10 years ago

bar is killed between multiple invocations.

andornaut commented 10 years ago

It would also help to see both Xorg.log and .xsession-errors (or it's equivalent) for the time period of the test case

There is no output to either ~/.xsession-errors or Xorg.0.log when running echo "%{S0}test" |bar -g 1200x30+0+0 -p.

I've included the contents of my Xorg.0.log file below. This log is from a freshly started X session, after which I ran the bar command above a few times in order to reproduce the issue reported in this ticket.

Note that I'm using bar and bspwm on three machines, all of which have dual monitors, but I am only experiencing this issue on one machine.

Let me know if there's anything else I can do to help debug this issue.

[445759.251] 
X.Org X Server 1.15.1
Release Date: 2014-04-13
[445759.252] X Protocol Version 11, Revision 0
[445759.252] Build Operating System: Linux 3.2.0-37-generic x86_64 Ubuntu
[445759.252] Current Operating System: Linux andornaut 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64
[445759.252] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.13.0-24-generic root=UUID=179bf40c-7b06-4974-9ad6-70f463e91fe2 ro splash quiet nomdmonddf nomdmonisw nomdmonddf nomdmonisw nomdmonddf nomdmonisw nomdmonddf nomdmonisw
[445759.253] Build Date: 16 April 2014  01:36:29PM
[445759.253] xorg-server 2:1.15.1-0ubuntu2 (For technical support please see http://www.ubuntu.com/support) 
[445759.253] Current version of pixman: 0.30.2
[445759.253]    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
[445759.253] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[445759.255] (==) Log file: "/var/log/Xorg.0.log", Time: Fri May 23 20:45:57 2014
[445759.255] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[445759.255] (==) No Layout section.  Using the first Screen section.
[445759.255] (==) No screen section available. Using defaults.
[445759.255] (**) |-->Screen "Default Screen Section" (0)
[445759.256] (**) |   |-->Monitor "<default monitor>"
[445759.256] (==) No monitor specified for screen "Default Screen Section".
    Using a default monitor configuration.
[445759.256] (==) Automatically adding devices
[445759.256] (==) Automatically enabling devices
[445759.256] (==) Automatically adding GPU devices
[445759.256] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[445759.256]    Entry deleted from font path.
[445759.256] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[445759.256]    Entry deleted from font path.
[445759.256] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[445759.256]    Entry deleted from font path.
[445759.256] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[445759.256]    Entry deleted from font path.
[445759.256] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[445759.256]    Entry deleted from font path.
[445759.256] (==) FontPath set to:
    /usr/share/fonts/X11/misc,
    /usr/share/fonts/X11/Type1,
    built-ins
[445759.256] (==) ModulePath set to "/usr/lib/x86_64-linux-gnu/xorg/extra-modules,/usr/lib/xorg/extra-modules,/usr/lib/xorg/modules"
[445759.256] (II) The server relies on udev to provide the list of input devices.
    If no devices become available, reconfigure udev or disable AutoAddDevices.
[445759.256] (II) Loader magic: 0x7f907fe72d60
[445759.256] (II) Module ABI versions:
[445759.256]    X.Org ANSI C Emulation: 0.4
[445759.256]    X.Org Video Driver: 15.0
[445759.256]    X.Org XInput driver : 20.0
[445759.256]    X.Org Server Extension : 8.0
[445759.256] (II) xfree86: Adding drm device (/dev/dri/card0)
[445759.258] (--) PCI:*(0:1:0:0) 10de:1189:3842:2673 rev 161, Mem @ 0xf6000000/16777216, 0xe8000000/134217728, 0xf0000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/524288
[445759.258] Initializing built-in extension Generic Event Extension
[445759.258] Initializing built-in extension SHAPE
[445759.259] Initializing built-in extension MIT-SHM
[445759.259] Initializing built-in extension XInputExtension
[445759.259] Initializing built-in extension XTEST
[445759.259] Initializing built-in extension BIG-REQUESTS
[445759.259] Initializing built-in extension SYNC
[445759.259] Initializing built-in extension XKEYBOARD
[445759.259] Initializing built-in extension XC-MISC
[445759.260] Initializing built-in extension SECURITY
[445759.260] Initializing built-in extension XINERAMA
[445759.260] Initializing built-in extension XFIXES
[445759.260] Initializing built-in extension RENDER
[445759.260] Initializing built-in extension RANDR
[445759.260] Initializing built-in extension COMPOSITE
[445759.260] Initializing built-in extension DAMAGE
[445759.261] Initializing built-in extension MIT-SCREEN-SAVER
[445759.261] Initializing built-in extension DOUBLE-BUFFER
[445759.261] Initializing built-in extension RECORD
[445759.261] Initializing built-in extension DPMS
[445759.261] Initializing built-in extension Present
[445759.261] Initializing built-in extension DRI3
[445759.261] Initializing built-in extension X-Resource
[445759.262] Initializing built-in extension XVideo
[445759.262] Initializing built-in extension XVideo-MotionCompensation
[445759.262] Initializing built-in extension SELinux
[445759.262] Initializing built-in extension XFree86-VidModeExtension
[445759.262] Initializing built-in extension XFree86-DGA
[445759.262] Initializing built-in extension XFree86-DRI
[445759.262] Initializing built-in extension DRI2
[445759.262] (WW) "glamoregl" will not be loaded unless you've specified it to be loaded elsewhere.
[445759.263] (II) "glx" will be loaded by default.
[445759.263] (WW) "xmir" is not to be loaded by default. Skipping.
[445759.263] (II) LoadModule: "glx"
[445759.263] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/libglx.so
[445759.271] (II) Module glx: vendor="NVIDIA Corporation"
[445759.271]    compiled for 4.0.2, module version = 1.0.0
[445759.271]    Module class: X.Org Server Extension
[445759.271] (II) NVIDIA GLX Module  331.38  Wed Jan  8 19:10:17 PST 2014
[445759.272] Loading extension GLX
[445759.272] (==) Matched nvidia as autoconfigured driver 0
[445759.272] (==) Matched nouveau as autoconfigured driver 1
[445759.272] (==) Matched nvidia as autoconfigured driver 2
[445759.272] (==) Matched nouveau as autoconfigured driver 3
[445759.272] (==) Matched modesetting as autoconfigured driver 4
[445759.272] (==) Matched fbdev as autoconfigured driver 5
[445759.272] (==) Matched vesa as autoconfigured driver 6
[445759.272] (==) Assigned the driver to the xf86ConfigLayout
[445759.272] (II) LoadModule: "nvidia"
[445759.272] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so
[445759.272] (II) Module nvidia: vendor="NVIDIA Corporation"
[445759.272]    compiled for 4.0.2, module version = 1.0.0
[445759.272]    Module class: X.Org Video Driver
[445759.272] (II) LoadModule: "nouveau"
[445759.272] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so
[445759.272] (II) Module nouveau: vendor="X.Org Foundation"
[445759.272]    compiled for 1.15.0, module version = 1.0.10
[445759.272]    Module class: X.Org Video Driver
[445759.272]    ABI class: X.Org Video Driver, version 15.0
[445759.272] (II) LoadModule: "modesetting"
[445759.272] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[445759.272] (II) Module modesetting: vendor="X.Org Foundation"
[445759.272]    compiled for 1.15.0, module version = 0.8.1
[445759.272]    Module class: X.Org Video Driver
[445759.272]    ABI class: X.Org Video Driver, version 15.0
[445759.272] (II) LoadModule: "fbdev"
[445759.273] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[445759.273] (II) Module fbdev: vendor="X.Org Foundation"
[445759.273]    compiled for 1.15.0, module version = 0.4.4
[445759.273]    Module class: X.Org Video Driver
[445759.273]    ABI class: X.Org Video Driver, version 15.0
[445759.273] (II) LoadModule: "vesa"
[445759.273] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[445759.273] (II) Module vesa: vendor="X.Org Foundation"
[445759.273]    compiled for 1.15.0, module version = 2.3.3
[445759.273]    Module class: X.Org Video Driver
[445759.273]    ABI class: X.Org Video Driver, version 15.0
[445759.273] (II) NVIDIA dlloader X Driver  331.38  Wed Jan  8 18:51:00 PST 2014
[445759.273] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[445759.273] (II) NOUVEAU driver Date:   Thu Nov 7 14:56:48 2013 +1000
[445759.273] (II) NOUVEAU driver for NVIDIA chipset families :
[445759.273]    RIVA TNT        (NV04)
[445759.273]    RIVA TNT2       (NV05)
[445759.273]    GeForce 256     (NV10)
[445759.273]    GeForce 2       (NV11, NV15)
[445759.273]    GeForce 4MX     (NV17, NV18)
[445759.273]    GeForce 3       (NV20)
[445759.273]    GeForce 4Ti     (NV25, NV28)
[445759.273]    GeForce FX      (NV3x)
[445759.273]    GeForce 6       (NV4x)
[445759.273]    GeForce 7       (G7x)
[445759.273]    GeForce 8       (G8x)
[445759.273]    GeForce GTX 200 (NVA0)
[445759.273]    GeForce GTX 400 (NVC0)
[445759.273] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[445759.273] (II) FBDEV: driver for framebuffer: fbdev
[445759.273] (II) VESA: driver for VESA chipsets: vesa
[445759.273] (--) using VT number 7

[445759.277] (II) Loading sub module "fb"
[445759.277] (II) LoadModule: "fb"
[445759.277] (II) Loading /usr/lib/xorg/modules/libfb.so
[445759.277] (II) Module fb: vendor="X.Org Foundation"
[445759.277]    compiled for 1.15.1, module version = 1.0.0
[445759.277]    ABI class: X.Org ANSI C Emulation, version 0.4
[445759.277] (WW) Unresolved symbol: fbGetGCPrivateKey
[445759.277] (II) Loading sub module "wfb"
[445759.277] (II) LoadModule: "wfb"
[445759.278] (II) Loading /usr/lib/xorg/modules/libwfb.so
[445759.278] (II) Module wfb: vendor="X.Org Foundation"
[445759.278]    compiled for 1.15.1, module version = 1.0.0
[445759.278]    ABI class: X.Org ANSI C Emulation, version 0.4
[445759.278] (II) Loading sub module "ramdac"
[445759.278] (II) LoadModule: "ramdac"
[445759.278] (II) Module "ramdac" already built-in
[445759.278] (WW) Falling back to old probe method for modesetting
[445759.278] (WW) Falling back to old probe method for fbdev
[445759.278] (II) Loading sub module "fbdevhw"
[445759.278] (II) LoadModule: "fbdevhw"
[445759.278] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[445759.278] (II) Module fbdevhw: vendor="X.Org Foundation"
[445759.278]    compiled for 1.15.1, module version = 0.0.2
[445759.278]    ABI class: X.Org Video Driver, version 15.0
[445759.278] (EE) open /dev/fb0: No such file or directory
[445759.279] (WW) Falling back to old probe method for vesa
[445759.279] (II) NVIDIA(0): Creating default Display subsection in Screen section
    "Default Screen Section" for depth/fbbpp 24/32
[445759.279] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[445759.279] (==) NVIDIA(0): RGB weight 888
[445759.279] (==) NVIDIA(0): Default visual is TrueColor
[445759.279] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[445759.279] (**) NVIDIA(0): Enabling 2D acceleration
[445759.629] (II) NVIDIA(0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445759.629] (II) NVIDIA(0):     stereo.
[445759.630] (II) NVIDIA(GPU-0): Found DRM driver nvidia-drm (20130102)
[445759.630] (II) NVIDIA(0): NVIDIA GPU GeForce GTX 670 (GK104) at PCI:1:0:0 (GPU-0)
[445759.630] (--) NVIDIA(0): Memory: 4194304 kBytes
[445759.630] (--) NVIDIA(0): VideoBIOS: 80.04.4b.00.70
[445759.630] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[445759.647] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-4)) does not support NVIDIA 3D Vision
[445759.647] (II) NVIDIA(GPU-0):     stereo.
[445759.648] (--) NVIDIA(0): Valid display device(s) on GeForce GTX 670 at PCI:1:0:0
[445759.648] (--) NVIDIA(0):     CRT-0
[445759.648] (--) NVIDIA(0):     DFP-0
[445759.648] (--) NVIDIA(0):     HP ZR2440w (DFP-1) (boot, connected)
[445759.648] (--) NVIDIA(0):     DFP-2
[445759.648] (--) NVIDIA(0):     DFP-3
[445759.648] (--) NVIDIA(0):     HP ZR2440w (DFP-4) (connected)
[445759.648] (--) NVIDIA(0): CRT-0: 400.0 MHz maximum pixel clock
[445759.648] (--) NVIDIA(0): DFP-0: Internal Single Link TMDS
[445759.648] (--) NVIDIA(0): DFP-0: 330.0 MHz maximum pixel clock
[445759.648] (--) NVIDIA(0): HP ZR2440w (DFP-1): Internal Single Link TMDS
[445759.648] (--) NVIDIA(0): HP ZR2440w (DFP-1): 165.0 MHz maximum pixel clock
[445759.648] (--) NVIDIA(0): DFP-2: Internal Single Link TMDS
[445759.648] (--) NVIDIA(0): DFP-2: 165.0 MHz maximum pixel clock
[445759.648] (--) NVIDIA(0): DFP-3: Internal Single Link TMDS
[445759.648] (--) NVIDIA(0): DFP-3: 330.0 MHz maximum pixel clock
[445759.648] (--) NVIDIA(0): HP ZR2440w (DFP-4): Internal DisplayPort
[445759.648] (--) NVIDIA(0): HP ZR2440w (DFP-4): 960.0 MHz maximum pixel clock
[445759.648] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
[445759.648] (**) NVIDIA(0):     device HP ZR2440w (DFP-1) (Using EDID frequencies has been
[445759.648] (**) NVIDIA(0):     enabled on all display devices.)
[445759.648] (WW) NVIDIA(GPU-0): The EDID for HP ZR2440w (DFP-1) contradicts itself: mode
[445759.648] (WW) NVIDIA(GPU-0):     "720x480" is specified in the EDID; however, the EDID's
[445759.648] (WW) NVIDIA(GPU-0):     valid HorizSync range (24.000-80.000 kHz) would exclude
[445759.648] (WW) NVIDIA(GPU-0):     this mode's HorizSync (15.7 kHz); ignoring HorizSync check
[445759.648] (WW) NVIDIA(GPU-0):     for mode "720x480".
[445759.649] (WW) NVIDIA(GPU-0): The EDID for HP ZR2440w (DFP-1) contradicts itself: mode
[445759.649] (WW) NVIDIA(GPU-0):     "720x480" is specified in the EDID; however, the EDID's
[445759.649] (WW) NVIDIA(GPU-0):     valid HorizSync range (24.000-80.000 kHz) would exclude
[445759.649] (WW) NVIDIA(GPU-0):     this mode's HorizSync (15.7 kHz); ignoring HorizSync check
[445759.649] (WW) NVIDIA(GPU-0):     for mode "720x480".
[445759.649] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
[445759.649] (**) NVIDIA(0):     device HP ZR2440w (DFP-4) (Using EDID frequencies has been
[445759.649] (**) NVIDIA(0):     enabled on all display devices.)
[445759.650] (WW) NVIDIA(GPU-0): The EDID for HP ZR2440w (DFP-4) contradicts itself: mode
[445759.650] (WW) NVIDIA(GPU-0):     "720x480" is specified in the EDID; however, the EDID's
[445759.650] (WW) NVIDIA(GPU-0):     valid HorizSync range (24.000-80.000 kHz) would exclude
[445759.650] (WW) NVIDIA(GPU-0):     this mode's HorizSync (15.7 kHz); ignoring HorizSync check
[445759.650] (WW) NVIDIA(GPU-0):     for mode "720x480".
[445759.650] (WW) NVIDIA(GPU-0): The EDID for HP ZR2440w (DFP-4) contradicts itself: mode
[445759.650] (WW) NVIDIA(GPU-0):     "720x480" is specified in the EDID; however, the EDID's
[445759.650] (WW) NVIDIA(GPU-0):     valid HorizSync range (24.000-80.000 kHz) would exclude
[445759.650] (WW) NVIDIA(GPU-0):     this mode's HorizSync (15.7 kHz); ignoring HorizSync check
[445759.650] (WW) NVIDIA(GPU-0):     for mode "720x480".
[445759.651] (==) NVIDIA(0): 
[445759.651] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
[445759.651] (==) NVIDIA(0):     will be used as the requested mode.
[445759.651] (==) NVIDIA(0): 
[445759.651] (II) NVIDIA(0): Validated MetaModes:
[445759.651] (II) NVIDIA(0):     "DFP-1:nvidia-auto-select,DFP-4:nvidia-auto-select"
[445759.651] (II) NVIDIA(0): Virtual screen size determined to be 3840 x 1200
[445759.686] (--) NVIDIA(0): DPI set to (93, 95); computed from "UseEdidDpi" X config
[445759.686] (--) NVIDIA(0):     option
[445759.686] (II) UnloadModule: "nouveau"
[445759.686] (II) Unloading nouveau
[445759.687] (II) UnloadModule: "modesetting"
[445759.687] (II) Unloading modesetting
[445759.687] (II) UnloadModule: "fbdev"
[445759.687] (II) Unloading fbdev
[445759.687] (II) UnloadSubModule: "fbdevhw"
[445759.687] (II) Unloading fbdevhw
[445759.687] (II) UnloadModule: "vesa"
[445759.687] (II) Unloading vesa
[445759.687] (--) Depth 24 pixmap format is 32 bpp
[445759.687] (II) NVIDIA: Using 3072.00 MB of virtual memory for indirect memory
[445759.687] (II) NVIDIA:     access.
[445759.707] (II) NVIDIA(0): Setting mode "DFP-1:nvidia-auto-select,DFP-4:nvidia-auto-select"
[445759.823] Loading extension NV-GLX
[445759.881] (==) NVIDIA(0): Disabling shared memory pixmaps
[445759.881] (==) NVIDIA(0): Backing store enabled
[445759.881] (==) NVIDIA(0): Silken mouse enabled
[445759.881] (==) NVIDIA(0): DPMS enabled
[445759.881] Loading extension NV-CONTROL
[445759.881] Loading extension XINERAMA
[445759.881] (II) Loading sub module "dri2"
[445759.881] (II) LoadModule: "dri2"
[445759.881] (II) Module "dri2" already built-in
[445759.881] (II) NVIDIA(0): [DRI2] Setup complete
[445759.881] (II) NVIDIA(0): [DRI2]   VDPAU driver: nvidia
[445759.881] (--) RandR disabled
[445759.884] (II) SELinux: Disabled on system
[445759.884] (II) Initializing extension GLX
[445759.894] (II) XKB: generating xkmfile /tmp/server-B20D7FC79C7F597315E3E501AEF10E0D866E8E92.xkm
[445759.937] (II) config/udev: Adding input device Power Button (/dev/input/event1)
[445759.937] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[445759.937] (II) LoadModule: "evdev"
[445759.937] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[445759.937] (II) Module evdev: vendor="X.Org Foundation"
[445759.937]    compiled for 1.15.0, module version = 2.8.2
[445759.937]    Module class: X.Org XInput Driver
[445759.937]    ABI class: X.Org XInput driver, version 20.0
[445759.937] (II) Using input driver 'evdev' for 'Power Button'
[445759.937] (**) Power Button: always reports core events
[445759.937] (**) evdev: Power Button: Device: "/dev/input/event1"
[445759.937] (--) evdev: Power Button: Vendor 0 Product 0x1
[445759.937] (--) evdev: Power Button: Found keys
[445759.938] (II) evdev: Power Button: Configuring as keyboard
[445759.938] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1/event1"
[445759.938] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6)
[445759.938] (**) Option "xkb_rules" "evdev"
[445759.938] (**) Option "xkb_model" "pc105"
[445759.938] (**) Option "xkb_layout" "us"
[445759.938] (II) config/udev: Adding input device Power Button (/dev/input/event0)
[445759.938] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[445759.938] (II) Using input driver 'evdev' for 'Power Button'
[445759.938] (**) Power Button: always reports core events
[445759.938] (**) evdev: Power Button: Device: "/dev/input/event0"
[445759.938] (--) evdev: Power Button: Vendor 0 Product 0x1
[445759.938] (--) evdev: Power Button: Found keys
[445759.938] (II) evdev: Power Button: Configuring as keyboard
[445759.938] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0/event0"
[445759.938] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 7)
[445759.938] (**) Option "xkb_rules" "evdev"
[445759.938] (**) Option "xkb_model" "pc105"
[445759.938] (**) Option "xkb_layout" "us"
[445759.939] (II) config/udev: Adding drm device (/dev/dri/card0)
[445759.939] (II) config/udev: Ignoring already known drm device (/dev/dri/card0)
[445759.939] (II) config/udev: Adding input device Schiit Schiit USB Audio Device (/dev/input/event2)
[445759.939] (II) No input driver specified, ignoring this device.
[445759.939] (II) This device may have been added with another device file.
[445759.940] (II) config/udev: Adding input device KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle (/dev/input/event3)
[445759.940] (**) KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Applying InputClass "evdev keyboard catchall"
[445759.940] (II) Using input driver 'evdev' for 'KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle'
[445759.940] (**) KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: always reports core events
[445759.940] (**) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Device: "/dev/input/event3"
[445759.940] (--) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Vendor 0x58f Product 0x9410
[445759.940] (--) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Found keys
[445759.940] (II) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Configuring as keyboard
[445759.940] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/input/input6/event3"
[445759.940] (II) XINPUT: Adding extended input device "KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle" (type: KEYBOARD, id 8)
[445759.940] (**) Option "xkb_rules" "evdev"
[445759.940] (**) Option "xkb_model" "pc105"
[445759.940] (**) Option "xkb_layout" "us"
[445759.941] (II) config/udev: Adding input device KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle (/dev/input/event4)
[445759.941] (**) KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Applying InputClass "evdev keyboard catchall"
[445759.941] (II) Using input driver 'evdev' for 'KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle'
[445759.941] (**) KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: always reports core events
[445759.941] (**) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Device: "/dev/input/event4"
[445759.941] (--) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Vendor 0x58f Product 0x9410
[445759.941] (--) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Found 1 mouse buttons
[445759.941] (--) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Found scroll wheel(s)
[445759.941] (--) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Found relative axes
[445759.941] (II) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Forcing relative x/y axes to exist.
[445759.941] (--) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Found absolute axes
[445759.941] (II) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Forcing absolute x/y axes to exist.
[445759.941] (--) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Found keys
[445759.941] (II) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Configuring as mouse
[445759.941] (II) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Configuring as keyboard
[445759.941] (II) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: Adding scrollwheel support
[445759.941] (**) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: YAxisMapping: buttons 4 and 5
[445759.941] (**) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[445759.941] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.1/input/input7/event4"
[445759.941] (II) XINPUT: Adding extended input device "KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle" (type: KEYBOARD, id 9)
[445759.941] (**) Option "xkb_rules" "evdev"
[445759.941] (**) Option "xkb_model" "pc105"
[445759.941] (**) Option "xkb_layout" "us"
[445759.941] (II) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: initialized for relative axes.
[445759.941] (WW) evdev: KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: ignoring absolute axes.
[445759.942] (**) KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: (accel) keeping acceleration scheme 1
[445759.942] (**) KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: (accel) acceleration profile 0
[445759.942] (**) KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: (accel) acceleration factor: 2.000
[445759.942] (**) KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle: (accel) acceleration threshold: 4
[445759.942] (II) config/udev: Adding input device Logitech Unifying Device. Wireless PID:101a (/dev/input/event5)
[445759.942] (**) Logitech Unifying Device. Wireless PID:101a: Applying InputClass "evdev pointer catchall"
[445759.942] (II) Using input driver 'evdev' for 'Logitech Unifying Device. Wireless PID:101a'
[445759.942] (**) Logitech Unifying Device. Wireless PID:101a: always reports core events
[445759.942] (**) evdev: Logitech Unifying Device. Wireless PID:101a: Device: "/dev/input/event5"
[445759.942] (--) evdev: Logitech Unifying Device. Wireless PID:101a: Vendor 0x46d Product 0xc52b
[445759.942] (--) evdev: Logitech Unifying Device. Wireless PID:101a: Found 20 mouse buttons
[445759.942] (--) evdev: Logitech Unifying Device. Wireless PID:101a: Found scroll wheel(s)
[445759.942] (--) evdev: Logitech Unifying Device. Wireless PID:101a: Found relative axes
[445759.942] (--) evdev: Logitech Unifying Device. Wireless PID:101a: Found x and y relative axes
[445759.942] (II) evdev: Logitech Unifying Device. Wireless PID:101a: Configuring as mouse
[445759.942] (II) evdev: Logitech Unifying Device. Wireless PID:101a: Adding scrollwheel support
[445759.942] (**) evdev: Logitech Unifying Device. Wireless PID:101a: YAxisMapping: buttons 4 and 5
[445759.942] (**) evdev: Logitech Unifying Device. Wireless PID:101a: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[445759.942] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.1/1-1.6.1:1.2/0003:046D:C52B.0006/input/input8/event5"
[445759.942] (II) XINPUT: Adding extended input device "Logitech Unifying Device. Wireless PID:101a" (type: MOUSE, id 10)
[445759.942] (II) evdev: Logitech Unifying Device. Wireless PID:101a: initialized for relative axes.
[445759.943] (**) Logitech Unifying Device. Wireless PID:101a: (accel) keeping acceleration scheme 1
[445759.943] (**) Logitech Unifying Device. Wireless PID:101a: (accel) acceleration profile 0
[445759.943] (**) Logitech Unifying Device. Wireless PID:101a: (accel) acceleration factor: 2.000
[445759.943] (**) Logitech Unifying Device. Wireless PID:101a: (accel) acceleration threshold: 4
[445759.943] (II) config/udev: Adding input device Logitech Unifying Device. Wireless PID:101a (/dev/input/mouse0)
[445759.943] (II) No input driver specified, ignoring this device.
[445759.943] (II) This device may have been added with another device file.
[445759.943] (II) config/udev: Adding input device Eee PC WMI hotkeys (/dev/input/event6)
[445759.943] (**) Eee PC WMI hotkeys: Applying InputClass "evdev keyboard catchall"
[445759.943] (II) Using input driver 'evdev' for 'Eee PC WMI hotkeys'
[445759.944] (**) Eee PC WMI hotkeys: always reports core events
[445759.944] (**) evdev: Eee PC WMI hotkeys: Device: "/dev/input/event6"
[445759.944] (--) evdev: Eee PC WMI hotkeys: Vendor 0 Product 0
[445759.944] (--) evdev: Eee PC WMI hotkeys: Found keys
[445759.944] (II) evdev: Eee PC WMI hotkeys: Configuring as keyboard
[445759.944] (**) Option "config_info" "udev:/sys/devices/platform/eeepc-wmi/input/input9/event6"
[445759.944] (II) XINPUT: Adding extended input device "Eee PC WMI hotkeys" (type: KEYBOARD, id 11)
[445759.944] (**) Option "xkb_rules" "evdev"
[445759.944] (**) Option "xkb_model" "pc105"
[445759.944] (**) Option "xkb_layout" "us"
[445759.966] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445759.966] (II) NVIDIA(GPU-0):     stereo.
[445759.994] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445759.994] (II) NVIDIA(GPU-0):     stereo.
[445760.012] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445760.012] (II) NVIDIA(GPU-0):     stereo.
[445760.014] (II) NVIDIA(0): Setting mode "HDMI-0: nvidia-auto-select @1920x1200 +0+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}"
[445760.193] (II) NVIDIA(0): Setting mode "HDMI-0: nvidia-auto-select @1920x1200 +1200+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}"
[445760.203] (II) NVIDIA(0): Setting mode "HDMI-0: nvidia-auto-select @1920x1200 +1200+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-1: nvidia-auto-select @1200x1920 +0+0 {ViewPortIn=1200x1920, ViewPortOut=1920x1200+0+0, Rotation=90}"
[445760.590] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445760.590] (II) NVIDIA(GPU-0):     stereo.
[445760.606] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445760.606] (II) NVIDIA(GPU-0):     stereo.
[445760.654] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445760.654] (II) NVIDIA(GPU-0):     stereo.
[445760.705] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445760.705] (II) NVIDIA(GPU-0):     stereo.
[445814.873] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445814.873] (II) NVIDIA(GPU-0):     stereo.
[445814.898] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445814.898] (II) NVIDIA(GPU-0):     stereo.
[445814.918] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445814.918] (II) NVIDIA(GPU-0):     stereo.
[445815.074] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445815.074] (II) NVIDIA(GPU-0):     stereo.
[445815.135] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445815.135] (II) NVIDIA(GPU-0):     stereo.
[445817.731] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445817.731] (II) NVIDIA(GPU-0):     stereo.
[445817.751] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445817.751] (II) NVIDIA(GPU-0):     stereo.
[445817.770] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445817.770] (II) NVIDIA(GPU-0):     stereo.
[445817.931] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445817.931] (II) NVIDIA(GPU-0):     stereo.
[445817.988] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445817.988] (II) NVIDIA(GPU-0):     stereo.
[445820.385] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445820.385] (II) NVIDIA(GPU-0):     stereo.
[445820.408] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445820.408] (II) NVIDIA(GPU-0):     stereo.
[445820.426] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445820.426] (II) NVIDIA(GPU-0):     stereo.
[445820.590] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445820.590] (II) NVIDIA(GPU-0):     stereo.
[445820.651] (II) NVIDIA(GPU-0): Display (HP ZR2440w (DFP-1)) does not support NVIDIA 3D Vision
[445820.651] (II) NVIDIA(GPU-0):     stereo.
jvvv commented 10 years ago

I apologize I've been away from this issue for so long... paying job has been just crazy, but things have slowed up. While trying to reproduce the symtoms, I've found 'things' aren't working as I expect. I'm going to spend this evening reviewing changes and if necessary, bisecting, to see why things are acting differently. I'll report later tonight.

jvvv commented 10 years ago

Ok, I've tracked down the issue I had, but it is unrelated. I can't seem to duplicate the symptoms you describe. Using your exact test case with current bar git installed, the bar always shows up in the same place and on the same monitor. I did notice something odd in your Xorg.0.log:

[445760.014] (II) NVIDIA(0): Setting mode "HDMI-0: nvidia-auto-select @1920x1200 +0+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}"
[445760.193] (II) NVIDIA(0): Setting mode "HDMI-0: nvidia-auto-select @1920x1200 +1200+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}"
[445760.203] (II) NVIDIA(0): Setting mode "HDMI-0: nvidia-auto-select @1920x1200 +1200+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-1: nvidia-auto-select @1200x1920 +0+0 {ViewPortIn=1200x1920, ViewPortOut=1920x1200+0+0, Rotation=90}"

Notice how HDMI-0 is configured multiple times and at different x offsets? I don't know if it's related to the symptoms your seeing, but it might be. I'm also using the nvidia proprietary driver for my tests, but I wonder if you are using an xorg.conf and if you have used nvidia-settings to configure your monitors at all. I'll try to help, regardless of the problems origin.

andornaut commented 10 years ago

Thanks @jvvv

I don't have a xorg.conf file, and I'm also using the nvidia proprietary drivers.

My .xinitrc uses xrandr to setup my screens before executing bspwm:

xrandr --output HDMI-0 --auto --primary
xrandr --output DP-1 --rotate left --left-of HDMI-0

That might explain the multiple Xorg.0.log entries for HDMI-0.

Can you think of anything I could try in order to debug this issue?

jvvv commented 10 years ago

Ok, I have an idea. Perhaps setting fixed positions might help:

xrandr --output HDMI-0 --pos 1200x0 --primary
xrandr --output DP-1 --rotate left --pos 0x0

Or:

xrandr --output DP-1 --rotate left --pos 0x0
xrandr --output HDMI-0 --pos 1200x0 --primary

Or just configure DP-1 first, but set HDMI-0 with relative position and set as primary:

xrandr --output DP-1 --rotate left
xrandr --output HDMI-0 --right-of DP-1 --primary
andornaut commented 10 years ago

Thanks, though still no luck unfortunately.

The output of xrandr doesn't change when I call it several times, but the order of monitors from bar's perspective changes with almost every invocation (it seems to switch randomly, not consistently).

jvvv commented 10 years ago

This sounds like a library, xserver, or driver issue. I noticed that you use Ubuntu... there have been several issues with Ubuntu's versions of different xcb libraries. I don't know that this is one of those cases, but I am thinking that it is possible. As the saying goes, I'm running out of daylight. After I get out of work tomorrow, I will look into the library issue in more detail. Looking into the nvidia driver is another road, but you are already running Ubuntu's most recent official package... perhaps there is a trustworthy ppa out there with 331.67, 334.21, or even 337.19 (I'm running this because I have a maxwell board and I like to live dangerously ;)

LemonBoy commented 10 years ago

Don't worry @jvvv, I'm glad that you find some time to help me with this multi monitor madness :)

jvvv commented 10 years ago

@LemonBoy Thanks for the encouragement. I do appreciate it.

@andornaut I haven't found anything about xorg/xcb library bugs out there in the wild that suggest similarity to your symptoms. I'm leaning toward thinking that this is possibly a nvidia driver bug or a hardware issue (hopefully not, and right or wrong, I would tend to investigate this last).

It might be a good idea to consider upgrading the nvidia package. I looked at the xorg-edgers ppa and it contains the 331.79, 334.21, and 337.19 versions. I would recommend the 331.79 version, as this is on the long lived branch. To note, there have been several major bugs fixed since the version you are running (331.38).

andornaut commented 10 years ago

@jvvv

Will do, thanks. I'll report back soon.

andornaut commented 10 years ago

I've been able to reproduce this issue with both 331.79 and 337.19.

jvvv commented 10 years ago

Decidedly odd. The symptom doesn't really make a whole lot of sense. It's as if the monitor's are being switched in position. I'm out of time to do it tonight, but tomorrow I will write a test program that keeps track of randr output changes. I'll post a link to it here when I get it done.

andornaut commented 10 years ago

Great, thanks. It'd be interesting to get a better look at what's happening.

jvvv commented 10 years ago

I've got the rudiments of the test program mostly written. I'm too tired to finish it tonight... I'll try to finish it in the morning.

jvvv commented 10 years ago

Ok, here it is: https://github.com/jvvv/rmon . It's not at all pollished, nor commented. There are many compiler warnings about type mismatch and one about unused variable; trivial for now... I will clean it up later.

andornaut commented 10 years ago

I performed the following test:

1) Start X & bspwm: .xinitrc does:

...
xrandr --output HDMI-0 --primary
xrandr --output DP-1 --rotate left --left-of HDMI-0
...
exec bspwm

2) Run rmon

3) Reproduce issue with bar using:

echo "%{S0}test" |bar -g 1200x30+0+0 -p CTRL+C echo "%{S0}test" |bar -g 1200x30+0+0 -p

-- rmon does not produce any output. 4) Change screen orientation -- Captured rmon output: ``` $ ./rmon randr_screen_change: root 0x29d, timestamp 468096, config_timestamp 245330 rotation XCB_RANDR_ROTATION_0 width 3120, height 1920, mwidth 834, mheight 513 randr_notify (subtype 0) randr_crtc_change: window 0x800000, timestamp 468096, crtc 635, mode 0 rotation (null) x 0, y 0, width 0, height 0 randr_notify (subtype 1) randr_output_change: window 0x800000, timestamp 468096, config_timestamp 245330 output 664, crtc 0, mode 0 rotation XCB_RANDR_ROTATION_0 connection XCB_RANDR_CONNECTION_CONNECTED randr_screen_change: root 0x29d, timestamp 488031, config_timestamp 245330 rotation XCB_RANDR_ROTATION_0 width 3120, height 1200, mwidth 833, mheight 320 randr_screen_change: root 0x29d, timestamp 488031, config_timestamp 245330 rotation XCB_RANDR_ROTATION_0 width 3120, height 1200, mwidth 833, mheight 320 randr_notify (subtype 0) randr_crtc_change: window 0x800000, timestamp 488031, crtc 635, mode 641 rotation XCB_RANDR_ROTATION_0 x 0, y 0, width 1920, height 1200 randr_notify (subtype 1) randr_output_change: window 0x800000, timestamp 488031, config_timestamp 245330 output 664, crtc 635, mode 641 rotation XCB_RANDR_ROTATION_0 connection XCB_RANDR_CONNECTION_CONNECTED randr_screen_change: root 0x29d, timestamp 488258, config_timestamp 245330 rotation XCB_RANDR_ROTATION_0 width 3120, height 1920, mwidth 832, mheight 512 randr_screen_change: root 0x29d, timestamp 488258, config_timestamp 245330 rotation XCB_RANDR_ROTATION_0 width 3120, height 1920, mwidth 832, mheight 512 randr_notify (subtype 0) randr_crtc_change: window 0x800000, timestamp 488258, crtc 635, mode 641 rotation XCB_RANDR_ROTATION_90 x 0, y 0, width 1920, height 1200 ``` 5) Reproduce issue with bar using method in step (3). -- rmon does not produce any output.
andornaut commented 10 years ago

I've narrowed it down a bit more. Bar works as expect unless I run:

xrandr --output DP-1 --left-of HDMI-0

I restarted X without the line above, and bar works as expected.

I then ran xrandr --output DP-1 --left-of HDMI-0. Here's the output of rmon which occurred after running the xrandr command.

$ ./rmon 
randr_screen_change:
    root 0x29d, timestamp 1093996, config_timestamp 1093108
    rotation XCB_RANDR_ROTATION_0
    width 3120, height 1920, mwidth 834, mheight 513
randr_notify (subtype 0)
    randr_crtc_change:
    window 0x1a00000, timestamp 1093996, crtc 634, mode 641
    rotation XCB_RANDR_ROTATION_0
    x 1200, y 0, width 1920, height 1200
randr_screen_change:
    root 0x29d, timestamp 1273033, config_timestamp 1093108
    rotation XCB_RANDR_ROTATION_0
    width 3120, height 1920, mwidth 834, mheight 513
randr_notify (subtype 0)
    randr_crtc_change:
    window 0x1a00000, timestamp 1273033, crtc 635, mode 641
    rotation XCB_RANDR_ROTATION_90
    x 0, y 0, width 1920, height 1200

Subsequent calls to bar were rendered in different monitors. There was no additional output from rmon.

jvvv commented 10 years ago

Yeah, I kinda suspected this when I suggested the xrandr commands. I should have been more explicit about putting them is the .xinitrc file. The whole point I was getting at was to avoid ever setting a relative position that is negative (--left-of) of the already configured monitor.

andornaut commented 10 years ago

I did actually put the xrandr commands that you suggested in my .xinitrc file. I've just tried doing so again and the results are the same with all three: I can reproduce the issue described in this ticket.

I've just physically transposed my two monitors and am now using:

xrandr --output HDMI-0 --rotate left
xrandr --output DP-1 --right-of HDMI-0 --primary

Bar now works as expected. This feels like more of a workaround than a fix though. I think that bar's monitor selection should probably work with my previous configuration (I haven't had issues with dzen, by comparison). I don't know whether a fix is within bar's purview or xcb or nvidia, or something else, however.

Thanks again for all your help @jvvv. Much appreciated!

jvvv commented 10 years ago

You are very welcome. I'm still mystified by this issue. It's very strange, especially since we are both running somewhat similar setups on similar hardware and I can't seem to duplicate the issue. A little while ago, I tried adding commands similar to your original xrandr commands to my .xinitrc, but still I can't recreate the issue. If you learn anything new about the issue, I'd really appreciate hearing about it.

andornaut commented 10 years ago

I've transposed the monitors once again, because prior to X starting my portrait-mode monitor is the primary device and reading sideways is more inconvenient than restarting bar few times (I'm sure that there's a way to rotate the fb screen as well). Anyway, I'll keep you posted if I figure out a better solution, or at least if I find more clues as to the problem.

I'll leave it to you @jvvv and @LemonBoy to decide if this bug report should be closed. Thanks.

jvvv commented 10 years ago

@andornaut I'm not sure if it will help, but could you test the pull request I have posted: #61 Multi-monitor geometry fix? I cleaned a few things up that may or may not help, but it would be cool if that fixed your problem.

andornaut commented 10 years ago

@jvvv That did it! Thanks so much!

jvvv commented 10 years ago

Well, that's very cool. Glad we got it.

LemonBoy commented 10 years ago

Hah this was hard to track down, good work guys :)

jvvv commented 10 years ago

Thanks! And I must say that I'm glad you stuck to your guns about not pulling in the monitor-opts. I doubt that I would have found the trouble, otherwise. Even while keeping the code base so small, you've managed to add good functionallity. A tip of the hat from me to you, LemonBoy.

LemonBoy commented 10 years ago

Oww, you're making me blush heh