Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

tornado99

macrumors 6502a
Original poster
Jul 28, 2013
500
478
I am thinking of buying a second hand 5K Intel iMac but I need to make sure Linux will run at the full 5K resolution, so I can keep on using it after OS X support expires.

Background
The 2015-2019 5K iMacs used a special hack in the GPU drivers to tile together 2 half-screens to make 5K - AFAIK this only works on Windows (with Bootcamp drivers) and of course OS X. But perhaps modern Linux can cope with this.

The 2020 5K iMac no longer uses the tiled hack because the display chip is updated, so perhaps 5K works on Linux just like any other monitor would.

Can someone who owns a 5K iMac, especially a 2020 model, check whether 5K works in Linux. You would need to have OCLP installed first, and then boot up any modern Linux distro from a USB stick (no need to install)

Expectation

Linux will probably boot up fine, but display the desktop in 4K instead of 5K, except for the 2020 iMac where it will show 5K. But maybe I'm wrong!



https://ubuntu.com/download/desktop (25.04)
 
On iMac 2020 on an Ubuntu "trial from USB" I see 3840x2160 as the largest resolution.
In Windows and macOS on the same machine the reported max resolution is 5120x2880.

Why would I need OCLP?
 
Ok thanks very much. It is odd though - because I thought the chip driving the display on an iMac 2020 was updated to displayport 1.4, so Apple wouldn't need to do the "stitch together 2 smaller displays" hack.

I'm surprised that the Mac bootloader lets you boot so easily into Ubuntu. One of the OCLP features is that other OSs can be booted too - but maybe I'm misunderstanding something there.

Also - this means pretty much every 5K iMac is headed for the trash in 2028 when security updates for OS X expire. Unless people want to "slum it" in 4K(!)
 
I've set the Secure Boot Settings to No Security (Full, Medium, No Security) so that I can boot from external drives.


"If you're using a Mac with the Apple T2 Security Chip, Startup Security Utility offers three features to help secure your Mac against unauthorized access: Firmware password protection, Secure Boot, and the ability to set allowed boot media."
 
Also see "5K iMac and UEFI: Fixing the dreaded output limitation": https://khronokernel.com/macos/2021/12/08/5K-UEFI.html

"Having now worked through all this to finally get 5k output working, it’s a bit frustrating having to use such a hacky method of loading OpenCore with the firmware downgrading the display.

However, the fact we’ve been able to resolve this greatly helps future development of OpenCore Legacy Patcher as well as potentially allowing Linux users to finally experience 5K natively. I’m excited to see whether the Linux community can use this to their advantage."
 
Also see "5K iMac and UEFI: Fixing the dreaded output limitation": https://khronokernel.com/macos/2021/12/08/5K-UEFI.html

"Having now worked through all this to finally get 5k output working, it’s a bit frustrating having to use such a hacky method of loading OpenCore with the firmware downgrading the display.

However, the fact we’ve been able to resolve this greatly helps future development of OpenCore Legacy Patcher as well as potentially allowing Linux users to finally experience 5K natively. I’m excited to see whether the Linux community can use this to their advantage."
Yes, I've seen it. However it is not directly talking about Linux, it is more about how OCLP got their bootloader, and everything past the bootloader to display in 5K.

So actually, if you had OCLP installed and booted your Ubuntu stick through OCLP you might get a different result.
 
Yes, I've seen it. However it is not directly talking about Linux, it is more about how OCLP got their bootloader, and everything past the bootloader to display in 5K.

So actually, if you had OCLP installed and booted your Ubuntu stick through OCLP you might get a different result.
Yes, OCLP would be the way forward with testing. But that would have to come from someone with a 2020 5K more willing to experiment, sorry.
A reddit user reported getting the full resolution on another machine after some additions to the kernel command line:
"I have a dual-boot OS-X and Linux 2017 21.5" retina iMac. I get the full 4096x2304 pixels in OS-X, but only 3840x2160 pixels in Linux."

---

"By the way I solved this problem on my 4K iMac by adding video=eDP-1:4096x2304@MR to the kernal command line. Everything works perfectly now!

I suspect this wouldn't work for the 5K iMac as 5K resolution wouldn't fit into the displayport bandwidth ~ 2015 era, so Apple had to do some kind of internal tiling trick - hence the need for the Bootcamp driver.

Happily, 4096x2304 fits (just about) into the bandwidth of earlier displayport versions - so the solution is simply setting the mode timings correctly."

---

It could be possible. Adding Display Stream Compression (DSC) meant that the 2020 iMac 5K got dual-6K external display support – with a normally massive bandwidth demand. DSC and it's "visually lossless" bandwidth savings is done by compressing video data by up to 3:1. Then 5K on Linux would be inside DisplayPort bandwidth specifications.
 
Last edited:
  • Like
Reactions: Black_Mage
5K/8 bit color at 60Hz is within Displayport 1.4 bandwidth without compression. 5k/10 bit color at 60Hz would need DSC. Linux has support for DSC in the AMD drivers that would include the Navi GPUs in iMac 2020.

So the above leads me to believe that 5K on a 2020 iMac is technically possible without any unusual tricks.

A kernel mode line parameter of
Code:
video=eDP-1:5120x2880@MR-24
might give a 5K desktop at 8 bit color.

Looks like this is possible to try even with a live USB


And for a 10 bit color desktop, I think there is a chance this would happen automatically when booting Linux via OCLP. There are no special commands to turn on DSC in Linux, it simply works if it is told a 5K monitor is connected and the GPU driver has DSC support.
 
5K/8 bit color at 60Hz is within Displayport 1.4 bandwidth without compression. 5k/10 bit color at 60Hz would need DSC. Linux has support for DSC in the AMD drivers that would include the Navi GPUs in iMac 2020.

So the above leads me to believe that 5K on a 2020 iMac is technically possible without any unusual tricks.

A kernel mode line parameter of
Code:
video=eDP-1:5120x2880@MR-24
might give a 5K desktop at 8 bit color.

Looks like this is possible to try even with a live USB


And for a 10 bit color desktop, I think there is a chance this would happen automatically when booting Linux via OCLP. There are no special commands to turn on DSC in Linux, it simply works if it is told a 5K monitor is connected and the GPU driver has DSC support.
Tried adding video=eDP-1:5120x2880@MR-24 by itself in GRUB edit mode:

Code:
setparams "Try or Install Ubuntu'
set gfxpayload-keep
linux / casper/vmlinuz --- quiet splash
initrd /casper/initrd
video-eDP-1:5120x28800MR-24

But that didn't load. Is that how you add a kernel mode line parameter?

I am doing it on Linux Mint live USB, since for me Ubuntu live USB only can be started once, then I have to reflash the OS image for some reason. It just stops loading after booting live once.

Running videoinfo on Linux Mint command line in GRUB menu gives:

Code:
List of supported video modes:
Legend: mask/position=red/green/blue/reserved

Adapter Bochs PCI Video Driver':
No info available

Adapter 'Cirrus CLGD 5446 PCI Video Driver':
No info available

Adapter 'EFI GOP driver":
0x000 3840 x 2160 x 32 (15360) Direct color, mask: 8/8/8/8 pos: 16/8/0/24
 
No. You need to add it before 'quiet splash' in the line that starts with linux.... There should be a space before the parameter you insert, and no line breaks.

Code:
linux / casper/vmlinuz --- video=eDP-1:5120x2880@MR-24 quiet splash

You added an extra 0 in the 5120x2880, could also try without the -24.

The videoinfo code seems to indicate the Apple is only advertising 4K 10 bit resolution. But maybe the kernel mode line parameter will override that.
 
You added an extra 0 in the 5120x2880, could also try without the -24.
The text recognition software (I took a photo of the screen) interpreted the @-sign as an extra 0.

I'm still on 3840x2160 as the max resolution in Ubuntu. Tried both variants:

Code:
linux /casper/vmlinuz --- video=eDP-1:5120x2880@MR-24 quiet splash

and

Code:
linux /casper/vmlinuz --- video=eDP-1:5120x2880@MR quiet splash
 
