DisplaysShouldNotBeTVs Great find. Keeping the retina resolution with streaming is best for me. Thank you.
I disabled dithering on Apple silicon + Introducing Stillcolor macOS M1/M2/M3
- Edited
BTW, I have also just tested this on my 2018 Intel Air (which has temporal dithering that cannot be disabled, even dither=0 nvram trick does not work. The 2018 Air actually uniquely has 8-bit and sRGB set as the default color mode too and doesn't even have True Tone, but still dithers anyway).
Even on that laptop, "true non-Retina" can help improve screen comfort!
It's not as significant because temporal dithering is still an issue on that Mac, but it now feels much more usable to me. Before, using my 2018 Air on macOS felt like it was burning my eyes. Now, it still feels "unstable" for sure, but I'm at least able to look at it for a good amount longer now.
And it possibly may reduce the frequency that the 2018 Air's integrated GPU needs to dither as well, because every "pixel" is being made up of exactly 4 pixels…
- Edited
DisplaysShouldNotBeTVs By the way, absolutely huge shoutout to @waydabber here for implementing Integer Scaling for screen streaming in BetterDisplay. I finally bought BetterDisplay Pro for this feature alone after using the limited free version for years
Anything visually equivalent to a "pixel-doubled non-Retina mode" is actually something that I've wanted to do on Retina Macs out of curiosity for years (and can also help with using older software and websites without them appearing blurry), but didn't know was possible until just a few days ago.
Even on Windows machines it's very difficult to do this, for example Intel only just recently added an option for integer scaling (and only for laptops with Ice Lake integrated graphics and later).
For a while I searched "how to prevent blurry scaling for non-Retina apps" or "is it possible to use the exact non-Retina resolution on a Retina Mac with sharp pixel-doubled scaling" but would never get any results. Ended up having to specifically search BetterDisplay and then finally stumbled across this feature through a GitHub issue.
It's a bit hidden away but I personally see it as a flagship feature of the app it should probably be highlighted more as I believe lot of people are definitely looking for this, even outside of strain reduction…
One suggestion is that I wish there was a way to show/simulate the "hardware brightness" OSD on the streamed display. It becomes entirely invisible after starting a stream with the internal display as the target. (I want to still use hardware brightness instead of using software dimming on the virtual display)
- Edited
DisplaysShouldNotBeTVs Just had to put the resolution into the aspect ratio. This was actually quite nice together with the current flags I use. Using it with a scaled resolution, and getting rid of the excessive sharpening was really nice. I have no idea how people manage to fit anything on the screen with the default 2x resolution. Even on an 15".
It still has some sort of slow blotching tho. I don't think it is the backlight. It moves for roughly 1,5 seconds after all changes. Mostly on light gray. I feel like I've been try pretty much all settings without getting closer to understanding what it actually is. It is applied after color table quantization and everything, but is removed by gpu dithering.
Some interesting observations of this setup:
- Metal image adjustments on the built in screen is ignored. Might be because of the way BetterDisplay handles streaming. Color profiles mostly work.
- Color Profiles on the streaming display applies gamma or something, but completely ignores color adjustments in the ICC profile. Meaning that for example my color profiles that makes whites yellow while blacks blueish doesn't do anything. Which is a bit strange.
- Lag that affects the cursor is a rather annoying issue, but it might be possible to increase the cpu priority somehow of the streaming. At least with SIP off.
Current flags:
"enableDither": false,
"uniformity2D": false, // true
"VUCEnable": false, // true
"overdriveCompCutoff": NSNumber(0), // 334233600
"IOMFBContrastEnhancerStrength": NSNumber(0), // affects things with high values, but keeps getting wiped out
"IOMFBBrightnessCompensationEnable": false, // true
"IOMFBTemperatureCompensationEnable": false, // true
"enable2DTemperatureCorrection": false,
"APTEnableCA" : false, // no visible effect
"APTEnablePRC" : false,
"APTPDCEnable" : false,
"enableLAC": false, // true, no idea
"enableDarkEnhancer": false, // true
"BLMAHMode": NSNumber(1), // 2 default. 1 seems better
"BLMPowergateEnable": false, // can't see any difference
"enableDBMMode": false, // true on m1 max, not there on touchbar
"enableBLMSloper": false, // true
"APTEnableDefaultGray" : false, // no idea what it does
"DisableDisplayOptimize": NSNumber(1), // 0, not sure if stable
"IdleCachingMethod": NSNumber(1), // 2, disables a flag that switches back and forth on activity. prevents colored cursor from switching color profile upon software/hardware cursor.
async It still has some sort of slow blotching tho. I don't think it is the backlight. It moves for roughly 1,5 seconds after all changes. Mostly on light gray.
yep, it's some kind of compensation for local dimming zones pretty sure. saw it all the time on my mini-LED after messing with color settings.
since your contrast enhancer strength is 0 — even though i can get a ""similar"" animated blotching effect to show up on my m1air by raising that — it's definitely not the same thing as what happens on mini-LED.
i honestly do not think it's fixable until possible a true "disable local dimming" method is found (which i'm also not sure is possible).
LCD Macs like m1air aren't affected by it though.
- Edited
For these slightly colored blotches that move over 1,5s after any metal / color table brightness adjustments or window movement, they move instantly when adjusting the native xdr brightness. Tbh that doesn't tell me much, but it might provide at least some clue as to where they are added.
They are not the local dimming zones or anything, as they are removed with gpu dithering.
This is different from both the dark compensation blotch from ContrastEnhancement, and the glowing led behind colored things.
Something is off. I need to try to toggle some things.
A bit hard to see on the video, but it's moving in all directions and shifting colors until the cursor stops.
Digging around again. Just some scrambled notes.
AppleM2ScalerCSCDriver seems relevant for scaling artifacts. It has references to a ton of adjustments done by IOSurface in ioreg. It also has a ton of dither options as seen by the bridgesupport file. Not entirely sure if these types of values can be changed somehow. Found some references to python projects using that bridgefile.
/System/Frameworks/IOKit.framework/Versions/A/Resources/BridgeSupport/IOKit.bridgesupport
2979:<enum name='kConnectionControllerDitherControl' value64='6775907'/>
6253:<enum name='kIODisplayDitherAll' value64='255'/>
6254:<enum name='kIODisplayDitherDefault' value64='128'/>
6255:<enum name='kIODisplayDitherDisable' value64='0'/>
6256:<enum name='kIODisplayDitherFrameRateControl' value64='4'/>
6257:<enum name='kIODisplayDitherRGBShift' value64='0'/>
6258:<enum name='kIODisplayDitherSpatial' value64='1'/>
6259:<enum name='kIODisplayDitherTemporal' value64='2'/>
6260:<enum name='kIODisplayDitherYCbCr422Shift' value64='16'/>
6261:<enum name='kIODisplayDitherYCbCr444Shift' value64='8'/>
ioreg values for it can be changed with ioio like this. It does however not appear to change much.
ioio -s AppleM2ScalerCSCDriver DisableSIMDOptimizations false
IOAccelerator also keeps popping up as well.
Not sure what this is for, but it provides an interesting effect.
betterdisplaycli set -namelike=built -specifier=CMDegammaMethod -framebufferNumericProperty=1
Seems to use the M2Scaler
userlandkernel/iokitstuff: Please contribute by reversing the kexts and implementing easy to use methods around the userclients. (github.com)
Siguza/iokit-utils: Dev tools for probing IOKit (github.com)
RehabMan/OS-X-ioio: Command-line utility for setting ioreg properties via IOService::SetProperties (github.com)
Releases · macmade/IOBrowser (github.com)
- Edited
New discovery!
My overlay with a diagonal pattern 100% removes the blotching while using screen streaming. So the algorithm that adds it targets solid color areas. I can remove the brightness to a level where it isn't even visible to me and it still does it. This is what the pattern looks like with higher opacity.
Edit: A bigger pattern of crosses does not have the same effect, nor does scanlines. 0.5% opacity black for the lines is enough to fix it. Not entirely sure why blotches exist on the streamed display, but not on the regular monitor.
Edit2: Not necessarily related here, but the APTFixedRR does not seem to apply at all when streaming. Quartz Debugger shows FPS higher than the monitor is set at, and it never limits it. Maybe streaming bypasses all APT stuff.
Edit3: When streaming the blotching affects both the window that shows the streamed screen, as well as the actual screen. Meaning that the entire screen goes into some different mode that causes it.
- Edited
async the window that shows the streamed screen
are you using picture in picture streaming? on mine, i have no "window" (unless i choose the cropping mode) since i'm using the "full screen" streaming feature instead that doesn't have a title bar, which is one menu item above picture in picture
async kConnectionControllerDitherControl
is this possible to change with ioio? not sure if relevant to M1 but this would be HUGE for Intel, it's present in the AllRez dump on specifically Intel Macs and seems like it can modify Intel/AMD dithering
DisplaysShouldNotBeTVs Don't think so, but I use Rectangle Pro with some hotkeys to move windows, so if I accidentally have the cursor on the wrong screen I move the entire thing.
DisplaysShouldNotBeTVs Nope, don't think so. Might be some flags that can be modified there that isn't added by default tho. Same for plists. Someone that knowns more here has to chime in, but it is simply a header for IOKit. No idea how it can be used.
DannyD2 as a quick and easy solution, i'm just running this command in the background in a minimized terminal window to reset contrast enhancement to 0 every 2 seconds
while true; do /Applications/BetterDisplay.app/Contents/MacOS/BetterDisplay set -namelike=built -framebufferNumericProperty=0x0 -specifier=IOMFBContrastEnhancerStrength; sleep 2; done
- Edited
async Recently was using a similar setup to you with 1600x1000 retina streamed to 1280x800 retina.
Agree that it's a great way to get the extra space when needed without the really obvious and annoying scaling artifacts (and whatever the heck else the DCP/TCON might do whenever its not actually rendering at its physical resolution…)
I personally chose 1600x1000 instead of 1680x1050, as the Windows laptop I was using for a while as my remote desktop "window into macOS" also ran at 1600x900 (non-Retina however) on a pretty much an identically sized 13.3-inch panel as my m1air.
That way (when needed) I can get pretty much identical UI sizing as the previous laptop I was used to for a while!
Of course, that's still Retina instead of "True Non-Retina", but a "blurry" Retina scaled down (and importantly, without sharpening artifacts) is still more comfortable than native 2x IMO as "everything is smoothed out". There's no "sharp rectangle edges" distracting away from text.
However, actually "seeing the pixels" with True Non-Retina is still superior IMO — but then I'm stuck with larger UI and a lot less screen space.
-
So far I'm enjoying both streaming 1600x1000 retina (bilinear filtering) and 1280x800 True Non-Retina (integer scaling) but crucially, using them at the right times and in the right places. They both have the ability to work great for me but each one has important strengths and weaknesses.
-
1600x1000 Retina streaming is working really well for outdoors use & semi-outdoors with natural sunlight. Obviously needed for using a lot of "pro" apps that require the space. In most cases feels like the optimal size for the macOS UI, same density as my previous Windows laptop so it's familliar to me. Specifically when I'm outdoors I sometimes actually prefer this mode over True Non-Retina.
-
But on the other hand, there's a certain magic to 1280x800 "True Non-Retina" streaming. Despite the large UI being limiting — planning, note taking, writing emails, reading long articles/books, any really in-depth web browsing where I'm trying to research something new or complex… I find it more comfortable doing these things in "True Non-Retina" mode than on any other screen I've used for a long, long time.
There are certain details and "patterns of symmetry and/or repetition" that I can only "see correctly" in True Non-Retina. Various websites and extremely information-dense content look entirely different to me while using this mode in a really magical way. Certain types of content take on a "whole new life" of reading comfort and "understandability" in this mode in a way that is legitimately a game changer for me.
I think one of the reasons is that I find it a lot easier to be idle for long periods of time — "thinking to myself, not actively using the laptop, but still staring into the screen" — in True Non-Retina. The screen feels the most "still and flat" it possibly can in this mode, I feel like I can actually slow down and think—
—instead of my brain suddenly getting really confused by a "still" hi-DPI desktop with no visible pixels. Even though this is still obviously wayyyyy more tolerable with Stillcolor vs. if it was also "moving" due to temporal dithering in this state — the lack of any sharp pixels to "lock focus onto" inherent to hi-DPI itself (aside from rectangles) can still just generally feel disorienting when not actively interacting with the laptop.
For what it's worth, I was just feeling the most comfortable using 1600x1000 Retina streaming outdoors on a table further away from me. However, after recently getting back indoors and using it on my lap, I used Retina mode for only a tiny bit but then had the sudden urge to switch back to True Non-Retina. And now I'm feeling a lot more comfortable on that again…!
I feel like this will be very consistent for me, both streaming modes are able to work great in their own way, but seem to each rely on distinct optimal lighting + screen distance + environment conditions.
-
Pinging waydabber for this final section…
Despite streaming eliminating Apple's really annoying scaler sharpening artifacts due to allowing the physical display to maintain native resolution output… it's worth noting that there are still "some" artifacts, but very predictable ones.
At least on m1air, maybe differs based on video decoding hardware?
(Fortunately, I cannot notice any "moving" artifacts at all.)
Streaming seems to be using something similar to chroma subsampling — it seems to have "less color resolution than brightness resolution" especially on reds.
For example, red text on dark gray background in a True Non-Retina stream looks very blurry (vaguely similar to YCbCr artifacts). This is only true on the stream target. This can actually be really easily captured in a simple screenshot of the target display with the stream "window"!
However, this is predictable, doesn't seem to introduce any other "noise". It does NOT seem to act like a full-on "compression algorithm" like Sidecar or remote desktop — it's more of just a basic reduction in color resolution. Not sure what causes it.
Fortunately, these artifacts seem to not bother me, but it would be really nice to have some kind of option to enable/disable this "color compression" when needed for color accuracy (as long as the hardware is capable of it).
@waydabber is this reduction in "color resolution" while streaming coming from an intentional decision in BetterDisplay? or is it something that macOS is adding itself in the way it handles screen capture and video decoding
Oh wow. I think I found all possible ioreg flags or something, as well as possible boot args. Many can't be set in ioreg, so how do we set them? I didn't try any of the bootargs yet. This is from /var/db/KernelExtensionManagement/KernelCollections/BootKernelCollection.kc @DisplaysShouldNotBeTVs
Exported the found boot flags in case someone wants to dig thru them. It would be fairly easy to write something that extracts all possible bootargs from the entire filesystem, if someone has the time. As far as I know a list like this doesn't exist anywhere.
cat BootKernelCollection.kc_pseudo_c.txt | grep boot_argn | sd '.*boot_argn\("([^"]*)".*' '$1' | grep -v boot_argn | sort | uniq > BootKernelCollection-flags.txt
wlan.panic.postmessage
-acpi_spurious_intr_assert
-aeaa.fi0
-aeaa_serdes_enabled
-aes_spew
-apfs_crypto_leak_panics
-apfs_flink_panic
-apfs_kbnh_disable
-apfs_no_bc_defrag
-apfs_pfkur_disable
-apfs_shared_datavolume
-apfs_spec_telemetry
-arv_allow_fv
-dcs_enable_thermal_loop
-disable_mcc
-dp2hdmi-update-mode
-eee_enabled
-hpmForceAllowUSB3
-hpmUnplugForceUpdateMode
-ignore_dpa
-panic_notify
-restore
-sep_panic_mbox_to
-tpo2_enabled
-wdt-no-iokit
-wdt-no-shutdown
AFKMailboxEndpointBase_debug
ATAPIdisk
AppleBusPowerController-debug
AppleEmbeddedUSBArbitrator-force…
AppleI2CEthernetAquantiaControll…
AppleSynopsysOTGDevice-debug
AppleUSBCommon-debug
AppleUSBController-debug
AppleUSBDevice-debug
AppleUSBHubPolicyMaker-debug
AppleUSBPipe-debug
AppleUSBUserHCI-isoch
AppleUSBVHCIFirmwarePort-test
AppleUSBXDCIEndpoint-debug
AppleUSBXDCIEventHandler-debug
AppleUSBXDCIIsocTRBBlock-debug
AppleUSBXDCITRBBlock-debug
AppleUSBiBridge-debug
BATS_TESTPLAN_ID
BootCacheOverride
CoreKDL-ignore-signature
IOUSBDeviceControlRequest-debug
IOUSBDeviceController-configurat…
IOUSBDeviceController-debug
IOUSBHostFamily-debug-assert
IOUSBHostFamily-debug-error
IOUSBHostFamily-debug-level
IOUSBUserClientLegacy-debug
Limit2OneMega
ProResHWKLogLevel
SimulateAudioHwError
SimulateNoAudioDC
TargetDiskMode
USBCardReader
USBCardReader-104
USBCardReader-25
USBCardReader-50
USBCardReader-ITP
USBCardReader-PS
_discard_airplay_records
a7iop_enable_timeout
abtm-auto-on
abtm-console
abtm-debug
abtm-ld-panic
abtm-no-pci
abtm-timesync
acc-allow-down-hvc
acc-bwar-interval
acc-bwar-limit
acc-mpdms
acc-mpdrms
acc-pd-hvc
acc-pd-log
acc-pd-pow
acc-pd-src-cap
acc-pd-timeout
acc-pdproxy-debounce
acc-pdproxy-hvc
acc-pdproxy-log
acc-pdproxy-timeout
acc-phms
acc_config_stream_disable_comple…
acc_config_stream_enable
acc_config_stream_ignore_auth
acc_debug
acc_debug_config_stream_msg
acc_debug_hid_msg
acc_hid_use_draft_ver
acc_ignore_vbus_drop_window_ms
acc_roleswap_delayms
acc_system_id
acio
acioPathDisable
acioPathDisableByATC
acioPortDisable
acio_fw_debug
acipc-aer
acipc-bt-skywalkenable
acipc-console
acipc-debug
acipc-dumplogs-wlflr
acipc-no-core-after-d3
acipc-no-mmio-core
acipc-nodebug
acipc-skip-flr-workarounds
acm-ctrl-debug
acpi
acpi_layer
acpi_level
acpi_spurious_intr_skip_vector
aea_debug
aeaa-fw
aeaa.clock.shift
aebc.clock.shift
aesdev
aessnf.debug
aessnf.reliability
ahci
ahcibatchqd
ahcibatcht1throttlecount
ahcibatchthrottlecount
ahcidisk
ahcipm
ahciport
ahciportmask
ahcisatapi
ahcitimeout
aht-disable-eeprom
aid-cache-logs
aid-cache-logs-size
aid-sniff
aks-bfu
aks-cache-device-state
aks-endpoint
aks-log-filter
aks_default_class
all-i2c.always-on
all-spmi.irq
allow-amd-usb
als-logging
amfi
amfi_allow_3p_launch_constraints
amfi_allow_any_signature
amfi_allow_bni_as_platform
amfi_allow_non_platform
amfi_allow_only_tc
amfi_allow_only_tc_override
amfi_allow_research
amfi_block_unsigned_code
amfi_dev_mode_policy
amfi_enforce_cc_types
amfi_enforce_launch_constraints
amfi_enforce_tcc_hardening
amfi_force_cs_kill
amfi_force_policy
amfi_get_out_of_my_way
amfi_hsp_disable
amfi_hsp_logging
amfi_no_aot_tc
amfi_prevent_old_entitled_platfo…
amfi_ready_to_roll
amfi_unrestrict_task_for_pid
amfi_unrestricted_local_signing
amfm-abort
amfm-debug
amfm-extra-regon-delay
amfm-link-speed-override
amfm-match-timeout
amfm-panic-on-br
amfm-panic-on-ld
amfm-panic-on-manuals2r-pe-failu…
amfm-port-en-retry
amfm-wl-reg-on-off-delay
amfm-wl-reg-on-on-delay
aneLoadBalancerEnabled
aneLogging
aneType
aop-force-fw-loading
aop-profile
aop-profiler-config
aop-profiler-disable
aopvt-load-config
ap_mac
apcie
apcie-aer-cap
apcie-piodma-disable
apfs_corruption_panics
apfs_encryption_rolling_optin
apfs_ier_log_level
apfs_obj_cache_size
apfs_obj_mem_mgr
apfs_rangelist_verification
apfs_specread_threads
apfs_swcrypto_lbufcount
apfs_swcrypto_lbufsize
apfs_swcrypto_sbufcount
apfs_swcrypto_sbufsize
apfs_swcrypto_threads
apple-axge-debug
apple-vmxnet3-debug
aqc-portmon-debug
aqc113-dbg-pcierx
aqc113-dbgdump
aqc113-drv
aqc113-efuse
aqc113-fw
aqc113-lom-v6offload
aqc113-lomx
aqc113-resetfail
aqci2c-nostatus
aqci2c-override
aqci2c-reenable
aqclom-fakeaddr
asmedia-host-boot
asp_disable_bastion
asp_logging
async_swap_opt_flags
async_swap_pte_remap
atadisk
atcphy-unit-test-mode
audio-engine-private
authcp_fix_mode
av_async_event_fail_hard
av_audio_driver_level
av_audio_driver_mask
av_audio_interface_level
av_audio_interface_mask
av_audio_pattern
av_cec_service_level
av_cec_service_mask
av_control_interface_level
av_control_interface_mask
av_controller_level
av_controller_mask
av_cp_failure_max_count
av_cp_failure_mitigation_enabled
av_cp_failure_window_ms
av_cp_reprotect_enabled
av_device_level
av_device_mask
av_filter_uncommon_modes
av_hdcp_auth_policy
av_hdcp_protocol_mask
av_interface_level
av_interface_mask
av_log_level
av_max_channel_count_lpcm
av_max_sample_rate_lpcm
av_max_sample_size_lpcm
av_min_channel_count_lpcm
av_min_sample_rate_lpcm
av_min_sample_size_lpcm
av_no_virtual_audio
av_protection_delay_ms
av_protection_enabled
av_refresh_rate_threshold
av_restart_interfaces_display_of…
av_service_level
av_service_mask
av_video_interface_level
av_video_interface_mask
av_wav_buffer_size
avb_local
avb_trace
ave-devid
ave-flag
ave-fwlogsize
ave-fwsize
ave-log
ave-platform
awdl_allow_40
awdl_block_mdns
awdl_bonjour_offload
awdl_bssid
awdl_debug_tooLong
awdl_disable_dp_umi
awdl_disable_serviceDiscovery3
awdl_election_id
awdl_enable
awdl_fw_election
awdl_log_flags
awdl_log_flags_config
awdl_log_flags_verbose
awdl_low_latency_default_mapping
awdl_low_latency_tx_requeue
awdl_mac
awdl_max_bw
awdl_max_peers
awdl_mdns_direct_path
awdl_mdns_mode
awdl_oper_mode
awdl_sidecar
axge-fw-rpf
backlight-dim-step
backlight-level
backlight-logging
batman
batman-nosmc
battery-alert-capacity
battery-shutdown-voltage
battery-state
bc_cache_apple_silicon_macs
bc_cache_nonroot_disks
bc_cache_ssds
bcm-ethernet-bjp
bcm5701-fakeaddr
bcom.feature.d11seq
bcom.feature.flags
bcom.feature.mfp
bcom.feature.pmmcast
bcom.feature.ps
bcom.feature.roam
bcom.feature.toe
bcom.feature.wow
bcom.scan.max-failures
bcom.wte.thread-priority
brightness
brightness-nit-cap
bt-hold-flr
btdebug-allow-crashinfo
btdebug-allow-logging
btdebug-console
btdebug-debug
burnin-size
ca.interval
ca.maxcount
ca.queue
ca.ratespan
camDisableAOP
carrier-max-limit
carrier-min-limit
carrier-mode
cc.debug.CollectLogAtLowPriority
cc.debug.enable
cc.debug.logAfterWD
cc.debug.logThrottleCount
cc.debug.logThrottleWindow
cc.debug.pipe.statistics
cc.debuglog.filter
cc.debuglog.flags
cc.debuglog.level
cc.internal
cc.logging.iolog
cc.logging.oslog
cdc-ctrl-debug
cec_interface_level
cec_interface_mask
cec_snooping_enabled
charger-curve
charger-limit-display-on
charger-load
charger-ramp-on-wakeup
charger-sleep-interval
clpc-assert-energy
clpc-assert-node-energy
clpc-assume-new-budgets
clpc-cpu-mhz
clpc-cpu-min-perf-config
clpc-debug
clpc-disable-pmc
clpc-enable-tg-block
cpu-critical-create-enable
cpus
crnd
cs42l84_dcid
cs_enforcement_disable
d240x-int-hack
dart-all
dart-map-seg-limit
dart-segment-history
dart-unmap-page-limit
dbg-ncm-netif
dcp-pmgr-scratch
dcp-power-manage
dcp-remote-power-state
dcs-power-gating
debug
debug-usb
debug_cs42l84_dcid
debug_cs42l84_state_machine
debug_disable
device-ncm-data-debug
device-ncm-ep0outdata
device-ncm-maxntb
device-ncm-maxseg
device-ncm-promiscuous
die_alarm1_temp
die_alarm_temp
dietempctl_interval
dietempctl_kits
dietempctl_kp
dietempctl_release
dis_assist_disc_timer
disable-atv
disable-auth-t818
disable_external_storage
disable_nan_keep_alive_timeout
disable_p2pBssSteering
disable_sd_reader
display-sac
dk.scsicontroller
dk.scsiperipheral
dk.serial
dongle-factory-mode
dp_controller_level
dp_controller_mask
dp_device_level
dp_device_mask
dp_log_level
dp_service_level
dp_service_mask
dpsm
dptxphy-panic-on-assert-failure
dpxbar-active-pipe-mask
dpxbar-deactivate-timeout-panic
dpxbar-disable-split
dpxbar-dual-pipe
dpxbar-max-active-pixel-rate-per…
dpxbar-max-bit-rate-per-internal…
dpxbar-max-pixel-rate-per-pipe
dpxbar-max-pixel-width-per-inter…
dpxbar-max-pixel-width-per-pipe
dpxbar-use-cycle-slip-wa
dsid_mgmt
dtrace_dof_mode
dtrace_kernel_symbol_mode
dynamic_buffer
ean-debug
ecm-ctrl-debug
ecm-data-debug
effaceable-enable-full-scan
effaceable-enable-wipe
effaceablebce
ehciBWlogs
ehciRL
enable-IO-log
enable-acsleep
enable_aggressive_edca
enable_awdl_nan_concurrency
enable_forced_roam
enable_nan
enable_nan_data_if
enable_nan_dfsp
enable_nan_ps
enable_p2p_dfsp
enable_sd_reader
event-log-panic-timeout-ms
exbright_log_mask
fastbm
fb-caching
fips_mode
firewire
force-usb-device
force-usb-fullspeed
force-usb-highspeed
force-usb-host
force-usb-power
force-usb-superspeed
force-usb-test-mode
force_nonsdb_to_5g_avail
forcecountry
forced_shutdown_debug_delay
forced_shutdown_debug_key_mask
forced_shutdown_mode
forceintcpu
fwdebug
fwdebug_ignorenode
fwkdp
fwkpf
gg-eoc-enable
gl3590fw-auto-update
gl3590fw-force-update
gl9755-ctrl-max-freq-dev
gl9755-dir-count-recv-swthd
gl9755-dir-count-trans
gl9755-disable-decoding
gl9755-enable-transition
gl9755-layer-ver-sel
gnss-force-ap-timemark
gpu_no_zero_fill
hdcp-fuse-mask
hdcp_log_level
hdcp_use_storedkm
hdmi_cec_enabled
hdmi_ced_error_injection
hdmi_ced_monitor_delay_ms
hdmi_ced_monitor_enabled
hdmi_ced_monitor_min_stable_ms
hdmi_ced_monitor_period_ms
hdmi_ced_rate_max
hdmi_drive_setting_0
hdmi_drive_setting_1
hdmi_drive_setting_2
hdmi_link_status_monitoring_disa…
hdmi_scrambling_disable
hid-cache-depth
hid-ipd-clear-wake-reason
hid-legacy-shim
hid_dtrace_debug
hidq_force_usage_pair
hidq_no_full_msg
hidq_size
hp-detect-invert
hp-pop-workaround
hp-switch-force-config
hp-switch-ramp
hpmAIDDis
hpmAllowUsb3Restore
hpmDebugFlags
hpmDisableAppleUVDMSOP
hpmDisableAppleUVDMSOPp
hpmForcePlugUpsideDown
hpmI2CNonCompliant
hpmI2CRetries
hpmI2CRetryInterval
hpmLDCMEnableWaveAndPeriodic
hpmLDCMMitigationsDisable
hpmMuxSet
hpmOverrideRTPC
hpmRTPCDisable
hpmlog
hsaid-bd
hsaid-sniff
hsaid-verbose
hvc-debug
hwtrace
i2c-debug-options
i2c-verbose
if80211_packet_pool_size
if80211_packet_pool_size_be
if80211_packet_pool_size_bk
if80211_packet_pool_size_vi
if80211_packet_pool_size_vo
ignore-power-down
intcpumax
io80211.DPS
io80211.DPSHighCCA
io80211.DPSLowCCA
io80211.DPSRate
io80211.DPSSymptomsMonitoringPer…
io80211.DPSSymptomsRate
io80211.DPSminEnqueued
io80211.DPSminFail
io80211.DPSminQueued
io80211.debug.enable
io80211.dps.enabled
io80211.dps.symp.cca
io80211.dps.symp.enabled
io80211.dps.symp.netScore
io80211.dps.symp.rssi
io80211.dps.symp.stallScore
io80211.isNeedToUseIocExternalLe…
io80211.isNeedToUseIocInteralLeg…
io80211.maxDPSCapturePerHour
io80211.processBSDCommand.trace
io80211.skw.ff.on-demand-if-enab…
ioaps_debug
ioaupsd_debug
iofence_ddd
iognotifyto
iogpu_debug
iogpu_pagingoff_timeout
iogpu_wired_lwm_mb
iogt
iogtl
iohidps
ioimageloader.debug.bootbase
ioimageloader.debug.csr-access
ioimageloader.debug.enable
ioimageloader.debug.netbooting
ioimageloader.debug.shastore-for…
ioimageloader.logging
iomfb_abort_swap_disable
iomfb_add_heap_in_ios
iomfb_disable_async_swap
iomfb_disable_debug_info
iomfb_disable_display
iomfb_drop_noop_swap
iomfb_drop_obsolete_swap
iomfb_enable_async_swap_hw
iomfb_enable_edr_scaling
iomfb_ffr
iomfb_ffr_high
iomfb_finfo_enqueue_panic_enable
iomfb_panic_on_boot_failure
iomfb_plc_support
iomfb_rack_debug
iomfb_set_block_debug
iomfb_swap_reject_panic
iomfb_trace_nested_rpc_calls
iomfb_version_check
ionetwork_debug
iosk_abfs_enable
iosk_abfs_hysteresis_time
iosk_abfs_min_limit
iosk_bt_fix_enable
iosk_debug
iosk_doorbell_limit
iosk_poll_interval
iosk_tx_sub_pkt_threshold
iosk_tx_sub_timeout
iosurface_debug
iouc.logFlags
iouether_debug
jtag
kdp_match_mac
kdp_match_name
keepsyms
kernPOST
kernelrelay-debug-logs
kernelrelay-perf-logs
kernelrelay-send-recv-logs
kernelrelay-serial-logs
kiosk-mode
kiosk-mode-voltage
light-em-up
lowlatency_awd_metric_time_lim
lowlatency_stats_time_lim
lpss_dmac
lpss_dmac_chan
lpss_gspi
lpss_i2c
lpss_i2c_ctlr
lpss_i2c_dev
lpss_i2c_disprobe
lpss_i2c_user
lpss_spi_ctlr
mDNSOffloadUserClient
mapper-all
mapper-dynamic
mapper-history
max-bdrr
max-charge-voltage
max_msrs
maxmem
mb-acc-vlow
mbasd
mca-switch
mcache-pmp
mcc-power-gating
mcc_analyze
mcc_clampwaycount
mcc_debug
mesa-allowForcedCalibrationOverr…
mesa-averaging
mesa-disableTrimDAC
mesa-dispatch-hid
mesa-drive-1v8
mesa-enrollmentTimeout
mesa-esd-auto-start-capture
mesa-esd-recovery
mesa-full-status
mesa-overrideDevSN
mesa-patch-directly
mesa-power-off-3v0-1v8-delay
mesa-power-off-delay
mesa-power-on-1v8-3v0-delay
mesa-power-on-delay
mesa-sensor-id
mesa-skip-sanity-check
mesa-spi-clock-phase
mesa-spi-freq
mesa-verbose
mesa-wff-watchdog-period
min-charge-voltage
mipi-panic-on-error
mipi-sac
mipi-sad-sac
mptcount
mpthealth
msr_compressed_buffer_validation
msr_decompression_error_handling
msr_direct_dart_power
msr_disable_simd_opt
msr_dump_on_timeout
msr_dump_registers
msr_hcu_no_hdr
msr_idlepoweroff_supported
msr_idlepoweroff_timeout_us
msr_iosurface_purge
msr_keep_power_on
msr_ktrace_options
msr_log_activity_length
msr_log_header_mask
msr_log_module_mask
msr_log_verbosity
msr_mask
msr_msb_replication_war_disable
msr_piodma_options
msr_pm
msr_post_transform_dump_high
msr_post_transform_dump_low
msr_power_gating_mode
msr_workload_priority
mt-bytes
mt-disable-kill
mt-strings
nan_data_mac
nan_mac
nand-debug
nand-io-timeoutms
nand-qual
ncm-ctrl-debug
ncm-data-debug
ncm-no-hide
ncm-no-trm
ncm_interface_flags
nfc.controller
nfc.dev_wake_delay
nfc.log
nfc.log.level
nfc.log.size
nfc.no_errors
niog
niogt
nmca
nmca-switch
no-pc-stats
no_panic_on_corr_ecc_err
npci
nvme
nvme-clockgating-timeoutus
nvme-coastguard-disable
nvme-fw-minor-check-disable
nvme-linear-sq-disable
nvme-powergating-timeoutus
nvme-s2r-timeout
nvme-sptm
nvram-log
olyhal.internal
orion-hs
orion-hv-enable
override_awdl_platform_type
override_nan_platform_type
panic-on-event-log-intr
panic-wait-forever
panic_on_gpu_hang
partial-display
pci-aspm-default
pci-dev-mapper
pci64
pcie_cr_adap
pcie_cr_null
pctb
pdmvr
peer_channel_steer_max_attempt
peer_channel_steer_timeout
penalty-box-enable
penalty-box-soc-lth
penalty-box-soc-uth
penalty-box-temp-lth
penalty-box-temp-uth
pm-policy
pmc-max-bwr-latency-us
pmc-pmgr
pmgr-dock-fifo-client
pmp-acc-ovrd-wa
pmp-agx-stats
pmp-assert-energy
pmp-bw-stats
pmp-clock-gating
pmp-dart
pmp-debug
pmp-disable-energy-panic
pmp-dock-fifo
pmp-dram-capacity
pmp-dram-energy
pmp-dram-stats
pmp-dram-vendor-id
pmp-energy-breakdown
pmp-fast-die
pmp-msg-queue-panic
pmp-msg-timout-panic
pmp-pbatt
pmp-pm-device-counter-mask
pmp-pm-device-sampling-mask
pmp-pmon
pmp-pmu-telemetry
pmp-power-gating
pmp-rt-events
pmp-sampler
pmp-soc-energy
pmp-test
pmp-trace
pmp-trace-capacity
pmp-ut-stats
pmu-bringup
pmu-chargetrap
pmu-debug
pmu-debug-rtc
pmu-debug-wake
pmu-disable-panic
pmu-enable-ulpm
pmu-lpem-rev
pmu-rtc-offset-readonly
pmu-rtc-offset-use-nvram
pmu-spmi-delay
pmu-spmi-retry
port-features
power-button-usage
power-button-usagepage
ppm_cpms
ppm_debug
ppm_flags
ppm_power
private_audio_devices
proresHWEnableLoad
pthread_mutex_default_policy
raid
ramrod_disable_sep_load
remote_nmi
rfcoex-disable
rfcoex-rf-cl
rootdev
rtb_enable_tracing
sac_debug
samtrace
sanddollar-converter
sb_serial_reporting
sbp2disk
sdxc
sdxc-always-retrain
sdxc-cd
sdxc-current-sense-enable
sdxc-delay1
sdxc-delay1_uhs
sdxc-delay2
sdxc-delay3
sdxc-eject-debounce
sdxc-enable-aer
sdxc-expected-link-speed
sdxc-force-uhs1
sdxc-initial-link-speed
sdxc-insert-debounce
sdxc-invert1
sdxc-invert2
sdxc-invert3
sdxc-reg60-cd
sdxc-reg60-cl
sdxc-reg60-cl_sdr104
sdxc-reg60-cl_sdr50
sdxc-reg60-d0
sdxc-reg60-d1
sdxc-reg60-d2
sdxc-reg60-d3
sdxc-skip_all_trm
sdxc-skip_id_trm
sdxc-skip_trans_trm
sdxc-ssc-enable
sdxc-ssc-step
sdxc-uhs_1_voltsel
sdxc-uhs_2_voltsel
sdxc-uhsiiphyrxs
sdxc-uhsiiterm
sdxc-wp
sdxc_tuning
sep-shmcon-size
sep-trace-poll-us
sep-trace-size
sep_idle_delay
serial
sidecar_stats_lat_lim
sidecar_stats_time_lim
skip-sensor-calibration
skipFWValidation
smartio_debug
smc-aop-debug
smc-aop-use_ddr
smc-charger-debug
smc-ifc-debug
smc-logsize
smc-nmi-on-key-timeout
smc-panic-on-key-timeout
smc-pmu-debug
smc-pmu-debug-wake
smc-pmu-iclr
smc_panic_on_keynotfound
smcdebug
soc-tuning
sochot0
sochot1
sochot_tolerance
softap_mac
spiflash.debug
spin_wait_for_gpu
spmi-fault-dis
spmi-fault-msg
spmi-fault-panic
spmi-intmode-dis
spmi-logsize
spmi-panic-dump-queue
spmi-verbose
spu-accel-historical
spu-ignore-pras-calibration
spu-ignore-sppo-calibration
ssen_on
sulu-historical
t818-auth-timeout
tGraphClient
ta_keyroll_interval
ta_reattach_timeout
tb-port-debounce-period
tb_acpi
tb_clx_enable
tb_clx_options
tb_cp_bps
tb_cp_burst
tb_cp_timer
tb_hb_sb
tb_hi_ring_mask
tb_packet_history
tb_pci_retries
tb_phy_wait_ms
tb_timeout_scale
tb_tmu_mode
tb_trace_history
tbdebug
tbdisk
tbdp
tbdp_ar_d
tbdp_ar_i
tbdp_ar_s
tbdp_at_d
tbdp_at_i
tbdp_at_s
tbdp_dpouttmuconvergenceto
tbdp_ssc
tbdp_v_d
tbdp_v_i
tbdp_v_s
tbhpddelay
tbip
tbips
tblog
tblogmode
tbpciwd
tbpollinterval
tbrtpctime
tbsc
tbtflags
timesync_announce_interval
timesync_client_model
timesync_local
timesync_log
timesync_max_jitter
timesync_panic
timesync_pdelay_denom
timesync_pdelay_filter
timesync_pdelay_interval
timesync_pdelay_limit
timesync_pdelay_numer
timesync_priority1
timesync_priority2
timesync_softdma
timesync_sync_denom
timesync_sync_filter
timesync_sync_interval
timesync_sync_numer
timesync_tod_filter
timesync_trace
timesync_ts_mode
tpad_output_reports
trm-disable-port
trm_enabled
trueuc-irq-enable
turbolag
turtle_temp_comp
uart.debug.trap
uart.log
uart.log.level
uart.log.size
uart.panic_on_delay
uart.skywalk
uasMaxBusStall
ui-update-interval
uio_debug
uio_matches
uio_mem_size
unifiedcountry
upo-shutdown-delay
usb-control-request-policy
usb-dock-remote-wake
usb-ethernet-debug
usb-filter-debug
usb-hvc-to-5V
usb-no-rtd3
usb-no-rtpc
usb-port-wake-sources-policy
usb-prevent-sleep
usb-soft-retry-policy
usb-stream-policy
usb-testmode-device-id
usb-testmode-force
usb-testmode-type
usb-tier-limit
usb2-lpm-policy
usb3-lpm-policy
usb4-lpm-policy
usb_bundling_timeout
usb_compliance_mode
usb_cr
usb_dev_nmi
usb_dev_reset
usb_enumeration_timeout
usb_max_current
usbaudio_allowusbidling
usbaudio_deviceModePanicOnWriteE…
usbaudio_deviceModeWatchdog
usbaudio_engines
usbaudio_ignoreZLPInput
usbaudio_ignoretapstreams
usbaudio_outputsafetyoffset
usbaudio_startupdelay
usbaudio_tsoffset
usbaudio_useAUASD
usbdevice-disableparrotreset
usbehci-interrupt-threshold
usbmsDisconnectInterval
usbmsdriver
use-trinity
usepayloadchain
uvdmdebug
uvdmlog
v3.internal
vhci
watchdog
wifibt-external
wifibt.pcie.disableASPMWorkaroun…
wifibt.pcie.panicOnPendingBackpl…
wifioff.wd
wlan-olyhal-abort
wlan.11axasr.nopmf
wlan.11d.ignore
wlan.6GHzRoaming.enabled
wlan.BypassDenyListLA.enabled
wlan.PhyCalEcounter.enable
wlan.PhyEconter.enable
wlan.RssiCorrection.enabled
wlan.adaptiveroaming.enabled
wlan.advisory-period
wlan.advisory.intervalMS
wlan.aoac-allowed
wlan.ap.channel
wlan.ap.maxmpdu
wlan.asrcapcheck.bypass
wlan.autoCountry
wlan.bss-info.checkIEOffset
wlan.bss-info.logdata
wlan.ccpipe.FWBusLogs.size
wlan.ccpipe.FWEcounterLogs.size
wlan.channelFilter
wlan.chipuart.enable
wlan.chswitchreport
wlan.commander.ActiveThres
wlan.commander.CCForCmdtOutlierA…
wlan.commander.CCForCmdtOutlierS…
wlan.commander.OutboundThres
wlan.commander.PendingThresAsync
wlan.commander.PendingThresSync
wlan.commander.aqs_delay_limit
wlan.commander.aqs_delay_limit_l…
wlan.commander.command_complete_…
wlan.commander.command_timeout
wlan.commander.disablecmdwd
wlan.commander.oqs_delay_limit
wlan.commander.oqs_delay_limit_l…
wlan.commander.panic_rateexceede…
wlan.commander.paniconchecktimer
wlan.commander.stats
wlan.commander.testchecktimer
wlan.commander.thresholdn
wlan.commander.thresholdt
wlan.dbg.biu
wlan.debug.EEparams.beaconReport…
wlan.debug.EEparams.enhancedDisA…
wlan.debug.EEparams.osVersionRep…
wlan.debug.abort-init
wlan.debug.band-locked
wlan.debug.chanswlimit
wlan.debug.check-hwlimits
wlan.debug.check-hwlimits-forced
wlan.debug.checkmsf
wlan.debug.checksrom
wlan.debug.chip-provisioning
wlan.debug.cto_wdcount
wlan.debug.disable_filter_ie
wlan.debug.disablebcndrift
wlan.debug.disablebcnmute
wlan.debug.disablenanho
wlan.debug.dump-socram.boot
wlan.debug.dump-socram.fwtrap
wlan.debug.dump-socram.load
wlan.debug.enable
wlan.debug.enablescaneventlogs
wlan.debug.force-verifyBSSID
wlan.debug.generate-mac
wlan.debug.getSSID
wlan.debug.handle-dbgcmd
wlan.debug.initfailure
wlan.debug.linkdebug
wlan.debug.lpsc
wlan.debug.match-wake-reason
wlan.debug.module-instance
wlan.debug.nomsf
wlan.debug.nowdogondisassoc
wlan.debug.nowsku
wlan.debug.osVersion
wlan.debug.postmessage-error-cap…
wlan.debug.postmessage.flags
wlan.debug.postmessage.panic
wlan.debug.productType
wlan.debug.setpower-off.trap
wlan.debug.setpower-off.trap.boo…
wlan.debug.single-boot-only
wlan.debug.skip_old_rx_cal
wlan.debug.srom-mac
wlan.debug.srom-sku
wlan.debug.srom-version
wlan.debug.tweak.ts
wlan.debug.wnm
wlan.debug.wpa-rsn
wlan.dext-crash-behavior
wlan.dext-respawn-timeout-ms
wlan.disableEventSocket
wlan.disableIOCTL
wlan.dk
wlan.dk.fwloading
wlan.dsa.mode
wlan.dsa.obswin
wlan.dsa.params
wlan.dsa.rssi.lower
wlan.dsa.rssi.upper
wlan.ecounters
wlan.elogs
wlan.elogs.size1
wlan.elogs.size6
wlan.elogs.size7
wlan.enable.wol-ports
wlan.enable.wol-prune
wlan.enableLDDebounce
wlan.enhancedlocale
wlan.entitlement
wlan.etrace
wlan.factory
wlan.forced.ts
wlan.fwcap
wlan.getDiags
wlan.h5baud
wlan.handle-dbgcmd.debug
wlan.hotspot.support.sae
wlan.icmp.enabled
wlan.internal
wlan.ior
wlan.ivars->fPanicOnIOCTL
wlan.keepalive.retrycnt
wlan.llw.awdlbssid
wlan.llw.tx.ring.size
wlan.log.cclevel
wlan.log.cflags
wlan.log.flags
wlan.log.level
wlan.lowlatency.enable
wlan.lowlatency.fw
wlan.lpas-allowed
wlan.lpscancore.disable
wlan.lqm.analytics
wlan.lqm.baseline
wlan.lqm.bg
wlan.lqm.cachesize
wlan.lqm.cachetimeout
wlan.lqm.decryptError
wlan.lqm.detect
wlan.lqm.fg
wlan.lqm.iolog
wlan.lqm.logging
wlan.lqm.oslog
wlan.lqm.pnreplay
wlan.lqm.qperiod
wlan.lqm.recovery
wlan.lqm.unusable
wlan.lqm.user
wlan.lqmCT.debugLog
wlan.lqmCT.enableCrashTracer
wlan.lqmCT.ioLog
wlan.lqmCT.ipsTriggerSuppressTim…
wlan.lqmCT.lqmUpdatePeriodMSec
wlan.lqmCT.ringBufferSize
wlan.netmanager.colocated_nw_tra…
wlan.netmanager.dbg-ip-timeout
wlan.netmanager.stats-timer-inte…
wlan.panic.aqs
wlan.panic.factory
wlan.panic.oqs
wlan.panic.postmessage
wlan.panic.pqs
wlan.panic.problem
wlan.panic.queuefull
wlan.panic.queuestall
wlan.pcie.D0AckLogsdisabled
wlan.pcie.DSdisabled
wlan.pcie.OLYHALToV3DextMsgSeque…
wlan.pcie.OLYHALToV3DextMsgTimeo…
wlan.pcie.badrequest_readSocRAM
wlan.pcie.bounce
wlan.pcie.commitcoalesce
wlan.pcie.debugworkQueuetimeout_…
wlan.pcie.delaystart_ms
wlan.pcie.detectsabotage
wlan.pcie.deviceWakeWaitBeforePa…
wlan.pcie.disablebootmsi
wlan.pcie.disablehostinitiatedfw…
wlan.pcie.disablephasebitcheck
wlan.pcie.disablerelaunch
wlan.pcie.dumplogbtreset
wlan.pcie.enableDeepSleepSupport
wlan.pcie.enableMFD3AckSoCRAM
wlan.pcie.enableptmsupport
wlan.pcie.hmap-window-limit
wlan.pcie.iokitmatch_ms
wlan.pcie.mmiologdepth
wlan.pcie.nolinkdownlogs
wlan.pcie.oobdw
wlan.pcie.paniconaer
wlan.pcie.paniconcommitrings
wlan.pcie.paniconhostpollfwtrap
wlan.pcie.perstdelay_ms
wlan.pcie.portenableretry
wlan.pcie.reset_ms
wlan.pcie.sleepBeforePanic
wlan.pcie.tcmAccessWithInactiveC…
wlan.pcie.tcmAccessWithTrapTimeo…
wlan.pcie.tsicmpv6logingenabled
wlan.pcie.tslogingenabled
wlan.pcie.txdeq
wlan.pcie.useOLYHALDriver
wlan.platform.panic-on-error
wlan.pm.os_log
wlan.pmalert.dutycycle
wlan.privmac.address
wlan.privmac.scanbitmap
wlan.proxd.dump
wlan.qos.FCMask
wlan.qos.enableFlags
wlan.ranging.debug-aborts
wlan.ranging.disableOutlierDisca…
wlan.ranging.retry-limit
wlan.rangingv2
wlan.rc1cx.enable
wlan.restrictedccode
wlan.roam.unlockRoamOnPH
wlan.roam_profile.enable-overrid…
wlan.roam_td_th
wlan.rssicomp.value
wlan.rts.aggressive
wlan.rts_prot_en
wlan.rx.ring.size
wlan.rxchipdelay.scale
wlan.sac.enable
wlan.sar.nocc
wlan.scanalg
wlan.scanmac.randommask
wlan.sdb.support
wlan.secureboot.darcheck
wlan.setHardwareAddress.allowed
wlan.setupFirmware.cur_etheraddr
wlan.skip_reporter
wlan.skywalk.ktrace
wlan.skywalk.legacy-power-off-mo…
wlan.skywalk.packetpoolsize
wlan.socramdump.disable
wlan.splitAWDLAFThread
wlan.startdelay
wlan.tcpka
wlan.timesync.clkinfologid
wlan.timesync.debugmissinggpio
wlan.timesync.delayPostingTSMsgS…
wlan.timesync.disableGPIOTogglin…
wlan.timesync.enable
wlan.timesync.filtercoeff
wlan.timesync.filterdynamicstart
wlan.timesync.filterinterval
wlan.timesync.logPeriodMS
wlan.timesync.maxclkid
wlan.timesync.minclkid
wlan.timesync.reportinvalidts
wlan.timesync.sampleperiodms
wlan.timesync.tracebuffercount
wlan.trafficengineering.enabled
wlan.trafficengineering.pktlogen…
wlan.ts.aggr
wlan.ts.fixed_rate
wlan.ts.ignore.ifbmap
wlan.ts.retry
wlan.ts.rts
wlan.tx.ring.size
wlan.tx.submission-queue.size
wlan.txchipdelay.scale
wlan.txcomp.debug
wlan.txinh.tout
wlan.txprofile.disable
wlan.txsdb.mode
wlan.uartbaud
wlan.useIOUCEventPipe
wlan.useIOUCWhenPossible
wlan.vpm
wlan.wake-data.limit
wlan.wdt.disableLogging
wlan.workQueue.create
wlan.wsec.disassoc
wlan.wsec.reassoc
wq_stall_panic_seconds
xhci-interrupt-rmbs
xhci-isochronous-rmbs
xhcieps
- Edited
twomee Edit: I have MacBook Pro 16 M2 Pro model with latest software
Stillcolor won't fix temporal dithering entirely on mini-LED models (14"/16") for internal display. Currently suspected that the TCON is still adding an additional dithering layer on these models in order to support the "hardware-level color reference modes" unique to mini-LED displays.
(Since it was discovered by aiaf that the display is still 8-bit in the end, yet after activating Stillcolor, 10-bit images can still be seen. On the other hand, on a M1+ MacBook Air or Touch Bar 13" Pro, activating Stillcolor will reduce e.g. test pattern images to only 8-bit.)
For me the only solution (for internal display) was to sell my 14" MBP and get an M1 Air, lol. Stillcolor didn't work for me at all on 14" but it is working perfectly on M1 Air!
It also works on M2 Touch Bar Pro (Although on the M2 Touch Bar Pro it seems to only work on certain panels, if the panel ID starts with "FMX" it doesn't work for multiple people here including me. But if the panel ID includes "00000000" then it actually will work correctly.)
Not sure about external monitor though. Is your monitor "HDR", have "local dimming", or is "10-bit capable" in any way? Those could interfere with things.
DisplaysShouldNotBeTVs The ProMotion on these models induces flickering as well. Especially near the edges of the screen. Tons of threads around the web about it. Didn't find a way to stop it, so I reverted to 60 hz.. Could be anti burnin with VRR as shown in the flags above. I actually got some stuck pixels a few times while playing with the flags. Luckily they only stayed like that for a few minutes.