Leonid Svyatov
[≡]

Omarchy on a Late 2015 iMac 5K: Fixing the Login Loop

· 3 min read

Apple’s official macOS support for this model stops at Monterey. Omarchy literally gave my iMac a second life. Credit to DHH and the team for making old hardware useful again with a modern Linux desktop.

Getting there required one workaround. My fresh Omarchy installation accepted my password, waited, then returned to the login screen. It had never reached the desktop.

Here is what worked.

Hardware and symptoms

My configuration:

  • Model: iMac17,1, 27-inch Retina 5K, Late 2015
  • GPU: Radeon R9 M395 / M395X Mac Edition, using amdgpu
  • Omarchy: 4.0.5-1

The machine appeared to reboot after login, but neither the Apple logo nor the Limine boot menu reappeared. It was returning to the graphical login screen.

Pressing Ctrl + Option + F3 opened a text console. You may also need Fn on an Apple keyboard. My username and password worked there.

That established that the system had booted and my credentials were valid.

Identify the failure

From the text console, run these commands one at a time.

Check the model and graphics driver:

cat /sys/class/dmi/id/product_name
lspci -nnk -d ::03xx

Read the desktop startup log:

journalctl --user -b -u 'wayland-wm@*' -u wayland-session-waitenv.service --no-pager -n 60

Read the graphics-driver log:

journalctl -b -k --grep='amdgpu|drm|GPU|ring|timeout' --no-pager -n 50

My logs showed successful authentication, followed by Hyprland startup. UWSM then timed out waiting for WAYLAND_DISPLAY and HYPRLAND_INSTANCE_SIGNATURE. Systemd eventually killed Hyprland.

The kernel repeatedly reported:

amdgpu 0000:01:00.0: last message was failed ret is 0

These messages pointed toward the graphics driver. The successful test below strongly implicated GPU power management.

Test the workaround for one boot

  1. Reboot. At the Limine menu, select the normal Omarchy entry and press E.
  2. Find the cmdline: line. Append a space followed by:
    amdgpu.dpm=0
    Preserve the existing parameters. If amdgpu.dpm is already present, change its value instead of adding a duplicate.
  3. Press Ctrl + X or F10 to boot, then try logging in.

This change lasts for one boot and does not modify the saved configuration.

With this single parameter, my desktop started.

The AMD driver documentation defines dpm=0 as disabling dynamic power management.

If your login still fails, return to the text console and check:

cat /sys/module/amdgpu/parameters/dpm

Expected output:

0

If it shows 0 and the desktop still fails, this workaround has not solved your case.

Make it persistent

Only do this after the temporary test succeeds.

  1. Open a dedicated boot-configuration file:

    sudoedit /etc/limine-entry-tool.d/imac-gpu.conf
  2. Add this line, preserving any existing content:

    KERNEL_CMDLINE[default]+=" amdgpu.dpm=0"

    Save and close the editor.

  3. Rebuild the boot configuration:

    sudo limine-mkinitcpio

Wait for the rebuild to finish successfully. If it reports errors, resolve them before rebooting.

Omarchy uses this additive configuration pattern for Apple hardware settings.

Reboot normally, without editing the Limine entry. Check that the desktop starts, then verify:

cat /sys/module/amdgpu/parameters/dpm

It should print 0. Saving the parameter this way kept login working across reboots on my iMac.

Scope and rollback

This was tested on the hardware and Omarchy version listed above. There is also a related M395 report. The broader discussion covers different GPUs, so do not copy every parameter from it.

Disabling dynamic power management may affect performance and power consumption. The exact driver defect remains unconfirmed. This is a working workaround.

To undo it, remove the added line from /etc/limine-entry-tool.d/imac-gpu.conf, run sudo limine-mkinitcpio, and reboot.


share: [ x ][ bluesky ][ hn ]

Leonid Svyatov [ github ][ linkedin ][ email ]

Hotkeys