Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: after waking up a mirrored display is dim and BetterDummy is not responding until force quit and start again #764

Closed
vheathen opened this issue Jul 5, 2022 · 20 comments
Labels
can't reproduce Issue cannot be reproduced workaround available A bug has a workaround

Comments

@vheathen
Copy link

vheathen commented Jul 5, 2022

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

@waydabber
Copy link
Owner

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!

@waydabber waydabber added investigating Investigating issue awaiting response from issue reporter Needs further info labels Jul 5, 2022
@vheathen
Copy link
Author

vheathen commented Jul 8, 2022

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.

@waydabber
Copy link
Owner

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?

@vheathen
Copy link
Author

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.

@waydabber
Copy link
Owner

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: #445

Thanks!

@aceontech
Copy link

✅ I have the exact same thing going on

@waydabber
Copy link
Owner

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.

@aceontech
Copy link

I'll give it a go next time it occurs. Keep you posted.

@vheathen
Copy link
Author

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) :)

@waydabber
Copy link
Owner

Oh right, you should start logging before the reconfiguration is taking place, not when everything is locked up already - sorry for not mentioning this.

@vheathen
Copy link
Author

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

@aceontech
Copy link

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

@waydabber
Copy link
Owner

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?

@waydabber
Copy link
Owner

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?

@aceontech
Copy link

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.

@aceontech
Copy link

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!

@aceontech
Copy link

With smooth scaling it only goes up to 3072x864.

4000pt wide would make it a usable resolution btw.

@waydabber
Copy link
Owner

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.

@aceontech
Copy link

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.

@waydabber waydabber added the workaround available A bug has a workaround label Jul 16, 2022
@waydabber waydabber added can't reproduce Issue cannot be reproduced investigating Investigating issue and removed investigating Investigating issue labels Aug 14, 2022
@waydabber
Copy link
Owner

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.

Repository owner locked and limited conversation to collaborators Sep 15, 2022
@waydabber waydabber converted this issue into discussion #993 Sep 15, 2022

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
can't reproduce Issue cannot be reproduced workaround available A bug has a workaround
Projects
None yet
Development

No branches or pull requests

3 participants