Help or issue (?) with Virtual Displays and multiple users #3941
-
I am using Virtual Displays to get 3840x1620 HiDPI resolution on a Dell Ultrasharp U4021QW with an M2 Macbook Air. (Without Virtual Displays the best HiDPI resolution I can get is 3072x1296.) So far this works great when logged in as one user. However, I have two user accounts on this machine, one that I use for work and one for personal stuff. When I switch between them, I start having problems. I'm not sure if what I am running into is a bug/issue or if this is a problem with how I am using VDs or how I have BetterDisplays configured, so before posting an Issue I wanted to see if I could get any advice here. Behavior:
To restore normal behavior, I have to kill and restart BetterDisplays. Note that the same issue seems to arise whether I have BetterDisplays set to run on login for both accounts, or just for User A. Originally I had though this was happening because I was running two instantiations of BetterDisplays but after some testingt that does not seem to be the issue. Is this a?
Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 5 replies
-
Huhh. Although BetterDisplay should work mostly fine when it is running in multiple instances for different users (for some operations the app checks if the user has console or not), using virtual screen mirroring like this is totally untested. One BD instance for sure should recognize the virtual screen created by the other instance as a foreign system virtual screen, but should not be able to manage it properly. Generally macOS have various issues with mirrored virtual screens even without the added complexity of a multi-user scenario, so I am not really sure whether you experience is an other of such macOS bugs or not (I suppose it is). |
Beta Was this translation helpful? Give feedback.
-
Thanks for the reply. When I disable BetterDisplays, I run at 3072x1296 but the default is 2560x1080. What's interesting is that in the lock screen (whether I log out or not) the resolution reverts to the default. However, when I am running VD, that doesn't happen - the adjusted resolution (and the VD) persists across the lock screen and the second user. What I am wondering is if there is some way to sandbox the VD session, or indeed BetterDisplays altogether, to a single user session. I don't really need the higher resolution in the second user session - it would be nice, but it's much more important to me to have it available in my primary user session, and to be able to switch between users without screwing anything up. Can you think of a way to make that work? |
Beta Was this translation helpful? Give feedback.
-
Can you tell me how to do that, or point me to the relevant section of the documentation? I'm afraid that what you're referring to is part of the program that is entirely unfamiliar to me. I'm not entirely sure I even understand what you are suggesting. For reference, User A is the primary user who needs the higher resolution enabled by Betterdisplays Virtual Display. User B is the secondary user who can run a native resolution without Betterdisplays. My thought was to somehow run Betterdisplays in a "sandboxed" fashion that keeps it confined to User A's session so that User B is simply not affected - assuming that's even possible. Your suggestion sound instead like somehow User B would disable (?) Betterdisplays for themselves through the command line interface? I'm not sure how that would work, but I'm also not sure I'm understanding the suggestion correctly to begin with. Can you clarify? Thanks |
Beta Was this translation helpful? Give feedback.
-
Hi there, yes, here is the documentation on CLI features: https://github.com/waydabber/BetterDisplay/wiki/Integration-features,-CLI Here are some examples on how to manage virtual screens using CLI: #2521 (comment) |
Beta Was this translation helpful? Give feedback.
So it turns out that I had to address this issue after all. Switching accounts continued to give problems intermittently, usually in the form of missing/lagged mouse tracking and sometimes menu freezing.
I started experimenting with command line solutions, and I figured out how to recreate the virtual screen from the command line but I couldn't figure out how to associate it with the physical external screen.
HOWEVER, I found a setting in BetterDisplays that seems to have helped: I turned on both "Reconnect Virtual Screens After Wake" and "Disconnect Virtual Screens Upon Lock...". I'm not sure which of these did the trick (both?) and I'm not 100% certain it's a fix because the problem did…