Is Hackintosh for me

**Good question!** First of all, getting here means that you're **interested** in the idea, but will you do it? To check if you're able to do that you need to have a minimum required knowledge of many things related to computers, OSes and common tech sense, and here are some indications:

* Do I have Internet?
	+ If you answer No, you can stop right now.
	+ Also, how are you here?
* Can I use Google/DuckDuckGo/Bing?
	+ If you answer No, you can stop right now, you internet surfing skills are severely lacking. (If you're using Yahoo! you can stop too. JK.) This is the main cause of the **Low Effort Post** plague lately, make sure you can "surf the net" properly before starting.
* Do I know my computer from top to bottom? Know your computer from inside out:
	+ CPU:
		- What brand? (AMD/Intel/VIA...)
		- What model? (Xeon-i7-i5-A3-R5...)
		- What generation? (i7-7700K ==> 7th Gen \* Ryzen 7 2700X ==> 2nd Gen Ryzen...)
		- What features? (SSE4, SSE3, AVX...) [this usually concerns old hacks and some AMD ones]
	+ RAM:
		- How much RAM? (2-4-8-12GB...)
		- What frequency? (1600MHz \* 1333MHz \* 3000MHz...) [not needed but you better know that]
		- What speeds and timing? RAM Speed and Timings As Fast As Possible \* TechQuicky
		- How many RAM slots does my motherboard have and how many are used and with what amount? (4 RAM Slots, using A1 and A2 with 8GB 2400MHz Sticks...) [You may only need the slot number and where they are, laptops are exempt from this in most cases.]
	+ Motherboard:
		- What motherboard do I have?
			* For desktops: open the case, look for it
			* For laptops: just the model of your laptop is enough
		- What chipset do I have?
			* For desktops: check your motherboard model name: MSI Z370-A Pro ==> Z370 Chipset, ROG STRIX Z370-E GAMING ==> Z370 Chipset, ASUS TUF B450M-PLUS GAMING ==> AMD B450 Chipset... And so on, you get the idea, point 2 is still relevant
			* For laptops: most laptops usually use the same chipset (per CPU model, H series laptops use H series chipset and so on) since it's a mobile device. The CPU model is the one needed.
		- What ports do I have on that?
			* Video Out: HDMI/DP/DVI/VGA...
			* Audio: In/Out/Surround/...
			* USB Ports:
				+ USB2.0 ports
				+ USB3.0 ports
				+ USB3.1 ports (Gen1 and Gen2)
				+ USB Type-C ports
				+ *Note that these aren't guaranteed to be USB3.0/3.1Gen1/3.1Gen2 ports but may also be anything else (DP out only, TB3...)*
				+ *Type-C is a* **Standardized Port** *that can use different protocols (Display out, Thunderbolt, Serial Data, Audio...) depending on the manufacturer. Check your device's manual(s), data-sheet and references.*
				+ Headers in the motherboard (for desktops mainly)
			* Ethernet Port
				+ You also need to know the manufacturer(s, in case of Dual Ethernet)
		- What interfaces/ports does it support? (internally)
			* M.2 support
				+ Slot Types (A/E for Wifi or B/M for storage and PCIe)
				+ **Note for B/M**: does it support SATA only or SATA and NVMe? And the PCIe lanes given for that NVMe slot (if possible and needed)
			* PCIe Slots (and their speeds, gen, lanes...) -- Mostly (and probably only) for desktops
			* SATA Ports (if any)
		- What type of firmware does my motherboard/laptop support?
			* UEFI
				+ Newer type of firmware. Has a lot benefits in speed, security, ease of use and so on...
			* BIOS
				+ Older type of firmware. Used ever since the first PC, got optimized and a lot more stable but it started showing its age with the latest technologies.
	+ Storage: What type of storage I'm using?
		- SSD:
			* is it NVMe or SATA? Look inside of Windows Device Manger or do a disk speed test: Got >600MB/s, it's NVMe, got =<600MB/s, it's SATA (usually)
			* is it eMMC? Not going to work.
		- Hard Drive: SATA or PATA (if you have like 2 decades old hardware lol)
	+ Graphics and display:
		- What is a GPU? [Google that]
		- Do I have one? [Can you see something on your screen? You probably have one]
		- How many GPUs do I have?
			* Desktop: You know how many you have, just check your case
				+ Also Desktop: Even if you have 1 GPU plugged in (AMD/NVIDIA) you may also have 2 GPUs:
				+ iGPU or integrated/internal GPU: which is mostly refers to the integrated (or internal) GPU of the CPU - Check if your motherboard, CPU and firmware supports enabling it (or even exists).
				+ dGPU or dedicated GPU: that's the AMD/NVIDIA (and upcoming Intel) PCIe attached GPU
			* Laptops: Check Device Manager > Graphics Adapter
				+ only Intel GPU: you will mostly get macOS working with it
				+ Intel + AMD/Nvidia: you will **only** get the Intel card working (even if there is an option in the firmware to disable the iGPU)
				+ AMD/Nvidia only: your chances may vary and it may or may not work, these are very rare cases (usually comes with laptop with G-Sync or FreeSync displays)
		- How many do I have? [if you passed the first grade, I guess you can get that right, hopefully]
		- What my screen(s)'s **native** resolution? [Check the model of the display, manual, references and so on, same with laptops]
	+ Audio:
		- Do I have an internal audio chipset? [Check if you motherboard have audio out/in ports]
		- What is a codec? Wikipedia: Audio Codec
		- What codec do I have?
			* This is tricky, Windows usually doesn't disclose it openly and easily, so check hardware listing software (like Aida64 and such). On Linux however, it's (arguably) much easier to get this information shown here (may be outdated, but if you're already using linux you already know how things roll).
		- What output should I use?
			* Depending on your options: 3.5mm Jack, USB, DP/HDMI...
	+ WiFi/Bluetooth:
		- Does my motherboard/laptop have WiFi support?
		- Laptop: You better know on your own
			* Check if it's replaceable (new laptops can have it soldered, most dont, yet)
			* Check if your laptop have whitelisting. HPs from 4th Gen Intel and later are free from it, Dell, Sony, Samsung, ASUS, MSI, …, are free from it, Lenovo are the ass of this shit.
				+ Check if it's M.2 port or a mPCIe one, M.2 has two types as shown [1](I added macOS card support too).
				+ You most probably have an intel or realtek card, and rarely BCM ones (as of lately).
		- Desktops: if you can connect to WiFi, without a USB WiFi or a PCIe to WiFi adapter, you probably have it in your motherboard
			* Check if it's M.2 port or a mPCIe one, M.2 has two types as shown here (I added macOS card support too).
			* If your motherboard doesn't have a dedicated wifi slot, you will have to get an external PCIe one (later on this FAQ).
* "Hold UP! That's 2much4me!", if you say that I have to answer to you:
	+ Stop being lazy and get going with it
	+ You mainly need to know these:
		- Your CPU name, generation
		- Your RAM size (and slots used if needed)
		- Your GPUs (All of them, Intel, AMD, Nvidia. Laptop users, you may have 2 GPUs, only the intel one will work, no questions asked)
		- Your Storage Devices (HDD/SSD, SATA/M.2, NVME/AHCI/RAID/IDE configuration. Note: Only NVME and AHCI/M.2 or AHCI/SATA will work. Other configurations may be harder to get by. RST users need to disable it, it can be named Intel Rapid Storage, RST or RAID)
		- Your screen resolution (for laptops essentially)
		- Your Audio codec
		- Your Motherboard Model OR your Laptop Model
		- Your motherboard's/laptop's UEFI support
		- Your LAN or Ethernet chipset
		- Your WLAN/BT chipset (if provided)
* Have I installed/used linux/unix before?
	+ YES:
		- if it's ubuntu/fedora/mint...: you're probably ok, as long as you did try to dig deep in it
			* **"but it was 2hard4me"**: you probably should stop here or go back to linux and know more about it, you'll need it
		- if it's arch/debian/gentoo (something from scratch): you're mostly well formed to continue... I hope.
		- But I have a Mac: yeah, but that doesn't help here too much.
	+ NO:
		- you're here for a lot of trouble, **go get some basic knowledge on unix and unix-like (linux) especially the command line and how you do things**

With this you can probably get your head around the basic knowledge you need to have.

*TLDR*: Know your hardware to the core, know how to use unix/linux, know that you're in here for a deep rabbit hole, and that we don't like giving help like candy, make yourself deserve that help (basically show us that you did try and looked for information).

But also the most important things you must have:

* A brain with enough brain cells (usually 1 is enough, don't kill it)
* An attitude of someone wanting to put effort and work their shit out
* Patience and respect

Also **BIG NOTE:** Laptops are harder and require more time and effort than desktops.