Xorg config for 10-monitor.conf & 20-amdgpu.conf - setting refresh rate

-"Tearfree"
Based on xorg.conf(5) (just as in xorg.conf) there just isn't such an option. That raises the question where the OP in the Arch thread is getting that from.
I will remove the 'TearFree' line from my xorg config file.

-"What's interesting is that this example taken from the forum post above doesn't (1) specify amdgpu as the driver, and (2) no reference is made to the BusID parameter providing the PCI address."
The BusID, I have answered in my previous message. The OP's grahics card (here) is, speaking in FreeBSD relative terms, somewhat older than your iGPU; then in that situation the std choice is to use the Xorg default driver: modesetting(4):
- AMD Ryzen 9 7900: release date "Jan 14th, 2023"
- AMD Radeon RX 6700 XT: release date "Mar 18th, 2021"

For about a year ago IIRC, AMD CPUs (and their accompanying iGPU graphics), of a (Zen 4 (Raphael) generation) couldn't be made to work with FreeBSD graphcs drivers for -RELEASE versions. Now, on 15.0-RELEASE, we have drm66-kmod (in addition to drm-61-kmod) and with every new version it gets improved.
Yes, you said that the BusID parameter is probably not required as I only have one GPU in the system - the iGPU of the CPU.
As my iGPU is newer than the referenced OP's GPU where he needed to use the xorg 'modesetting' driver, I can instead use the 'amdgpu' driver.

Correct me if I'm wrong but these other drm drivers (drm61-kmod, drm66-kmod) refer to linux kernel version numbers from which the drm driver code was taken? drm66-kmod is the latest?

-"So how does it work? Is it implied due to the filename - 20-amdgpu.conf?
[...]
"
No, when the Xorg modesetting(4) is used (explicitly by you in your config specification, or implicitly when there is no Xorg driver being specified) the Xorg amdgpu(4) driver just is not used. However the DRM-KMS, as in kld_list="amdgpu" is used and in your case, for AMD graphics hardware is mandatory when you want to have your complete graphics stack comlete with accellerated graphics and using Kernel Mode Setting--as opposed to User Mode Setting =UMS. UMS is being replaced by KMS; UMS is only being used in somewhat rare cases for older hardware that need a legacy (UMS) graphics driver, an Xorg UMS can funtion without its DRM-KMS counterpart as specified in /etc/rc.conf by kld_list="< driver >"*
So if I understand correctly, despite the fact that I have explicitly stated to use the 'modesetting' driver in my xorg config file, this will ultimately use the 'amdgpu' driver specified in the kldlist="amdgpu" line within /etc/rc.conf?

-"UseDisplayDevice"
I don't see it mentioned in xorg.conf(5), probably isn't valid or hansn't any meaning for the modesetting(4) driver.
BTW, neither present in amdgpu(4). The question arises where the OP got that from (again).
Yes, it seems invalid now, so this is one that I can delete from my xorg config file.

-PreferredMode
Code:
    Modeline        "2560x1440_120"  488.40  2560 2608 2640 2750  1440 1466 1474 1480 +hsync -vsync
    Option          "PreferredMode" "2560x1440_120"
As is documented in xorg.conf(5):
Rich (BB code):
       Mode  "name"
          This is an optional multi-line entry that    can be used to provide
          definitions for video modes for the monitor.  
    [...]
        ModeLine     "name"    mode-description
          This  entry  is a    more compact version of    the Mode entry, and it
          also can be used to specify video    modes for the  monitor.      This
          is  a  single  line  format for specifying video modes.  In most
          cases this isn't necessary because  the  built-in     set  of  VESA
          standard modes will be sufficient.

          The  mode-description  is     in  four sections, the    first three of
          which are    mandatory.
   [...]
You have specified only one "Modeline", the preferred one is therefore implied; deleting
Option "PreferredMode" "2560x1440_120"
should make the reported "warning" go away and the result of your configuration should be the same.
The last tagged line by me (in bold and italics) is about the specific syntax of the Modeline. As you noticed (and have solved) the Xorg couldn't decode a valid config setting when the " (double quote) was missing in an essential place.
Ok, as you say, as I have a single modeline, it should be implied and therefore redundant, so can be removed.

My impression is that instead of specifying the 'modesetting' driver within the xorg config file and the system then using the 'amdgpu' specified within /etc/rc.conf, I should really directly reference the 'amdgpu' driver within said config file.

Do you agree?
 
Here is my current /usr/local/etc/X11/xorg.conf.d/20-amdgpu.conf:

Code:
root@freebsd:/usr/local/etc/X11/xorg.conf.d # cat 20-amdgpu.conf
Section "Monitor"
    Identifier      "Monitor0"
    ModelName       "Dell U2724D"
    Modeline        "2560x1440_120"  488.40  2560 2608 2640 2750  1440 1466 1474 1480 +hsync -vsync
    Option          "PreferredMode" "2560x1440_120"
    Option          "DPMS" "false"
EndSection

Section "Screen"
    Identifier      "Screen0"
    Device          "AMDGraphics"
    Monitor         "Monitor0"
    SubSection      "Display"
        Modes           "2560x1440_120"
    EndSubSection
EndSection

Section "Device"
    Identifier      "AMDGraphics"
    Driver          "modesetting"
    Option          "TearFree" "true"
    Option          "VariableRefresh" "true"
    Option          "AsyncFlipSecondaries" "false"
    Option          "UseDisplayDevice" "HDMI-A-0"
EndSection
root@freebsd:/usr/local/etc/X11/xorg.conf.d #
 
Here is the /var/log/Xorg.0.log file:

It is also attached as a file - if it is too long I can delete it and rely on the 'termbin' URL being readable.
It seems termbin URLs expire after a certain period of time and become unreadable (404), which is why I also attached it as a file.
I renamed the file by appending '.txt' so that I could upload the log file.
 

Attachments

Back
Top