Closed dominiklohmann closed 4 years ago
@dominiklohmann with regards to the window_opacity
could I leave that enabled on a desktop that I don't put to sleep?
Or alternatively, could I keep opacity enabled, but stop the yabai service before putting the computer to sleep?
Seems silly that opacity is more important than having my computer be able to go to sleep...but that's where I am.
I encountered a slight variation of this problem.
I have all my windows without opacity, exept for a custom script to "flash" the window on focus using window_alpha_fade
method sent to /tmp/yabai-sa_$USER.socket
.
On wake i've never had a problem, but if i spawned many new windows in a short interval of time (ex. spamming the 'open terminal' keybinding i've set up) the window server would crash and i would be thrown into the login page.
One disabled the custom "flash on focus" script i encountered no more crashes. (Each new window would grab focus and trigger the script for a quick decrese/increase of opacity to simulate a flash.
Hope this helps
(ofc i'm in catalina)
Is there any progress on this?
In my case it works when i remove the transition:
yabai -m config window_opacity_duration 0.0
I mean, this is an Apple bug so there is nothing that can be done about it as far as I'm concerned. Edit: I have submitted a report to Apple: FB7444639
@koekeishiya did you ever get any feedback from Apple regarding report, FB7444639?
Nope, no response (as expected). I've verified that you can run with opacity on as long as the duration is set to 0, but the fade does make it nicer imo.
Don't you just love Apple. At this point, I'm using fade (because it's so much nicer) and endure the frequent crashes. It's a shame they haven't addressed it.
At this point it might be worth just patching the bug manually on your system
The call off rbx+0x10 is a nullpointer dereference, and causes the crash. The actual root of the issue might be elsewhere, but I haven't looked closely at the issue yet - just the crash report.
@koekeishiya that's unknown territory for me. I have limited C and system's programming knowledge. I dabble, but not much more than that. Would love to get into it at some point but I never know where to start and I'm missing some positive peer pressure holding me accountable for making real progress. 🙂
Today I bump my macOS version into 10.15.5 , and when I restart my yabai service, it reported with the crash (yabai-sa)payload doesn't support this macOS version
. And switch between window
do not work anymore. Any ideas ?
yabai version: yabai-v3.0.0
Upgrade to the latest version of yabai, reinstall the scripting-addition and add yabai -m config window_opacity_duration 0.0
to your config.
Upgrade to the latest version of yabai, reinstall the scripting-addition and add
yabai -m config window_opacity_duration 0.0
to your config.
Thanks , it was fixes after I reinstall from the HEAD .
At this point it might be worth just patching the bug manually on your system
The call off rbx+0x10 is a nullpointer dereference, and causes the crash. The actual root of the issue might be elsewhere, but I haven't looked closely at the issue yet - just the crash report.
What program are you using in the screenshot when you suggest patching? Some of us need that window_opacity_duration
back.
The screenshot above is from IDA Pro. Another good tool for macOS is Hopper.
--
I've made a patched version of the SkyLight binary for macOS __10.15.4__, although I have not yet had the time to test it.
DO NOT ATTEMPT TO USE THIS UNLESS YOU KNOW WHAT YOU ARE DOING
and you are capable of getting back to a working system, testing in a VM first is recommended.
Patching system binaries require both SIP to be (fully?) disabled and AMFI (Apple Mobile File Integrity) to be disabled.
1. Boot your macOS to Recovery mode (hold ⌘+R )
2. Open Terminal (you can find it in the Utilities drop-down menu)
3. Execute csrutil disable in Terminal to disable SIP.
4. Execute nvram boot-args="amfi_get_out_of_my_way=0x1" to disable AMFI.
5. Reboot your Mac and boot to macOS normally.
Diff original -> patched
~ cmp -l SkyLight Patched_SkyLight | less
7729 0 110
7730 0 203
7731 0 373
7733 0 17
7734 0 204
7735 0 342
7736 0 115
7737 0 13
7739 0 110
7740 0 211
7741 0 337
7742 0 377
7743 0 123
7744 0 20
7745 0 351
7746 0 327
7747 0 115
7748 0 13
748567 110 351
748568 211 25
748569 337 262
748570 377 364
748571 123 377
748572 20 220
Backup and replace the SkyLight binary, replace signature:
# Again, do not attempt this on anything else than 10.15.4, and do so at your own risk
# open root shell
sudo su
# create backup of existing SkyLight binary
cp /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight /tmp/SkyLight.bak
# replace with patched binary
cp /path/to/patched/SkyLight /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight
# codesign the new binary
codesign -f -s - /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight
It is no longer possible to set the duration while running on macOS Catalina.
Apple has apparently managed to fix this issue in Big Sur 11.0.1. Nope, spoke too soon. Still causes a crash on Big Sur 11.0.1
Could that be made optional?
For me the duration is working on Big Sur.
I am a bit reluctant to do that. The crash is happening at the exact same location as it did on Catalina. It appears to work fine for some time, but when it crashes it literally kills the entire user session. I don't feel good about that being a thing, even if gated by an optional setting.
any updates here? I miss opacity transitions 😭
No changes as far as I know
Sent from my iPhone
On 18 Aug 2021, at 20:24, Yorke Rhodes @.***> wrote:
any updates here? I miss opacity transitions 😭
— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHubhttps://github.com/koekeishiya/yabai/issues/277#issuecomment-901332895, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABPDZV2HPAUBBJ2OFE5SXX3T5P3EFANCNFSM4I63TEJA.
Implemented window fading manually (on the master branch), instead of relying on the implementation in SkyLight.
Bug Report
There is a crash happening in
CGXSetWindowListAlpha
on 10.15. It appears to happen on wake if a windows opacity was previously changed, and has been previously discussed as part of #22.For now it is recommended to add
yabai -m config window_opacity_duration 0.0
to your configuration file.Click to expand crash log
``` Process: WindowServer [240] Path: /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/Resources/WindowServer Identifier: WindowServer Version: 600.00 (440.7.10) Code Type: X86-64 (Native) Parent Process: launchd [1] Responsible: WindowServer [240] User ID: 88 Date/Time: 2019-10-09 09:16:15.167 +0200 OS Version: Mac OS X 10.15 (19A582a) Report Version: 12 Bridge OS Version: 4.0 (17P50571a) Anonymous UUID: 7754B96D-2B03-57AE-9A3B-249F859121FE Sleep/Wake UUID: 446F2562-4E7A-4C9A-A35F-587727A2F664 Time Awake Since Boot: 36000 seconds Time Since Wake: 700 seconds System Integrity Protection: disabled Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000010 Exception Note: EXC_CORPSE_NOTIFY Termination Signal: Segmentation fault: 11 Termination Reason: Namespace SIGNAL, Code 0xb Terminating Process: exc handler [240] VM Regions Near 0x10: --> __TEXT 00000001088cc000-00000001088ce000 [ 8K] r-x/r-x SM=COW /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/Resources/WindowServer Application Specific Information: StartTime:2019-10-08 12:24:33 GPU:IG&AMD MetalDevice for accelerator(0x4703): 0x7fad76509c78 (MTLDevice: 0x108bd4000) MetalDevice for accelerator(0x4c27): 0x7fad74d208f8 (MTLDevice: 0x115d95000) IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/GFX0@0/ATY,Palena@3/AMDFramebufferVIB IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/GFX0@0/ATY,Palena@0/AMDFramebufferVIB Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.apple.SkyLight 0x00007fff6331b03c __fadeFinished_block_invoke + 20 1 com.apple.SkyLight 0x00007fff6331a6c9 fadeFinished + 139 2 com.apple.SkyLight 0x00007fff6332165d CGXSetWindowListAlpha + 58 3 com.apple.SkyLight 0x00007fff634be14a _XSetWindowListAlpha + 169 4 com.apple.SkyLight 0x00007fff633149d6 invocation function for block in connectionHandler(unsigned int, mach_msg_header_t*, void*) + 346 5 com.apple.SkyLight 0x00007fff63314839 invocation function for block in connectionHandler(unsigned int, mach_msg_header_t*, void*) + 79 6 com.apple.SkyLight 0x00007fff6344e822 CGXHandleMessage + 139 7 com.apple.SkyLight 0x00007fff633126d9 connectionHandler(unsigned int, mach_msg_header_t*, void*) + 216 8 com.apple.SkyLight 0x00007fff6349726a post_port_data + 255 9 com.apple.SkyLight 0x00007fff63496ed2 CGXRunOneServicesPass + 1730 10 com.apple.SkyLight 0x00007fff634978e5 server_loop + 91 11 com.apple.SkyLight 0x00007fff63497883 SLXServer + 1470 12 WindowServer 0x00000001088cd336 0x1088cc000 + 4918 13 libdyld.dylib 0x00007fff6c577405 start + 1 Thread 1:: Dispatch queue: com.apple.VirtualDisplayListener 0 libsystem_kernel.dylib 0x00007fff6c6c0146 mach_msg_trap + 10 1 libsystem_kernel.dylib 0x00007fff6c6c06ac mach_msg + 60 2 libsystem_kernel.dylib 0x00007fff6c6c79fa mach_msg_server_once + 270 3 com.apple.CoreDisplay 0x00007fff352354a1 -[VirtualDisplayListener rx] + 77 4 libdispatch.dylib 0x00007fff6c526553 _dispatch_call_block_and_release + 12 5 libdispatch.dylib 0x00007fff6c5274de _dispatch_client_callout + 8 6 libdispatch.dylib 0x00007fff6c52ca9e _dispatch_lane_serial_drain + 597 7 libdispatch.dylib 0x00007fff6c52d422 _dispatch_lane_invoke + 363 8 libdispatch.dylib 0x00007fff6c536aa1 _dispatch_workloop_worker_thread + 598 9 libsystem_pthread.dylib 0x00007fff6c780763 _pthread_wqthread + 290 10 libsystem_pthread.dylib 0x00007fff6c7805c3 start_wqthread + 15 Thread 2:: com.apple.coreanimation.render-server 0 libsystem_kernel.dylib 0x00007fff6c6c0146 mach_msg_trap + 10 1 libsystem_kernel.dylib 0x00007fff6c6c06ac mach_msg + 60 2 com.apple.QuartzCore 0x00007fff40bb68da CA::Render::Server::server_thread(void*) + 958 3 com.apple.QuartzCore 0x00007fff40bb6515 thread_fun(void*) + 25 4 libsystem_pthread.dylib 0x00007fff6c783d76 _pthread_start + 125 5 libsystem_pthread.dylib 0x00007fff6c7805d7 thread_start + 15 Thread 3: 0 libsystem_kernel.dylib 0x00007fff6c6c0146 mach_msg_trap + 10 1 libsystem_kernel.dylib 0x00007fff6c6c06ac mach_msg + 60 2 com.apple.CoreDisplay 0x00007fff352f8621 CoreDisplay::Mach::Server::Start() + 147 3 com.apple.CoreDisplay 0x00007fff352f8789 void* std::__1::__thread_proxy