Results 1 to 7 of 7

Thread: Got a pair of amdgpu driver bugs

  1. #1
    Join Date
    Jun 2009
    Location
    0:0:0:0:0:0:0:1
    Beans
    4,940
    Distro
    Xubuntu

    Got a pair of amdgpu driver bugs

    GPU RX 580 (gigabtye RX 580 GAMING 8G)
    Issue:
    The driver ignores the vbios voltages and shoves 1.2v into the core, this causes excessive heat and causes the card to hit the power limit which hurts performance, in windows the driver uses 1.15v
    I have tired altering the voltage in the vBIOS, changes affect stock behavior with voltage in windows and i am able to change the default voltage to say 1125 mV (my card appears to handle stock at 1100 mV just fine) the linux driver completely ignores the voltages set in the vBIOS and shoves 1.2v into the core
    Workaround:

    Use advanced features Radeon Profile to manually change the voltage, this requires using the kernel parameter amdgpu.ppfeaturemask=0xffffffff
    Workaround bug:

    however this features has another bug, when using dual monitors (same model 1080p panels using displayport at the same fresh rate) the memory power states will change (it says at level 3 (2000Mhz @ 950 mV) normally), this causes artifacting every time something changes on the screen (mouse movement for example), this can be mitigated by setting all 3 memory power states to the full speed, this is not 100% effective, but it makes it usable, to fully workaround this you need to set power_dpm_force_performance_level to high, this lock both the core and memory speed to there max value, however this prevents the card from down-clocking at idle, we only needed to prevent the memory from doing this
    Laptop: ASUS A54C-NB91 (Storage: WD3200BEKT + MKNSSDCR60GB-DX); Desktop: Custom Build - Images included; rPi Server
    Putting your Networked Printer's scanner software to shame PHP Scanner Server
    I frequently edit my post when I have the last post

  2. #2
    Join Date
    Jun 2009
    Location
    0:0:0:0:0:0:0:1
    Beans
    4,940
    Distro
    Xubuntu

    Re: Got a pair of amdgpu driver bugs

    I checked for this issue on another box with a Sapphire Nitro + 580 8gb, and it was using proper voltage

    i also noticed the manual frequency control section in radeon profile, by unchecking the lower memory speed states i can lock the card to full memory speed and allow the core to idle properly

    This shows what happens when you enable amdgpu.ppfeaturemask=0xffffffff and how it is worked around
    https://www.youtube.com/watch?v=eiqwF6DWfyE
    Last edited by pqwoerituytrueiwoq; March 30th, 2020 at 07:20 PM.
    Laptop: ASUS A54C-NB91 (Storage: WD3200BEKT + MKNSSDCR60GB-DX); Desktop: Custom Build - Images included; rPi Server
    Putting your Networked Printer's scanner software to shame PHP Scanner Server
    I frequently edit my post when I have the last post

  3. #3
    Join Date
    Jun 2009
    Location
    0:0:0:0:0:0:0:1
    Beans
    4,940
    Distro
    Xubuntu

    Re: Got a pair of amdgpu driver bugs

    I did a bit of testing today, auto voltage is only outrageous using my nitro plus on the factory OC profile (this card has a BIOS switch) (it is horrifying across the board on 18.04)

    All testing was done using a live session using daily live of xubuntu 20.04 (April 15th)

    • amdgpu_*.log
      • These files are sensor logs I recorded (4 readings per second) while running the Superposition benchmark

    • amdgpu_*.ods
      • These files are the processed data pulled from the .log version of the file

    • pp_table_*.log
      • These files log the power play table as well as check the voltage at a given power state to see if the power play table is being respected
      • When you boot the system the driver does not care what power play table in the card's vBIOS says it does what ever it wants and makes it own default table and then ignores that table and applies yet another table

    • pp_table_xubuntu_18.04.4.log
      • This file was make using xubuntu 18.04.4 (live session), just look at what it does, it is shameful

    • Superposition_Benchmark_v1.0_*.png
      • This is a screenshot of benchmark results to serve as a sanity check for performance

    • vBIOS folders
      • *.png is a screenshot of the vBIOS in a vBIOS editor
      • *.txt is the report made using ATOMBIOSReader.exe
      • *.rom is the vBIOS on the GPU
      • Please take note the cards power limit

    • amdGPUlog.sh
      • This is the script i used to generate the amdgpu_*.log and pp_table_*.log files
      • pp_table_*.log is made by running the script as root otherwise it makes a amdgpu_*.log
      • when making a amdgpu_*.log press [Ctrl]+[C] to stop logging

    • amdSensors.sh
      • This is the script I made to manage and experiment with the files you get access to files that you can use to config how the GPU runs and monitor it and not need to remember where the files are



    Here is the data I collected
    https://www.mediafire.com/file/mocb9...esults.7z/file
    Code:
    chad@X470GamingPlus:~/Desktop/Linux Testing Results$ tree ./
    ./
    ├── amdGPUlog.sh
    ├── amdSensors.sh
    └── data
        ├── Gigabyte_580
        │   ├── default
        │   │   ├── amdgpu_1586960620.log
        │   │   ├── amdgpu_1586960620.ods
        │   │   ├── pp_table_1586959691.log
        │   │   ├── pp_table_xubuntu_18.04.4.log
        │   │   └── Superposition_Benchmark_v1.0_4800_1586960796.png
        │   ├── mild_undervolt
        │   │   ├── amdgpu_1586961447.log
        │   │   ├── amdgpu_1586961447.ods
        │   │   ├── pp_table_1586961774.log
        │   │   └── Superposition_Benchmark_v1.0_4818_1586961623.png
        │   ├── undervolt
        │   │   ├── amdgpu_1586962184.log
        │   │   ├── amdgpu_1586962184.ods
        │   │   ├── pp_table_1586962146.log
        │   │   └── Superposition_Benchmark_v1.0_4820_1586962360.png
        │   └── vBIOS
        │       ├── Gigabyte.RX580.8192.170904_Patched.png
        │       ├── Gigabyte.RX580.8192.170904_Patched.rom
        │       └── Gigabyte.RX580.8192.170904_Patched.txt
        └── Sapphire_580
            ├── Factory_OC
            │   ├── amdgpu_1587000606.log
            │   ├── amdgpu_1587000606.ods
            │   ├── less_voltage
            │   │   ├── amdgpu_1587001270.log
            │   │   ├── amdgpu_1587001270.ods
            │   │   ├── pp_table_1587001077.log
            │   │   └── Superposition_Benchmark_v1.0_4995_1587001446.png
            │   ├── pp_table_1587000467.log
            │   ├── pp_table_xubuntu_18.04.4.log
            │   ├── Superposition_Benchmark_v1.0_4978_1587000782.png
            │   └── vBIOS
            │       ├── Sapphire.RX580.FactoryOC.png
            │       ├── Sapphire.RX580.FactoryOC.rom
            │       └── Sapphire.RX580.FactoryOC.txt
            └── Silent
                ├── amdgpu_1586999390.log
                ├── amdgpu_1586999390.ods
                ├── pp_table_1586999143.log
                ├── pp_table_xubuntu_18.04.4.log
                ├── Superposition_Benchmark_v1.0_4823_1586999566.png
                └── vBIOS
                    ├── Sapphire.RX580.Silent.png
                    ├── Sapphire.RX580.Silent.rom
                    └── Sapphire.RX580.Silent.txt
    
    12 directories, 38 files
    Here is the data, I'll let some who knows more about how the driver works to decided what is working as intended and what is not and what needs to be tweaked
    Laptop: ASUS A54C-NB91 (Storage: WD3200BEKT + MKNSSDCR60GB-DX); Desktop: Custom Build - Images included; rPi Server
    Putting your Networked Printer's scanner software to shame PHP Scanner Server
    I frequently edit my post when I have the last post

  4. #4
    Join Date
    Oct 2009
    Beans
    484
    Distro
    Ubuntu Development Release

    Re: Got a pair of amdgpu driver bugs

    My Radeon RX 580 works as expected.
    Code:
    p-i@pi-MS-7A34:~$ sensors
    k10temp-pci-00c3
    Adapter: PCI adapter
    Tdie:         +33.1C  (high = +70.0C)
    Tctl:         +33.1C  
    
    
    amdgpu-pci-2100
    Adapter: PCI adapter
    vddgfx:      725.00 mV 
    fan1:        1148 RPM  (min =    0 RPM, max = 3500 RPM)
    edge:         +29.0C  (crit = +94.0C, hyst = -273.1C)
    power1:       30.02 W  (cap = 165.00 W)
    
    
    p-i@pi-MS-7A34
    System HW.
    Code:
    p-i@pi-MS-7A34:~$ inxi -Fz
    System:    Kernel: 5.4.0-21-generic x86_64 bits: 64 Desktop: Gnome 3.36.1 Distro: Ubuntu 20.04 LTS (Focal Fossa) 
    Machine:   Type: Desktop Mobo: Micro-Star model: B350 TOMAHAWK (MS-7A34) v: 1.0 serial: <filter> UEFI: American Megatrends 
               v: 1.H0 date: 05/02/2018 
    CPU:       Topology: Quad Core model: AMD Ryzen 3 1200 bits: 64 type: MCP L2 cache: 2048 KiB 
               Speed: 1376 MHz min/max: 1550/3600 MHz Core speeds (MHz): 1: 1378 2: 1378 3: 1378 4: 1377 
    Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] driver: amdgpu 
               v: kernel 
               Display: x11 server: X.Org 1.20.8 driver: amdgpu resolution: 2560x1440~60Hz 
               OpenGL: renderer: Radeon RX 580 Series (POLARIS10 DRM 3.35.0 5.4.0-21-generic LLVM 9.0.1) v: 4.6 Mesa 20.0.4 
    Audio:     Device-1: C-Media CMI8788 [Oxygen HD Audio] driver: snd_virtuoso 
               Device-2: AMD Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] driver: snd_hda_intel 
               Device-3: Advanced Micro Devices [AMD] Family 17h HD Audio driver: snd_hda_intel 
               Sound Server: ALSA v: k5.4.0-21-generic 
    Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169 
               IF: enp30s0 state: up speed: 100 Mbps duplex: full mac: <filter> 
    Drives:    Local Storage: total: 454.60 GiB used: 7.59 GiB (1.7%) 
               ID-1: /dev/sda vendor: SanDisk model: Ultra II 240GB size: 223.57 GiB 
               ID-2: /dev/sdb vendor: Samsung model: SSD 830 Series size: 119.24 GiB 
               ID-3: /dev/sdc vendor: Kingston model: SV300S37A120G size: 111.79 GiB 
    Partition: ID-1: / size: 109.04 GiB used: 7.54 GiB (6.9%) fs: ext4 dev: /dev/sdc2 
    Sensors:   System Temperatures: cpu: 33.8 C mobo: N/A gpu: amdgpu temp: 29 C 
               Fan Speeds (RPM): N/A gpu: amdgpu fan: 1163 
    Info:      Processes: 251 Uptime: 3h 17m Memory: 15.65 GiB used: 1.82 GiB (11.6%) Shell: bash inxi: 3.0.38 
    p-i@pi-MS-7A34:~$

  5. #5
    Join Date
    Jun 2009
    Location
    0:0:0:0:0:0:0:1
    Beans
    4,940
    Distro
    Xubuntu

    Re: Got a pair of amdgpu driver bugs

    Which model of the 580?
    if you run the amdGPUlog.sh script in my attachment as root it will read the voltage/clock table, that is what matters (a copy will be in the data folder)
    * you will need to cd to the folder so it can use the amdSensors.sh script
    if you are using sensors watch the vddgfx value what is it as the load increases, your reading was done at idle
    Laptop: ASUS A54C-NB91 (Storage: WD3200BEKT + MKNSSDCR60GB-DX); Desktop: Custom Build - Images included; rPi Server
    Putting your Networked Printer's scanner software to shame PHP Scanner Server
    I frequently edit my post when I have the last post

  6. #6
    Join Date
    Oct 2009
    Beans
    484
    Distro
    Ubuntu Development Release

    Re: Got a pair of amdgpu driver bugs

    I have a MSI Radeon RX580 Gaming X.
    I will test with the CIV VI Gathering Storm Graphic Benchmark and provide the vddgfx value.
    I have to change computer, but I will edit this post with the result.

    Took some time. Had to install Steam and download CIV VI.
    Made some sensor readings during the benchmark
    Code:
    p-i@pi-MS-7A34:~$ sensors
    k10temp-pci-00c3
    Adapter: PCI adapter
    Tdie:         +53.8C  (high = +70.0C)
    Tctl:         +53.8C  
    
    
    amdgpu-pci-2100
    Adapter: PCI adapter
    vddgfx:      725.00 mV 
    fan1:        1163 RPM  (min =    0 RPM, max = 3500 RPM)
    edge:         +32.0C  (crit = +94.0C, hyst = -273.1C)
    power1:       30.02 W  (cap = 165.00 W)
    
    
    p-i@pi-MS-7A34:~$ sensors
    k10temp-pci-00c3
    Adapter: PCI adapter
    Tdie:         +46.2C  (high = +70.0C)
    Tctl:         +46.2C  
    
    
    amdgpu-pci-2100
    Adapter: PCI adapter
    vddgfx:        1.17 V  
    fan1:        1300 RPM  (min =    0 RPM, max = 3500 RPM)
    edge:         +41.0C  (crit = +94.0C, hyst = -273.1C)
    power1:       75.09 W  (cap = 165.00 W)
    
    
    p-i@pi-MS-7A34:~$ sensors
    k10temp-pci-00c3
    Adapter: PCI adapter
    Tdie:         +47.6C  (high = +70.0C)
    Tctl:         +47.6C  
    
    
    amdgpu-pci-2100
    Adapter: PCI adapter
    vddgfx:        1.17 V  
    fan1:        1412 RPM  (min =    0 RPM, max = 3500 RPM)
    edge:         +44.0C  (crit = +94.0C, hyst = -273.1C)
    power1:       81.19 W  (cap = 165.00 W)
    
    
    p-i@pi-MS-7A34:~$ sensors
    k10temp-pci-00c3
    Adapter: PCI adapter
    Tdie:         +47.9C  (high = +70.0C)
    Tctl:         +47.9C  
    
    
    amdgpu-pci-2100
    Adapter: PCI adapter
    vddgfx:        1.17 V  
    fan1:        1384 RPM  (min =    0 RPM, max = 3500 RPM)
    edge:         +46.0C  (crit = +94.0C, hyst = -273.1C)
    power1:       88.17 W  (cap = 165.00 W)
    
    
    p-i@pi-MS-7A34:~$ sensors
    k10temp-pci-00c3
    Adapter: PCI adapter
    Tdie:         +48.1C  (high = +70.0C)
    Tctl:         +48.1C  
    
    
    amdgpu-pci-2100
    Adapter: PCI adapter
    vddgfx:        1.17 V  
    fan1:        1400 RPM  (min =    0 RPM, max = 3500 RPM)
    edge:         +45.0C  (crit = +94.0C, hyst = -273.1C)
    power1:       84.08 W  (cap = 165.00 W)
    
    
    p-i@pi-MS-7A34:~$ sensors
    k10temp-pci-00c3
    Adapter: PCI adapter
    Tdie:         +48.5C  (high = +70.0C)
    Tctl:         +48.5C  
    
    
    amdgpu-pci-2100
    Adapter: PCI adapter
    vddgfx:        1.17 V  
    fan1:        1428 RPM  (min =    0 RPM, max = 3500 RPM)
    edge:         +46.0C  (crit = +94.0C, hyst = -273.1C)
    power1:       79.21 W  (cap = 165.00 W)
    
    
    p-i@pi-MS-7A34:~$
    Last edited by P-I H; April 16th, 2020 at 06:46 PM.

  7. #7
    Join Date
    Oct 2008
    Location
    ExodusHair<Čubura
    Beans
    Hidden!
    Distro
    Ubuntu Development Release

    Re: Got a pair of amdgpu driver bugs

    https://en.wikisource.org/wiki/Slavo..._Goat%27s_Ears
    If You do not make a proper bug report in a proper place all this is about Trojan's ears...
    Ignota nulla curatio morbi.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •