Announcement

Collapse
No announcement yet.

Display Driver show modesetting always

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Display Driver show modesetting always

    Hi, I've tried to search this topic in the forum without luck, so I hope i'm not duplicating anything.

    This morning I've been doing some test to see why Rocket League and some game have 60 fps caps even if in-game vsync is disable when palying in full-screen, but no fps caps in windows mode.

    One of the test that I've done is to switch from modesetting to amdgpu. And when I launch phoronix-test-suite system-info, Display Driver doesn't reflect that i'm using xf86-video-amdgpu

    Code:
    Phoronix Test Suite v8.0.0
    System Information
    
    
      PROCESSOR:          Intel Core i5-6600 @ 3.90GHz
        Core Count:       4
        Extensions:       SSE 4.2 + AVX2 + AVX + RDRAND + FSGSBASE
        Cache Size:       6144 KB
        Microcode:        0xc2
        Scaling Driver:   intel_pstate powersave
    
      GRAPHICS:           Sapphire AMD Radeon RX 580 8192MB
        OpenGL:           4.5 Mesa 18.1.2 (LLVM 6.0.0)
        Display Driver:   modesetting 1.20.0
        Monitor:          BenQ RL2455
        Screen:           1920x1080
    
      MOTHERBOARD:        MSI B150M BAZOOKA PLUS
        BIOS Version:     1.30
        Chipset:          Intel Xeon E3-1200 v5/E3-1500
        Audio:            Realtek ALC887-VD
        Network:          Realtek RTL8111/8168/8411
    
      MEMORY:             16384MB
    
      DISK:               275GB Crucial_CT275MX3 + 2000GB Western Digital WD20EARS-00M + 256GB Crucial_CT256MX1
        File-System:      ext4
        Mount Options:    noatime rw
        Disk Scheduler:   DEADLINE
    
      OPERATING SYSTEM:   Arch Linux
        Kernel:           4.17.2-1-ARCH (x86_64)
        Desktop:          GNOME Shell 3.28.2
        Display Server:   X Server 1.20.0
        Compiler:         GCC 8.1.1 20180531
        Security:         KPTI + __user pointer sanitization + Full generic retpoline IBPB IBRS_FW Protection
    But I see in Xorg.log.0 that I'm not using modesetting anymore:


    Without xf86-video-amdgpu
    Code:
    xrandr --listproviders
      Providers: number : 1
      Provider 0: id: 0x4a cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 5 associated providers: 0 name:modesetting
    
    grep -i LoadModule /var/log/Xorg.0.log.old
    [     3.543] (II) LoadModule: "glx"
    [     3.561] (II) LoadModule: "ati"
    [     3.561] (II) LoadModule: "modesetting"
    [     3.564] (II) LoadModule: "fbdev"
    [     3.565] (II) LoadModule: "vesa"
    [     3.591] (II) LoadModule: "fbdevhw"
    [     3.592] (II) LoadModule: "glamoregl"
    [     3.879] (II) LoadModule: "fb"
    [     3.880] (II) UnloadModule: "fbdev"
    [     3.881] (II) UnloadModule: "vesa"
    [     3.983] (II) LoadModule: "libinput"

    With xf86-video-amdgpu
    Code:
    xrandr --listproviders
      Providers: number : 1
      Provider 0: id: 0x5a cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 5 associated providers: 0 name:Radeon RX 580 Series @ pci:0000:01:00.0
    
    grep -i LoadModule /var/log/Xorg.0.log
    [     3.544] (II) LoadModule: "glx"
    [     3.558] (II) LoadModule: "amdgpu"
    [     3.561] (II) LoadModule: "ati"
    [     3.561] (II) LoadModule: "modesetting"
    [     3.562] (II) LoadModule: "fbdev"
    [     3.562] (II) LoadModule: "vesa"
    [     3.593] (II) LoadModule: "fbdevhw"
    [     3.594] (II) LoadModule: "fb"
    [     3.595] (II) LoadModule: "dri2"
    [     3.812] (II) LoadModule: "glamoregl"
    [     3.869] (II) LoadModule: "ramdac"
    [     3.869] (II) UnloadModule: "modesetting"
    [     3.869] (II) UnloadModule: "fbdev"
    [     3.869] (II) UnloadModule: "vesa"
    [     4.099] (II) LoadModule: "libinput"
    So I don't know if it's a bug, or where is pts looking to find that modesetting 1.20 is in use.

    Great suite by the way

  • #2
    Hi Marzal the DDX detection is parsing of the Xorg.0.log. Though this codepath was in place years prior to --listproviders being a thing for xrandr, so I suppose I could add in that more modern detection. Will work on that in Git shortly.
    Michael Larabel
    http://www.michaellarabel.com/

    Comment


    • #3
      Hi, thanks for the quick response.

      I don't know why --listproviders show "Radeon RX 580 Series @ pci:0000:01:00.0" when I'm using xf86-video-amdgpu (maybe a provider is not exactly the same as the Display Driver), but I found this script online that does a god job parsing Xorg.0.log in case that it is of any help.
      Code:
      #!/bin/bash
      
      if [ -z "$1" ]; then
          logfile=/var/log/Xorg.0.log
      else
          logfile="$1"
      fi
      
      sed -n '[email protected]* Loading .*/\(.*\)[email protected]\[email protected]' "$logfile" |
          while read driver; do
              if ! grep -q "Unloading $driver" "$logfile"; then
                  echo $driver
                  break
              fi
          done
      PD: xf86-video-amdgpu (in Arch/Antergos) doesn't enable "vsync" by default in fullscreen so Rocket League works better without the fps cap

      Comment

      Working...
      X