Open mikebutash opened 7 years ago
I'm having the same problem with three monitors connected using display port. It happens when I turn off the monitors and turn them on again, but since I updated to Linux Mint 18.2 (from 18.1) it now also happens when the screens have been turned off by the power saver/screensaver.
Probably related to #5619. The workaround there (rename csd-xrandr
so cinnamon can't find it) may help here too.
Sorry to resurrect an old thread, but...
I just joined the world of multi-monitor desktop and immediately ran headfirst into this issue. Killing off csd-xrandr fixes the hot-plug/standby windows shuffle issue.
However, disabling csd-xrandr from starting altogether messes up the primary/secondary monitor settings, as well as monitor orientation settings on startup.
My initial idea is to let csd-xrandr autostart, but then killing it in the first couple of minutes. Any other suggestions?
Unfortunately, csd will repeatedly relaunch csd-xrandr
if you kill it. My solution has been to configure things like this (where csd does something insane) with something other than cinnamon -- xorg.conf is the traditional approach. You could also write a script using the xrandr
command and add it to the cinnamon startup items. If you're after a GUI and are on an nvidia gpu, their settings panel is reasonably usable and has a "save to xorg.conf" option.
Since cinnamon-settings-daemon 3.4.3 you can disable csd-xrandr via startup applications
edit: sorry i didn't notice that it messes up the settings. i think the option to disable it was added for this type of situation though...configuring it through nvidia settings is probably the best bet like drmoose said,
@drmoose You're absolutely correct, csd-xrandr
is immediately restarted once killed. I tried changing X-GNOME-AutoRestart=true
to false
in ~/.config/autostart/cinnamon-settings-daemon-xrandr.desktop
, but that had no effect.
Oddly enough, this works:
Cinnamon Settings Daemon - xrandr
in Startup Applications/usr/lib/x86_64-linux-gnu/cinnamon-settings-daemon/csd-xrandr
(same command as the above Cinnamon Settings...)killall csd-xrandr
with a 10 second delayXrandr runs on login and positions all the screens according to my Cinnamon Display settings and then gets killed. It does not get restarted and so does not detect when the monitors go on standby.
Problem solved kludged.
There's no need to explicitly kill the daemon, just use the option: --exit-time 10
Example: /usr/lib/x86_64-linux-gnu/cinnamon-settings-daemon/csd-xrandr --exit-time 10
good to know, thanks.
I agree with bitstrings, I added --exit-time 5 to mine and it's been solid for me to stop juggling my windows randomly.
A weird side-effect of this I see still is the lock screen pops up and only covers 2 of the 3 displays, resizing the normal image to the 2, but still shows the unlock across the 3. Not a huge deal, but sort of... odd to watch when I wake up my displays with the remote control. I use a full size 11520x2160 resolution image normally to span the 3x 4k displays, and when it renders on only 2 of 3, it creates a lot more black on the screen than I'm used to with a normal desktop if even just the background.
Something buggy to look at, not a huge deal, but another todo sort of fix. This is either in software or hardware mode, so seems more a core dysfunction. Easy to reproduce, connect 3x 4k displays, nvidia drivers, arch standard install as of cinnamon 3.2.8-1.
This is still happening. I have 2 monitors and it's really annoying to see my ALL windows moved to 1 monitors everytime it comes back from sleep.
Not a proper fix, but wrote an applet that addresses this problem.
https://github.com/linuxmint/cinnamon-spices-applets/tree/master/IcingWindowSaver%40json
It can save and restore windows via the menu, keybindings, and restore windows after monitor hotplug events. Monitor hotplug event handling still needs some work though, YMMV. :slightly_smiling_face:
I use 3x tv displays, samsung 4k tv's namely via hdmi2.0 interfaces, and every time I power down the displays, they "disconnect" much as unplugging them. This causes Cinnamon (and most other desktops too) to freak out and relocate all windows, seemingly the first to be powered back on.
This is a bit annoying obviously. The use case is I go to sleep at night, I power off each tv with a remote, otherwise they'll run indefinitely or as power management says. I then wake up, power the 3 displays back on, and resume working (ideally).
Everything says the pc lost all 3 displays as disconnected when this occurs, then they're back. Cinnamon gets slower and slower to respond over time when it has to re-figure out where everything was, and ends up doing so poorly anyways.
Much like KDE, Cinnamon relocates randomly the "primary display" status elsewhere, relocating both the primary task bar, and also telling things like cairo-dock that I use it's "primary display" is different, which it adjust to itself poorly and ends up usually some where else. Very bizarre, random behavior results.
Cinnamon handles this better than most, kde would freak out entirely at first in 4 and 5.x until enough like me reported it, and it got some fixes. It was still highly broken for me later, thus I switched back to Cinnamon.
My system config, arch linux, 4.10.3.-1 kernel, nvidia 378.13-5, cinnamon 3.2.8-1, 3x samsung ju6700 49" tv's for displays, nvidia 1070 video card, connected to 3x hdmi 2.0 via club3d dp1.2-to-hdmi2.0 adapters, generally works fine until it jumbles my windows amok annoyingly.
Reproducing it is as simple as powering each off, then back on after time such as sleep/wake. Once I replace things, it generally works pretty well, other than some odd occasional flickering with the compositing I can't entirely isolate enough to report.
Happy to offer whatever log or config data to help, but otherwise this seems more a methodology problem for dealing with the displays all coming and going that might take some brain consideration how best to deal lower in the stack. KDE and most other desktops tried still can't figure it out either, so don't feel so bad, but does dampen usability as a full-time desktop user with this.