Omarchy on a Late 2015 iMac 5K: Fixing the Login Loop
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
- Reboot. At the Limine menu, select the normal Omarchy entry and press E.
- Find the
cmdline:line. Append a space followed by:
Preserve the existing parameters. Ifamdgpu.dpm=0amdgpu.dpmis already present, change its value instead of adding a duplicate. - 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.
-
Open a dedicated boot-configuration file:
sudoedit /etc/limine-entry-tool.d/imac-gpu.conf -
Add this line, preserving any existing content:
KERNEL_CMDLINE[default]+=" amdgpu.dpm=0"Save and close the editor.
-
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.