No announcement yet.

R600 + Radeon SI switchable graphics on Ubuntu 16.04+

  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Okay, now my grub config says
    GRUB_CMDLINE_LINUX_DEFAULT="quiet radeon.runpm=0 amdgpu.runpm=0 acpi_backlight=video"
    The orange LED is lit all the time, the dGPU temp sensor is showing up all the time. So - yes. Now the dGPU is on. Still DRI_PRIME=1 fails.

    dmesg, only gpu-dependant stuff:
    [   12.171160] ACPI Error: Field [TEMP] at 524288 exceeds Buffer [TVGA] size 512000 (bits) (20170119/dsopcode-236)
    [   12.171222] ACPI Error: Method parse/execution failed [\_SB.PCI0.VGA.ATRM] (Node ffff880332caf708), AE_AML_BUFFER_LIMIT (20170119/psparse-543)
    [   12.171295] failed to evaluate ATRM got AE_AML_BUFFER_LIMIT
    [   12.171299] ATOM BIOS: MSI
    [   12.171327] [drm] GPU not posted. posting now...
    [   12.175010] [drm] Probable bad vram size: 0xff8002c0
    [   12.175018] radeon 0000:01:00.0: VRAM: 704M 0x0000000000000000 - 0x000000002BFFFFFF (704M used)
    [   12.175021] radeon 0000:01:00.0: GTT: 1024M 0x000000002C000000 - 0x000000006BFFFFFF
    [   12.175033] [drm] Detected VRAM RAM=704M, BAR=256M
    [   12.175034] [drm] RAM width 512bits DDR
    [   12.175059] [drm] radeon: 704M of VRAM memory ready
    [   12.175061] [drm] radeon: 1024M of GTT memory ready.
    [   12.175075] [drm] Loading pitcairn Microcode
    [   12.176550] Linux video capture interface: v2.00
    [   12.303601] kvm: Nested Virtualization enabled
    [   12.303606] kvm: Nested Paging enabled
    [   12.336881] usbcore: registered new interface driver btusb
    [   12.339270] usbcore: registered new interface driver ath3k
    [   12.378102] EDAC MC: Ver: 3.0.0
    [   12.380286] MCE: In-kernel MCE decoding enabled.
    [   12.381674] EDAC amd64: Node 0: DRAM ECC disabled.
    [   12.381675] EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
                    Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
                    (Note that use of the override may cause unknown side effects.)
    [   12.424551] [drm] Internal thermal controller without fan control
    [   12.424641] [drm] probing gen 2 caps for device 1022:1413 = 700d01/6
    [   12.434124] [drm] radeon: dpm initialized
    [   12.435297] alx 0000:03:00.0 enp3s0: renamed from eth0
    [   12.435303] [drm] Found VCE firmware/feedback version 50.0.1 / 17!
    [   12.435315] [drm] GART: num cpu pages 262144, num gpu pages 262144
    [   12.436902] [drm] probing gen 2 caps for device 1022:1413 = 700d01/6
    [   12.436907] [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0
    ... wifi and mouse
    [   12.774685] [drm] PCIE GART of 1024M enabled (table at 0x00000000001D6000).
    [   12.774832] radeon 0000:01:00.0: WB enabled
    [   12.774835] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x000000002c000c00 and cpu addr 0xffff880326a7ac00
    [   12.774836] radeon 0000:01:00.0: fence driver on ring 1 use gpu addr 0x000000002c000c04 and cpu addr 0xffff880326a7ac04
    [   12.774838] radeon 0000:01:00.0: fence driver on ring 2 use gpu addr 0x000000002c000c08 and cpu addr 0xffff880326a7ac08
    [   12.774839] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x000000002c000c0c and cpu addr 0xffff880326a7ac0c
    [   12.774840] radeon 0000:01:00.0: fence driver on ring 4 use gpu addr 0x000000002c000c10 and cpu addr 0xffff880326a7ac10
    [   12.775633] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000000075a18 and cpu addr 0xffffc90005035a18
    [   12.786000] radeon 0000:01:00.0: failed VCE resume (-22).
    [   12.786002] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [   12.786003] [drm] Driver supports precise vblank timestamp query.
    [   12.786004] radeon 0000:01:00.0: radeon: MSI limited to 32-bit
    [   12.786046] radeon 0000:01:00.0: radeon: using MSI.
    [   12.786079] [drm] radeon: irq initialized.
    [   13.187659] [drm:r600_ring_test [radeon]] *ERROR* radeon: ring 0 test failed (scratch(0x850C)=0xCAFEDEAD)
    [   13.187705] radeon 0000:01:00.0: disabling GPU acceleration
    [   13.388270] [drm] Radeon Display Connectors
    [   13.388272] [drm] Connector 0:
    [   13.388273] [drm]   VGA-2
    [   13.388275] [drm]   DDC: 0x65c0 0x65c0 0x65c4 0x65c4 0x65c8 0x65c8 0x65cc 0x65cc
    [   13.388275] [drm]   Encoders:
    [   13.388276] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
    [   13.398324] [drm:si_dpm_set_power_state [radeon]] *ERROR* si_upload_sw_state failed
    [   13.414302] [drm] Cannot find any crtc or sizes - going 1024x768
    [   13.416442] [drm] fb mappable at 0xD03D7000
    [   13.416442] [drm] vram apper at 0xD0000000
    [   13.416443] [drm] size 3145728
    [   13.416444] [drm] fb depth is 24
    [   13.416444] [drm]    pitch is 4096
    [   13.416634] radeon 0000:01:00.0: fb1: radeondrmfb frame buffer device
    [   13.416994] [drm] Initialized radeon 2.49.0 20080528 for 0000:01:00.0 on minor 1
    [   13.484124] [drm] amdgpu kernel modesetting enabled.
    [   13.484151] vga_switcheroo: detected switching method \_SB_.PCI0.VGA_.ATPX handle
    [   13.484282] ATPX version 1, functions 0x00000003


    • #22
      openSUSE has pretty good UEFI and secure boot support. Can you post your lspci output? Your dmesg logs dont show anything suspicious except for that ring 0 test failed error


      • #23
        As far as I remember the lspci command lists the two GPUs with (rev ff) after the 7970m dGPU.
        For now I killed my Arch Linux setup (something with the driver is messed. Can't get Xorg to work anymore.. Reinstalling Xorg, mesa and radeon driver didn't help.) so now I wanted to try Manjaro A setup with a stable, fully working iGPU and a deactivated dGPU would be fine, I think. Ubuntu and Arch wer like this but every second reboot failed because of GPU problems. So I want to try some different distros.
        I'll post logs as soon as my notebook has a working OS again.


        • #24
          I recommend trying opensuse leap. Install it in uefi mode and you should be good to go. Ubuntu is a pain in the as for switchable graphics iirc


          • #25
            Okay, funny: I used the Windows Tool "MSI Enabler" to enable hidden BIOS features (I already restored the BIOS on this notebook with a CD... and it showed me some hidden settings. I set another value for the power saving settings et voilà the dGPU stays on, all warnings disappear and a basic Ubuntu 16.10 (now updated..) could use the iGPU and the dGPU with DRI_PRIME=1. Didn't test Steam yet, but Minecraft has more FPS and shows the correct GPU Also the temps of the selected GPU are rising. So all in all it was a BIOS setting

            The last question is: can I disable the dGPU manually from the running OS?
            The vgaswitcher returns:
            sudo echo DIS > /sys/kernel/debug/vgaswitcheroo/switch
            bash: /sys/kernel/debug/vgaswitcheroo/switch: Keine Berechtigung
            which means "no access rights" in german.

            Any other Ideas? The idling dGPU has 56°C (it's summer....) so it's unnecessary heat in my notebook.

            (Other distros like arch or manjaro don't install properly in my setup. Ubuntu manages to use one partition, writing a working EFI GRUB entry and not messing my previous installations... But Ubuntu is fine, it was my first attempt anyways )


            • #26
              Okay, I don't get it I don't know what to enter to disable the GPU during runtime.

              For me ubuntu is fine ^^ As long as I don't have a spare drive left that can be formatted completely, ubuntu is the only distro that managed to install properly. And that is okay. I can surf, I can use all programs, I can game with the iGPU and dGPU, I can watch [email protected] videos... So that's all of my usecases. The only thing is energy saving. But hey, I deactivated it in BIOS. If it doesn't work, that's fine then.

              Thank you all for the hints!


              • #27
                Okay, I was missing
                sudo su
                . With
                echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
                my dGPU sensor goes mad and shows 511 and all other temps go down. I guess this is the best I can get without enabling BIOS features that Linux can't cope with ^^


                • #28
                  Originally posted by ecth View Post
                  Okay, I was missing
                  sudo su
                  . With
                  echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
                  my dGPU sensor goes mad and shows 511 and all other temps go down. I guess this is the best I can get without enabling BIOS features that Linux can't cope with ^^
                  The sensors are not valid when the GPU is powered off. All reads from the powered off chip return all ones. There used to be a check to return an error when the dGPU was powered off but maybe that broke at some point.