ATmega328P not working with SSD1306 SPI

I have tried using it but I run into an error every time I try burning the bootloader (something about a file being empty with (I think) the path for it ...../empty/empty.hex)
The board package I'm using atm is this: https://github.com/carlosefr/atmega

Any markings on the display where the connector or wires is attached?

This:

Never used it, could be your whole problem
I know Minicore work perfectly for 8MHz.

Could it just be an IDE problem?
Totally unrelated but I can't turn on anything in settings for some reason.

should be Minicore.

I've tried it with multiple chips (there should've been some fresh chips in there that were never used before) but it always gives me the same error (and since I cant turn on anything I don't know what's happening).

Install Minicore and find out. If you're using IDE v 2 it's in Board Manager.

I have tried it.

I suggest you try it again using the connections recommended by minicore then come back here and report the error.

If you have no idea whether the 328 is working or not, no point in messing with displays.

Can you upload a blink sketch and time the blinks?

Ok, it's Minicore that gives that. I saw this to me unknown GitHub - carlosefr/atmega: Bare ATmega 8/168/328 microcontrollers with the Arduino IDE.

Well, the IDE as the binary and the basic package is not the culprit since it works fine for millions of other users, not millions but for other it works. So your installation might have some problem. Reinstalled Minicore? Reinstalled IDE? If that's not working either, create a new user and install as that user.

The chip is working (I'm programming it with the board package I sent before) and I didn't change any connections so ISP programming should work as it worked before.

Reinstalling the IDE is probably a good idea

As I pointed out that is not the problem. If the core doesn't handle the different clock correctly you will have problems with any function that uses it.

It worked with the I2C display so even if it's not handling the clock speed correctly it should work with i2c, right?

Yes.
You never mentioned anything in post #1 about 8MHz clock and 3.3V power so I had to question them as being possible problems.

So why don't you just use a MUX as I suggested, then you can go back to the I2C display

When you uninstall, check in your home directory for hidden Arduino folders that's left, and (re-)move them. If not the file structure being the problem, it can be the settings.

I appreciate the suggestion however I'm not that willing to use any external modules so I could use the least amount of current. IF I really need an exteranl ADC I would probably use an Attiny85 (since I have more than enough of them and they are more than capable of being an external ADC (maybe I'd have to make some simple protocol to communicate since I need something fast and i2c has the adress part).

Do I have to also delete the sketchbook folder (since thats where my libraries are, I know it's silly to ask and no is probably the answer but I just need confirmation)?

You don't have to delete them, you can just move them to another directory.