async Wow this is amazing, years of people responding to e.g. stackexchange questions about customizing macOS with "you can't do this" seriously made me think that there were no more "defaults write" commands to be found. Absolutely mindblowing that there's actually a way to control for example the "blur behind" the titlebar in Safari/Finder with just a defaults write that simply "had never been found before".

CADisableChameleon = wallpaper tinting (so it can also effectively be disabled through the Settings checkbox, but this forces it to never be used even if the box is checked)

CADisableBackdrops = blur behind titlebars

async defaults -currentHost write -g FramebufferServerUseLowQualityScaling -bool false

This one i'm not actually sure if False or True is better — sometimes "high quality scaling" = extra filtering or smoothing algorithms and "low quality" = nearest neighbor/unprocessed. In that case False would probably be better. But this could also relate to compression where in that case True would be better

BTW I was wrong about the m1air "lacking fake HDR entirely", it still has a really tiny amount of it (but still less than the M2 LCD Touch Bar Pro did)

Whenever I have the Blender app running and unminimized the screen will get ever so slightly brighter and black levels will become lower contrast. This remains true even if the window is on another Space. If I minimize or hide it the screen will choppily animate back to normal brightness. (And since Stillcolor is activated, the amount of banding will shift while this is happening)

The only time this doesn't happen is when the screen is on 100% backlight level. Seems like no one else has ever noticed this or talked about this online.

Currently these are the issues on MBP M1 Max (mini-led) as I see them for anyone that still has energy to follow this 1000 post thread. Most of them are relevant for other models as well.

