You are not logged in.
I have just installed ArchLinux (with Hyprland) on a late 2013 MacBook Pro (MacBook Pro 11,3). It's a dual GPU system, I just want to use the discrete Nvidia GT 750 M.
From https://wiki.archlinux.org/title/NVIDIA I have identified nvidia-470xx-dkms as the correct driver. I have also seen https://wiki.archlinux.org/title/NVIDIA_Optimus, which is specifically for hybrid dual-GPU systems. From what I understand, I can basically follow https://wiki.archlinux.org/title/NVIDIA if I just want to use the Nvidia GPU.
After having installed the Nvidia drivers, my issue seems very much like https://bbs.archlinux.org/viewtopic.php?id=301591 (though IIUC the author of that thread ultimately settled on using the integrated Intel graphics as primary GPU).
I have included the 4 modules nvidia, nvidia_drm, nvidia_uvm, and nvidia_modeset in the initramfs, ensured the kms hook is there, and ran mkinitcpio -P. I have also added the kernel option modeset=1 for the nvidia_drm module.
The symptoms AFAICT:
- The plymouth splash screen stays normal only for a short while, then the display looks garbled, with interleaved lines (this is even before I have entered the full btrfs decryption password). (I turned it off by removing the "splash quite" options, at that point instead of the picture becoming garbled (is that "tearing"?), the same happens to the text.
- After I unlock the partition, I see some text that things start to get loaded, but after only a few seconds the screen turns completely black.
- The system doesn't seem to have completely frozen, because I can still shut it down by pressing the power key.
- I've manually booted into text mode, I found that I can successfully `modprobe nvidia` and then `nvidia-smi` shows output that looks right. But if I then do modprobe nvidia_drm, I'm getting exactly the type of display garbling that I have described above.
How could I further debug this? I've seen some posts mention that there was an issue with the proprietary Nvidia drivers and wayland.
journalctl output: https://0x0.st/85Uq.txt
Thanks in advance for any advice!
Offline
You're on the right track using nvidia-470xx-dkms for the GT 750M (Kepler). The issue you're seeing with screen garbling when nvidia_drm is loaded (especially with modeset=1) is a known problem with older NVIDIA drivers + Wayland (Hyprland included).
A few things you cold try if you have not already:
Switch to X11 temporarily (e.g. SDDM + Plasma or i3) to confirm it's a Wayland-related issue. If X11 works, then it's likely a DRM/KMS conflict in Wayland with legacy NVIDIA.
Boot without nvidia_drm.modeset=1. This disables DRM KMS and often avoids early boot garbling, though it breaks seamless integration with Wayland (hence why Wayland + 470xx is problematic).
Fallback option: If stability matters more than GPU perf, use the Intel iGPU as primary (via bbswitch or acpi_call) and offload to NVIDIA with prime-run when needed.
The 470xx driver doesn't support modern Wayland protocols well, especially GBM. Your best bet long-term may be to use X11 or consider Nouveau (with caveats).
Offline
Thank you for the detailed answer.
The reason I’ve installed Linux is because I particularly wanted to use Wayland/Hyprland, so IIUC X11 is not a feasible alternative here.
Moreover, the screen garbling occurs before Wayland is loading, if I understand correctly (e.g. booting into pure text mode and then loading nvidia_drm).
I think I will just switch back to Nouveau, or try the integrated Intel GPU if I feel like it ![]()
Let me know if you think my conclusions are hasty or don’t make sense.
Last edited by infogrind (2025-07-30 06:31:45)
Offline
Yeah, your reasoning makes sense. If you're already seeing the garbled display right after loading nvidia_drm, even before Wayland kicks in, then it's most likely an issue at the DRM/KMS level and not specific to Hyprland.
The 470xx driver has always been a bit iffy with modesetting and modern display stacks. It's a bit of a dead-end for Wayland, it lacks GBM support and probably won't be getting any fixes at this point.
If you're set on using Wayland/Hyprland, switching to the Intel iGPU is probably the most stable option. Nouveau might work too, but performance and power management with that card could be rough.
So no, your conclusion isn’t hasty, you're just hitting the limits of what the legacy NVIDIA drivers can do on newer stacks. ![]()
Offline
Do you have a picture of what the garbled console (no hyprland etc.) looks like?
Have you already tried on nouveau (w/ the IGP disabled by the UEFI)?
Might be the internal output redirection.
But the most reasonable setup would be to run the system on the intel driver and invoke the dynamically nvidia GPU for games only anyway, no?
Offline
Hi Seth,
> Do you have a picture of what the garbled console (no hyprland etc.) looks like?
See https://postimg.cc/gallery/KFW3SRr. The first image is after loading just the `nvidia` module, everything still fine. The second image is after loading `nvidia_drm`. See the three lines at the top. It is like any output from the console just happens in that area once I have loaded `nvidia_drm`.
> Have you already tried on nouveau?
I have used nouveau before, and it worked relatively well. I just wanted to see if nvidia was better (faster).
> w/ the IGP disabled by the UEFI
I didn't need to do that to use nvidia with nouveau. Is it possible to disable the internal via UEFI without having macos? (What is the value of disabling it if the nvidia gpu seems to work fine as is?)
> But the most reasonable setup would be to run the system on the intel driver and invoke the dynamically nvidia GPU for games only anyway, no?
For me its primarily about simplicity and a smooth system. Technically I have no need for Nvidia, I don't play games. On the other hand the battery is no good anyway, I need to keep the MacBook plugged in, so I don't care about saving power either.
Offline
Is only ever the top of the screen affected?
modinfo nvidia_drmI didn't need to do that to use nvidia with nouveau. Is it possible to disable the internal via UEFI without having macos?
There's certainly no intel VGA device showing up in your journal, so it has to be disabled in the firmware.
What is the value of disabling it if the nvidia gpu seems to work fine as is?
1. https://wiki.archlinux.org/title/NVIDIA_Optimus
2. it's not really working "fine" atm, is it ![]()
I need to keep the MacBook plugged in, so I don't care about saving power either.
Fair point.
Offline
Is only ever the top of the screen affected?
The whole screen is affected, in that the normal-looking part below the garbled part just remains frozen. I can still run commands (ls, etc.) but when I do, there is some movement in only the garbled part at the top, and the part below stays frozen. Like as if the video memory is mapped only to the top part of the screen but in a wrong way
modinfo nvidia_drm: http://0x0.st/87KG.txt
There's certainly no intel VGA device showing up in your journal, so it has to be disabled in the firmware.
Interesting, that's fine then (though I'd be curious to know how it came to be disabled, and if it could – if I wanted to switch to it – be re-enabled with only Linux tooling).
it's not really working "fine" atm, is it
Also fair point
. What I meant is, I don't care per se about which GPU I use, as long as I have a reasonably fast system for Hyprland, watching videos, browsing, etc. But I don't _need_ high perf stuff like modern games support.
Offline
I had hoped it was only the top and maybe some audio control in the drm module.
Neither seems the case ![]()
and if it could – if I wanted to switch to it – be re-enabled with only Linux tooling
Holding cmd+option+o+f during the boot doesn't enter the firmware?
Offline
I had hoped it was only the top and maybe some audio control in the drm module.
Neither seems the case
Just out of curiosity, any idea what wcould explain the symptoms I've described?
Holding cmd+option+o+f during the boot doesn't enter the firmware?
IIUC that's for older MacBooks. I could get into recovery mode, maybe there's some terminal command but I don't know it.
Anyway, seems like my best bet is to use Nouveau for now. Thanks again for the help to you both, seth and ntb314.
Offline
https://forums.developer.nvidia.com/t/f … ion/157259 - though that apparently didn't affect either display server.
The nvidia driver is producing a signal that the panel cannot really handle.
You could try to enforce modes, https://www.kernel.org/doc/Documentation/fb/modedb.rst
Otherwise for busses that carry video and audio signals, sometimes the audio leaks into the picture, typically spoiling the top of the frame (but obviously not the case here)
Offline