Announcement

Collapse
No announcement yet.

Issues with vgaswitcheroo disappearing?

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

  • Issues with vgaswitcheroo disappearing?

    I have a hybrid laptop -- Intel Ivybridge + AMD 7970M -- and I've been using the latest open source driver stack, keeping up to date with the latest developments. 64bit Arch.

    With 3.13 we're going to have runtime power management, which will be fantastic for battery life. However, I'm running into an issue: whenever I disable my discrete card using `echo OFF > /sys/kernel/debug/vgaswitcheroo/switch` one of two things happens:

    a) I get a ton of error messages in dmesg, looks like CPU locks

    b) I get no errors, but /sys/kernel/debug/vgaswitcheroo disappears

    I noticed this when testing some of the 3.13 changes, that my computer would mostly jus crash with CPU lock errors. I thought it was just an issue with 3.13, but going back to 3.12 I tried manually disabling the discrete card and, while X was running, my system would lockup, or, if X was *not* running, the vgaswitcheroo directory would vanish.

    Has anyone run into this issue before, or maybe know a way of fixing it?

  • #2
    You shouldn't need to mess with vgaswitcheroo in 3.13. The driver automatically powers down the card when not in use.

    Comment


    • #3
      Originally posted by agd5f View Post
      You shouldn't need to mess with vgaswitcheroo in 3.13. The driver automatically powers down the card when not in use.
      The trouble is though, when using 3.13, I'm getting the same behavior -- CPU locks, specifically -- as when I would `echo OFF > /sys/kernel/debug/vgaswitcheroo` , so I'm not sure if I'm doing something wrong or there's some other issue.

      I'll try to see if I can get some of the error output.

      Comment


      • #4
        Can you bisect?

        Comment


        • #5
          Originally posted by agd5f View Post
          Can you bisect?
          I've never done so before, and am not terrible familiar with the process. I did, however, do a little poking and prodding of my own and I found:



          1. It seems to be an issue with xf86-video-ati/intel, which I had assumed

          2. When using latest git builds of either, disabling the discrete card via vgaswitcheroo causes /sys/kernel/debug/vgaswitcheroo to disappear, meaning I can't re-enable it

          3. When using the stable versions from the Arch Linux repos ( https://www.archlinux.org/packages/e...6-video-intel/ && https://www.archlinux.org/packages/e...f86-video-ati/ ) vgaswitcheroo/switch reports the discrete card being OFF. However, once I start X, /sys/kernel/debug/vgaswitcheroo disappears so I cannot re-start the discrete card

          4. When using a recent git build of linux-next + stable intel/ati drivers I can start X successfully but the entire machine then crashes after about a minute with an error "unable to handle paging request", which was just dumped to stdout so I'll need to try to replicate that and capture the error. With this test I am *not* using vgaswitcheroo at all; I assume the crash occurs when the system tries to disable the discrete card



          I'm still digging around with this to see what I can find. I'm *hoping* it's not bad hardware T__T

          Comment


          • #6
            I also noticed these errors printed to stdout (before starting X) when testing on linux-next (with stable intel/ati drivers):

            Code:
            error waiting for ring[6] to become idle
            
            *ERROR* radeon: failed testing IB on ring 5
            I'm working on getting some more definitive error logs, my Linux partition is not the most stable right now.

            Comment


            • #7
              Originally posted by dffx View Post
              I've never done so before, and am not terrible familiar with the process. I did, however, do a little poking and prodding of my own and I found:
              1. It seems to be an issue with xf86-video-ati/intel, which I had assumed
              The ddxes are not really aware of or involved in hybrid graphics. They just send commands to the kernel driver to draw stuff. The problem is mostly likely kernel related.

              Comment


              • #8
                Do you have dpm enabled?

                Does it work with dpm disabled?

                Comment


                • #9
                  Same problem here.
                  My graphics cards:
                  Code:
                   lspci | grep VGA
                  01:05.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RS880M [Mobility Radeon HD 4225/4250]
                  02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Park [Mobility Radeon HD 5430/5450/5470]
                  kernel 3.11 o.k.
                  kernel 3.12 vgaswitcheroo disappears
                  kernel 3.13 freeze 10sec after boot( if run something with discrete card, do not freeze)
                  like
                  Code:
                  DRI_PRIME=1 glxgears

                  Comment


                  • #10
                    Issues with vgaswitcheroo disappearing?

                    Same problem here.
                    My graphics cards:
                    Code:
                     lspci | grep VGA
                    01:05.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RS880M [Mobility Radeon HD 4225/4250]
                    02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Park [Mobility Radeon HD 5430/5450/5470]
                    kernel 3.11: o.k.
                    kernel 3.12: vgaswitcheroo disappears
                    kernel 3.13: freeze 10sec after boot( if run something with discrete card, do not freeze)
                    like
                    Code:
                    DRI_PRIME=1 glxgears
                    kernel 3.13, DPM disabled:freeze again.

                    Comment

                    Working...
                    X