How to get HDMI work on MacBook Pro M1? Doesn't work on mine

AFAIK, HDMI is supposed to work with Fedora 39 on MacBook Pro M1 14". Should I do something to enable HDMI? Because it doesn’t work at all and the monitor is not detected.

Thanks!

I didn’t do anything specific to enable built-in HDMI on my 14" M1 Pro (2021), after some bumps in the road I have it working (with caveats) from a fresh Fedora 39 installation.

I do not plug in the HDMI before power-on, because it confuses sddm most of the time. I boot up, login with the main display, then plug in the external display.

My display is a 2 yr old LG 1440p, it claims 144Hz but that never works great, so I’m running Fedora at 1440p 60Hz.

The display never actually works after wake from suspend, so I’m just not suspending. Seems to require a full restart when it gets in that state. The Display Configuration tray icon will appear, and Fedora will act like there’s an extended display, but nothing on screen. In that case, I unplug, restart, login, then plug in HDMI, then all the pieces are happy.

I have not debugged an HDMI port before, but happy to report anything I can so we can compare notes from the same machine.

1 Like

Thanks for your reply, My M1 doesn’t see the HDMI screen at all, regardless of when I connect it to the laptop.

Thanks for the info, at least I know there is nothing special that I should do for it.

When did you install Fedora Asahi Remix? If it old install (before autumm 2023) it’s possible that it is using system firmware from MacOS 12.3 which has no HDMI support in the linux display driver? If you don’t know it’s easy to find out. Please attach the output of asahi-diagnose after you connected a HDMI display (preferably from a fresh boot).

1 Like

Yeah, you are right. I installed it before then. Is there any way to upgrade the firmware without re-installing from scratch?

It’s not clear that this is the old firmware version is the issue. A newer install would have allowed to rule that out. Please check the OS firmware version with tr '\0' '\n' < /proc/device-tree/chosen/asahi,os-fw-version. That should either print “12.3” or “13.5”.
There is a way to install the OS firmware without complete new install but it is not straight forward. Please let’s first determine if it is necessary.

1 Like

OK. It seems that it is 12.3:

# tr '\0' '\n' < /proc/device-tree/chosen/asahi,os-fw-version
12.3

And asahi-diagnose output also confirms it:

Firmware versions

iBoot1:         iBoot-10151.61.4
iBoot2:         iBoot-7459.101.2
SFR:            unknown
OS firmware:    12.3
m1n1 stage 2:   v1.4.11
U-Boot:         2023.07

… but it is not straight forward

If it’s documented somewhere, I’d be willing to take the risk :smiley:

Please ensure you have a restorable backup of your Fedora installation.

Please attempt this only if you’re comfortable with the steps mentioned here and be prepared to do a fresh install.

Read the Partitioning cheatsheet

Use the command line diskutil in macOS. The gui diskutil can not deal with this properly.

  1. Comment the “/boot/efi” line in /etc/fstab
  2. Copy the contents of the EFI system partition (~500MB FAT/MSDOS partition) from macOS (parts need to be copied back from macOS later)
  3. Delete the EFI system partition and the ~2.5GB APFS partition directly before that, should have “Fedora” in its name.
  4. Start the installer (curl https://alx.sh | sh ), install into the free space (~3GB) and do an UEFI-only install
  5. In step2 (in recovery after power off) of the install do not press enter when the install is finished but kill the installer with control + c and select macOs as startup disk and rebooot inot macOS
  6. Copy the saved folders EFI and m1n1 from step 1 back to the new EFI system partition and reboot into fedora
  7. Update the UUID of the “/boot/efi” line in /etc/fstab and uncomment it
1 Like

Thanks :ok_hand: , I’ll try it and report back the results.

Thanks, it worked! :slight_smile:

The only visible change is that the icon in mac book’s boot menu has changed from the Fedora icon to Asahi one. But everything went smoothly.

If you want to restore the Fedora icon in the boot picker save https://pagure.io/fedora-logos/blob/master/f/bootloader/fedora.icns as .VolumeIcon.icns in /Volumes/$FEDORA/ where $FEDORA is the name of your Fedora/Uefi-only installation.

1 Like

Great, thanks!