Coder Social home page Coder Social logo

wu890608 / whatevergreen Goto Github PK

View Code? Open in Web Editor NEW

This project forked from acidanthera/whatevergreen

0.0 1.0 0.0 2.16 MB

Various patches necessary for certain ATI/AMD/Intel/Nvidia GPUs

License: BSD 3-Clause "New" or "Revised" License

Shell 0.54% C++ 96.52% Objective-C++ 1.02% C 1.86% Assembly 0.06%

whatevergreen's Introduction

WhateverGreen

Build Status Scan Status

Lilu plugin providing patches to select GPUs on macOS. Requires Lilu 1.2.5 or newer.

Features

  • Fixes boot to black screen on AMD and NVIDIA
  • Fixes sleep wake to black screen on AMD
  • Fixes boot screen distortion in certain cases
  • Fixes transmitter/encoder in autodetected connectors for multimonitor support (-raddvi)
  • Fixes HD 7730/7750/7770/R7 250/R7 250X initialisation (radpg=15)
  • Allows tuning of aty_config, aty_properties, cail_properties via ACPI
  • Allows enforcing 24-bit mode on unsupported displays (-rad24)
  • Allows booting without video acceleration (-radvesa)
  • Allows automatically setting GPU model name or providing it manually for RadeonFramebuffer
  • Allows specifying custom connectors via device properties for RadeonFramebuffer
  • Allows tuning autodetected connector priority via device properties (HD 7xxx or newer)
  • Fixes an issue in AppleGraphicsDevicePolicy.kext so that we could use a MacPro6,1 board-id/model combination, without the usual hang with a black screen. Patching AppleGraphicsDevicePolicy.kext
  • Modifies macOS to recognize NVIDIA's web drivers as platform binaries. This resolves the issue with transparent windows without content, which appear for applications that use Metal and have Library Validation enabled. Common affected applications are iBooks and Little Snitch Network Monitor, though this patch is universal and fixes them all. NVWebDriverLibValFix
  • Injects IOVARendererID into GPU properties (required for Shiki-based solution for non-freezing Intel and/or any discrete GPU)
  • For Intel HD digital audio HDMI, DP, Digital DVI (Patches connector-type DP -> HDMI)
  • Fixes NVIDIA GPU interface stuttering on 10.13 (official and web drivers)

Documentation

Read FAQs and avoid asking any questions. No support is provided for the time being.

Boot arguments

  • -wegdbg to enable debug printing (available in DEBUG binaries).
  • -wegoff to disable WhateverGreen.
  • -wegbeta to enable WhateverGreen on unsupported os versions (10.13 and below are enabled by default).
  • -wegnoegpu to disable external GPU (or add disable-external-gpu property to IGPU).
  • -radvesa to disable ATI/AMD video acceleration completely.
  • -igfxvesa to boot Intel graphics without hardware acceleration (VESA mode).
  • -rad24 to enforce 24-bit display mode.
  • -raddvi to enable DVI transmitter correction (required for 290X, 370, etc.).
  • radpg=15 to disable several power-gating modes (see FAQ, required for Cape Verde GPUs).
  • agdpmod=vit9696 disables check for board-id (or add agdpmod property to external GPU).
  • agdpmod=pikera replaces board-id with board-ix
  • agdpmod=ignore disables AGDP patches (vit9696,pikera value is implicit default for external GPUs)
  • ngfxgl=1 boot argument (and disable-metal property) to disable Metal support on NVIDIA
  • ngfxcompat=1 boot argument (and force-compat property) to ignore compatibility check in NVDAStartupWeb
  • ngfxsubmit=0 boot argument (and disable-gfx-submit property) to disable interface stuttering fix on 10.13
  • gfxrst=1 to prefer drawing Apple logo at 2nd boot stage instead of framebuffer copying.
  • igfxframe=frame to inject a dedicated framebuffer identifier into IGPU (only for TESTING purposes).
  • igfxsnb=0 to disable IntelAccelerator name fix for Sandy Bridge CPUs.
  • igfxgl=0 to disable Metal support on Intel.
  • -igfxnohdmi to disable DP to HDMI conversion patches for digital sound.
  • -cdfon (and enable-hdmi20 property) to enable HDMI 2.0 patches.
  • -igfxdump to dump IGPU framebuffer kext to /AppleIntelFramebuffer_X_Y (available in DEBUG binaries).
  • -igfxfbdump to dump native and patched framebuffer table to ioreg at IOService:/IOResources/WhateverGreen
  • igfxcflbklt=1 boot argument (and enable-cfl-backlight-fix property) to enable CFL backlight patch
  • applbkl=0 boot argument to disable AppleBacklight.kext patches for IGPU. In case of custom AppleBacklight profile- read here.
  • -igfxmlr boot argument (and enable-dpcd-max-link-rate-fix property) to apply the maximum link rate fix.

Credits

  • Apple for macOS
  • AMD for ATOM VBIOS parsing code
  • The PCI ID Repository for multiple GPU model names
  • FireWolf for the DPCD maximum link rate fix
  • Floris497 for the CoreDisplay patches
  • Fraxul for original CFL backlight patch
  • headkaze for Intel framebuffer patching code and CFL backlight patch improvements
  • hieplpvip for initial AppleBacklight patching plugin
  • igork for power-gating patch discovery
  • lvs1974 for continuous implementation of Intel and NVIDIA fixing code
  • mologie for creating NVWebDriverLibValFix.kext which forces macOS to recognize NVIDIA's web drivers as platform binaries
  • PMheart for CoreDisplay patching code and Intel fix backporting
  • RehabMan for various enhancements
  • RemB for continuing sleep-wake research and finding the right register for AMD issues
  • Vandroiy for maintaining the GPU model detection database
  • YungRaj and syscl for Intel fix backporting
  • vit9696 for writing the software and maintaining it

whatevergreen's People

Contributors

vit9696 avatar vandroiy2013 avatar andrey1970applelife avatar pmheart avatar rehabman avatar lwfitzgerald avatar nos1609 avatar williambj1 avatar bavariancake avatar denskop avatar 0xfirewolf avatar nikitenich avatar usr-sse2 avatar benbaker76 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.