Coder Social home page Coder Social logo

simprecicchiani / lenovo-thinkstation-p300-macos-opencore Goto Github PK

View Code? Open in Web Editor NEW
7.0 3.0 0.0 4.09 MB

Bootloader configuration for macOS on Lenovo's P300 and possibly similar workstations

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

hackintosh desktop lenovo opencore efi macos bootloader workstation intel ssdt

lenovo-thinkstation-p300-macos-opencore's Introduction

Lenovo ThinkStation P300 running macOS (OpenCore bootloader)

Lenovo ThinkStation P300 macOS

macOS OpenCore MODEL LICENSE

DISCLAIMER: Read the entire README before you start. I am not responsible for any damages you may cause.

Should you find an error, or improve anything, be it in the config itself or in the my documentation, please consider opening an issue or a pull request to contribute.

Lastly, if you found my work useful please consider a PayPal donation, it would mean a lot to me.

donate

Introduction

General knowledge & credits
My Hardware
Product P300 Tower
Model 30AH000RUS
Region US
Machine Type 30AH
Processor Core i5-4690 4C/3.5GHz/6MB/1600MHz
Graphics Integrated Intel HD 4600
Memory 2x4GB 1600MHz non-ECC
Discrete graphics Open
WLAN + Bluetooth Fenvi FV-HB1200
Sound Card Realtek ALC662
Internal disk drive 1x1TB 3.5" SATA6Gbs 7.2K
Optical DVD±RW
Media Reader Yes
Power supply 280W 85%
Hardware compatibility

This EFI will suit any P300 regardless of CPU model1 / RAM amount / Storage drive (SATA or NVMe2).

1: Follow CPU Power Management guide

2: Some NVMe drives may not work OOTB with MacOS, NVMeFix could resolve some issues.

Installation

How to install macOS
BIOS Settings
  • Security > Security Chip > Disable
  • Security > Virtualization > Intel Virtualization Technology > Enable
  • Security > Virtualization > Intel VT-d Feature > Enable
  • Security > Anti-Theft > Computrace > Current Setting > Disable
  • Security > Secure Boot > Disable
  • Security > Intel SGX > Disable
  • Startup > UEFI/Legacy Boot > UEFI Only
  • Startup > CSM Support > No
  • Startup > Boot Mode > Quick

Post-install

USB ports mapping

USBMap.kext is used to map needed ports. If you need a different configuration follow USBMap guide

Custom CPU Power Management

If you happen to have a different CPU model remove CPUFriend.kext and replace SSDT-CPUD with plain SSDT-PLUG, power management is natively supported by OpenCore anyway. If you want to take a step forward and create a custom profile, follow these steps:

  • Run the following command in Terminal:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/stevezhengshiqi/one-key-cpufriend/master/one-key-cpufriend.sh)"
  • Copy CPUFriend.kext and CPUFriendDataProvider.kext from desktop to /OC/Kexts/.

  • Open /OC/config.plist and add the following code:

<dict>
    <key>BundlePath</key>
    <string>CPUFriend.kext</string>
    <key>Comment</key>
    <string>Power management data injector</string>
    <key>Enabled</key>
    <true/>
    <key>ExecutablePath</key>
    <string>Contents/MacOS/CPUFriend</string>
    <key>MaxKernel</key>
    <string></string>
    <key>MinKernel</key>
    <string></string>
    <key>PlistPath</key>
    <string>Contents/Info.plist</string>
</dict>
<dict>
    <key>BundlePath</key>
    <string>CPUFriendDataProvider.kext</string>
    <key>Comment</key>
    <string>Power management data</string>
    <key>Enabled</key>
    <true/>
    <key>ExecutablePath</key>
    <string></string>
    <key>MaxKernel</key>
    <string></string>
    <key>MinKernel</key>
    <string></string>
    <key>PlistPath</key>
    <string>Contents/Info.plist</string>
</dict>
Enable Apple Services
  • Do the following one line at a time in Terminal:
$ git clone https://github.com/corpnewt/GenSMBIOS
$ cd GenSMBIOS
$ chmod +x GenSMBIOS.command
  • Run with either ./GenSMBIOS.command or by double-clicking GenSMBIOS.command

  • Type iMac15,1 10

  • Add the last results to PlatformInfo > Generic > MLB, SystemSerialNumber and SystemUUID

Enable HiDPI
  • Disable SIP (just for this process, you can enable it once finished)

  • Run this script in Terminal

bash -c "$(curl -fsSL https://raw.githubusercontent.com/xzhih/one-key-hidpi/master/hidpi.sh)"

Other tweaks

Monitor temperatures and power consumption
  • Download and install HWMonitor
  • Open the app and check launch on login option
Faster macOS dock animation
  • Run these lines in terminal:
$ defaults write com.apple.dock autohide-delay -float 0
$ defaults write com.apple.dock autohide-time-modifier -float 0.5
$ killall Dock
Mac Bootloader GUI and Boot Chime
  • Follow the appropriate Guide.

Status

What's working ✅
  • CPU Power Management

  • Intel HD 4600 Graphics incuding graphics acceleration

  • USB ports with custom kext or SSDT

  • Sleep / Wake / Shutdown / Reboot

  • Intel Gigabit Ethernet

  • Wifi, Bluetooth, Airdrop, Handoff, Continuity, Sidecar wireless

  • iMessage, FaceTime, App Store, iTunes Store Generate your own SMBIOS

  • DRM support iTunes Movies, Apple TV+, Amazon Prime, Netflix and others

  • Headphones and microphone jack

  • SIP and FileVault 2 can be enabled

  • DisplayPorts with digital audio passthrough

  • SD Card Reader

What's not working ⚠️

Nothing to mention so far

Update tracker 🔄

I don't own this workstation anymore. This configuration will hardly be updated in the future. As is, it will probably support every Catalina's update without any problem.

Item Version
MacOS 10.15.4
OpenCore 0.5.8
Lilu 1.4.4
VirtualSMC 1.1.3
WhateverGreen 1.3.9
AppleALC 1.4.9
IntelMausi 1.0.2
Changelog
  • 20200824:
    New README for improved readability

Thanks to

The hackintosh community from GitHub, InsanelyMac and r/hackintosh.

lenovo-thinkstation-p300-macos-opencore's People

Contributors

simprecicchiani avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

lenovo-thinkstation-p300-macos-opencore's Issues

front audio

do the front audio ports work for you, the 3.5mm on the back work for me but the mic input and headphone output at the front don't work

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.