Don't know if it's any help, but here's system info from Mint and Ubuntu:

Screenshot from 2025-06-28 23-43-01.png

Pasted image.png

Code:
lspci
00:00.0 Host bridge: Intel Corporation 10th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 05)
00:12.0 Signal processing controller: Intel Corporation Comet Lake PCH Thermal Controller
00:14.0 USB controller: Intel Corporation Comet Lake USB 3.1 xHCI Host Controller
00:14.2 RAM memory: Intel Corporation Comet Lake PCH Shared SRAM
00:16.0 Communication controller: Intel Corporation Comet Lake HECI Controller
00:1b.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #17 (rev f0)
00:1c.0 PCI bridge: Intel Corporation Comet Lake PCIe Root Port #1 (rev f0)
00:1c.4 PCI bridge: Intel Corporation Device 06bc (rev f0)
00:1d.0 PCI bridge: Intel Corporation Device 06b4 (rev f0)
00:1e.0 Communication controller: Intel Corporation Comet Lake PCH Serial IO UART Host Controller #0
00:1e.1 Communication controller: Intel Corporation Comet Lake PCH Serial IO UART Host Controller #1
00:1f.0 ISA bridge: Intel Corporation Z490 Chipset LPC/eSPI Controller
00:1f.3 Audio device: Intel Corporation Comet Lake PCH cAVS
00:1f.4 SMBus: Intel Corporation Comet Lake PCH SMBus Controller
00:1f.5 Serial bus controller: Intel Corporation Comet Lake PCH SPI Controller
01:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Upstream Port of PCI Express Switch (rev 40)
02:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Downstream Port of PCI Express Switch
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 [Radeon Pro 5700 XT] (rev 40)
03:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 HDMI Audio
04:00.0 Mass storage controller: Apple Inc. ANS2 NVMe Controller (rev 01)
04:00.1 Non-VGA unclassified device: Apple Inc. T2 Bridge Controller (rev 01)
04:00.2 Non-VGA unclassified device: Apple Inc. T2 Secure Enclave Processor (rev 01)
04:00.3 Multimedia audio controller: Apple Inc. Apple Audio Device (rev 01)
05:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4364 802.11ac Wireless Network Adapter (rev 04)
06:00.0 Ethernet controller: Aquantia Corp. AQtion AQC107 NBase-T/IEEE 802.3an Ethernet Controller [Atlantic 10G] (rev 02)
07:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
08:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
08:01.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
08:02.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
08:04.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
09:00.0 System peripheral: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] (rev 06)
0a:00.0 USB controller: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] (rev 06)
 
  • Like
Reactions: Black_Mage
sudo lshw -c display

Code:
  *-display                 
       description: VGA compatible controller
       product: Navi 10 [Radeon Pro 5700 XT]
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: /dev/fb0
       version: 40
       width: 64 bits
       clock: 33MHz
       capabilities: pm pciexpress msi vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=amdgpu latency=0 mode=3840x2160 resolution=3840,2160 visual=truecolor xres=3840 yres=2160
       resources: iomemory:440-43f iomemory:420-41f irq:79 memory:4400000000-47ffffffff memory:4200000000-42001fffff ioport:3000(size=256) memory:81e00000-81e7ffff memory:81e80000-81e9ffff
 
I tend to stay away from Linux Mint as their GPU drivers/kernel versions are always about 1 year old. Fedora and Manjaro are more up to date. However in this case I doubt it would make much difference.

Titan Ridge tells us that the 2020 iMac supports Displayport 1.4 which allows 5K without tiling. The 5700 XT has built in support for DSC in Linux since 2019 via the open source AMD drivers.

So all the hardware is there. It seems to be Apple is still telling 3rd party OSs that the iMac is a 4K display, and there isn't a way to override that. The only thing left would be see if OCLP can boot Linux in 5K*. There is no harm in installing OCLP on machines still supported by Apple (https://dortania.github.io/OpenCore-Legacy-Patcher/MODELS.html) but as you said that's for someone else to try.

* OCLP seems to recognise Fedora and Ubuntu best and will directly boot those, but pass over booting for some other distros.
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.