Matthew82 Posted November 23, 2016 Share Posted November 23, 2016 (edited) I want to look on "sudo dmesg" right after RadeonMonitor started. Mateuszs-Mac-Pro:~ mateuszjachym$ sudo dmesg 4HID: Legacy shim 2 F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 Report bytes: input:16 output:64 feature:3Collections : 3Buttons : input:4 output:0 feature:1Values : input:1 output:1 feature:3Element value capacity 2244Report count: 1Report ID: 0 input:128 output:512 feature:24HID: Legacy shim 2 *** AppleSMBusDevice::start failed to start - no address. Report bytes: input:8 output:1 feature:0Collections : 2Buttons : input:2 output:1 feature:0Values : input:1 output:0 feature:0Element value capacity 6656Report count: 1Report ID: 0 input:64 output:8 feature:0Report bytes: input:1 output:0 feature:0Collections : 2Buttons : input:7 output:0 feature:0Values : input:0 output:0 feature:0Element value capacity 192Report count: 1Report ID: 0 input:8 output:0 feature:0USBMSC Identifier (non-unique): 575541323632303030313931 0x1058 0xa10 0x1026, 3 AirPort: Link Down on en1. Reason 8 (Disassociated because station leaving). Got incomplete channel sequence length 0, should be 16 Got incomplete channel sequence length 0, should be 16 en1: channel changed to 1 en1::IO80211Interface::postMessage bssid changed bpfAttach len 94 dlt 163 bpfAttach len 30 dlt 105 bpfAttach len 52 dlt 127 bpfAttach len 38 dlt 192 IO80211Interface::updateReport _peerManager is missing AirPort_Brcm4360::getSSIDData(): Get failure: APPLE80211_IOC_SSID: 6 HID: Legacy shim 2 HID: Legacy shim 2 unexpected session: 100000 uid: -1 requested by: 38 AppleKeyStore: operation failed (pid: 38 sel: 7 ret: e00002c2 '-536870206', -1, 100000) Accelerator successfully registered with controller. KLOG is already initialized Accelerator successfully registered with controller. hfs: mounted TimeMachine on device disk4s1 KLOG is already initialized Accelerator successfully registered with controller. hfs: mounted Music Disk on device disk6s2 hfs: mounted Video Red on device disk2s2 com_intel_driver_EnergyDriver[<ptr>]::start(<ptr>) DSMOS has arrived [iOBluetoothFamily][start] -- completed PMRD: prevent idle sleep list: IODisplayWrangler+ (1) prevent idle sleep list: IODisplayWrangler+ (1) Saffire - 4.3.0.41017 (x86_64) Apr 9 2015 03:53:55 F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 hfs: mounted Archivum Red on device disk5s2 hfs: mounted Video Black on device disk3s2 AppleLPC::notifyPlatformASPM ASPM callback registered F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 IOPPF: XCPM mode IOPPF: XCPM mode X86PlatformShim::start - Failed to send stepper X86PlatformShim::start - Failed to send stepper [AGPM Controller] build gpuDict by GPU GFX2. no Heuristic ID! AGPM::start - publish fMinPowerState = 0 fMaxPowerState = 15 F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 [AGPM Controller] build gpuDict by GPU GFX1. no Heuristic ID! AGPM::start - publish fMinPowerState = 0 fMaxPowerState = 15 [AGPM Controller] build gpuDict by GPU GCON. [AGPM Controller] unknownPlatform no Heuristic ID! AGPM::start - publish fMinPowerState = 0 fMaxPowerState = 3 X86PlatformPlugin::cgRegisterCallbackHandler - gpu internal PLimit notification already registered X86PlatformPlugin::cgRegisterCallbackHandler - gpu internal PLimit notification already registered BrcmPatchRAM: Loaded compressed embedded firmware for key "BCM20702A1_001.002.014.1443.1714_v5810". BrcmPatchRAM: Decompressed firmware (29662 bytes --> 70006 bytes). BrcmPatchRAM: Firmware is valid IntelHex firmware. BrcmPatchRAM2: [0b05:180a]: USB [80A5899EAC86 v274] "BCM20702A0" by "Broadcom Corp" BrcmPatchRAM2: [0b05:180a]: Firmware upgrade not needed. BrcmPatchRAM2: [0b05:180a]: Published new IOKit personality. BrcmPatchRAM2: Processing time 2.720 seconds. Ethernet [intelMausi]: Link up on en0, 100-Megabit, Full-duplex, Rx/Tx flow-control BrcmPatchRAM2: Version 2.2.3 starting on OS X Darwin 16.3. BrcmPatchRAM2: [0b05:180a]: USB [80A5899EAC86 v274] "BCM20702A0" by "Broadcom Corp" BrcmPatchRAM2: [0b05:180a]: Firmware upgrade not needed. BrcmPatchRAM2: [0b05:180a]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport". BrcmPatchRAM2: Processing time 0.1 seconds. **** [iOBluetoothHostControllerUSBTransport][start] -- completed -- result = TRUE -- 0x8800 **** **** [broadcomBluetoothHostControllerUSBTransport][start] -- Completed (matched on Device) -- 0x8800 **** [iOBluetoothFamily][staticBluetoothTransportShowsUp] -- Received Bluetooth Controller register service notification -- 0x8800 [iOBluetoothHostController][start] -- completed AirPort_Brcm4360_P2PInterface::init name <p2p0> role 1 IO80211VirtualInterface::init _controller is 0xb625128e508494c1, provider is 0xb62512885ad5a601 configureInterests - nElements <= 0!Failed to configure interests IO80211Controller::addSubscriptionForThisReporterFetchedOnTimer() Failed to addSubscription for group Interface p2p0 subgroup Data Packets driver 0xb625128e508494c1 - data underrun IO80211InterfaceMonitor::configureSubscriptions() failed to add subscription AirPort_Brcm4360_P2PInterface::init <p2p> role 1 F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 kPEDisableScreen 1 AirPort_Brcm4360_P2PInterface::init name <awdl0> role 4 AirPort_Brcm4360_P2PInterface::awdlAttachToBpf name <awdl0> role 4 successful attach to bpf type 147 IO80211VirtualInterface::init _controller is 0xb625128e508494c1, provider is 0xb62512885ad5a601 F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 Creating all peerManager reporters AirPort_Brcm4360_P2PInterface::init <awdl> role 4 kPEDisableScreen 1 awdl0: promiscuous mode enable succeeded awdl0: promiscuous mode disable succeeded AirPort: Link Up on awdl0 awdl0: promiscuous mode enable succeeded ARPT: 6.289816: AirPort_Brcm43xx::syncPowerState: WWEN[disabled] AirPort: Link Down on awdl0. Reason 1 (Unspecified). kPEDisableScreen 1 IO80211Interface::updateReport _peerManager is missing [iOBluetoothHostController::setConfigState] calling registerService **** [iOBluetoothFamily][ProcessBluetoothTransportShowsUpActionWL] -- calling IOBluetoothFamily's registerService() -- 0x2e10 -- 0x7200 -- 0x8800 **** **** [iOBluetoothFamily][ProcessBluetoothTransportShowsUpActionWL] -- Connected to the transport successfully -- 0x2e10 -- 0x7200 -- 0x8800 **** kPEEnableScreen 1 F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 kPEEnableScreen 1 kPEEnableScreen 1 kPEDisableScreen 1 kPEEnableScreen 1 kPEEnableScreen 1 kPEEnableScreen 1 Sound assertion in AppleHDAEngine at line 9539 Sound assertion in AppleHDAEngine at line 9539 kPEEnableScreen 1 kPEEnableScreen 1 kPEDisableScreen 1 kPEEnableScreen 1 F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 AppleKeyStore: set handle 1 as special bag -501 AppleKeyStore: Sending lock change 0 for handle -501 AppleKeyStore::ipc_device_state_transition: Device UnLock call(-501): lockstate=0, transientCnt=0, 101 AppleKeyStore::ipc_device_state_transition: Device UnLocked(-501): lockstate=0, 101 SandboxViolation: CalendarAgent(320) allow(0) mach-register com.apple.CalendarStore.lock.init Sound assertion in AppleHDADriver at line 5636 Sound assertion in AppleHDADriver at line 5636 Sound assertion in AppleHDADriver at line 5636 Sound assertion in AppleHDADriver at line 5636 Sound assertion in AppleHDADriver at line 5636 Sound assertion in AppleHDADriver at line 5636 Sound assertion in AppleHDADriver at line 5636 Sound assertion in AppleHDADriver at line 5636 Sound assertion in AppleHDADriver at line 5636 Sound assertion in AppleHDADriver at line 5636 Sound assertion in AppleHDADriver at line 5636 SandboxViolation: fontd(325) deny(1) file-issue-extension /Network/Library SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym IOBluetoothDevice::setProperties() -- calling mHCIController->CallCreateDeviceReporter() -- this = 0xdd80 IOBluetoothHostController::CallCreateDeviceReporter -- calling enqueueAction() -- device = 0xdd80 IOBluetoothHostController::CreateDeviceReporterAction -- device = = 0xdd80 IOBluetoothHostController::CreateDeviceReporterAction -- calling CreateDeviceReporter() device = = 0xdd80 IOBluetoothHostController::CreateDeviceReporter -- device = = 0xdd80 handleInformationResponse kBluetoothL2CAPInformationTypeExtendedFeatures deviceAccountPaired, check fixed channel support SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym [bNBTrackpadDevice::init][92] init is complete SandboxViolation: appleeventsd(47) deny(1) mach-lookup com.apple.CoreServices.coreservicesd SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym [bNBTrackpadDevice::handleStart][92] returning 1 Report bytes: input:4 output:1 feature:65Collections : 3Buttons : input:3 output:0 feature:0Values : input:2 output:0 feature:2Element value capacity 1884Report count: 5Report ID: 0 input:0 output:0 feature:0Report ID: 2 input:32 output:8 feature:8Report ID: 71 input:8 output:8 feature:16Report ID: 85 input:8 output:8 feature:520Report ID: 19 input:16 output:8 feature:8[HID] [MT] AppleMultitouchHIDEventDriver::start entered HID: Legacy shim 2 SandboxViolation: fmfd(371) deny(1) mach-lookup com.apple.securityd.xpc SandboxViolation: cloudd(347) deny(1) mach-lookup com.apple.coreservices.launchservicesd SandboxViolation: fmfd(371) deny(1) file-write-create /Users/mateuszjachym/Library/Keychains/login.keychain-db.sb-dc8132c6-Yvn7n0 SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym [HID] [MT] AppleMultitouchDevice::start entered utun_ctl_connect: creating interface utun0 utun_start: ifnet_disable_output returned error 12 SandboxViolation: PAH_Extension(399) allow(0) mach-register com_apple_palette_pressandhold_connection SandboxViolation: fontd(325) deny(1) file-issue-extension /Network/Library SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb IOReturn IOAccelSurface2::surface_unlock_options(enum eLockType, uint32_t): surface is not locked. SandboxViolation: swcd(401) deny(1) ipc-posix-shm-read-data /tmp/com.apple.csseed.129 IOReturn IOAccelSurface2::surface_unlock_options(enum eLockType, uint32_t): surface is not locked. IOReturn IOAccelSurface2::surface_unlock_options(enum eLockType, uint32_t): surface is not locked. hfs: mounted WD Studio on device disk7s2 SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: storeassetd(391) deny(1) mach-lookup com.apple.lsd.modifydb SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym fsevents: watcher dbfseventsd (pid: 459) - Using /dev/fsevents directly is unsupported. Migrate to FSEventsFramework SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: AssetCacheLocato(495) deny(1) mach-lookup com.apple.metadata.mds.legacy SandboxViolation: AssetCacheLocato(495) deny(1) mach-lookup com.apple.cookied SandboxViolation: mdworker(493) deny(1) mach-lookup com.apple.distributed_notifications@1v3 SandboxViolation: systemsoundserve(304) deny(1) file-read-data /Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin SandboxViolation: systemsoundserve(304) deny(1) file-read-metadata /Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin/Contents SandboxViolation: systemsoundserve(304) deny(1) file-read-metadata /Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin SandboxViolation: AssetCacheLocato(507) deny(1) file-read-data /Users/mateuszjachym/Library/Preferences/ByHost/.GlobalPreferences.C46A8293-7666-5F5A-87C9-516248A0DCEA.plist SandboxViolation: AssetCacheLocato(507) deny(1) file-read-data /Users/mateuszjachym/Library/Preferences/.GlobalPreferences.plist SandboxViolation: AssetCacheLocato(507) deny(1) mach-lookup com.apple.metadata.mds.legacy SandboxViolation: AssetCacheLocato(507) deny(1) mach-lookup com.apple.cookied SandboxViolation: cloudphotosd(329) deny(1) mach-lookup com.apple.logind SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: bird(312) deny(1) file-read-data /Users/mateuszjachym SandboxViolation: mobileassetd(51) deny(1) file-issue-extension /private/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/386E4B29-1873-4B2C-8E21-9AF72DEA86D4-51-00000003D27532BA SandboxViolation: softwareupdate_n(519) deny(1) file-read-metadata /Users/mateuszjachym SandboxViolation: suggestd(555) deny(1) mach-lookup com.apple.metadata.mds SandboxViolation: com.apple.WebKit(536) deny(1) file-read-data /private/etc/hosts SandboxViolation: com.apple.WebKit(536) deny(1) file-read-data /private/etc/hosts SandboxViolation: com.apple.WebKit(536) deny(1) file-read-data /private/etc/hosts SandboxViolation: com.apple.WebKit(536) deny(1) file-read-data /private/etc/hosts SandboxViolation: com.apple.WebKit(536) deny(1) file-read-data /private/etc/hosts SandboxViolation: com.apple.WebKit(536) deny(1) file-read-data /private/etc/hosts SandboxViolation: com.apple.WebKit(536) deny(1) file-read-data /private/etc/hosts SandboxViolation: com.apple.WebKit(536) deny(1) file-read-data /private/etc/hosts SandboxViolation: mdworker(560) deny(1) mach-lookup com.apple.FileCoordination SandboxViolation: fontd(325) deny(1) file-issue-extension /Network/Library F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 considerRebuildOfPrelinkedKernel org.netkas.FakeSMC triggered rebuild Edited November 23, 2016 by Allan Spoiler tag - Added Link to comment Share on other sites More sharing options...
Mork vom Ork Posted November 23, 2016 Share Posted November 23, 2016 @Slice I think, we need to find a way to get this "AddProperties": @0,ATY,ActiveFlags = 0x100 This property will get 0x1 if no monitor is connected to the detected port and always 0x100 if there is a monitor connected. I tried to inject with the following, but failed: <dict> <key>Device</key> <string>ATI</string> <key>Key</key> <string>@0,ATY,ActiveFlags</string> <key>Value</key> <data>AAABAA==</data> </dict> cause i could NOT get "0x100" as value for number (will convert this to 256 (which is 0x100 in hex). But then in the log it will always show as ("ATY-ActiveFlags" = <00000100>) So what do we have to do to get "@#, ATY, ActiveFlags = 0x100" injected? // <--- where "@#" = connectors number like 0, 1, 2, etc See here, what i mean: | | | | +-o ATY,Dayman@0 <class AtiFbStub, id 0x100000432, registered, matched, active, busy 0 (16 ms), retain 8> | | | | | | { | | | | | | "ATY,ActiveFlags" = 0x100 // <--- ActiveFlags set here | | | | | | "audio-codec-info" = <00010b00> | | | | | | "adapter-model" = <4470312e3200> | | | | | | "AAPL,gray-page" = <01000000> | | | | | | "connector-type" = 0x400 | | | | | | "dpcd-post-training" = <777701003333> | | | | | | "IOFBDependentID" = 0x1000001fa | | | | | | "name" = "ATY,Dayman" | | | | | | "ATY,ControlFlags" = 0x304 | | | | | | "display-connect-flags" = <00000000> | | | | | | "compatible" = <4154592c4461796d616e> | | | | | | "av-signal-type" = <10000000> | | | | | | "VRAM,memsize" = <0000f0ffffffffff> | | | | | | "IOFBDependentIndex" = 0x0 | | | | | | "AAPL,gray-value" = <00000000> | | | | | | "port-number" = 0x0 | | | | | | "display-type" = "LCD" | | | | | | "dpcd-registers" = ... // <---- deleted unneccesary lines to save room | | | | | | | | | | | +-o display0 <class IODisplayConnect, id 0x1000004a8, registered, matched, active, busy 0 (0 ms), retain 6> // think it only gets "injected" when ActiveFlags returned 0x100 | | | | | | | { | | | | | | | } | | | | | | | | | | | | | +-o AppleDisplay <class AppleDisplay, id 0x1000004aa, registered, matched, active, busy 0 (0 ms), retain 8> | | | | | | { | | | | | | "IOClass" = "AppleDisplay" | | | | | | "CFBundleIdentifier" = "com.apple.iokit.IOGraphicsFamily" | | | | | | "IOProviderClass" = "IODisplayConnect" | | | | | | "DisplayProductID" = 0xa0a6 | | | | | | "IODisplayEDID" = <00ffffffffffff0010aca6a04c34453025190104a55021783afd25a2584f9f260d5054a54b00714f81008180a940d1c0010101010101e77c70a0d0a029505020ca041e4f3100001a000000ff0036384d43463539363045344c0a000000fc0044454c4c205533343135570a20000000fd0030551e5920000a2020202020200175020319f14c9005040302071601141f12132309070783010000023a801871382d40582c25001e4f3100001e584d00b8a1381440942cb5001e4f3100001e9d6770a0d0a0225050205a041e4f3100001a7a3eb85060a02950282068001e4f3100001a565e00a0a0a02950302035001e4f3100001a0000000000000000$ | | | | | | "IODisplayPrefsKey" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/GFX1@0/ATY,Dayman@0/AMDFramebufferVIB/display0/AppleDisplay-10ac-a0a6" | | | | | | "IOPowerManagement" = {"CapabilityFlags"=0xc000,"MaxPowerState"=0x3,"CurrentPowerState"=0x3} | | | | | | "IOProbeScore" = 0x7d0 | | | | | | "IODisplayParameters" = {"bgsc"={"min"=0x0,"max"=0x10000,"value"=0x10000},"pscn"={"min"=0x1388,"max"=0x2710,"value"=0x2710},"rgsc"={"min"=0x0,"max"=0x10000,"value"=0x10000},"thrm"={"min"=0x0,"max"=0x78,"value"=0x23},"ggsc"={"min"=0x0,"max"=0x10000,"value"=0x10000},"dith"={"min"=0x0,"max"=0x1,"value"=0x0},"vblm"={"min"=0x0,"max"=0x30000,"value"=0x10000},"gsc "={"min"=0x0,"max"=0x10000,"value"=0x10000}} | | | | | | "IOMatchCategory" = "IODefaultMatchCategory" | | | | | | "AppleDisplayType" = 0x2 | | | | | | "IODisplayAttributes" = {"IODisplayAttributes"=<676174760000000073676c6600000000726c6f630100000063706220020000006364670080808000676c666401000000>} | | | | | | "AppleSense" = 0x90ff | | | | | | "IODisplayConnectFlags" = <c4410000> | | | | | | "DisplayVendorID" = 0x10ac | | | | | | "DisplaySerialNumber" = 0x3045344c | | | | | | } | | | | | | | | | | | +-o IOFramebufferUserClient <class IOFramebufferUserClient, id 0x1000004b8, !registered, !matched, active, busy 0, retain 5> | | | | | | { | | | | | | "IOUserClientCreator" = "pid 158, WindowServer" | | | | | | } | | | | | | | | | | | +-o IOFramebufferSharedUserClient <class IOFramebufferSharedUserClient, id 0x1000005b0, !registered, !matched, active, busy 0, retain 6> | | | | | { | | | | | "IOUserClientSharedInstance" = Yes | | | | | "IOUserClientCreator" = "pid 416, firefox" | | | | | } | | | | | | | | | +-o ATY,Dayman@1 <class AtiFbStub, id 0x100000433, registered, matched, active, busy 0 (0 ms), retain 8> | | | | | | { | | | | | | "display-type" = "NONE" | | | | | | "compatible" = <4154592c4461796d616e> | | | | | | "connector-type" = 0x400 | | | | | | "ATY,ActiveFlags" = 0x1 // <--- returns 0x1 cause no display connected to this port | | | | | | "IOFBDependentIndex" = 0x1 | | | | | | "audio-codec-info" = <00010d00> | | | | | | "IOFBDependentID" = 0x1000001fa | | | | | | "ATY,ControlFlags" = 0x304 | | | | | | "VRAM,memsize" = <000000000000f0ff> | | | | | | "AAPL,gray-page" = <01000000> | | | | | | "device_type" = "display" To proof this, you could check your IOreg output in the case you receive blackscreen. I promise, it will have the missing "ActiveFlags"-part, too. But i would understand if you will reply now: "But then why does it work for cards with chipfamily TAHITI or older?" <--- then i would say: "I HAVE NO EXPLANATION (IDEA)" :-) Link to comment Share on other sites More sharing options...
Slice Posted November 23, 2016 Share Posted November 23, 2016 I afraid it is not a reason of blackscreen but consequence. I made new entry in Clover menu to change Connectors. Test, please CLOVERX64.efi-3943.zip Mateuszs-Mac-Pro:~ mateuszjachym$ sudo dmesg F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 F718x: Fintek: Found unsupported chip ID=0xc8 REVISION=0x3 considerRebuildOfPrelinkedKernel org.netkas.FakeSMC triggered rebuild It is not Fintek. You should install W836x.kext (Winbond/Nuvoton). As well I see no messages from RadeonMonitor. Link to comment Share on other sites More sharing options...
Matthew82 Posted November 23, 2016 Share Posted November 23, 2016 I change kext in EFI folder Only one gpu temp is showing Boot with CLOVERX64.efi-3943 dmsg.zip debug.log.zip Link to comment Share on other sites More sharing options...
Slice Posted November 23, 2016 Share Posted November 23, 2016 I change kext in EFI folder Only one gpu temp is showing Zrzut ekranu 2016-11-23 o 16.14.26.png Boot with CLOVERX64.efi-3943 Yes, it is probably a lack of functionality. I am not sure if RadeonMonitor can look three cards. Anyway I see no messages from him. Give me full system.log. It is large but I hope to see messages like "RadeonMonitor:..." Link to comment Share on other sites More sharing options...
Matthew82 Posted November 23, 2016 Share Posted November 23, 2016 Yes, it is probably a lack of functionality. I am not sure if RadeonMonitor can look three cards. Anyway I see no messages from him. Give me full system.log. It is large but I hope to see messages like "RadeonMonitor:..." Full sytem log = DarwinDumper ? Loading RadeonSensor is random. If it load for 280x system is loading OK. If it load for 290X desktop is showing and system is restarting afther few seconds. Link to comment Share on other sites More sharing options...
Mork vom Ork Posted November 24, 2016 Share Posted November 24, 2016 I made new entry in Clover menu to change Connectors. Test, please CLOVERX64.efi-3943.zip What kind of values should there entered? 0x400 like DisplayPort Connectors type? Sorry, but brain's empty after 10 hours of work. Link to comment Share on other sites More sharing options...
Slice Posted November 24, 2016 Share Posted November 24, 2016 Full sytem log = DarwinDumper ? Loading RadeonSensor is random. If it load for 280x system is loading OK. If it load for 290X desktop is showing and system is restarting afther few seconds. It is that I asked. But you said RadeonSensor? Yes, it will not work for 290X. I made some changes in RadeonMonitor. What kind of values should there entered? 0x400 like DisplayPort Connectors type? Sorry, but brain's empty after 10 hours of work. Yes, like Display Port Connector types bit sum. ( DVI | VGA | HDMI ...). I found one more bug 78:490 0:106 Found generic VBIOS ROM file (1002_6758.rom) 78:504 0:014 Loaded ROM len=131072 78:506 0:001 invalid ROM vendor=8086 deviceID=258 78:507 0:001 validate_rom fails 78:509 0:001 reading VBIOS from PCI ROM @0xF7C00000 78:512 0:003 invalid ROM signature FFFF 78:514 0:001 There is no ROM @0xF7C00000 78:515 0:001 1 Link to comment Share on other sites More sharing options...
Mork vom Ork Posted November 24, 2016 Share Posted November 24, 2016 I found one more bug 78:490 0:106 Found generic VBIOS ROM file (1002_6758.rom) 78:504 0:014 Loaded ROM len=131072 78:506 0:001 invalid ROM vendor=8086 deviceID=258 78:507 0:001 validate_rom fails 78:509 0:001 reading VBIOS from PCI ROM @0xF7C00000 78:512 0:003 invalid ROM signature FFFF 78:514 0:001 There is no ROM @0xF7C00000 78:515 0:001 This only happens, when IGPU is the primary GFX card. I think for "LoadVBIOS" we need to proof, that vendor-id for main PCI-Dev is 1002, then load VBIOS else give a message like "Primary gfx is not ATI/AMD device" and cancle this function. Link to comment Share on other sites More sharing options...
ydeng Posted November 24, 2016 Share Posted November 24, 2016 It is that I asked. But you said RadeonSensor? Yes, it will not work for 290X. I made some changes in RadeonMonitor. Yes, like Display Port Connector types bit sum. ( DVI | VGA | HDMI ...). I found one more bug 78:490 0:106 Found generic VBIOS ROM file (1002_6758.rom) 78:504 0:014 Loaded ROM len=131072 78:506 0:001 invalid ROM vendor=8086 deviceID=258 78:507 0:001 validate_rom fails 78:509 0:001 reading VBIOS from PCI ROM @0xF7C00000 78:512 0:003 invalid ROM signature FFFF 78:514 0:001 There is no ROM @0xF7C00000 78:515 0:001 Linux has this function for igb http://lxr.free-electrons.com/source/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c#L45 Link to comment Share on other sites More sharing options...
Mork vom Ork Posted November 25, 2016 Share Posted November 25, 2016 I afraid it is not a reason of blackscreen but consequence. I made new entry in Clover menu to change Connectors. Test, please Sorry Slice, but no matter what i enter here, it always stays at 0x00000000 in the log: 0:103 0:000 PCI (00|01:00.00) : 1002 67EF class=030000 0:103 0:000 - GFX: Model=AMD Radeon RX460 (ATI/AMD) 0:103 0:000 - RADEON_BIOS_0_SCRATCH = 0x00000000 0:103 0:000 PCI (00|01:00.01) : 1002 AAE0 class=040300 0:103 0:000 - HDMI Audio: Link to comment Share on other sites More sharing options...
Slice Posted November 25, 2016 Share Posted November 25, 2016 This place is before GUI. Link to comment Share on other sites More sharing options...
Mork vom Ork Posted November 27, 2016 Share Posted November 27, 2016 Hi Slice, see this bootlog with my R9 280x connected via DP and HDMI to two different monirtors: 4:501 0:000 === [ RestSetup macOS ] =================================== 4:501 0:000 EdidDiscovered size=128 4:501 0:000 000 | 00 FF FF FF FF FF FF 00 10 AC 4:501 0:000 010 | A6 A0 4C 34 45 30 25 19 01 04 4:501 0:000 020 | A5 50 21 78 3A FD 25 A2 58 4F 4:501 0:000 030 | 9F 26 0D 50 54 A5 4B 00 71 4F 4:501 0:000 040 | 81 00 81 80 A9 40 D1 C0 01 01 4:501 0:000 050 | 01 01 01 01 E7 7C 70 A0 D0 A0 4:501 0:000 060 | 29 50 50 20 CA 04 1E 4F 31 00 4:501 0:000 070 | 00 1A 00 00 00 FF 00 36 38 4D 4:501 0:000 080 | 43 46 35 39 36 30 45 34 4C 0A 4:501 0:000 090 | 00 00 00 FC 00 44 45 4C 4C 20 4:501 0:000 100 | 55 33 34 31 35 57 0A 20 00 00 4:501 0:000 110 | 00 FD 00 30 55 1E 59 20 00 0A 4:501 0:000 120 | 20 20 20 20 20 20 01 75 4:501 0:000 Framebuffer @0xC0000000 • MMIO @0xEC400000 • I/O Port @0x0000E000 • ROM Addr @0xEC440000 4:501 0:000 PCI region 1 = 0x00000000, region3 = 0x00000000, region5 = 0x00000000 4:501 0:000 BIOS_0_SCRATCH = 0x0000002C, 1 = 0x4058B880, 2 = 0x00000000, 3 = 0x00000000, 4 = 0x00000000, 5 = 0x00000000, 6 = 0x00000000 4:501 0:000 RADEON_CRTC2_GEN_CNTL == 0x00000000 4:501 0:000 card posted because CONFIG_MEMSIZE=0xC00 4:501 0:000 ATI card POSTed, 4:501 0:000 ••• Initializing VRAM ••• 4:501 0:000 ATI Chip Family is: Tahiti 4:501 0:000 Set VRAM to OS minimum: 128Mb 4:501 0:000 Set VRAM for Tahiti = 3072MB 4:501 0:000 ATI: GET_VRAM_SIZE returned: 0xC0000000 4:501 0:000 ••• VRAM successfully initialized ••• 4:503 0:001 Found generic VBIOS ROM file (1002_6798.rom) 4:506 0:003 Loaded ROM len=65536 4:506 0:000 Calculated ROM len=65536 4:506 0:000 VideoBIOS read from file 4:506 0:000 ATI Radeon EVERGREEN+ family 4:506 0:000 Users config name Junsai 4:506 0:000 (AtiPorts) Nr of ports set to: 5 4:506 0:000 ••• ATI Custom Properties detected ••• 4:506 0:000 Custom Properties Key: AAPL00,no-hotplug-interrupt • Custom Properties Value: <01000000> • Custom Properties Value Length: 4 4:506 0:000 ••• ATI Custom Properties injected ••• 4:506 0:000 ATI CHIP FAMILY: Tahiti • CARD NAME: AMD Radeon HD 7970X/8970/R9 280X • VRAM: 3072MB • FRAMEBUFFER: Junsai • VENDOR-/DEVICE-ID: 1002:6798 • SUBSYSTEM-ID: 174B:3000 • PciRoot(0x0)\Pci(0x1,0x0)\Pci(0x0,0x0) 4:506 0:000 RCBA disabled; cannot use it 4:506 0:000 stringlength = 135718 4:511 0:004 CurrentMode: Width=3440 Height=1440 See the value for "BIOS_1_SCRATCH = 0x4058B880" ? Can you explain, where does it come from and what is it's meaning? It doesn't change if i switch connectors or use just one of them: DP or either HDMI See also, that if GFX is primary and only "LoadVBIOS" is working as expected. If i do this with RX460 or RX480 as primary and only card, AMDRadeonX4100.kext will bring the system to stop booting and crashed. Ahh, and "ATI: GET_VRAM_SIZE =" also returns the correct detected value (but only for the R9 280x). Same boot with RX460 as primary and only gfx: 4:215 0:000 === [ RestSetup macOS ] =================================== 4:215 0:000 EdidDiscovered size=128 4:215 0:000 000 | 00 FF FF FF FF FF FF 00 10 AC 4:215 0:000 010 | A6 A0 4C 34 45 30 25 19 01 04 4:215 0:000 020 | A5 50 21 78 3A FD 25 A2 58 4F 4:215 0:000 030 | 9F 26 0D 50 54 A5 4B 00 71 4F 4:215 0:000 040 | 81 00 81 80 A9 40 D1 C0 01 01 4:215 0:000 050 | 01 01 01 01 E7 7C 70 A0 D0 A0 4:215 0:000 060 | 29 50 50 20 CA 04 1E 4F 31 00 4:215 0:000 070 | 00 1A 00 00 00 FF 00 36 38 4D 4:215 0:000 080 | 43 46 35 39 36 30 45 34 4C 0A 4:215 0:000 090 | 00 00 00 FC 00 44 45 4C 4C 20 4:215 0:000 100 | 55 33 34 31 35 57 0A 20 00 00 4:215 0:000 110 | 00 FD 00 30 55 1E 59 20 00 0A 4:215 0:000 120 | 20 20 20 20 20 20 01 75 4:215 0:000 4:215 0:000 • Get MMIO 4:215 0:000 PCI region 1 = 0x00000000, region 3 = 0x00000000, region 5 = 0xEC400000 4:215 0:000 ATI CHIP_FAMILY = Baffin, so we use region 5 as MMIO space 4:215 0:000 Framebuffer @0xC0000000 • MMIO @0xEC400000 • I/O Port @0x0000E000 • ROM Addr @0xEC440000 4:215 0:000 PCI_DEV->REGS = CARD->MMIO = @0xEC400000 4:215 0:000 • Get MMIO done 4:215 0:000 •• Get card posted 4:215 0:000 BIOS_0_SCRATCH = 0x00000000, 1 = 0x00000000, 2 = 0x00000001, 3 = 0x00000000, 4 = 0x00000000, 5 = 0x00000000, 6 = 0x00000000 4:217 0:001 RADEON_CRTC2_GEN_CNTL == 0x00000000 4:217 0:000 Card is POSTed because CONFIG_MEMSIZE = 0x1000 4:217 0:000 •• Get card posted returned: POSTed 4:217 0:000 ••• Get VRAM 4:217 0:000 ATI Chip Family is: Baffin 4:217 0:000 Set VRAM to OS minimum: 128Mb 4:217 0:000 Set VRAM for Baffin = 4096MB 4:217 0:000 ATI: GET_VRAM_SIZE returned: 0x0 4:217 0:000 ••• Get VRAM: ok 4:217 0:000 ATI Radeon EVERGREEN+ family 4:217 0:000 ••••• Get Framebuffer and Ports 4:217 0:000 Default Framebuffer for this device: Acre 4:217 0:000 Default Ports for this device: 3 4:217 0:000 (AtiPorts) Nr of ports set to: 3 4:217 0:000 ••••• Get Framebuffer and Ports done 4:217 0:000 •••••• Get ATI Custom Properties 4:217 0:000 Custom Properties Key: AAPL00,no-hotplug-interrupt • Custom Properties Value: <01000000> • Custom Properties Value Length: 4 4:217 0:000 •••••• ATI Custom Properties injected 4:217 0:000 4:217 0:000 ATI CHIP FAMILY: Baffin • CARD NAME: AMD Radeon RX460 • VRAM: 4096MB • FRAMEBUFFER: Acre • VENDOR-/DEVICE-ID: 1002:67EF • SUBSYSTEM-ID: 174B:E344 • PciRoot(0x0)\Pci(0x1,0x0)\Pci(0x0,0x0) As you can see, i modified the bootlog a little <--- any feedback appreciated btw: i did NOT find any way to get the connectors correctly injected. tried a lot of stuff with no success. I inserted this into my config.plist - even that my R9280X doesn't need that kind of patch to work correctly: <key>ATIConnectorsController</key> <string>9500</string> <key>ATIConnectorsData</key> <string>000400000403000000010101000000001102020100000000000800000402000000010200000000002103050400000000040000000402000000010300000000000000030500000000</string> <key>ATIConnectorsPatch</key> <string>000400000403000000010001000000001102050100000000000800000402000000010001000000002103030400000000040000000402000000010001000000001000040500000000</string> using this kind of FB-patch instead for all my tested cards: <dict> <key>Comment</key> <string>Framebuffer JUNSAI</string> <key>Disabled</key> <false/> <key>Find</key> <data>AAQAAAQDAAAAAQABAAAAABIEAwEAAAAAAAQAAAQDAAAAAQABAAAAACIFBAIAAAAAAAQAAAQDAAAAAQABAAAAABECAQMAAAAAAAQAAAQDAAAAAQABAAAAACEDAgQAAAAAAAQAAAQDAAAAAQABAAAAABAABQUAAAAAAAQAAAQDAAAAAQABAAAAACABBgYAAAAA</data> <key>Name</key> <string>AMD7000Controller</string> <key>Replace</key> <data>AAQAAAQDAAAAAQABAAAAABIEBQEAAAAAAAgAAAQCAAAAAQABAAAAACIFAQQAAAAABAAAABQAAAAAAQABAAAAABECBgMAAAAAAAIAABQCAAAAAQABAAAAABAAAwYAAAAAAAQAAAQDAAAAAQABAAAAACABAgUAAAAABAAAABQAAAAAAQABAAAAACIFBAIAAAAA</data> </dict> but i thought it might be helpfull for this part of code within "ati.c": {FLAGTRUE, TRUE, "@0,connector-type", get_conntype_val, NULVAL }, . . . //TODO - get connectors from ATIConnectorsPatch BOOLEAN get_conntype_val(value_t *val, INTN index) { UINT8 *ct; //Connector types: //0x10: VGA //0x04: DL DVI-I //0x800: HDMI //0x400: DisplayPort //0x02: LVDS if ((CurrentPatches == NULL) || (CurrentPatches->KPATIConnectorsDataLen == 0)) { return FALSE; } ct = CurrentPatches->KPATIConnectorsPatch; /* if (gMobile) { ct = (UINT32*)&ctm[0]; } else ct = (UINT32*)&ctd[0]; */ val->type = kCst; val->size = 4; val->data = (UINT8*)&ct[index * 16]; // <--- do we have to change the "* 16" into "* 24", cause now FB will be 24 bits or 48 characters (numbers) long in SIERRA? // cti++; // if(cti > 3) cti = 0; return TRUE; } But wasn't helpfull. Don't know, if this routine will ever be called in the code. Link to comment Share on other sites More sharing options...
Mork vom Ork Posted November 28, 2016 Share Posted November 28, 2016 Tried another solution: i edited one of my SSDT with this codesnippet: "@0,connector-type", Buffer (0x04) { 0x00, 0x04, 0x00, 0x00 }, "@0,ATY,ControlFlags", Buffer (0x04) { 0x00, 0x03, 0x00, 0x04 }, "@0,AAPL,boot-display", Buffer (One) { 0x01 }, but this will result in this kind of output: "connector-type" = [00040000] What i need, is this kind of output: "connector-type" = 0x400 So, what do i have to enter to get "0x400" as given value? I still belief, that the blackscreen issue only happens, cause the connector-type values are missing after verbose boot. And i promise, if i would find a way to give the right value to "connector-type" and "ControlFlags" as "0x400" and "0x304" i will get immediatly a picture on my monitor connected to RX460 Port#1, which is DisplayPort. I would bet my grand-ma on this. But i can't find a f... way to get the correct values given to their corresponding keys. A N Y O N E ? ? ? 3 Link to comment Share on other sites More sharing options...
Mork vom Ork Posted November 29, 2016 Share Posted November 29, 2016 @Slice: any chance to get Connectors defined by config.plist, something like this: <key>Graphics</key> <dict> <key>Connectors</key> <data>kdYHUA==</data> currently the startupvalues seems to be a readout from mmio + RADEON_BIOS_0_SCRATCH. I would like to get them defined by config.plist from the beginning. <--- of cause, only if possible. Link to comment Share on other sites More sharing options...
Slice Posted November 29, 2016 Share Posted November 29, 2016 @Slice: any chance to get Connectors defined by config.plist, something like this: <key>Graphics</key> <dict> <key>Connectors</key> <data>kdYHUA==</data> currently the startupvalues seems to be a readout from mmio + RADEON_BIOS_0_SCRATCH. I would like to get them defined by config.plist from the beginning. It is possible but I still see no effect of it. Link to comment Share on other sites More sharing options...
metacollin Posted November 29, 2016 Share Posted November 29, 2016 Hi, I've been following this closely, and trying to find a solution myself. I have a C612 workstation running Sierra 10.2.2 and avoid modifying kexts etc. at all costs. I have not edited my X4100.kext at all, I instead use SSDT injection to disable all devices that slot has PCI routes to by setting their _STA to zero. I then inject my own device named GFX1 with a fake ID, 0x67FF in my case, solving the MacPro gfx0 unload problem and matching the X4100.kext in one update-proof go. I also have no IGPU at all of course. I am competent in simpler embedded systems (ARM cortex-3 micros and simpler mostly) and have been adding my own debug info to clover and testing it (without any useful results =/) but I am just trying to say I can help test whatever and will probably know what it is you want me to do. Oh yeah I have an RX 480. So, some things I've noticed: 1. Non-primary GPUs will display black while Clover is booting/booted. This is different from what happens with an RX480. By display black, I mean there is a valid video signal driving the display and telling it to show black pixels. However, the RX 480 isn't displaying black, it's not displaying anything - there is no valid signal coming out of the ports at all. I wonder why this is? Might be nothing but mentioning it in case it's useful. 2. I have a dual link 2560x1440 DVI display, and I've noticed that when I inject my EDID, when the X4100 kext loads, instead of the RX 480's output going dead suddenly, the bottom half of my display flashes white (I have some 240 fps video if you think it's worth the time) before the video input dies. so something is making only one of the two dual link channels briefly go all white. This does not happen at all normally, normally video just cuts out without any flash etc. 3. The not finding a valid rom might not be invoked. This happens on Linux too but doesn't cause any problems. Also, all of this happens if I load a valid vbios from my EFI partition or don't. 4. The Polaris cards have a hybrid rom, which is a UEFI/GOP module in addition to a traditional legacy rom. The UEFI module acts as a loader for the legacy module. Note, both of these rom sections are digitally signed. The UEFI module verifies the signature of the legacy rom and only loads it if it passes. The UEFI module's signature is only verified by the computer's BIOS itself if secure boot is enabled, so that isn't really relevant. Anyway, I altered my legacy rom section such that it would fail validation but still work fine, then flashed that onto my card. I then forced my BIOS to "UEFI only" mode, which of course resulted in no video coming out of the card. The legacy rom wouldn't load, and CSM/any loading of it by the mobo itself wasn't allowed. Only, if I wait, video happily appears along with OS X's login screen, as soon as the X4100 kext loads. This is with the RX 480 as primary, and a invalid (in terms of the signature) legacy rom section. I know recent Mac pro's EFI will actually find and load legacy rom sections of cards, removing the need of having an EFI section to work. This is my thinking: is it possible that when the UEFI/GOP module loads the legacy rom, it remaps it? Or remaps something? I don't think this is a connector problem - though that might be an issue on its own, I don't know. If the frame buffer doesn't match connectors, the video cuts out entirely but OS X still boots. You have no screen but you can mash keys and hear sounds. That is not what occurs with the RX 480. It halts, immediately. All hard drive I/O stops mid boot, and that's the end. On rare occasions, my machine (or rather The xnu kernel) will actually manage to automatically reboot when this happens, just like certain kernel panics. This outcome is rare though, and usually my machine just locks in permanent limbo. anyway, i dunno if any of that is at all useful. But if you need me to test anything or want any information from me, let me know. Oh, I did prevent the X 4100 kext from loading and booted without accelerated video, and can confirm that all those extra properties, the frame buffer, connector injection seems to work correctly. I would an ioreg dump be useful? Though, It also likely means that it's not the culprit, but I am kind of out of my element. Anyway, thank you very much Slice and Mork vom Ork for the time you've given towards figuring out this problem. I know Slice isn't even really interested, but trying to get the sleep/wake issues with ATI cards sorted, so a double thanks for going out of your way on this side problem. 1 Link to comment Share on other sites More sharing options...
Mork vom Ork Posted December 4, 2016 Share Posted December 4, 2016 Ok, guys. I have made some more experiences over the last few days. The first thing i was wondering: why did my DELL U3415W does NOT like any 60hz. resolution - even he is able to display such refresh-rate? I was experiencing, that on every fresh install i have to set screen-res manually to 3440x1440x50Hz. instead of 3440x1440x60Hz to get a picture. So i consulted DELL website to find out, if the european release of this kind of monitor is diferent, cause european standard refresh-rate is 50 hz instead of 60hz to the us-market for example. So i found out, that the european U3415W ist still able to get 60hz as refresh-rate. But what ever i tried, i always got blackscreen (and message: "no signal") when i switched resolution to something with 60hz. So i "clicked" through the monitor-settings and got the solution: i have to set "DP settings" to 1.1 instead of 1.2 as standard. With settings 1.1 i was able to use any resolution with a refresh-rate of 60hz. This is important, cause CLOVER will allways use 60hz as standard refresh-rate for any resolution it detects. So another failpoint of my long list could be fixed. No longer RDP-login to CLOVER machine via MacBook and fix refreshrate from 60 to 50hz to get a screen on U3415W. (Notice: now i get blackscreen and message "no signal" whenever i try to use a 50hz refreshrate <--- but who cares) Second: i noticed in the ATI.c code segments, that Clover "injects" some "default properties" so that u don't have to use them manually. One of them is the "@0,connector-type" setting. But this only works, if you have "ATI ConnectorsController" settings within your CLOVER config.plist. For a better understanding i think that CLOVER reads out the entry under "ATIConnectorsPatch" and so gets the correct values for "@0,connector-type". The part of the code i mean is the following: KERNEL_AND_KEXT_PATCHES *CurrentPatches; // TODO - get connectors from ATIConnectorsPatch BOOLEAN get_conntype_val(value_t *val, INTN index) { UINT8 *ct; // Connector types: // 0x10: VGA // 0x04: DL DVI-I // 0x800: HDMI // 0x400: DisplayPort // 0x02: LVDS if ((CurrentPatches == NULL) || (CurrentPatches->KPATIConnectorsDataLen == 0)) { return FALSE; } ct = CurrentPatches->KPATIConnectorsPatch; /* if (gMobile) { ct = (UINT32*)&ctm[0]; } else ct = (UINT32*)&ctd[0]; */ val->type = kCst; val->size = 4; val->data = (UINT8*)&ct[index * 16]; // cti++; // if(cti > 3) cti = 0; return TRUE; } And i believe, here is still one mistake for SIERRA setups. To make it more clear, some explanations first. Lets take a look at Framebuffers from YOSEMITE and SIERRA: Junsai 10.10.5: 00040000040300000001000111020103 Junsai 10.12.2beta4: 000400000403000000010001000000001102010300000000 See the different length? Now cut them into each two pairs like this: Junsai 10.10.5: 00 04 00 00 04 03 00 00 00 01 00 01 11 02 01 03 <-- length: 16 pairs(dec.) Junsai 10.12.2beta4: 00 04 00 00 04 03 00 00 00 01 00 01 00 00 00 00 11 02 01 03 00 00 00 00 <--- length: 24 pairs(dec.) so i thought, that this part of the above code has to be changed when using SIERRA: // change this line: val->data = (UINT8*)&ct[index * 16]; // into this line: val->data = (UINT8*)&ct[index * 24]; did this and recompiled CLOVER again, installed this to my EFI partition, restarted and wait for what is going to be changed. For my big suprise: NOTHING was changed! No problems with my good old R9 280X when booting as primary solo gfx. card and still blackscreen when booting with RX4x0 as primary, solo gfx card. And i thought: hmm, doesn't make any sense? why does it NOT make a difference? Within SIERRA with a length of still "16" it MUST get wrong values, cause next CONNECTOR does not begin after 16 (i think it is bits) but after 24 bits. So why doesn't it make any difference? And than i realized: IT DOES. Cause when using "* 16" instead of "* 24" my DELL Monitor replys with wrong resolution settings! I wasnt able to get full resolution when old settigs "*16" was applied: max resolution setting then was always 1920x1080, also on my IIyama 4K monitor: max Res: 1920x1080. Then with "*24" change and recompile i am able to change full native resoultions for both monitors - 3440x1440 and 3440x2160 Please feel free to try this yourself and share your experiences. so there seems to be more "small bugs" for new Radeon cards and how SIERRA changes AMD Support than we might believe <--- cause the real coders don't have to put their attentions for month on ATI.c, ATI.h or ATI_REG.h ...to be continued later. Taking a break right now. 3 Link to comment Share on other sites More sharing options...
Mork vom Ork Posted December 4, 2016 Share Posted December 4, 2016 PART II: after i noticed the above described experience, i thougth: ok, lets take a closer look on SIERRA Framebuffer Settings. Take a look on SIERRA Framebuffer JUNSAI (AMD7000Controller), ACRE (AMD9500Controller), OPM (AMD9500Controller) and BARBICE (AMD9500Controller): Junsai: 000400000403000000010001000000001102010300000000 ACRE: 000400000403000000010101000000001102020100000000 OPM: 000400000403000000000001000000001102020200000000 Barbice: 000400000403000000010453000000001102040400000000 You can see all have the same beginning for their DP setting (Connector Type and ControllFlag), and all have same setting for Transmitter and Encoder - but different settings for Sense-ID and Hotplug-ID. And there are many manuals explaining how to set these values and how they are relevant for "correct Framebuffer Patching". But who really knows, what kind of meaning all the other values have? As you can see in the above example there is 100010, 101010, 000010 and 104530. So what do these values stay for? So i start making the test: lets begin changing the following for Framebuffer ACRE - which i use with my RX460 as standard framebuffer: normal patch would look like this (just an example, cause i am currently at work and don't have my correct "config.plist" handy to grab the correct values): 00040000 04030000 00010001 00000000 11020603 00000000 <--- DP 00040000 04030000 00010001 00000000 21030104 00000000 <--- DP 00080000 04020000 00010001 00000000 12040501 00000000 <--- HDMI 00040000 04030000 00010001 00000000 20010206 00000000 <--- DP 04000000 14000000 00010001 00000000 22050402 00000000 <--- DVI 00020000 14020000 00010001 00000000 10000305 00000000 <--- DVI Now lets put our attention just to the "third block" of entries. As we notice, i have them all patched to the same values. And i don't experienced any problem with these values. Also i never asked before to myself: what do these values stay for? Now let us just change row one, block three into this and see what happens: 00040000 04030000 00010000 00000000 11020603 00000000 <--- DP Did this and rebooted. First look: everything seems to be as it was like before. But hey... wait. Resolution was set to 1980x1080. Opening controll panel monitor to get this fixed. But wait: there are now just three resolutions possible: 1920x1080, 1280x 720 and a third vaue. No native resolution of 3440x1440 to pick up! So changed "00010000" now to "00010003" to see what happens. Reboot. Et voila: back to native resoultion of 3440x1440@60hz. and 4 more resolutions to choose from. So maybe this setting has something to do with EDID of monitor to get it's possible resolutions. If EDID not possible to read out correctly, try just three different resolutions and see, if monitor could handle them. Cause of not enough time (a day only has 24 hours), i wasn't able to make more tests so far - but i promise, i will continue, when there will be more time. 1 Link to comment Share on other sites More sharing options...
Slice Posted December 5, 2016 Share Posted December 5, 2016 Thanks, Mork vom Ork, I made difference between old system and Sierra, 16 vs 24, in commit 3955. Link to comment Share on other sites More sharing options...
Mork vom Ork Posted December 7, 2016 Share Posted December 7, 2016 Dear Slice, need your advice and support once again: i modified this part of code in "ATI.c": VOID devprop_add_list(AtiDevProp devprop_list[], CHAR8 *OSVersion) { INTN i, pnum; BOOLEAN Sier; value_t *val = AllocateZeroPool(sizeof(value_t)); Sier = (AsciiOSVersionToUint64(OSVersion) >= AsciiOSVersionToUint64("10.12")); for (i = 0; devprop_list[i].name != NULL; i++) { if ((devprop_list[i].flags == FLAGTRUE) || (devprop_list[i].flags & card->flags)) { if (devprop_list[i].get_value && devprop_list[i].get_value(val, 0, Sier)) { DBG(" DP: Devprop_Name = %a • Devprop_Data = %a • Devprop_Size = %d\n", devprop_list[i].name, val->data, val->size); // <-- added this line devprop_add_value(card->device, devprop_list[i].name, val->data, val->size); free_val(val); if (devprop_list[i].all_ports) { for (pnum = 1; pnum < card->ports; pnum++) { if (devprop_list[i].get_value(val, pnum, Sier)) { devprop_list[i].name[1] = (CHAR8)(0x30 + pnum); // convert to ascii DBG(" CP: Devprop_Name = %a • Val_Data = [ %a ] • Val_Size = %d\n", devprop_list[i].name, val->data, val->size); // <-- added this line devprop_add_value(card->device, devprop_list[i].name, val->data, val->size); free_val(val); } } devprop_list[i].name[1] = 0x30; // write back our "@0," for a next possible card } } else { if (devprop_list[i].default_val.type != kNul) { DBG(" kN: Devprop_Name = %a • Devprop_Data = %a • Devprop_Size = %d\n", // <-- added from here... devprop_list[i].name, devprop_list[i].default_val.type == kCst ? (UINT8 *)&(devprop_list[i].default_val.data) : devprop_list[i].default_val.data, devprop_list[i].default_val.size); // <-- ...up to this line devprop_add_value(card->device, devprop_list[i].name, devprop_list[i].default_val.type == kCst ? (UINT8 *)&(devprop_list[i].default_val.data) : devprop_list[i].default_val.data, devprop_list[i].default_val.size); } if (devprop_list[i].all_ports) { for (pnum = 1; pnum < card->ports; pnum++) { if (devprop_list[i].default_val.type != kNul) { devprop_list[i].name[1] = (CHAR8)(0x30 + pnum); // convert to ascii DBG(" AP: Devprop_Name = %a • Devprop_Data = %a • Devprop_Size = %d\n", // <-- added from here... devprop_list[i].name, devprop_list[i].default_val.type == kCst ? (UINT8 *)&(devprop_list[i].default_val.data) : devprop_list[i].default_val.data, devprop_list[i].default_val.size); // <-- ...up to this line devprop_add_value(card->device, devprop_list[i].name, devprop_list[i].default_val.type == kCst ? (UINT8 *)&(devprop_list[i].default_val.data) : devprop_list[i].default_val.data, devprop_list[i].default_val.size); } } devprop_list[i].name[1] = 0x30; // write back our "@0," for a next possible card } } } } FreePool(val); } to get this kind of output in CLOVER bootlog: 5:513 0:000 •••••• Get Devprop_add_List 5:513 0:000 DP: Devprop_Name = @0,AAPL,boot-display • Devprop_Data = • Devprop_Size = 4 5:513 0:000 DP: Devprop_Name = AAPL00,override-no-connect • Devprop_Data = • Devprop_Size = 128 // <--- see this? How to expand the above code to get correct value? 5:513 0:000 DP: Devprop_Name = @0,compatible • Devprop_Data = ATY,Acre • Devprop_Size = 8 5:513 0:000 CP: Devprop_Name = @1,compatible • Val_Data = [ ATY,Acre ] • Val_Size = 8 5:513 0:000 CP: Devprop_Name = @2,compatible • Val_Data = [ ATY,Acre ] • Val_Size = 8 5:513 0:000 DP: Devprop_Name = @0,connector-type • Devprop_Data = • Devprop_Size = 4 // <--- see this? How to expand the above code to get value for Devprop_Data displayed? 5:513 0:000 CP: Devprop_Name = @1,connector-type • Val_Data = [ ] • Val_Size = 4 // <--- see this? How to expand the above code to get value for Val_Data displayed? 5:513 0:000 CP: Devprop_Name = @2,connector-type • Val_Data = [ ] • Val_Size = 4 // <--- see this? How to expand the above code to get value for Val_Data displayed? 5:513 0:000 kN: Devprop_Name = @0,device_type • Devprop_Data = display • Devprop_Size = 7 5:513 0:000 AP: Devprop_Name = @1,device_type • Devprop_Data = display • Devprop_Size = 7 5:513 0:000 AP: Devprop_Name = @2,device_type • Devprop_Data = display • Devprop_Size = 7 5:513 0:000 kN: Devprop_Name = AAPL00,Dither • Devprop_Data = • Devprop_Size = 4 5:513 0:000 DP: Devprop_Name = @0,name • Devprop_Data = ATY,Acre • Devprop_Size = 8 5:513 0:000 CP: Devprop_Name = @1,name • Val_Data = [ ATY,Acre ] • Val_Size = 8 5:513 0:000 CP: Devprop_Name = @2,name • Val_Data = [ ATY,Acre ] • Val_Size = 8 5:513 0:000 DP: Devprop_Name = @0,VRAM,memsize • Devprop_Data = • Devprop_Size = 8 5:513 0:000 CP: Devprop_Name = @1,VRAM,memsize • Val_Data = [ ] • Val_Size = 8 5:513 0:000 CP: Devprop_Name = @2,VRAM,memsize • Val_Data = [ ] • Val_Size = 8 5:513 0:000 kN: Devprop_Name = AAPL,aux-power-connected • Devprop_Data = • Devprop_Size = 4 5:513 0:000 DP: Devprop_Name = AAPL00,DualLink • Devprop_Data = • Devprop_Size = 4 5:513 0:000 kN: Devprop_Name = ATY,Copyright • Devprop_Data = Copyright AMD Inc. All Rights Reserved. 2005-2011 • Devprop_Size = 49 5:513 0:000 kN: Devprop_Name = ATY,EFIVersion • Devprop_Data = 01.00.3180 • Devprop_Size = 10 5:513 0:000 DP: Devprop_Name = ATY,Card# • Devprop_Data = 109-B77101-00<@ • Devprop_Size = 13 5:513 0:000 kN: Devprop_Name = ATY,VendorID • Devprop_Data = • Devprop_Size = 2 5:513 0:000 DP: Devprop_Name = ATY,DeviceID • Devprop_Data = ?gKD?? • Devprop_Size = 2 5:513 0:000 kN: Devprop_Name = ATY,RefCLK • Devprop_Data = ? • Devprop_Size = 4 5:513 0:000 DP: Devprop_Name = ATY,PlatformInfo • Devprop_Data = • Devprop_Size = 128 5:513 0:000 DP: Devprop_Name = name • Devprop_Data = ATY,AcreParent • Devprop_Size = 14 5:513 0:000 DP: Devprop_Name = device_type • Devprop_Data = ATY,AcreParent • Devprop_Size = 14 5:513 0:000 DP: Devprop_Name = model • Devprop_Data = AMD Radeon RX460 • Devprop_Size = 16 5:513 0:000 •••••• Get Devprop_add_List done I know, that i set above "Devprop_Data = %a" which means to get values as ASCii, so the above mentioned values could not give out correct, cause they are not all ASCii, some of them seems to be integers, maybe hex-values. So what do i have to set for "Devprop_Data = %?" to get the correct value displayed, no matter if the given value is real ascii, integer, hex or anything else? As you can see above, the devprop-size & val-size always seems to reply correct len of data, but data-values could not be displayed, cause of wrong type here: "Devprop_Data = %a". Would be happy, if your time allows to get it explained to me or even a little hint on what to change (expand) in the above code ;-) Oh, and btw: this bootlog was extracted when booting with RX460 as primary and solo gfx. PS: i also understand, that the output of values (string, integer, hex etc.) would be defined within these lines of code: AtiDevProp ati_devprop_list[] = { {FLAGTRUE, FALSE, "@0,AAPL,boot-display", get_bootdisplay_val, NULVAL }, // {FLAGTRUE, FALSE, "@0,ATY,EFIDisplay", NULL, STRVAL("TMDSA") }, //{FLAGTRUE, TRUE, "@0,AAPL,vram-memory", get_vrammemory_val, NULVAL }, {FLAGTRUE, TRUE, "AAPL00,override-no-connect", get_edid_val, NULVAL }, {FLAGNOTFAKE, TRUE, "@0,compatible", get_name_val, NULVAL }, {FLAGTRUE, TRUE, "@0,connector-type", get_conntype_val, NULVAL }, {FLAGTRUE, TRUE, "@0,device_type", NULL, STRVAL("display") }, // {FLAGTRUE, FALSE, "@0,display-connect-flags", NULL, DWRVAL(0) }, //some set of properties for mobile radeons {FLAGMOBILE, FALSE, "@0,display-link-component-bits", NULL, DWRVAL(6) }, {FLAGMOBILE, FALSE, "@0,display-pixel-component-bits", NULL, DWRVAL(6) }, {FLAGMOBILE, FALSE, "@0,display-dither-support", NULL, DWRVAL(0) }, {FLAGMOBILE, FALSE, "@0,backlight-control", NULL, DWRVAL(1) }, {FLAGTRUE, FALSE, "AAPL00,Dither", NULL, DWRVAL(0) }, // {FLAGTRUE, TRUE, "@0,display-type", NULL, STRVAL("NONE") }, {FLAGTRUE, TRUE, "@0,name", get_name_val, NULVAL }, {FLAGTRUE, TRUE, "@0,VRAM,memsize", get_vrammemsize_val, NULVAL }, // {FLAGTRUE, TRUE, "@0,ATY,memsize", get_vrammemsize_val, NULVAL }, {FLAGTRUE, FALSE, "AAPL,aux-power-connected", NULL, DWRVAL(1) }, {FLAGTRUE, FALSE, "AAPL00,DualLink", get_dual_link_val, NULVAL }, {FLAGMOBILE, FALSE, "AAPL,HasPanel", NULL, DWRVAL(1) }, {FLAGMOBILE, FALSE, "AAPL,HasLid", NULL, DWRVAL(1) }, {FLAGMOBILE, FALSE, "AAPL,backlight-control", NULL, DWRVAL(1) }, {FLAGTRUE, FALSE, "AAPL,overwrite_binimage", get_binimage_owr, NULVAL }, {FLAGTRUE, FALSE, "ATY,bin_image", get_binimage_val, NULVAL }, {FLAGTRUE, FALSE, "ATY,Copyright", NULL, STRVAL("Copyright AMD Inc. All Rights Reserved. 2005-2011") }, {FLAGTRUE, FALSE, "ATY,EFIVersion", NULL, STRVAL("01.00.3180") }, {FLAGTRUE, FALSE, "ATY,Card#", get_romrevision_val, NULVAL }, // {FLAGTRUE, FALSE, "ATY,Rom#", NULL, STRVAL("www.amd.com") }, {FLAGNOTFAKE, FALSE, "ATY,VendorID", NULL, WRDVAL(0x1002) }, {FLAGNOTFAKE, FALSE, "ATY,DeviceID", get_deviceid_val, NULVAL }, // {FLAGTRUE, FALSE, "ATY,MCLK", get_mclk_val, NULVAL }, // {FLAGTRUE, FALSE, "ATY,SCLK", get_sclk_val, NULVAL }, {FLAGTRUE, FALSE, "ATY,RefCLK", get_refclk_val, DWRVAL(0x0a8c) }, {FLAGTRUE, FALSE, "ATY,PlatformInfo", get_platforminfo_val, NULVAL }, {FLAGOLD, FALSE, "compatible", get_name_pci_val, NULVAL }, {FLAGTRUE, FALSE, "name", get_nameparent_val, NULVAL }, {FLAGTRUE, FALSE, "device_type", get_nameparent_val, NULVAL }, {FLAGTRUE, FALSE, "model", get_model_val, STRVAL("ATI Radeon")}, // {FLAGTRUE, FALSE, "VRAM,totalsize", get_vramtotalsize_val, NULVAL }, {FLAGTRUE, FALSE, NULL, NULL, NULVAL} }; Link to comment Share on other sites More sharing options...
Gigamaxx Posted December 8, 2016 Share Posted December 8, 2016 This may not be relevant but there are new AMD cards listed in 9500kext. 12.2 B5. Polaris 12, Polaris 10XT2 along with Vega 10. I also ran across this in the 4100kext. . DDR3, DDR4, GDDR5, HBM PCI ( no HBM2 or GDDR5X). 9500Controller SMC update. Sleep/Display Link to comment Share on other sites More sharing options...
Slice Posted December 8, 2016 Share Posted December 8, 2016 . There is a simpler way to see injected device properties if not started. Settings.c: line 6302 mPropSize = hex2bin (gDeviceProperties, mProperties, mPropSize); // DBG ("Final size of mProperties=%d\n", mPropSize); //--------- Status = egSaveFile(SelfRootDir, L"EFI\\CLOVER\\misc\\devprop.bin", (UINT8*)mProperties, mPropSize); } After reboot you will find this file and decompile it. ./gfxutil -i bin -o xml devprop.bin devprop.plist gfxutil.zip Link to comment Share on other sites More sharing options...
Mork vom Ork Posted December 8, 2016 Share Posted December 8, 2016 @Slice: thanx, works like a charm. Link to comment Share on other sites More sharing options...
Matthew82 Posted December 14, 2016 Share Posted December 14, 2016 I was able to to boot MacOS only with R9290X. Thanks to Okrasit (http://www.insanelymac.com/forum/topic/313977-r9-nano/?p=2333976) Just insert fake PCI ID to videoROM and save it to GPU. I attach boots.log and IO.reg. I hope this will help to find good and more comfortable solution for "BlackScreen" Mateusz’s Mac Pro.zip debug.log.zip 2 Link to comment Share on other sites More sharing options...
Recommended Posts