Asus Zenbook UX431F display won't work on Fedora 30 Linux without "NOMODESET"

Upon installing Fedora 30 to an Asus Zenbook UX431F, I encountered an issue where there is no display output unless "nomodeset" is inside the GRUB config. This limits the display resolution to 800x600 for the Zenbook's screen which isn't ideal. External monitors will work just fine though.

The first issue of note is that the Fedora live ISO will not output anything to the monitor when going through the normal installation process. At the boot prompt when using the live ISO you'll need to go to Troubleshooting and Install Fedora in basic graphics mode.

Once Fedora has installed run through the following steps -

  • Download 1920x1080.bin from here or here.
  • Move that file to /lib/firmware/edid/
  • Edit /etc/default/grub and remove nomodeset then add the following line to the bottom - GRUB_CMDLINE_LINUX_DEFAULT="drm.edid_firmware=eDP-1:edid/1920x1080.bin"
  • Run sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  • Reboot

Fedora should boot up and display at the proper 1920x1080 60hz resolution. After doing this there is an unfortunate issue wherein the onboard audio seems to stop working. I'm unsure as to why this is but if you use an external audio device such as a USB DAC or USB headset - audio will work fine through that. The onboard audio does work prior to this fix, however the system volume slider simply returns the volume as off or at maximum rather than incrementing properly. Edit - After a running a recent yum update I'm no longer having any issues with the onboard audio.

This issue appears to be present across most Linux distributions on some Asus Zenbook devices as tested by other users. It might also be a wider issue for devices using the Intel HD 620 integrated GPU. For further information on the actual bug and the original source of this fix, please refer to the following links -

This article was updated on October 3, 2021