mirror of
https://github.com/debauchee/barrier.git
synced 2026-05-15 14:16:02 -06:00
[GH-ISSUE #763] BUG: ENH: Barrier does not work when multiple monitors are connected #599
Labels
No labels
HiDPI
bounty
bsd/freebsd
bsd/openbsd
bug
bug
build-infra
cantfix
critical
doc
duplicate
enhancement
fix-available
from git
from release
good first issue
help wanted
installer/package
invalid
linux
macOS
meta
needs testing
pull-request
query
question
regression
regression
v2.4.0
windows
wontfix
work-in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/barrier#599
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @adyanth on GitHub (Jun 23, 2020).
Original GitHub issue: https://github.com/debauchee/barrier/issues/763
Operating Systems
Server: Windows 10 2004
Client: Windows 10 20H2
Barrier 2.3.2
Steps to reproduce bug
Seems like the zone where it tracks when to move the mouse to the other client fails when there is more than one monitor?
@adyanth commented on GitHub (Jun 23, 2020):
New findings, only way it works is, if the display is arranged in the opposite side of barrier's virtual display
Ex:
Working:
-- 2nd monitor : server monitor
-- server : client
Non Working:
-- server monitor : 2nd monitor
-- server : client
Actually, anything opposite works, top 2nd monitor, bottom client and vice versa
@jaysik commented on GitHub (Jun 26, 2020):
I have this same issue.
Monitor setup:
[linux]
[linux][windows][windows]
I can move from linux to windows but cannot move from windows to linux.
As what adyanth said, if you move the display to the other side it works. But I need to have the linux monitors on the left.
EDIT:
I have found that if the server monitor is not set in windows as 'main monitor' the boundaries does not work with the barrier app. Additional monitors to your set up will not allow screen from to client machine.
So It will not work if the server's main monitor is not next to the client. No additional monitors in between the two.
@patrickkelso commented on GitHub (Jul 14, 2020):
Looks like a duplicate of https://github.com/debauchee/barrier/issues/127
@adyanth commented on GitHub (Jul 15, 2020):
Seems to be so, and no fix in sight :(
@patrickkelso commented on GitHub (Jul 15, 2020):
After some more testing it only seems to fail when the two monitors on the server are running different resolutions. That makes this slightly different to 127 where all monitors had the same resolution (I think).
I have a wrap around setup that is:
[Win 1080p] [Linux Screen 2 1080p or 4k] [ imac 2 1080p]
[Linux Screen 1 2560x1440 ] [ imac 1 2560x1440]
Linux is my server. If I set it to have both screens at 1080p (the only common resolution) all the edges work as expected. (The Win screen is stretched so any left hand edge of Linux goes to it.
When I have my default setup with the higher resolutions running only the edges of the high resolution screen work. On the left hand side I still have the Win laptop as expected on all edges. But on the right side of my server only the higher resolution screen connects to the iMac.
I'd be happy to pay a bounty to get someone to look at this, as long as it's cheaper than replacing all my screens with identical ones :D
@anveshgundlapalli commented on GitHub (Aug 11, 2020):
I have this setup:
[windowsA-24in 1080p][windowsB-27in 4k]
[windowsA-24in 1080p][windowsB-27in 2k]
basically two windows 10 computers with 2 screens each. Hoping someone can add this feature in! I would be glad to help but not familiar at all with how the software works.
@MathiasBaumgartinger commented on GitHub (Oct 7, 2020):
I do support this claim with a setup:
[Client; 1080 144hz][Server; Win 1080p] [Server; Win 4k]
Log says following:
@edkitch commented on GitHub (Oct 25, 2020):
I am also getting this error.
I am running a windows server
Display 1: 3840x2160 & Display 2: 1280x1024
Trying to connect to an ubuntu client with 1 display at 1920x1080
Layout is:
[Server; Win 3840x2160] [Server; Win 1280x1024][Client; ubuntu 1920x1080
@chairthrower commented on GitHub (Dec 10, 2020):
3840x2160 upper screen, 3240x2160 lower screen. If I align the lefts of the displays I can get to a left screen; but to get to the right screen I have to move the bottom one further to the right than the right edge. Not easy to see how many pixels over due to the way Windows does the multiscreen placements.
Ultimately I suspect Barrier needs to be able to do relative sizing and placement of displays to do this correctly. The fact that we can only align screens on a grid is clearly throwing a curve when we have multiple displays. Without Barrier knowing relative sizes and locations of each screen (local or remote) it can't do the math.
-- this works with the computer to the right of 1 but not to the left.
@DJ-Hazmat commented on GitHub (Jul 23, 2021):
I have same issue. I've got a 5120x1440 top screen and a Windows 10 laptop (as Barrier server) at 1920x1080 beneath it. It is also arranged that way in display settings so I can follow my mouse and know where it is going. :-)


To the left of my laptop is my Macbook Pro with 2560x1600 retina screen. I found that the only way the mouse will move from Windows laptop to MAC and vice versa is if the MAC is located directly beneath the Windows laptop in the Screens and Links settings in Barrier. Like this =>
Of course, I have to move the mouse down past the taskbar in Windows, but that is doable. I would really like to set the MAC to the left, but I can wait for a fix.
@KZkici commented on GitHub (Aug 13, 2021):
Ahh glad I am not the only one struggling with multiple Monitors, can't wait for a fix. It works for me if i put the monitor barrier at the bottom of my main one, so scrolling past the bar, any other side it does not.
@jeggermont commented on GitHub (Oct 15, 2021):
It seems that at least for Windows system as server it matters which display is set as the main display in Windows.
Setup:
[client: mac mini with 1680x1050] [server: external display 1920x1080, 100% scale] [server: external display 1920x1080, 100% scale] [server: Win10 laptop display 1920x1200, 125% scale]
This doesn't work if my laptop display is set as my main display in windows.
It does work if
A: I set either my laptop display to 1920x1080 with 100% scaling, or
B: I make one of the external displays (1920x1080, 100% scaling) the main display in windows.
@cebess commented on GitHub (Oct 25, 2021):
I also have this issue. The main display is on the right, so I can only have barrier machines off to the right. If I physically move the main display to the left, then I can have barrier machines off to the left.
Now to determine how to switch the primary monitor, so I don't have to physically move them.
@gerroon commented on GitHub (Jan 6, 2022):
Dang and damnn, this was it for me too. My Linux client was not connecting, it used to work. I just rearranged my monitors on Win and now it works again.
I literally wasted a day on this.
@Fatstrid commented on GitHub (Jan 16, 2022):
Confirming this works. After trying to figure out why my setup isn't working and it was because my server PC also has a 2nd monitor hooked up to it. Using Barrier version 2.3.4 on all the PCs (server and clients)
Setup:
PC (standalone computer with a 2nd monitor hooked up) running Windows 10
Work tablet running Windows 10
Laptop running Ubuntu Pop-OS
Configuration grid: laptop (client) -- work tablet (client) -- PC (server)
Hopefully this confirmation also helps anyone experiencing this issue.
@dnlm commented on GitHub (Mar 4, 2022):
I'm not a 100% sure if it's the same issue, but it seems related:
Barrier worked flawlessly between 2 laptops with 2 monitors each until I made the server's laptop screen with 125% scaling the main display. After that, I could no longer switch from server to client, though it worked in the opposite direction.
Setting the main display back to a non-scaled display or disabling scaling on the laptop screen fixes the issue. All screens have a full HD resolution, I'm using barrier 2.3.3 on both devices. The setup looks like this, I don't use the client laptops built-in screen:
server-laptop-screen(125% scaling) --- server-ext-monitor-1 --- server-ext-monitor-2 --- client-ext-monitor-1 --- client-ext-monitor-2As 100% scaling on the laptop screen puts a strain on my eyes, I created a shortcut for switching between screens and bound it to the dpi selection button of my mouse. An okay workaround for me s far once I got used to it:
keystroke(Control+Shift+Alt+Up) = toggleScreen@iamgadgetman commented on GitHub (Apr 23, 2022):
I have 4 monitors on my server and 1 is 4k, which was my primary monitor. I changed my primary monitor to one of the 2k monitors next to the other PC's monitor. Once I made that one the primary I was able to get everything to work, at least so far.
@sfajardo2016 commented on GitHub (Jun 10, 2022):
Same issue, my config
Server
Main monitor -> Right monitor
Client
Main monitor->Right monitor
barrier setup
client:server
The mouse cursor gets lost , disappears and I have move my mouse all the way to the right. Very annoying.
I uninstalled Synergy has it has the same issue and I was thinking barrier should be less buggy, but alas.
@NeonWizard commented on GitHub (Jun 15, 2022):
I have my primary (server, Windows 10) display in the center, the client (Macbook) on the left. Moving the mouse across the left of the screen teleports the cursor back to the primary display but shifted downwards, unless moving the mouse across the left border at the bottom of the screen, which just permanently sticks the cursor on the bottom right corner of the macbook display. The only way to unlock the cursor and return control to the server is to stop Barrier on the client.
@PaulANormanNZ commented on GitHub (Jun 27, 2022):
Hi,
To avoid restarting, on the "server" you can goto Server Configuration > Hotkeys
and make a new Hotkey in the left panel, and then assign functinos to it in the right hand "Actions" panel.
I chose to make an "Action" that would "Switch to screen" and chose my Server screnn name.
Executing the hotkey sequence you set up will bring the mouse (and focus) back to your server screen.
But as to the main problem, I am stuck as well for now.
Kind regards,
Paul
@paddelboot commented on GitHub (Sep 22, 2022):
I have an Ubuntu 22.04 server with 2 monitors (QHD and FullHD) and a Win 11 laptop as client. Running barrier on both machines makes the mouse pointer either teleport or disappear entirely. This is frustrating, as dual monitor setups are very common.
So far, only Logitech Options has been working (when running Windows on all machines).
@Tamerat47 commented on GitHub (Oct 7, 2022):
This solution works for me before this, it will connect but won't cross the screen no matter what i did.
$ sudo nano /etc/gdm3/custom.conf
uncomment this line #WaylandEnable=false just delete the this "#" sign in front of it.
then reboot. I used barrier 2.4.0 on ubuntu and window 11 barrier 2.3.2 and both have different size monitor it doesn't matter. ubuntu client and window is server.
@Ghost7600 commented on GitHub (Apr 24, 2023):
Unfortunately for me the hotkey to toggle displays won't work, for as soon as i move the mouse it will jump to the bottom right of both displays and remain stuck there. Disabling sacling works but it's not usable, so i'm leaving barrier for now unfortunately.
@surajgupta4 commented on GitHub (Sep 4, 2024):
I am also unable to move mouse from server to client.
Primary: Ubuntu (server)
Secondary: Ubuntu (client)
Further both are connected using SSL.
@palentir commented on GitHub (Sep 8, 2024):
I have the same issue. I have 2 screens on a remote computer, A PC monitor and a 4k TV. When I connect to it I can move my mouse fine on the PC monitor, but on the TV it stops my mouse from moving past 40% horizonal and vertical. However if I grab my other mouse which is connected to the remote computer, I can move cursor to any position on both screens with no problem. It seems Barrier has some code to calulate the edge of the screen? I guess the calucation is broken when using 2 monitors. I've tried with different resolutions and it changes the invisible wall slightly, but no resolution actually resolves it. Not sure if its just resolution or DPI can effect it too?
@Ghost7600 commented on GitHub (Nov 17, 2024):
I tracked it down to being a scaling issue, in my case, bug happens when a machine has 2 displays with different scaling (130% and 100%)