Announcement

Collapse
No announcement yet.

Hybrid ATI/ATI - Intel/ATI solution: small switcheroo how to

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

  • #61
    Originally posted by allbread View Post
    How do I determine then that I have been switched over to the integrated or discrete (using the open source driver) GPU... is there a way to verify that the code is working?
    For nvidia/intel combos, try "glxinfo | grep vendor".

    Comment


    • #62
      I have ATI 790GX (3300 onboard) and HD6850 ATI card on my "Desktop"
      HD6850 open source drivers is not ready now but it will come in months, my question is for situation after open source driver comes to 6850...

      I wonder that If I could use this hack to disable unused card for power saving purposes?

      Will Current state of hack work on discrete GPUs on Desktop? Or I needed to connect another connector to Monitor? (My monitor has 2 input, could use one VGA for 3300 and DVI for 6850 and could switch between them)

      Also wonder that If I could use 6850 for just accelerate 3300? I wanted to make 6850 disabled most of the time. Is this hack redirects rendering to 6850 and copy results to 3300's frame buffer? Or is it easy to implement such a thing?

      Thanks.

      Comment


      • #63
        I believe the current code is intended for hybrid graphics systems which use video switches to connect either the discrete or integrated GPU outputs to the display.

        I don't think anyone has written code to redirect acceleration to the discrete GPU then blit the resulting frames back to the IGP's frame buffer, so in the meantime you would need to switch your display between the two outputs manually.

        Comment


        • #64
          Originally posted by bridgman View Post
          I believe the current code is intended for hybrid graphics systems which use video switches to connect either the discrete or integrated GPU outputs to the display.

          I don't think anyone has written code to redirect acceleration to the discrete GPU then blit the resulting frames back to the IGP's frame buffer, so in the meantime you would need to switch your display between the two outputs manually.
          Oh I've written it, its just hella lot of work to make work properly ;-)

          search for airlied PRIME.

          Dave.

          Comment


          • #65
            D'oh !!

            Sorry about that

            Comment


            • #66
              If you are lucky you can disable it in bios.

              Comment


              • #67
                Thanks for the information. And Airlied to works on PRIME architecture.

                Not lucky, my MB, bios can't show even BIOS screen on integrated graphics too. Can't set onboard GPU as primary...(Using old bios to enable 4.th CPU core)

                Anyway, I can use manual switching with current code (after Northern Islands 3D acceleration arrives). As Airlied says at his blog, X doesn't allow driver without screen, so PRIME is not yet in usable stage. What about Wayland? Does its architecture allows such a thing or it looks like to support it near future? Its good to have open sourced hybrid-crossfire like solutions. (Really don't know the "diff -ruN X11 Wayland")

                Comment


                • #68
                  For hardcore users you could try dsdt editing which seems to be a sport for osx users on normal pcs

                  Comment


                  • #69
                    On my Thinkpad W500 (with Linux Mint 10) I've run through the "switcheroo" installation procedure and currently see the following:

                    When selecting "Discrete(*)"
                    allbread@Tomato ~ $ glxinfo | grep vendor
                    server glx vendor string: SGI
                    client glx vendor string: Mesa Project and SGI
                    OpenGL vendor string: Advanced Micro Devices, Inc.

                    When selecting "Integrated(*)"
                    allbread@Tomato ~/Desktop $ glxinfo | grep vendor
                    server glx vendor string: SGI
                    client glx vendor string: Mesa Project and SGI
                    OpenGL vendor string: Tungsten Graphics, Inc

                    This looks promising... is this the expected (correct) behavior?

                    Since installing switcheroo I seem to have run into a problem - i.e. my system hangs whenever I attempt to logout/restart/shutdown manually from the desktop... however oddly enough the reboot via the switcheroo code (or from applications such as UNetBootin) seems to work just fine. I'm not 100% sure this is attributable to the hybrid switcheroo but it does seem like an odd coincidence... any ideas?

                    Also, assuming the switcheroo functionality is running as intended, is there a way to get it to load the proprietary ATI drivers (instead of the open source drivers)?

                    Is there be a way for me to modify the script to detect if I'm running on battery vs AC power (and adjust my GPU to integrated or discrete respectively) on boot?

                    Comment


                    • #70
                      X segfaults...

                      Sorry for digging out that thread...

                      I'm trying to get vga_switcheroo working on my notebook (Debian testing+unstable installed)with:

                      Code:
                      lspci | grep VGA
                      01:05.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RS880M [Mobility Radeon HD 4200 Series]
                      02:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Whistler [AMD Radeon HD 6600M Series] (rev ff)
                      VGA switcheroo is configured:
                      Code:
                      cat /sys/kernel/debug/vgaswitcheroo/switch 
                      0:IGD:+:Pwr:0000:01:05.0
                      1:DIS: :Pwr:0000:02:00.0
                      I'm trying to do this:

                      Code:
                      echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch
                      After that I'm restaring X, but getting just a black screen, then I entering root and root's password, and then reboot.

                      Well, here is my Xorg.0.log (from default IGD-session): http://pastebin.com/urC2jd2L.
                      And here is my Xorg.0.log.old (from trying to switch to DIS session): http://pastebin.com/gs3kUQQC.

                      Is it my fault or a bug in X/radeon/kernel? What you, guys, can advise me?

                      Comment


                      • #71
                        Originally posted by dogsleg View Post
                        Is it my fault or a bug in X/radeon/kernel? What you, guys, can advise me?
                        You have a muxless systems (i.e., the laptop panel is only attached to the integrated GPU). The panel is not attached to the discrete card so there is no way to switch. To properly support muxless systems the X server needs significant architectural changes to decouple rendering and display (basically both GPUs are active and the discrete card renders into a buffer that is shared with the integrated card. The integrated card then composites that buffer with the rest of the desktop when it updates the screen. There is some work going on to support this, but it's not ready yet.

                        Comment


                        • #72
                          Originally posted by agd5f View Post
                          You have a muxless systems (i.e., the laptop panel is only attached to the integrated GPU). The panel is not attached to the discrete card so there is no way to switch. To properly support muxless systems the X server needs significant architectural changes to decouple rendering and display (basically both GPUs are active and the discrete card renders into a buffer that is shared with the integrated card. The integrated card then composites that buffer with the rest of the desktop when it updates the screen. There is some work going on to support this, but it's not ready yet.
                          Well, I can switch between integrated and discrete cards when using fglrx (beginning from 11.8 version till up-to-date). So fglrx doesn't depend on X server architecture for switching? Is it contains some bypass that allows to support muxless systems?

                          Comment


                          • #73
                            Originally posted by dogsleg View Post
                            Well, I can switch between integrated and discrete cards when using fglrx (beginning from 11.8 version till up-to-date). So fglrx doesn't depend on X server architecture for switching? Is it contains some bypass that allows to support muxless systems?
                            fglrx handles it internally. It's a hack to workaround the limitations of the xserver. The open driver could do it internally as well, but time would be better spent on doing it right, plus it solves a lot of other problems (hotplug of USB displays, etc.).

                            Comment


                            • #74
                              Originally posted by agd5f View Post
                              fglrx handles it internally. It's a hack to workaround the limitations of the xserver. The open driver could do it internally as well, but time would be better spent on doing it right, plus it solves a lot of other problems (hotplug of USB displays, etc.).
                              Thanks for your answers!

                              Hope that with going X.Org GPU hot-plugging into mainline the support for muxless cards is a very near thing. Muxless support is a business not only for AMD, yep. May be there is some info on the progress to handle it?

                              Comment

                              Working...
                              X