Interested in any solution that solves more of them. I spend too much time on this as I find it rather fun to reverse engineer. Even tho I am still trying to solve the rest of the things I currently have pretty much zero strain from this screen.

  1. Dithering of the screen output. Solved by stillcolor. ✅
  2. Shitty darkness shifts all around. Solved with uniformity2d in stillcolor. ✅
  3. Issues with focusing my eyes at the right distance to the screen. Mostly solved by my Electron overlay app. ✅
  4. Dark blobs around things under bright lightning. Solved by blocking the light sensor next to the camera, and by setting the value of the contrast adjustment frequently as posted by @DisplaysShouldNotBeTVs ✅
  5. Cursor switching color when idling. Possibly related to buggy color profiles, but seems solved with IdleCachingMethod. ✅
  6. Random color shifts. Mostly solved with the ioreg flags for things like temperature. ✅
  7. Dithering applied directly in apps like Preview. Possibly solved by one of the flags I posted. 🤔
  8. Preventing local backlight dimming with PWM.
  9. Finding a way to force the display to stay at 8 bit, without having to use streaming.
  10. Finding a way to block all high gamut colors without having to use buggy color profiles.
  11. ProMotion flicker near the edges, as described all around the web, that is only solved by 60 hz. Unknown what causes it, but might be one of the seen VRR anti-burnin methods. Currently untested if keeping the framerate high with an overlay solves it.
  12. Disabling the ugly sharpening and text shadows that happens excessively at scaled resolutions. Might be solvable with flags.
  13. Blotching that appears under certain conditions. Seems like it might be related to compression in some video module and possibly metal overlays. Might be solvable with flags.
  14. Understanding other weird behaviour as it seems pretty certain that the display toggles different modes at different times, that significantly affect things. Severe ghosting can suddenly start out of nowhere. Especially when using many of the found flags. Might be based on the bandwidth required in the framebuffer, or things like temperature.
  15. Buggy and weird behaviour with BetterDisplay, drawing layers and color profiles. For example with a streaming display, if I apply my overlay app, I have to switch away from the virtual color profile and back before it applies properly.
  16. Some stuff with HDR content, headroom etc.
  17. Possible improvements from the startup flags posted. All untested.

    Just discovered that my overlay and color profile gets killed when I scroll to the bottom here in safari. When it loads an hdr video. Toggling the color profile of the virtual display fixes it.

    https://www.wide-gamut.com/test

    DisplaysShouldNotBeTVs Hey, thanks! I used the streamed screen for over 2 hours and the text looked sharp, and the screen appeared "calm" instead of "vibrant". Though I still had some symptoms after the 2-hour mark, nothing compared as when using the default 2x scale tho. And yeah, the better display keeps switching the virtual monitor which is super annoying.This confirms how broken the default macOS scaling is. Streming seem to eliminate some process (pattern glare) and make the output stable, I don't know how to describe it, but looking at the default 2x scale is like playing an original PS1 game, while looking at the streamed screen version is like looking at the remastered version lol

      anon123 Step 6 in DisplaysShouldNotBeTVs instructions will tame the virtual screen issue.

      One thing I noticed is that if you check for updates in BetterDisplay while streaming you get a hard hang. A small price to pay for the benefits it supplies.

      defaults related to video and streaming, that might have a solution to prevent these color shifts whenever hdr videos appear.

      x - kCFPreferencesAnyApplication - USEBT1886FORCOREVIDEOGAMMA
      x - com.apple.corevideo - force_colorsync_off
      x - com.apple.corevideo - disable-buffer-compression
      x - com.apple.corevideo - universal-lossy-buffer-compression
      x - com.apple.corevideo - universal-multislice-buffer-compression
      x - com.apple.corevideo - universal-pARGB10101010-buffer-compression
      x - com.apple.corevideo - disable_420
      x - com.apple.corevideo - support_ca_interchange
      x - com.apple.corevideo - pool_iosurface_backing
      x - com.apple.WebKit.GPU - USEBT1886FORCOREVIDEOGAMMA
      x - com.apple.ColorSync - USEBT1886FORCOREVIDEOGAMMA
      x - com.apple.corevideo - verbose_resolve
      x - com.apple.finder - USEBT1886FORCOREVIDEOGAMMA
      x - com.apple.corevideo - cvdisplaylink_vbl_offset
      x - com.apple.corevideo - pools_trace
      x - com.apple.corevideo - cv_note
      ! - com.apple.corevideo - force_colorsync_off
      x - com.apple.corevideo - use_cg_const_colorspaces
      x - com.apple.corevideo - cvdisplaylink_vbl_offset
      x - com.apple.corevideo - pool_prefetch
      ! - com.apple.corevideo - force_colorsync_off
      x - com.apple.corevideo - use_cg_const_colorspaces
      x - com.apple.corevideo - ktrace
      ! - com.apple.corevideo - disable-buffer-compression
      x - com.apple.corevideo - support_ca_y416
      x - com.apple.corevideo - support_ca_v216
      ! - com.apple.corevideo - disable_420
      x - com.apple.corevideo - cv_note
      x - com.apple.corevideo - pool_prefetch
      x - com.apple.corevideo - pools_trace
      x - com.apple.corevideo - corevideo_minimum_alignment
      x - com.apple.corevideo - backings_trace
      ! - com.apple.corevideo - universal-lossy-buffer-compression
      ! - com.apple.corevideo - support_ca_interchange
      ! - com.apple.corevideo - universal-multislice-buffer-compression
      
      x - com.apple.avfoundation - avcapturedevice_trace
      x - com.apple.avfoundation - gestures-enabled-default
      x - com.apple.avfoundation - avcapturedaldevice_trace
      x - com.apple.avfoundation - camera_stack_initiator_logging
      x - com.apple.avfoundation - continuityCapture.disabledApps
      x - com.apple.avfoundation - continuityCapture.filteredApps
      x - com.apple.avfoundation - detailed_kvo_override_logging
      x - com.apple.avfoundation - detailed_camera_history_setup_logging
      x - com.apple.avfoundation - outputcontext_trace
      x - com.apple.avfoundation - outputdevice_trace
      x - com.apple.avfoundation - outputdevicediscoverysession_trace
      x - com.apple.Safari - __uniquePageGroupID-1.WebKit2AVFoundationEnabled
      x - com.apple.avfoundation - avplayer_trace
      x - com.apple.Safari - com.apple.Safari.ContentPageGroupIdentifier.WebKit2AVFoundationEnabled
      x - com.apple.Safari - WebKitPreferences.avFoundationEnabled
      x - com.apple.avfoundation - NSUsesTextStylesForLineBreaks
      x - com.apple.avfoundation - NSHyphenatesAsLastResort
      x - com.apple.avfoundation - NSUsesCFStringTokenizerForLineBreaks
      x - com.apple.avfoundation.videoperformancehud - NSUsesTextStylesForLineBreaks
      x - com.apple.avfoundation.videoperformancehud - NSHyphenatesAsLastResort
      x - com.apple.avfoundation.videoperformancehud - NSUsesCFStringTokenizerForLineBreaks
      x - com.apple.avfoundation - METAL_ERROR_MODE
      x - com.apple.avfoundation.videoperformancehud - METAL_ERROR_MODE
      x - com.apple.avfoundation - METAL_DEBUG_ERROR_MODE
      x - com.apple.avfoundation.videoperformancehud - METAL_DEBUG_ERROR_MODE
      x - com.apple.avfoundation - METAL_WARNING_MODE
      x - com.apple.avfoundation.videoperformancehud - METAL_WARNING_MODE
      x - com.apple.avfoundation - METAL_ERROR_CHECK_EXTENDED_MODE
      x - com.apple.avfoundation.videoperformancehud - METAL_ERROR_CHECK_EXTENDED_MODE
      x - com.apple.avfoundation - LaunchdCrashOnSIGTERMTimeout
      x - com.apple.avfoundation - DyldSharedCachePath
      x - com.apple.avfoundation - DebugLaunchdGuardMalloc
      x - com.apple.avfoundation - DebugGuardMalloc
      x - com.apple.avfoundation - PR_31199278Timeout
      x - com.apple.avfoundation - DebugIgnoreVerificationConnectionFailures
      x - com.apple.avfoundation - LaunchdSIGTERMTimeout
      x - com.apple.avfoundation - FramebufferServerRendererPolicy
      x - com.apple.avfoundation - DebugLaunchdStartSuspended
      x - com.apple.avfoundation - PurgeMobileAssetSimRuntimes
      x - com.apple.avfoundation - DebugBootStatusCheckFrequency
      x - com.apple.avfoundation - Environment
      x - com.apple.avfoundation - PrefersCryptexPersonalization2
      x - com.apple.avfoundation - RuntimeImageSearchPaths
      x - com.apple.avfoundation - LogDiscoveredProfiles
      x - com.apple.avfoundation - DebugZombies
      x - com.apple.avfoundation - DebugCA
      x - com.apple.avfoundation - VerifyCodeSigningForInternal
      x - com.apple.avfoundation - AutomaticallyGenerateDyldShareCache
      x - com.apple.avfoundation - DebugLaunchdLaunchReasons
      x - com.apple.avfoundation - AlwaysExpandRuntimeImages
      x - com.apple.avfoundation - AlwaysUseFramebufferServer
      x - com.apple.avfoundation - FramebufferServerDisableMaskedSurfaces
      x - com.apple.avfoundation - PersonalizationManifestCachePath
      x - com.apple.avfoundation - FramebufferServerUseLowQualityScaling
      x - com.apple.avfoundation - UseDyldSharedCacheIfExists
      x - com.apple.avfoundation - DebugLaunchdQOSUtility
      x - com.apple.avfoundation - EnableVolumeManager
      x - com.apple.avfoundation - RuntimeImageCacheMaxSizeGB
      x - com.apple.avfoundation - RuntimeImageCachePath
      x - com.apple.avfoundation - DebugLaunchdWatchdogTimeout
      x - com.apple.avfoundation - DisableMetalIsolateRestartProtection
      x - com.apple.avfoundation - DebugLaunchdDisableExtensionWatchdog
      x - com.apple.avfoundation - DebugLogging
      x - com.apple.avfoundation - AllowUnsupportedVisionOSHost
      x - com.apple.avfoundation - FramebufferServerGPUPolicy
      x - com.apple.avfoundation - RuntimeImageVariantPrefixMap
      x - com.apple.avfoundation - DebugMallocStackLogging
      x - com.apple.avfoundation - Cryptex1BundleDiskImageMode
      x - com.apple.avfoundation - DebugDYLD
      x - com.apple.avfoundation - RuntimeEnforceHostVersionRequirements
      x - com.apple.avfoundation - RuntimeEnforceLibLaunchHostCanLoad
      x - com.apple.avfoundation.videoperformancehud - LaunchdCrashOnSIGTERMTimeout
      x - com.apple.avfoundation.videoperformancehud - DyldSharedCachePath
      x - com.apple.avfoundation.videoperformancehud - DebugLaunchdGuardMalloc
      x - com.apple.avfoundation.videoperformancehud - DebugGuardMalloc
      x - com.apple.avfoundation.videoperformancehud - PR_31199278Timeout
      x - com.apple.avfoundation.videoperformancehud - DebugIgnoreVerificationConnectionFailures
      x - com.apple.avfoundation.videoperformancehud - LaunchdSIGTERMTimeout
      x - com.apple.avfoundation.videoperformancehud - FramebufferServerRendererPolicy
      x - com.apple.avfoundation.videoperformancehud - DebugLaunchdStartSuspended
      x - com.apple.avfoundation.videoperformancehud - PurgeMobileAssetSimRuntimes
      x - com.apple.avfoundation.videoperformancehud - DebugBootStatusCheckFrequency
      x - com.apple.avfoundation.videoperformancehud - Environment
      x - com.apple.avfoundation.videoperformancehud - PrefersCryptexPersonalization2
      x - com.apple.avfoundation.videoperformancehud - RuntimeImageSearchPaths
      x - com.apple.avfoundation.videoperformancehud - LogDiscoveredProfiles
      x - com.apple.avfoundation.videoperformancehud - DebugZombies
      x - com.apple.avfoundation.videoperformancehud - DebugCA
      x - com.apple.avfoundation.videoperformancehud - VerifyCodeSigningForInternal
      x - com.apple.avfoundation.videoperformancehud - AutomaticallyGenerateDyldShareCache
      x - com.apple.avfoundation.videoperformancehud - DebugLaunchdLaunchReasons
      x - com.apple.avfoundation.videoperformancehud - AlwaysExpandRuntimeImages
      x - com.apple.avfoundation.videoperformancehud - AlwaysUseFramebufferServer
      x - com.apple.avfoundation.videoperformancehud - FramebufferServerDisableMaskedSurfaces
      x - com.apple.avfoundation.videoperformancehud - PersonalizationManifestCachePath
      x - com.apple.avfoundation.videoperformancehud - FramebufferServerUseLowQualityScaling
      x - com.apple.avfoundation.videoperformancehud - UseDyldSharedCacheIfExists
      x - com.apple.avfoundation.videoperformancehud - DebugLaunchdQOSUtility
      x - com.apple.avfoundation.videoperformancehud - EnableVolumeManager
      x - com.apple.avfoundation.videoperformancehud - RuntimeImageCacheMaxSizeGB
      x - com.apple.avfoundation.videoperformancehud - RuntimeImageCachePath
      x - com.apple.avfoundation.videoperformancehud - DebugLaunchdWatchdogTimeout
      x - com.apple.avfoundation.videoperformancehud - DisableMetalIsolateRestartProtection
      x - com.apple.avfoundation.videoperformancehud - DebugLaunchdDisableExtensionWatchdog
      x - com.apple.avfoundation.videoperformancehud - DebugLogging
      x - com.apple.avfoundation.videoperformancehud - AllowUnsupportedVisionOSHost
      x - com.apple.avfoundation.videoperformancehud - FramebufferServerGPUPolicy
      x - com.apple.avfoundation.videoperformancehud - RuntimeImageVariantPrefixMap
      x - com.apple.avfoundation.videoperformancehud - DebugMallocStackLogging
      x - com.apple.avfoundation.videoperformancehud - Cryptex1BundleDiskImageMode
      x - com.apple.avfoundation.videoperformancehud - DebugDYLD
      x - com.apple.avfoundation.videoperformancehud - RuntimeEnforceHostVersionRequirements
      x - com.apple.avfoundation.videoperformancehud - RuntimeEnforceLibLaunchHostCanLoad
      x - com.apple.Safari - __uniquePageGroupID-46.WebKit2AVFoundationEnabled
      x - com.apple.Safari - TouchIconExtractor.WebKit2AVFoundationEnabled
      x - com.apple.Safari - __uniquePageGroupID-72.WebKit2AVFoundationEnabled
      x - com.apple.Safari - com.apple.Safari.SiteMetadataFetcher.WebKit2AVFoundationEnabled
      x - com.apple.avfoundation - assetinspectorloader_trace
      x - com.apple.avfoundation - avplayeritem_trace
      x - com.apple.avfoundation - AvoidConcurrentKVOForAVPlayerCurrentItem
      x - com.apple.avfoundation - avblockserializer_trace
      x - com.apple.avfoundation - avplaybackcoordinator_trace
      x - com.apple.avfoundation - avapplicationstatemonitor_trace
      x - com.apple.avfoundation - avplayer_logperformance
      x - com.apple.avfoundation - surrogate_player_disabled
      x - com.apple.avfoundation - coordinator_player_disabled
      x - com.apple.avfoundation - avplaybackcoordinator_always
      x - com.apple.avfoundation - avrunloopcondition_trace
      x - com.apple.avfoundation - avplayeritemtrack_trace
      x - com.apple.avfoundation - avpubsub_trace
      x - com.apple.avfoundation.videoperformancehud - enable
      x - com.apple.avfoundation.videoperformancehud - spatial
      x - com.apple.avfoundation.videoperformancehud - interval
      x - com.apple.avfoundation.videoperformancehud - color
      x - com.apple.avfoundation.videoperformancehud - opacity
      x - com.apple.avfoundation.videoperformancehud - fontsize
      x - com.apple.avfoundation.videoperformancehud - show_complete_uri
      x - com.apple.avfoundation.videoperformancehud - xoffset
      x - com.apple.avfoundation.videoperformancehud - yoffset
      x - com.apple.avfoundation - routedetector_trace
      x - com.apple.avfoundation - avsamplebuffervideorenderer_trace
      x - com.apple.avfoundation - avcapturesession_trace
      x - com.apple.avfoundation - avcapturedeviceinput_trace
      x - com.apple.avfoundation - avcaptureconnection_trace
      x - com.apple.avfoundation - disable_export_compatibilitycheck
      x - com.apple.avfoundation.avvc - debug_level
      x - com.apple.avfoundation.avvc - debug_encoding
      x - com.apple.avfoundation.avvc - debug_endpoint
      x - com.apple.avfoundation.avvc - debug_callbacks
      x - com.apple.avfoundation.avvc - debug_locking
      x - com.apple.avfoundation.avvc - debug_state
      x - com.apple.avfoundation.avvc - debug_trace
      x - com.apple.avfoundation.avvc - debug_timing
      x - com.apple.avfoundation.avvc - debug_delegate
      x - com.apple.avfoundation.avvc - debug_playback
      x - com.apple.avfoundation.avvc - debug_deviceselect
      x - com.apple.avfoundation.avvc - avvc_owned_metrics
      x - com.apple.avfoundation.avvc - enable_serialization
      x - com.apple.avfoundation.avvc - beep_silence_threshold
      x - com.apple.avfoundation.avvc - dump_input
      x - com.apple.textkit.nsattributedstringagent - __uniquePageGroupID-1.WebKit2AVFoundationEnabled
      x - com.apple.avfoundationcf - avcfplayer_trace
      x - com.apple.avfoundationcf - disable_coordinator
      x - com.apple.avfoundationcf - PlaybackCoordinator_trace
      x - com.apple.avfoundationcf - defaultaudiostrategy
      x - com.apple.avfoundationcf - notificationbouncer_trace
      x - com.apple.avfoundation - avcontentkeysession_trace
      x - com.apple.textkit.nsattributedstringagent - __uniquePageGroupID-490.WebKit2AVFoundationEnabled
      x - com.apple.textkit.nsattributedstringagent - __uniquePageGroupID-505.WebKit2AVFoundationEnabled
      x - com.apple.textkit.nsattributedstringagent - __uniquePageGroupID-517.WebKit2AVFoundationEnabled
      x - com.apple.Safari - __uniquePageGroupID-16.WebKit2AVFoundationEnabled
      x - com.apple.Safari - __uniquePageGroupID-219.WebKit2AVFoundationEnabled
      x - com.apple.Safari - __uniquePageGroupID-23.WebKit2AVFoundationEnabled
      x - com.apple.textkit.nsattributedstringagent - __uniquePageGroupID-530.WebKit2AVFoundationEnabled
      x - com.apple.avfoundation - NSVisualBidiSelectionEnabled
      x - com.apple.avfoundation.videoperformancehud - NSVisualBidiSelectionEnabled
      x - com.apple.Safari - __uniquePageGroupID-1053.WebKit2AVFoundationEnabled
      x - com.apple.textkit.nsattributedstringagent - __uniquePageGroupID-543.WebKit2AVFoundationEnabled
      x - com.apple.Safari - __uniquePageGroupID-530.WebKit2AVFoundationEnabled
      x - com.apple.Safari - __uniquePageGroupID-32.WebKit2AVFoundationEnabled
      x - com.apple.Safari - __uniquePageGroupID-58.WebKit2AVFoundationEnabled
      x - com.apple.avfoundation - UseFigRouteDescriptor
      x - com.apple.avfoundation - UseFigRoutingContextResilientRemote
      x - com.apple.avfoundation - UseRouteConfigUpdatedNotification
      x - com.apple.avfoundation - UseFigRouteDescriptor
      x - com.apple.avfoundation - UseFigRoutingContextResilientRemote
      x - com.apple.avfoundation - UseRouteConfigUpdatedNotification
      x - com.apple.textkit.nsattributedstringagent - __uniquePageGroupID-1.WebKit2AVFoundationEnabled
      x - com.apple.avfoundation - avplayer_trace
      x - com.apple.avfoundation - avauvoiceiochatflavor_trace
      x - com.apple.avfoundation - avcaptureproprietarydefaultssingleton_trace
      x - com.apple.textkit.nsattributedstringagent - __uniquePageGroupID-477.WebKit2AVFoundationEnabled
      x - com.apple.avfoundation - avauvoiceiochatflavor_trace
      x - com.apple.avfoundation - avcaptureproprietarydefaultssingleton_trace
      x - softwareupdated - com.apple.AppKitHTMLReaderWebKitAVFoundationEnabled
      ! - softwareupdated - WebKitAVFoundationEnabled
      
      x - com.apple.coremedia - routediscovererremote_trace
      x - com.apple.coremedia - ForceEnforcementOfSetOutputDeviceEntitlement
      x - com.apple.coremedia - ForceEnforcementOfDeviceDetailsEntitlement
      x - com.apple.coremedia - VTDecodeServer
      x - com.apple.coremedia - alt_trace
      x - com.apple.coremedia - UsePerAppContextByDefault
      x - com.apple.coremedia - sbrs_trace
      x - com.apple.coremedia - logurls
      x - com.apple.coremedia - curl_handling_trace
      x - com.apple.coremedia - contentkeysession_trace
      x - com.apple.coremedia - contentkey_trace
      x - com.apple.coremedia - fhttpchunk_trace
      x - com.apple.coremedia - extraTargetDurationsReqToSwitchSecsAhead
      x - com.apple.coremedia - switchUpWalkBackMode
      x - com.apple.coremedia - budgetSwitchBackDownWhenCurveKnown
      x - com.apple.coremedia - holdSegmentUntilValidatedForAES256GCM
      x - com.apple.coremedia - connectionCacheCellPurgeTimeout
      x - com.apple.coremedia - maxPipelinedConnections
      x - com.apple.coremedia - stream_pairedLLABR
      x - com.apple.coremedia - fnh_trace
      x - com.apple.coremedia - fnpa_trace
      x - com.apple.coremedia - fig_bw_reporting_trace
      x - com.apple.coremedia - globalHTTPScheduler
      x - com.apple.coremedia - figReportingAgent_trace
      x - com.apple.coremedia - force_reporting
      x - com.apple.coremedia - figReportingSessionStats_trace
      x - com.apple.coremedia - figReportingStats_trace
      x - com.apple.coremedia - figStreamReportingModerator_trace
      x - com.apple.coremedia - stream_LLABRWSize
      x - com.apple.coremedia - playbackFilterConfig.useStartupScoreForInitialAlternate
      x - com.apple.coremedia - switchUpStallRiskFilterChoice
      x - com.apple.coremedia - EnableVerboseLogging
      x - com.apple.coremedia - processdeathmonitoring_trace
      x - com.apple.coremedia - fig_nw_path_eval_trace
      x - com.apple.coremedia - playlist_trace
      x - com.apple.coremedia - mv_refactor
      x - com.apple.coremedia - figPlayerReportingModerator_trace
      x - com.apple.coremedia - figRTCReporting_trace
      x - com.apple.coremedia - streamingCachePath
      x - com.apple.coremedia - flumestream_trace
      x - com.apple.coremedia - filter_trace
      x - com.apple.coremedia - surrogatePlayer_trace
      x - com.apple.coremedia - airplay_trace
      x - com.apple.coremedia - fpap_enableBufferedLocalPlayback
      x - com.apple.coremedia - ams_trace
      x - com.apple.coremedia - globalroutingregistry_trace
      x - com.apple.coremedia - routingRegistry_trace
      x - com.apple.coremedia - fpap_disableBuffered
      x - com.apple.coremedia - stream_trace
      x - com.apple.coremedia - playerperformance_trace
      x - com.apple.coremedia - vp9decodeForMac
      x - com.apple.coremedia - stream_enable_gapless
      x - com.apple.coremedia - stream_bw_cap
      x - com.apple.coremedia - stream_crossfade_duration
      x - com.apple.coremedia - stream_crossfade_volumecurve
      x - com.apple.coremedia - stream_crossfade
      x - com.apple.coremedia - stream_playerstopmode
      x - com.apple.coremedia - use_favd
      x - com.apple.coremedia - stereo_video_media_validation
      x - com.apple.coremedia - inhibit4kInPiP
      x - com.apple.coremedia - fadc_trace
      x - com.apple.coremedia - readAheadMaxMB
      x - com.apple.coremedia - minAcceptableIFrameRate
      x - com.apple.coremedia - progressiveQualityFactor
      x - com.apple.coremedia - progressiveSwitchUp
      x - com.apple.coremedia - ProgressiveStartup
      x - com.apple.coremedia - ProgressiveResume
      x - com.apple.coremedia - maintainLiveEdge
      x - com.apple.coremedia - deferredtransaction_trace
      x - com.apple.coremedia - fasb_trace
      x - com.apple.coremedia - alwaysLogFASBFilters
      x - com.apple.coremedia - crabs_cache_max_mb
      x - com.apple.coremedia - spatialAudioResolutionCutoff
      x - com.apple.coremedia - crabs_trace
      x - com.apple.coremedia - remaker_trace
      x - com.apple.coremedia - boss_trace
      x - com.apple.coremedia - VideoEarlyDumpBefore
      x - com.apple.coremedia - videomentor_trace
      x - com.apple.coremedia - zero_size_terminator_atom
      x - com.apple.coremedia - layersync_trace
      x - com.apple.coremedia - FigCaptionRendererCALayerOutput_trace
      x - com.apple.coremedia - fp_trace
      x - com.apple.coremedia - playmon_trace
      x - com.apple.coremedia - assume_audio_device_available
      x - com.apple.coremedia - faqrp_trace
      x - com.apple.coremedia - faq_trace
      x - com.apple.coremedia - faqts_trace
      x - com.apple.coremedia - AudioEarlyDumpBefore
      x - com.apple.coremedia - audiomentor_trace
      x - com.apple.coremedia - favd_trace
      x - com.apple.coremedia - iq_trace
      x - com.apple.coremedia - caiq_capacity
      x - com.apple.coremedia - iqca_stats
      x - com.apple.coremedia - iq_track_display
      x - com.apple.coremedia - iq_displaycount_trace
      x - com.apple.coremedia - iq_trace_cadence
      x - com.apple.coremedia - cm_group_drop_window_milliseconds
      x - com.apple.coremedia - cm_group_drop_count
      x - com.apple.coremedia - vrp_trace
      x - com.apple.coremedia - vmc_stats_trace
      x - com.apple.coremedia - hdr10plusenabled
      x - com.apple.coremedia - dolby8p1enabled
      x - com.apple.coremedia - hardwareVideoDecoderInterlacedBypass
      x - com.apple.coremedia - vt_addDolbyOverride
      x - com.apple.coremedia - force_opaque_caiq_optimization
      x - com.apple.coremedia - streamingDrift
      x - com.apple.coremedia - videoqueue_trace
      x - com.apple.coremedia - sbar_trace
      x - com.apple.coremedia - sbar_inputQueueLowWaterMS
      x - com.apple.coremedia - sbar_inputQueueHighWaterMS
      x - com.apple.coremedia - sbar_allowAtmosDecode
      x - com.apple.coremedia - sbarairplay_trace
      x - com.apple.coremedia - sbar_forceMusicContext
      x - com.apple.coremedia - cmcaptureframesender_trace
      x - com.apple.coremedia - SmileAndBlinkFD
      x - com.apple.coremedia - MOVReplay
      x - com.apple.coremedia - oisContactStopOffset
      x - com.apple.coremedia - FrameDropRequestEnabled
      x - com.apple.coremedia - SimulateYUVBufferStarvation
      x - com.apple.coremedia - VerboseBufferTracking
      x - com.apple.coremedia - UseIOSurfaceWiringAssertion
      x - com.apple.coremedia - EnableISPBringup
      x - com.apple.coremedia - capturethermalmonitor_trace
      x - com.apple.coremedia - exclusivemode_readcache_entries
      x - com.apple.coremedia - exclusivemode_readcache_blocksize
      x - com.apple.coremedia - read_cache_num_entries
      x - com.apple.coremedia - read_cache_block_size
      x - com.apple.coremedia - FigAssetExportSession_trace
      x - com.apple.coremedia - vdmst_trace
      x - com.apple.coremedia - asyncpixeltransfer
      x - com.apple.coremedia - playbackcoordinator_trace
      x - com.apple.coremedia - timelinecoordinator_trace
      x - com.apple.coremedia - httprequest_trace
      x - com.apple.coremedia - DisableIncreasedNetworkQOS
      x - com.apple.coremedia - fig_nw_util_trace
      x - com.apple.coremedia - ccrp_trace
      x - com.apple.coremedia - do_not_use_audio_file_allowlist
      x - com.apple.coremedia - figfile_trace
      x - com.apple.coremediaio.support - Device
      x - com.apple.coremedia - ForceEnforcementOfDeviceListEntitlement
      x - com.apple.coremedia - allowSoftwareTransferSession
      x - com.apple.coremedia - allowHardwareTransferSession
      x - com.apple.coremedia - allowPixelTransferChain
      x - com.apple.coremedia - allowPixelTransferGraph
      x - com.apple.coremedia - allowPixelTransferFallbacks
      x - com.apple.coremedia - metaltransfer_trace
      x - com.apple.coremediaio.support - Device
      x - com.apple.coremedia - ForceEnforcementOfSetOutputDeviceEntitlement
      x - com.apple.coremedia - ForceEnforcementOfDeviceDetailsEntitlement
      x - com.apple.coremedia - ForceEnforcementOfDeviceListEntitlement
      x - com.apple.coremedia - allowSoftwareTransferSession
      x - com.apple.coremedia - allowMetalTransferSession
      x - com.apple.coremedia - allowHardwareTransferSession
      x - com.apple.coremedia - allowPixelTransferChain
      x - com.apple.coremedia - allowPixelTransferGraph
      x - com.apple.coremedia - allowPixelTransferFallbacks
      x - com.apple.coremedia - fig_notes
      x - com.apple.coremedia - automatic_fig_notes
      x - com.apple.coremedia - metaltransfer_trace
      x - com.apple.coremedia - gm_ktrace
      x - com.apple.coremedia - alt_trace
      x - com.apple.coremedia - CombinedAudioFormatReader
      x - com.apple.coremedia - gm_ktrace
      x - com.apple.coremedia - CombinedAudioFormatReader
      ! - com.apple.coremedia.videodecoder - METAL_DEVICE_WRAPPER_TYPE
      x - com.apple.coremedia.videodecoder - MetalForceCaptureEnabled
      x - com.apple.coremedia.videodecoder - MetalForceHudEnabled
      x - com.apple.coremedia.videodecoder - NSDoubleLocalizedStrings
      x - com.apple.coremedia.videodecoder - NSForceRightToLeftLocalizedStrings
      x - com.apple.coremedia.videodecoder - NSAccentuateLocalizedStrings
      x - com.apple.coremedia.videodecoder - NSSurroundLocalizedStrings
      x - com.apple.coremedia.videodecoder - NSTallLocalizedStrings
      x - com.apple.coremedia - AVD_CoreSelect
      x - com.apple.coremedia - AVD_CheckWireLimit
      x - com.apple.coremedia - AVD_TryAllFrames
      x - com.apple.coremedia - AVD_OnDemandDartMap
      x - com.apple.coremedia - AVD_avdCoreControlPerfWeight
      x - com.apple.coremedia - AVD_MCacheMode
      x - com.apple.coremedia - AVD_EnableIdleTimer
      x - com.apple.coremedia - AVD_IdleTimerTimeout
      x - com.apple.coremedia - AVD_IdleTimerNumClients
      x - com.apple.coremedia - AVD_CPBCacheBufferSizeFactor
      x - com.apple.coremedia - AVD_CPBCacheNumBuffers
      x - com.apple.coremedia - AVD_InhibitADSForAVCHEVC
      x - com.apple.coremedia - AVD_AllowADSOnUnsupported
      x - com.apple.coremedia - AVD_EnableHistogram
      x - com.apple.coremedia - allowMetalTransferSession
      x - com.apple.coremedia - ForceSyncH264SWDecoder
      x - com.apple.coremedia - AVD_InhibitADSForVP9
      x - com.apple.coremedia - fig_notes
      x - com.apple.coremedia - automatic_fig_notes
      ! - kCFPreferencesAnyApplication - com.apple.coremedia.optimizeVideoStreamingOnBattery
      
      
      x - com.apple.coreimage - CI_LOG_TEXTURE_CACHE
      x - com.apple.coreimage - FOSL_DUMP_GRAPH
      x - com.apple.coreimage - FOSL_PRINT_GRAPH
      x - com.apple.coreimage - CI_LOSSY_COMPRESSED_INTERMEDIATES
      x - com.apple.coreimage - CI_LOSSLESS_COMPRESSED_INTERMEDIATES
      x - com.apple.coreimage - CI_NO_CM
      x - com.apple.coreimage - CI_PRINT_TIME
      x - com.apple.coreimage - FOSL_PRINT_KERNEL_AST
      x - com.apple.coreimage - CI_IOSURFACE_INTERMEDIATES
      x - com.apple.coreimage - CI_VERBOSE_SIGNPOSTS
      x - com.apple.coreimage - CI_MAX_TEXTURE_SIZE
      x - com.apple.coreimage - CI_PRINT_TREE
      x - com.apple.coreimage - CI_IOSURFACE_WRAPPING
      x - com.apple.coreimage - CI_FORCE_INSERT_NOOPS
      x - com.apple.coreimage - CI_ENABLE_SUBDIVIDE_ROI
      x - com.apple.coreimage - CI_LOG_SURFACE_CACHE
      x - com.apple.coreimage - CI_TRACE_PEAK_SURFACE_CACHE
      x - com.apple.coreimage - CI_LOG_TEXTURE_CACHE
      x - com.apple.coreimage - FOSL_DUMP_GRAPH
      x - com.apple.coreimage - FOSL_PRINT_GRAPH
      x - com.apple.coreimage - CI_PRINT_PROGRAM
      x - com.apple.coreimage - CI_USE_ARCHIVED_KERNELS
      x - com.apple.coreimage - CI_ENABLE_FUNCTION_STITCHING
      x - com.apple.coreimage - CI_DUMP_PROGRAM_LIBRARIES_TYPE
      x - com.apple.coreimage - CI_LOG_BINARY_ARCHIVE_MISS
      x - com.apple.coreimage - CI_IOSURFACE_WRAPPING
      x - com.apple.coreimage - CI_NO_CM
      x - com.apple.coreimage - CI_LOG_METAL_FUNCTION_HASH
      x - com.apple.coreimage - CI_IOSURFACE_INTERMEDIATES
      x - com.apple.coreimage - CI_MAX_TEXTURE_SIZE
      x - com.apple.coreimage - CI_USE_ARCHIVED_KERNELS
      x - com.apple.coreimage - CI_PRINT_TREE
      x - com.apple.coreimage - CI_PRINT_TIME
      x - com.apple.coreimage - CI_ENABLE_SUBDIVIDE_ROI
      x - com.apple.coreimage - CI_VERBOSE_SIGNPOSTS
      x - com.apple.coreimage - CI_ENABLE_FUNCTION_STITCHING
      x - com.apple.coreimage - CI_PRINT_PROGRAM
      x - com.apple.coreimage - CI_DUMP_PROGRAM_LIBRARIES_TYPE
      x - com.apple.coreimage - CI_LOG_BINARY_ARCHIVE_MISS
      x - com.apple.coreimage - CI_LOG_SURFACE_CACHE
      x - com.apple.coreimage - FOSL_PRINT_KERNEL_AST
      x - com.apple.coreimage - CI_FORCE_INSERT_NOOPS
      x - com.apple.coreimage - CI_TRACE_PEAK_SURFACE_CACHE

      async Great list! Maybe you could create a shared read only page in notion? That would be really easy to track and check how to setup for each section 🙂

      anon123 yep, even though i doubted it in the past… there is totally a weird postprocessing step i can observe whenever the physical screen is running at 2x —

      this issue can even be seen in "reverse", if you *leave physical at 2x 1280x800* then still do virtual stream at 1x with integer scaling (to be clear this is just an example — do NOT leave physical at 2x!). technically this "should be" the same result, "sharp 1x pixels" and it certainly "looks" this way at first. but there's just this weird subtle blurriness to it that i can totally notice, makes me feel really tired after a while. in this state it feels like "grays are dimmer" and "whites are brighter" simultaneously

      the only thing i can connect this to is maybe the 1x and 2x physical modes have different LCD clock rates? (even though both of them render a supposedly "theoretically identical" native 2560x1600 pixel grid)

      checked IORegistryExplorer though and the clock rate variables looked the same in both modes…

      this does NOT happen when you set physical to 1x 2560x1600 instead (which ALSO enables you to use virtual streaming at 1x with pixel perfect integer scaling). it looks noticeably sharper and is way easier on my eyes

      also:

      anon123 And yeah, the better display keeps switching the virtual monitor which is super annoying

      make sure to check Resume Stream on Connect 🙂

        async Disabling the ugly sharpening and text shadows that happens excessively at scaled resolutions. Might be solvable with flags.

        oversharpening artifacts in retina modes can be solved with betterdisplay streaming (by substituting retina instead of non-retina for the virtual display res and leaving integer scaling unchecked)

        however, then you'll have the "chroma subsampling"-style streaming color artifacts instead. IMO those are still way more tolerable than Apple's oversharpening though.

        i tried the disable-buffer-compression flag and restarted betterdisplay but that didn't solve the color artifacts. still using my 1x integer scaling stream with very little strain though despite these noticeable "color artifacts" though, so they impact strain wayyyy less than the sharpening ones do. mostly because the pattern is totally predictable and doesn't move. still wish i could get rid of them though

        async Currently these are the issues on M1

        probably you should specify that this is not just M1, it's specifically M1 14"/16" mini-LED.

        LCD M1s like my m1air have a different set of quirks (even though they still share a few). but especially in the case of the m1air, it takes much less work to become usable than a mini-LED model would

        async CADisableShadingDither

        i think this might have done something, i feel like there is more banding now during the swipe to switch spaces gesture (specifically with the "reduce motion" fade transition enabled)

        might just be something the streaming method was already doing before though that i didn't notice

        DisplaysShouldNotBeTVs Yes, there is something wrong with downsampling in macOS. (macOS achieves scaling by rendering content at a higher resolution than the display's native resolution and then downsampling it). This issue might be related to the pixel clock, though I'm uncertain at this point. Perhaps @async can provide some discoveries into the downsampling parameters.
        A fun fact: I once had an old CRT monitor for retro gaming, and when I was experimenting with the refresh rate, I experienced similar symptoms to what I'm encountering now on Mac by lowering the frame rate (Hertz).
        Oh, and yes, I have all the parameters set correctly on betterdisplay, but for some reason (maybe Mission Control), some apps get stuck on the virtual display, or my mouse switches to the virtual display, and I have to restart it (I use it as my main display)

        • Rikl replied to this.

          anon123 splay, but for some reason (maybe Mission Control), some apps get stuck on the virtual display, or my mouse switches to the virtual display, and I have to restart it (I use it

          I had this issue so much that I almost gave up on streaming. I did step 6 in Displayshouldnotbetv's setup - move the screens in macos arrangement - and have not had an issue since. I use 1x 2560x1600 on physical 2x 1200x800 on virtual. Hidpi. Latest Sonoma.

          anon123 BTW. Stage Manager can bring stuff you don't want.

          I'm now using this on my M1 MacBook Air (Ventura 13.6.6, combined with Stillcolor, force disabling contrast enhancement, font smoothing disabled, and True Non-Retina resolution streaming with sharp integer scaling)

          Kensington UltraThin Magnetic Privacy Screen for 13" MacBook Pro/Air

          It is dual-sided, I am using the matte side.

          TLDR: Screen is even more comfortable now!! M1 Air = my most usable MacBook in years

          -

          Sold on both Apple Store and Amazon, I got the Amazon version FWIW as it was on sale. Had a slightly different model number but I'm pretty sure both are identical products with the same name, probably just has e.g. different packaging for the Apple Store version.

          Was interested in trying it out because it's one of only 2 "matte" screen protectors endorsed by Apple and sold on their store (and thus much less likely to have issues like "damaging the thin screen of the laptop while closed").

          Huge fan of the "magnetic" style too, I had no idea that was even possible. No applying process at all, it literally just perfectly snaps on without bubbles and can be taken off extremely quick too. Also, contrary to some reviews, my m1air can still fully close just fine after snapping on the screen protector.

          Since it's a privacy shield, it also effectively dims the screen — which I really wanted to try because one of my remaining issues with the MacBook Air screen is that it always feels too bright, even after making it very usable and readable for me (compared to almost any other MacBook) otherwise. Also wanted to see if reducing viewing angle would help things.

          -

          It took a while getting used to at first as it certainly does dim the screen as expected, but because of the privacy aspect it's more dim the closer you get to the left and right edges and brighter in the center. Although even this "brighter center area" is still more dim than the screen usually is.

          Yes, this does mean that your eyes are getting slightly different images but in this case it doesn't seem to be an issue for me. At first, this bothered me a little but I got used to it quick and it does not bother me anymore. While doing more focused work on the computer I realized I just stop noticing it. My eyes adjusted to this and the "darker edges" after just half a day.

          I've realized that ever since I've put it on I am MUCH more productive! Once I got used to the way it affects the screen I realized that the near total elimination of glare and the dimming effect is making it so much more relaxing to read. Switching between windows with light or dark backgrounds is less jarring now. In addition, every time I open the laptop it doesn't feel like it's "blasting me with light" anymore.

          Also any moving content like videos look amazing with the matte screen protector on — it feels like all motion is "happening at the same time all at once" in my field of vision. I'm much less having the need to move my eyes around or refocus while watching videos. For example if someone is walking around in a video but the background is supposed to be still, after putting on the matte screen it truly feels like only the person is moving and not the background.

          Disabling temporal dithering already helped a lot with that (the sensation of "false motion" is even worse for me on dithered screens) but the screen protector finally made videos feel perfect to me.

          I'm still using the laptop at lower hardware backlight, it looks like I very frequently settle on 44% backlight level indoors almost every day (both before and after snapping on the screen protector).

          BTW, something really great is that there is very little "graininess" on this matte screen protector compared to others! There's a little bit but it's subtle enough to not interfere with focusing. It is not distracting or "rainbowy" unlike some worse matte filters I've seen.

          I don't use any software color enhancements because when I've tried to use BetterDisplay color table adjustments to e.g. reduce the contrast, it feels like the screen becomes much less comfortable, even with Stillcolor. I noticed that when I modify color table adjustments such as Software Brightness on the physical display they seem to be "twice as precise with twice as less banding" as when I do the same color adjustment on a virtual display. Resetting color adjustments makes the screen comfortable again. FYI "Metal adjustments mode" is even worse (in that case I notice actual flicker), but even the default color table adjustments mode still causes issues.

          Stillcolor still causes banding "to happen in some cases" instead of remaining entirely smoothed out, but it feels like these color adjustments are still running at some kind of more precise emulated 10bit i.e. possible dithering (possibly spatial instead of temporal?) instead of 8bit. On the other hand, if I leave all color adjustments at default and use the default Color LCD profile, the desktop seems to properly truncate to 8bit with Stillcolor and not use "in-between colors".

          Since I don't use color adjustments as described above, the screen protector does a good job of perceptually dimming the screen and reducing contrast without introducing any software/color management issues.

            Looking into custom XDR presets. Not sure how BetterDisplay sets a custom one, as I can't find where it is stored at all. There is an export and import, but it doesn't even export all the things you can set in the display settings, and it just loads the import dialog when giving it a file.

            Got access to the available values. Note that it has options to disable certain stuff, like EDR, and it can enable hardware brightness while using presets.

            PresetBT2020Capable
            PresetDescription
            PresetGTFA1
            PresetGTFA2
            PresetGTFB1
            PresetGTFB2
            PresetGTFEpsilon1
            PresetGTFEpsilon2
            PresetGTFGamma1
            PresetGTFGamma2
            PresetGTFK1
            PresetGTFK2
            PresetGTFLb
            PresetGTFLw
            PresetGTFStandardType
            PresetGTFVc
            PresetGammaAd
            PresetHDRGammaCapable
            PresetHLGCapable
            PresetHostDefaultSliderBrightness
            PresetHostDisableAutoBlackLevel
            PresetHostDisableAutoBrightness
            PresetHostDisableEDR
            PresetHostDisableHarmony
            PresetHostDisableNightShift
            PresetHostDisableSystemGamma
            PresetHostMaxReferenceLuminance
            PresetHostMaxSliderBrightness
            PresetHostMinSliderBrightness
            PresetHostReferenceColor
            PresetHostRequiredReferenceHeadroom
            PresetHostSystemGamma
            PresetHostTargetAmbientBrightnessExcursion
            PresetHostTargetAmbientBrightness
            PresetMaxHDRLuminance
            PresetMaxSDRLuminance
            PresetMinLuminance
            PresetName
            PresetPQClippingType
            PresetPrimaryBlueX
            PresetPrimaryBlueY
            PresetPrimaryGreenX
            PresetPrimaryGreenY
            PresetPrimaryRedX
            PresetPrimaryRedY
            PresetSRGB
            PresetST2084Capable
            PresetTCLUTsSubType
            PresetUIPrimariesStandardType
            PresetUIReferencePreset
            PresetUITransferGamma
            PresetUIWhitePointStandardType
            PresetUniqueID
            PresetValid
            PresetWhitePointX
            PresetWhitePointY
            PresetWritable

            Don't really want to mess around with finding a way to call CoreDisplay to set the profile. It seems to be the only way. @waydabber Any chance this could be added to the betterdisplaycli to just accept a plist file? The cli for listing XDR profiles seems broken as well and just says failed.

            dev