Jump to content

Optiplex 7480 AIO: purple built-in screen when HDMI screen is connected


Recommended Posts

I have a Dell Optiplex 7480 AIO. i5-10600 CPU, UHD 630 (9bc8), 16GB RAM, an “internal” display (like an iMac), a DP & HDMI output port. I have attached an external HDMI display and it is working great but the internal display is pink/purple. I'm guessing it needs framebuffer patching. The framebuffer patching that I’ve done is a matching of several things that I’ve found online. It probably has several errors but ....  this is the closest I’ve gotten to something that works. I have tried to follow the Dortania & whatevergreen guides as best as I am able, but am stuck here.


Thanks for your help!!


Note:  I removed AirportItlwm.kext from what I sent you because it made the zip file to large to upload.

Screen Shot 2021-02-27 at 6.53.03 AM.png


Screen Shot 2021-02-27 at 6.53.48 AM.png



Link to comment
Share on other sites

  • Replies 26
  • Created
  • Last Reply

Top Posters In This Topic

  • Administrators

Just looked at your patch. Indeed... erm... it's... erm... special... :blink:



All you need to do is:

  1. identify which connector is DP and which is HDMI; you do that by connecting one output at a time and check which port/connector shows ups with a display in IOReg. Use IORegistryExplorer app to that effect.
  2. you then patch the identified connector for DP and/or HDMI connector-type.

That's it, that's all.

You've opted for UHD630 framebuffer 0x3E9B0007 which is defined as follows (as perWEG manual):

ID: 3E9B0007, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00801302
TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)
Model name: Intel UHD Graphics 630
Camellia: CamelliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz
Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3
[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000003C7 - ConnectorDP
[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000003C7 - ConnectorDP
[3] busId: 0x06, pipe: 8, type: 0x00000400, flags: 0x000003C7 - ConnectorDP
01050900 00040000 C7030000
02040A00 00040000 C7030000
03060800 00040000 C7030000


So, default connectors are as follows:

1st connector con0: 01050900 00040000 C7030000
2nd connector con1: 02040A00 00040000 C7030000
3rd connector con2: 03060800 00040000 C7030000

all being DP by default (type set to 00040000).


Your patch effectively converts them to:

con0: 02020900 00080000 C7030000
con1: 03040800 00080000 C7030000
con2: 01010900 00080000 C7030000

which looks quite wrong to me to say the least.


Again, 1st determine which port/connector is what (built-in LCD, DP output, HDMI output), then patch accordingly. In the patch, you only require to specify what you want to change, not everything, especially if the values remain there same (eg: flags). So, for instance if HDMI output is con1, your connector patch should only be:

framebuffer-con1-enable    01000000     DATA
framebuffer-con1-type      00080000     DATA

with nothing else in terms of connector patching.


If your built-in LCD works perfectly OOB, don't patch its connector!

Link to comment
Share on other sites

5 hours ago, Hervé said:

Just looked at your patch. Indeed... erm... it's... erm... special... :blink:

LOL - I knew it was a mess.🥺


5 hours ago, Hervé said:

If your built-in LCD works perfectly OOB, don't patch its connector!

When I was first trying to install ...... the built-in display didn't work at all. So I tried my hdmi display ... the built-in display turned on and was pink/purple BUT the hdmi didn't work at all! I was completely confused.


So , after you comments, I started again with minimum changes - and nothing worked. So, I started with the config I sent you and eliminated EVERYTHING that didn't make it worse. The problem is still there, but there is much less patching.


Two things that might be useful:

1. no matter what I change the connector type to - the built-in display doesn't change from purple/pink.

2. IF I changed index or busId on con0 or con1 it killed output for that display.


Thanks again for your help!


Link to comment
Share on other sites

I looked fro some time  ..... this is the best I could do. Im pretty sure it's lvds.


On the Dell service web site I found the motherboards for my 7480 and the previous 7470. They look very similar. On the 7470 they call the display "lvds cable" On the 7480 it's generically called "display cable"  The pictures look VERY similar. However, I don't know for sure. Maybe someone else can tell.





Link to comment
Share on other sites

  • Create New...