How to use only custom modeline?

I will build a small pc for emulation, and will connect it to a sony bvm display that support only few resolution (1080i, 720p, 480p, 480i, 240p). It will be connected with a hdmi to vga dac, so i don’t know what EDID info it will give, most likely nothing right. So i think my best bet is to only use a few modeline compatible with this monitor, and only these modeline, i cannot really keep the preset one.

I try to understand how this is working in manjaro mate. After some experimentation i realize this :

  • A xorg.conf.d/10-monitor.conf is not working. If something is added to this file it is loaded when x start but then it’s probably overwrite by a script.
  • I check the lightdm.conf file and it seems to start a Xsession script, that itself start several other scripts.
  • From my understanding if i want custom resolution i need to use xrandr to add the modeline i want. The Xsession script is looking inside the /etc/X11/xinit/xinitrc.d/ for custom scripts.
    So i add one with the custom xrandr command, then restart.
    Strangely the modeline was added successfully, so --newmode and --addmode are working, but the resolution set do not, it starts at the maximum resolution.

And even if this is working it won’t change the fact i will need to delete the preset modeline to only use my own.

I also tried to see if i can create a custom edid.bin with resolution i wanted, but the program to do it do not working at all (GitHub - akatrevorjay/edid-generator: Hackerswork to generate an EDID blob from given Xorg Modelines, complete with valid checksum.).
Thank you

I did some more research. And from what i understood :
kernel mode setting is the one that automatically set the modeline at boot. So i thought i could disable it with nomodeset paramater and configure x manually with config files. It isn’t working and apparently amdgpu cannot run without kms.
So (apparently…) the only way is to configure a custom edid that will force a specific set of resolution.
I found the solution to build a edid.bin image with thr github app i previously talked about.
There is some doc i tried to follow :

I add the right line in grub.conf and mkinitcpio.conf, rebuild both and reboot. And it is not working.
Don’t really understand why. Maybe it’s because right now i am using a lcd with vga input for testing, and this lcd have proper edid that overwrite mine.

I think the edid is well started because /sys/modules/drm/parameters/edid_firmware link to my edid file.