LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 05-20-2022, 08:15 AM   #1
MirceaKitsune
Member
 
Registered: May 2009
Distribution: Manjaro
Posts: 156

Rep: Reputation: 1
xorg.conf.d monitor modeline conf not being recognized


I have a 144 Hz monitor. By default the 144 Hz option is only made available by the system when using a DisplayPort cable, but doing so comes with major issues I discussed and tried debugging in other threads. Until now I thought it's a hardware limitation of HDMI, just yesterday however I found out you can in fact get 144 Hz even on the HDMI cable. After some help and digging and fiddling I managed to get it working perfectly and at the intended pixel clocks via xrandr commands:

Code:
xrandr --newmode "1920x1080_144"  325.08  1920 1944 1976 2056  1080 1083 1088 1098 +hsync +vsync
xrandr --addmode HDMI-A-0 1920x1080_144
xrandr --output HDMI-A-0 --mode 1920x1080_144
Though it should be an easy fix, I'd rather not automate those parameters in ~/.profile but do this in a more official way. On the other side I'd rather not mess with stuff like EDID information which looks far too complex and messy. So I settled for an Xorg rule as suggested by several articles. Only problem is, it doesn't want to work for me and I'm not sure what I'm missing.

Code:
Section "Monitor"
    Identifier "HDMI"
    Modeline "1920x1080_144"  325.08  1920 1944 1976 2056  1080 1083 1088 1098 +hsync +vsync
    Option "PreferredMode" "1920x1080_144"
EndSection
I added this to a new file called /etc/X11/xorg.conf.d/50-monitor.conf (highest number used). Unfortunately nothing happens after a restart: Not only is it not using 144 Hz by default as it would on DisplayPort, the 1920x1080_144 mode isn't even listed by xrandr... I need to run commands manually to get it working again. What is my conf missing please?

Also I'm assuming this only works for an X11 session; Is there an equivalent to etc/X11/xorg.conf.d for Wayland? Or really just a better way to unlock 144 Hz on HDMI everywhere at the right specifications as the system should be doing on its own?
 
Old 05-21-2022, 01:43 AM   #2
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 6,009

Rep: Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175
Assuming an Xorg environment, a minimal xorg.conf might look something like the following...

Code:
Section "Device"
  Identifier      "Configured Video Device" 
EndSection

Section "Monitor" 
  Identifier      "Configured Monitor"
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
EndSection 

Section "Screen"  
  Identifier      "Default Screen" 
  Monitor         "Configured Monitor"
  Device          "Configured Video Device" 
  SubSection "Display"
    Modes "1920x1080_60.00" 
  EndSubSection
EndSection
Replace the 'Modeline' and 'Modes' entry to match what you require. I had to use the above to make my VM guest handle the display it was connecting to several years ago as it was not getting the native resolution parsed as expected.

For Wayland, you will need to resort to the EDID approach...

https://wiki.archlinux.org/title/ker...modes_and_EDID
 
Old 05-21-2022, 08:23 AM   #3
MirceaKitsune
Member
 
Registered: May 2009
Distribution: Manjaro
Posts: 156

Original Poster
Rep: Reputation: 1
Thanks, I might try that and go with it! Except I will be switching to Wayland eventually, once it finally fixes monitor power saving to be precise. If it's not insanely difficult I might just go for the custom EDID approach, but that does sound even more advance so I tried staying away from it.

Manjaro offers read-edid / get-edid so that's a good start. Unfortunately it doesn't seem to produce any useful output.

Code:
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Looks like no busses have an EDID. Sorry!
Attempting to use the classical VBE interface

        Performing real mode VBE call
        Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
        Function unsupported
        Call failed

        VBE version 0
        VBE string at 0x0 "O�"

VBE/DDC service about to be called
        Report DDC capabilities

        Performing real mode VBE call
        Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
        Function unsupported
        Call failed

Reading next EDID block

VBE/DDC service about to be called
        Read EDID

        Performing real mode VBE call
        Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
        Function unsupported
        Call failed

The EDID data should not be trusted as the VBE call failed
Error: output block unchanged
I'm sorry nothing was successful. Maybe try some other arguments
if you played with them, or send an email to Matthew Kern <pyrophobicman@gmail.com>.
Once I generate the proper EDID with that, I understand I need to decompile it then edit it then recompile it? I don't compile a custom kernel, never did that before and it sounds complex.

Also would I need a custom kernel parameter forever? Can't the kernel at least auto-detect and load everything in the EDID directory? Especially with that it's starting to feel like a hack again.
 
Old 05-21-2022, 04:46 PM   #4
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 6,009

Rep: Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175
Quote:
Also would I need a custom kernel parameter forever? Can't the kernel at least auto-detect and load everything in the EDID directory?
In your opening post you mentioned this is a limitation when using HDMI, so yes some sort of "override" is required if you desire the 1920x180@144Hz display mode. The kernel only uses what is obtained from reading the EDID (via HDMI in your case).

What is reported by the following command?
Code:
ls -ld /sys/class/drm/card*-*/edid
This may be of interest to you...
https://github.com/akatrevorjay/edid-generator/
 
Old 05-26-2022, 08:30 PM   #5
MirceaKitsune
Member
 
Registered: May 2009
Distribution: Manjaro
Posts: 156

Original Poster
Rep: Reputation: 1
Quote:
Originally Posted by ferrari View Post
In your opening post you mentioned this is a limitation when using HDMI, so yes some sort of "override" is required if you desire the 1920x180@144Hz display mode. The kernel only uses what is obtained from reading the EDID (via HDMI in your case).

What is reported by the following command?
Code:
ls -ld /sys/class/drm/card*-*/edid
This may be of interest to you...
https://github.com/akatrevorjay/edid-generator/
Code:
-r--r--r-- 1 root root 0 May 27 04:30 /sys/class/drm/card0-DP-1/edid
-r--r--r-- 1 root root 0 May 27 04:30 /sys/class/drm/card0-DVI-D-1/edid
-r--r--r-- 1 root root 0 May 27 04:30 /sys/class/drm/card0-DVI-D-2/edid
-r--r--r-- 1 root root 0 May 26 00:08 /sys/class/drm/card0-HDMI-A-1/edid
 
Old 05-27-2022, 05:56 AM   #6
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 6,009

Rep: Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175Reputation: 1175
Here's how to install and use edid-generator to take a modeline form a file and produce a .bin file...

https://kodi.wiki/view/Archive:Creat...d-generator.29

Once you have a suitable custom EDID (saved to /usr/lib/firmware) to suit the desired mode, follow the instructions in the ArchWiki page I linked to already.
 
  


Reply

Tags
driver, graphics, hardware, wayland, x11, xorg


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
maximum decimals in a custom xorg.conf modeline steo86 Linux - Software 1 07-25-2017 10:45 AM
DP42848 1080p Modeline for xorg.conf Shadow_7 Linux - Software 14 05-21-2010 10:14 PM
get current pixel clock size for Modeline (xorg.conf) snitko Linux - Hardware 3 11-07-2008 07:15 PM
Modeline Voodoo xorg.conf - Intel driver i810 to blame? rewtedesco Linux - Hardware 43 01-27-2007 07:28 PM
xorg modeline gurus, need to decrease overscan spiderworm Linux - Hardware 2 07-30-2006 02:19 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 05:55 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration