BetterDisplay
BetterDisplay copied to clipboard
Bug: after waking up a mirrored display is dim and BetterDummy is not responding until force quit and start again
Quite often after a long sleep and waking up the external display is dim and BetterDummy is not responding. Scaling etc works though. After I force to quit it in the Process manager and start again everything returns to normal. I have this issue for quite long time already with different versions. Can't say when I found it the first time.
BetterDummy Pro v1.2.7 build 8076 MacOS 12.4 MacBook Pro M1 Max 14" Xiaomi Curved Gaming Monitor 34" connected through Satechi Thunderbolt 4 dock and GRWIBEOU USB-C -> DisplayPort 8K cable
Hi there,
- Does this only affect your external display or your internal display is doing the same?
- Does changing the slider do something or nothing at all?
- Only DDC is affected or software brightness control (if you use the default, combined control then the 0-50% part of the slider) is affected as well?
The answers to these will help figuring out what is going on. Thank you!
Sorry for a long pause. Its weird but recent few days sleep didn't lead to the dimmed display. May be because I rebooted my Mac (I don't do it often).
But the app is still not responding and shows a rainbow spinner when I put the mouse pointer on the app icon after every sleep. Mirroring works but it is not possible to open or change options. Right now I woke the laptop up and BetterDummy is not responding as well.
Also I found a weird bug with geometry detection on the mirrored display. The launch bar didn't show even after several (10+) minutes so I started to experiment and found interesting positioning, please check an album with screenshots: https://photos.app.goo.gl/N9frsqebQKCjMCxC7 I wasn't able to "show desktop" with a trackpad gesture, and it seems that the screenshots mentioned above are from the "All windows" screen even though there are not any windows on the screen available and many windows\apps are actually running. According to the gradient top menu colouring I would assume that it might join two screens into one? After a number of tries and BetterDummy restart the virtual screen geometry partially went back to its normal state. A number of seconds later it went back to a fully normal state. I honestly didn't expect this situation so didn't test it eventually: without restarting betterdummy and after it.
Hi @vheathen - sorry about the delayed response!
When the spinning is happening, how does the icon look like? Do you see three dots in it? Enumerating a high number of resolution options (especially for a dummy with maybe 16K enabled or multiple dummies and displays with smooth scaling enables) takes a while but should be resolved within an acceptable timeframe.
Btw are you using dummy mirroring for HiDPI scaling and custom resolutions? Would not native smooth scaling work better with your setup?
Hi @waydabber , thanks for the answer!
I've uploaded a screenshot with the icon to the same album . Yes, it has 3 dots. But it is not responding forever (until I restart the app).
Yesterday I got dimmed screen again. Sliders for the external display and dummy in the Control Center are disabled and it's not possible to access in-app sliders of BetterDummy.
Btw are you using dummy mirroring for HiDPI scaling and custom resolutions? Would not native smooth scaling work better with your setup? Do you mean native scaling by BetterDummy or original native scaling? If your question is about BetterDummy then yes, it does not make any difference as I'm using standard 1 step down scaling (84%).
I have Xiaomi Mi Curved Gaming Monitor 34" with 3440x1440@144 native resolution which is not supported by Apple, and in native resolution everything is too small for me.
Hmm. The three dots means the app is enumerating display modes and configuring stuff. This should end within a few seconds - if it does not, then something is going horribly wrong. :)
Can you take a look at the Console while this is happening and filtering to BetterDisplay? This is how you can do it: https://github.com/waydabber/BetterDisplay/discussions/445
Thanks!
✅ I have the exact same thing going on
Can you guys copy a console log about this? If the three dots are never done, the app is locked up somehow in a configuration phase - this happens when the OS itself lazily enumerates the resolutions endlessly for some reason (in an undocumented API which is used to get some resolution details and manage HDR). I added a cut-off point for that in the app for this eventuality but it might not work as intended. A console log would help figuring out what is happening exactly.
I'll give it a go next time it occurs. Keep you posted.
I've tried to do it yesterday but without success - no messages (which is quite understandable because it is not responding so the process probably just freeze). And after that I had to reboot my mac cause it started to freeze as well :)
But was going to try again next time I get BetterDummy stuck, which is actually right now (just checked) :)
Oh right, you should start logging before the reconfiguration is taking place, not when everything is locked up already - sorry for not mentioning this.
Sadly I still can't get anything in the Console except overall freezes until I stop streaming there. Its empty, the pic is in the same album. I've tried to start it then send Mac to sleep then wake it up - BetterDummy freeze, console is empty
I was able to captured the following logs, after locking, sleeping and waking my Mac Mini M1. The BetterDummy app will be frozen consistently after this sequence. Not sure if it helps.
info 13:21:58.589683+0200 BetterDummy Wake intercepted, removed temporary display if present
info 13:21:58.589792+0200 BetterDummy Configure request received
info 13:21:58.589987+0200 BetterDummy Destroying overlay for display 100
info 13:21:58.590684+0200 BetterDummy Configured with token 7
info 13:21:59.056329+0200 BetterDummy Configure request received
info 13:21:59.060950+0200 BetterDummy Configured with token 8
info 13:21:59.061125+0200 BetterDummy Configure request received
info 13:21:59.062442+0200 BetterDummy Configured with token 9
info 13:21:59.063317+0200 BetterDummy Configure request received
info 13:21:59.064413+0200 BetterDummy Configured with token 10
info 13:22:00.871973+0200 BetterDummy Display found - ID: 100, UUID: EFA4F276-8BE7-4CD1-9C29-C47E3DFC44DF, name: Main Hidpi, vendor: 61680, model: 7944, s/n: 3000399455, virtual, dummy
info 13:22:00.872060+0200 BetterDummy - Display is already in the display list, updating configuration counter, resolutions, name.
info 13:22:00.872572+0200 BetterDummy Updating resolutions for display 100
info 13:22:00.872627+0200 BetterDummy - Display has a current pixel size of 5120 by 1440 with mode id 0
info 13:22:00.872709+0200 BetterDummy Attempting MP configuration for display 100
info 13:22:02.197194+0200 BetterDummy Configure request received
info 13:22:02.204602+0200 BetterDummy Configured with token 1
info 13:22:02.205352+0200 BetterDummy Configure request received
info 13:22:02.250752+0200 BetterDummy Configured with token 2
info 13:22:02.250962+0200 BetterDummy Configure request received
info 13:22:02.251693+0200 BetterDummy Configured with token 3
info 13:22:03.971641+0200 BetterDummy Service port update completed
info 13:22:03.971719+0200 BetterDummy Updating resolutions for display 2
info 13:22:03.971901+0200 BetterDummy - Display has a current pixel size of 6144 by 1728 with mode id 104
info 13:22:03.972043+0200 BetterDummy Attempting MP configuration for display 2
info 13:22:03.972074+0200 BetterDummy MP not found for display 2
info 13:22:04.973989+0200 BetterDummy Updating MPDisplays...
info 13:22:05.976502+0200 BetterDummy ...done
info 13:22:05.976547+0200 BetterDummy Retry attempt 3 of MP configuration for display 2
info 13:22:06.977659+0200 BetterDummy Attempting MP configuration for display 2
info 13:22:07.021037+0200 BetterDummy - Display has a native resolution of 5120 by 1440 with mode id 170
info 13:22:07.021146+0200 BetterDummy - Display has a default resolution of 5120 by 1440 with mode id 170
info 13:22:07.021311+0200 BetterDummy MP config attempt succeeded for display 2
info 13:22:07.021490+0200 BetterDummy Resolution update done for display 2
info 13:22:07.021733+0200 BetterDummy Display 2 has HDR but is not in HDR mode, upscale cannot be enabled
info 13:22:07.022239+0200 BetterDummy - EDR max: 1.0 potential: 1.0 reference: 1.0
info 13:22:07.022313+0200 BetterDummy Display not found - VIRTUAL DUMMY id: 100, name: Main Hidpi, vendor: 61680, model: 7944, s/n: 3000399455
info 13:22:07.022392+0200 BetterDummy - Removing display.
info 13:22:07.027127+0200 BetterDummy Color enforcer window created
info 13:22:07.027313+0200 BetterDummy Update of online display list completed.
info 13:22:07.027394+0200 BetterDummy Updating global display coordinate space size to 4000.0x1125.0
info 13:22:07.027895+0200 BetterDummy Service port update initiated for DDC communication
info 13:22:07.043584+0200 BetterDummy - Service match found for display 2
info 13:22:07.043689+0200 BetterDummy - Display seems to be suitable for DDC
info 13:22:07.043812+0200 BetterDummy Service port update completed
info 13:22:07.045473+0200 BetterDummy Connecting associated dummy Main HiDPI for display @1:BetterDummy.Display:33D59505-6D5C-432B-A047-AA1877AA4463-
info 13:22:07.045792+0200 BetterDummy Connecting dummy Main HiDPI
info 13:22:07.047189+0200 BetterDummy Creating virtual display: Main HiDPI
info 13:22:07.059570+0200 BetterDummy - Creating display, preparing modes
info 13:22:07.059655+0200 BetterDummy - Preparing settings for display
info 13:22:07.528122+0200 BetterDummy - Settings are successfully applied. Dummy Display ID is 103
info 13:22:07.529896+0200 BetterDummy - Connected with display ID 103 and UUID UNKNOWN
info 13:22:07.530915+0200 BetterDummy - Virtual display successfully connected
info 13:22:07.531619+0200 BetterDummy Auto setting mirror for Main HiDPI to associated display 2
And that's it? I see that you are using an associated dummy. This fails somewhere completely different than what I assumed.
Why not use native smooth scaling instead of dummy mirroring? Or the resolution is not appropriate for that?
Can you please try what happens if you disassociate this dummy and try mirroring it manually to the associated display 2 (I assume that is Xiaomi Curved Gaming Monitor 34")? Does it hang then as well?
Why not use native smooth scaling instead of dummy mirroring? Or the resolution is not appropriate for that?
I tried that, but the resolution doesn't go high enough. I have a 49" ultra wide Samsung display. With smooth scaling it only goes up to 3072x864.
Can you please try what happens if you disassociate this dummy and try mirroring it manually to the associated display 2 (I assume that is Xiaomi Curved Gaming Monitor 34")? Does it hang then as well?
Indeed! When I disable auto-association, the hanging stops after sleep-wake cycles!
With smooth scaling it only goes up to 3072x864.
4000pt wide would make it a usable resolution btw.
Thanks for the info! I'll try to reproduce the wake freeze when associated issue!
Yes, 3072 is a limit for the entry level m1. With m1 pro you can go up to approx 3840 horizontally.
Yes, 3072 is a limit for the entry level m1. With m1 pro you can go up to approx 3840 horizontally.
Interesting. Good to know. I really like your product! Thanks for all the good work.
I seem to be unable to reproduce this issue so far. I'll keep it around for a while but close if no other reports like this surface.