← Back to team overview

kernel-packages team mailing list archive

[Bug 1077675] Re: ON to vgaswitcheroo/switch causes Mux to switch to ATI

 

Kevin M, could you please test the latest upstream kernel available following https://wiki.ubuntu.com/KernelMainlineBuilds ? It will allow additional upstream developers to examine the issue. Please do not test the daily folder, but the one all the way at the bottom. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this bug is fixed in the mainline kernel, please add the following tags:
kernel-fixed-upstream
kernel-fixed-upstream-VERSION-NUMBER

where VERSION-NUMBER is the version number of the kernel you tested. For example:
kernel-fixed-upstream-v3.11-rc4

This can be done by clicking on the yellow circle with a black pencil icon next to the word Tags located at the bottom of the bug description. As well, please remove the tag:
needs-upstream-testing

If the mainline kernel does not fix this bug, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-VERSION-NUMBER

As well, please remove the tag:
needs-upstream-testing

If you are unable to test the mainline kernel, please comment as to why specifically you were unable to test it and add the following tags:
kernel-unable-to-test-upstream
kernel-unable-to-test-upstream-VERSION-NUMBER

Once testing of the upstream kernel is complete, please mark this bug's
Status as Confirmed. Please let us know your results. Thank you for your
understanding.

** Description changed:

- Hello everybody,
- 
- since this i my first bug report I'd be happy for any information which
- can help to improve this report :)
- 
- The problem is reproducible on my ACER 3820 Notebook. 
- switching the GPU via 
- # echo "DDIS" > /sys/kernel/debug/vgaswicheroo 
- and
- # echo "DIGD" > /sys/kernel/debug/vgaswicheroo 
- works fine as root user. After the next restart the active GPU is the chosen one (marked in VGA switcheroo with a + and shown by glxinfo | grep vendor).
- 
- When i stop lightdm and thus the Xwindow system i can also use 
- # echo "DIS" > /sys/kernel/debug/vgaswicheroo 
- and
- # echo "IGD" > /sys/kernel/debug/vgaswicheroo 
- from the shell and the GPU is changed directly and everything works fine.
- 
- However, as soon as I switch the ATI (DIS) off, I start running into problems.
- The moment I issue the command:
- # echo "ON" > /sys/kernel/debug/vgaswicheroo 
- the screen goes black. It doesnt matter if X is active or not. The system is not crashing, but only not displaying anything any more.
- When I use the echo ON command in a script and use cat /sys/kernel/debug/vgaswitcheroo before and after the the echo ON, I can see that the discrete card changes state from Off to Pwr. The "+" still marks the IGD.
- 
- On the X-window system I could not really find a way to recover and had to reisub.
- On the console however (lightdm stopped) I could type echo "DIS" > /sys/kernel/debug/vgaswicheroo and the screen came back.
- Note that echo "IGD" > /sys/kernel/debug/vgaswicheroo does not work (since vgaswicheroo seems to think that the integrated card is already connected to the screen and does nothing).
- 
- I can see the same effect when having the discrete card deactivated
- (Off) and using DIGD under X. I assume that is uses the same routine as
- ON, thus causing the same problem. Once I restart X again, (blindly
- using sysreq+K) the display comes back with the discrete card  in use.
- 
- Please note that switching having the dicrete card active (and
- connected) and the internal one switched off (power off) does not result
- in problems. One can use ON and DIGD and there is no problem.
- 
- I now assume that in this particular notebook powering up the ATI card
- does change the mux(es) to this card. However, the switcheroo
- program/module/whatever does not notice this change and thus cannot be
- recovered without switching the gpu.
- 
- Unfortunately this also effects my ability to use standby since (for
- whatever reason) one has to switch the discrete card on before going
- into sleep (either via a sleep.d or a rc0.d script).
- 
- 
- I downloaded the current mainline kernel (linux-headers-3.6.3-030603-generic_3.6.3-030603.201210211349_amd64.deb) but this does not even recognize the right drivers. It just uses the MESA driver.
- 
- My suggestion for a fix is to either set the muxes to the currently
- active card right after switching the inactive one to ON.
- 
- Thats all for now from my side.
- 
- Bye
+ The problem is reproducible on my ACER 3820 Notebook. switching the GPU via:
+ # echo "DDIS" > /sys/kernel/debug/vgaswicheroo
+ and:
+ # echo "DIGD" > /sys/kernel/debug/vgaswicheroo
+ works fine as root user. After the next restart the active GPU is the chosen one (marked in VGA switcheroo with a + and shown by glxinfo | grep vendor). When i stop lightdm and thus the Xwindow system i can also use:
+ # echo "DIS" > /sys/kernel/debug/vgaswicheroo
+ and:
+ # echo "IGD" > /sys/kernel/debug/vgaswicheroo
+ from the shell and the GPU is changed directly and everything works fine. However, as soon as I switch the ATI (DIS) off, I start running into problems. The moment I issue the command:
+ # echo "ON" > /sys/kernel/debug/vgaswicheroo
+ the screen goes black. It doesnt matter if X is active or not. The system is not crashing, but only not displaying anything any more. When I use the echo ON command in a script and use cat /sys/kernel/debug/vgaswitcheroo before and after the the echo ON, I can see that the discrete card changes state from Off to Pwr. The "+" still marks the IGD. On the X-window system I could not really find a way to recover and had to reisub.
+ On the console however (lightdm stopped) I could type echo "DIS" > /sys/kernel/debug/vgaswicheroo and the screen came back. Note that echo "IGD" > /sys/kernel/debug/vgaswicheroo does not work (since vgaswicheroo seems to think that the integrated card is already connected to the screen and does nothing). I can see the same effect when having the discrete card deactivated (Off) and using DIGD under X. I assume that is uses the same routine as ON, thus causing the same problem. Once I restart X again, (blindly using sysreq+K) the display comes back with the discrete card  in use. Please note that switching having the dicrete card active (and connected) and the internal one switched off (power off) does not result in problems. One can use ON and DIGD and there is no problem. I now assume that in this particular notebook powering up the ATI card does change the mux(es) to this card. However, the switcheroo program/module/whatever does not notice this change and thus cannot be recovered without switching the gpu. Unfortunately this also effects my ability to use standby since (for whatever reason) one has to switch the discrete card on before going into sleep (either via a sleep.d or a rc0.d script). My suggestion for a fix is to either set the muxes to the currently active card right after switching the inactive one to ON.
  
  ProblemType: Bug
  DistroRelease: Ubuntu 12.10
  Package: linux-image-3.5.0-18-generic 3.5.0-18.29
  ProcVersionSignature: Ubuntu 3.5.0-18.29-generic 3.5.7
  Uname: Linux 3.5.0-18-generic x86_64
  NonfreeKernelModules: wl
  ApportVersion: 2.6.1-0ubuntu6
  Architecture: amd64
  AudioDevicesInUse:
-  USER        PID ACCESS COMMAND
-  /dev/snd/controlC1:  sumpfmensch   3041 F.... pulseaudio
-  /dev/snd/controlC0:  sumpfmensch   3041 F.... pulseaudio
+  USER        PID ACCESS COMMAND
+  /dev/snd/controlC1:  sumpfmensch   3041 F.... pulseaudio
+  /dev/snd/controlC0:  sumpfmensch   3041 F.... pulseaudio
  CRDA: Error: command ['iw', 'reg', 'get'] failed with exit code 1: nl80211 not found.
  Date: Sun Nov 11 18:00:21 2012
  EcryptfsInUse: Yes
  HibernationDevice: RESUME=UUID=ec5da51a-4745-4e26-98ae-d80f0ad6a1ef
  InstallationDate: Installed on 2012-11-09 (2 days ago)
  InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Release amd64 (20121017.5)
  MachineType: Acer Aspire 3820
  MarkForUpload: True
  ProcFB:
-  0 radeondrmfb
-  1 inteldrmfb
+  0 radeondrmfb
+  1 inteldrmfb
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.5.0-18-generic root=UUID=f564200f-27de-43a6-94dd-e7b3c76f9b9f ro quiet splash vt.handoff=7
  PulseList:
-  Error: command ['pacmd', 'list'] failed with exit code 1: Home directory /home/sumpfmensch not ours.
-  No PulseAudio daemon running, or not running as session daemon.
+  Error: command ['pacmd', 'list'] failed with exit code 1: Home directory /home/sumpfmensch not ours.
+  No PulseAudio daemon running, or not running as session daemon.
  RelatedPackageVersions:
-  linux-restricted-modules-3.5.0-18-generic N/A
-  linux-backports-modules-3.5.0-18-generic  N/A
-  linux-firmware                            1.95
+  linux-restricted-modules-3.5.0-18-generic N/A
+  linux-backports-modules-3.5.0-18-generic  N/A
+  linux-firmware                            1.95
  SourcePackage: linux
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 10/27/2010
  dmi.bios.vendor: Phoenix Technologies LTD
  dmi.bios.version: V1.19
  dmi.board.asset.tag: No Asset Tag
  dmi.board.name: JM31_CP
  dmi.board.vendor: Acer
  dmi.board.version: V1.19
  dmi.chassis.asset.tag: No Asset Tag
  dmi.chassis.type: 10
  dmi.chassis.vendor: Acer
  dmi.chassis.version: V1.19
  dmi.modalias: dmi:bvnPhoenixTechnologiesLTD:bvrV1.19:bd10/27/2010:svnAcer:pnAspire3820:pvrV1.19:rvnAcer:rnJM31_CP:rvrV1.19:cvnAcer:ct10:cvrV1.19:
  dmi.product.name: Aspire 3820
  dmi.product.version: V1.19
  dmi.sys.vendor: Acer

** Tags added: latest-bios-v1.19 needs-upstream-testing regression-
potential

** Description changed:

  The problem is reproducible on my ACER 3820 Notebook. switching the GPU via:
  # echo "DDIS" > /sys/kernel/debug/vgaswicheroo
  and:
  # echo "DIGD" > /sys/kernel/debug/vgaswicheroo
  works fine as root user. After the next restart the active GPU is the chosen one (marked in VGA switcheroo with a + and shown by glxinfo | grep vendor). When i stop lightdm and thus the Xwindow system i can also use:
  # echo "DIS" > /sys/kernel/debug/vgaswicheroo
  and:
  # echo "IGD" > /sys/kernel/debug/vgaswicheroo
  from the shell and the GPU is changed directly and everything works fine. However, as soon as I switch the ATI (DIS) off, I start running into problems. The moment I issue the command:
  # echo "ON" > /sys/kernel/debug/vgaswicheroo
  the screen goes black. It doesnt matter if X is active or not. The system is not crashing, but only not displaying anything any more. When I use the echo ON command in a script and use cat /sys/kernel/debug/vgaswitcheroo before and after the the echo ON, I can see that the discrete card changes state from Off to Pwr. The "+" still marks the IGD. On the X-window system I could not really find a way to recover and had to reisub.
  On the console however (lightdm stopped) I could type echo "DIS" > /sys/kernel/debug/vgaswicheroo and the screen came back. Note that echo "IGD" > /sys/kernel/debug/vgaswicheroo does not work (since vgaswicheroo seems to think that the integrated card is already connected to the screen and does nothing). I can see the same effect when having the discrete card deactivated (Off) and using DIGD under X. I assume that is uses the same routine as ON, thus causing the same problem. Once I restart X again, (blindly using sysreq+K) the display comes back with the discrete card  in use. Please note that switching having the dicrete card active (and connected) and the internal one switched off (power off) does not result in problems. One can use ON and DIGD and there is no problem. I now assume that in this particular notebook powering up the ATI card does change the mux(es) to this card. However, the switcheroo program/module/whatever does not notice this change and thus cannot be recovered without switching the gpu. Unfortunately this also effects my ability to use standby since (for whatever reason) one has to switch the discrete card on before going into sleep (either via a sleep.d or a rc0.d script). My suggestion for a fix is to either set the muxes to the currently active card right after switching the inactive one to ON.
+ 
+ WORKAROUND: WORKAROUND: /usr/lib/pm-utils/sleep.d/95switcheroo/sleep.d :
+ #!/bin/sh
+ [ -f /sys/kernel/debug/vgaswitcheroo/switch ] || exit $NA
+ case "$1" in
+         hibernate|suspend)
+                 echo ON > /sys/kernel/debug/vgaswitcheroo/switch
+                 if grep -c 'IGD:+:Pwr' /sys/kernel/debug/vgaswitcheroo/switch
+                 then
+                     echo MIGD > /sys/kernel/debug/vgaswitcheroo/switch
+                 fi
+                 ;;
+         thaw|resume)
+                 echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
+                 ;;
+         *) exit $NA
+                 ;;
+ esac
+ 
+ add:
+ echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
+ 
+ to /etc/rc.local
  
  ProblemType: Bug
  DistroRelease: Ubuntu 12.10
  Package: linux-image-3.5.0-18-generic 3.5.0-18.29
  ProcVersionSignature: Ubuntu 3.5.0-18.29-generic 3.5.7
  Uname: Linux 3.5.0-18-generic x86_64
  NonfreeKernelModules: wl
  ApportVersion: 2.6.1-0ubuntu6
  Architecture: amd64
  AudioDevicesInUse:
   USER        PID ACCESS COMMAND
   /dev/snd/controlC1:  sumpfmensch   3041 F.... pulseaudio
   /dev/snd/controlC0:  sumpfmensch   3041 F.... pulseaudio
  CRDA: Error: command ['iw', 'reg', 'get'] failed with exit code 1: nl80211 not found.
  Date: Sun Nov 11 18:00:21 2012
  EcryptfsInUse: Yes
  HibernationDevice: RESUME=UUID=ec5da51a-4745-4e26-98ae-d80f0ad6a1ef
  InstallationDate: Installed on 2012-11-09 (2 days ago)
  InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Release amd64 (20121017.5)
  MachineType: Acer Aspire 3820
  MarkForUpload: True
  ProcFB:
   0 radeondrmfb
   1 inteldrmfb
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.5.0-18-generic root=UUID=f564200f-27de-43a6-94dd-e7b3c76f9b9f ro quiet splash vt.handoff=7
  PulseList:
   Error: command ['pacmd', 'list'] failed with exit code 1: Home directory /home/sumpfmensch not ours.
   No PulseAudio daemon running, or not running as session daemon.
  RelatedPackageVersions:
   linux-restricted-modules-3.5.0-18-generic N/A
   linux-backports-modules-3.5.0-18-generic  N/A
   linux-firmware                            1.95
  SourcePackage: linux
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 10/27/2010
  dmi.bios.vendor: Phoenix Technologies LTD
  dmi.bios.version: V1.19
  dmi.board.asset.tag: No Asset Tag
  dmi.board.name: JM31_CP
  dmi.board.vendor: Acer
  dmi.board.version: V1.19
  dmi.chassis.asset.tag: No Asset Tag
  dmi.chassis.type: 10
  dmi.chassis.vendor: Acer
  dmi.chassis.version: V1.19
  dmi.modalias: dmi:bvnPhoenixTechnologiesLTD:bvrV1.19:bd10/27/2010:svnAcer:pnAspire3820:pvrV1.19:rvnAcer:rnJM31_CP:rvrV1.19:cvnAcer:ct10:cvrV1.19:
  dmi.product.name: Aspire 3820
  dmi.product.version: V1.19
  dmi.sys.vendor: Acer

** Changed in: linux (Ubuntu)
       Status: Confirmed => Incomplete

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1077675

Title:
  ON to vgaswitcheroo/switch causes Mux to switch to ATI

Status in “linux” package in Ubuntu:
  Incomplete

Bug description:
  The problem is reproducible on my ACER 3820 Notebook. switching the GPU via:
  # echo "DDIS" > /sys/kernel/debug/vgaswicheroo
  and:
  # echo "DIGD" > /sys/kernel/debug/vgaswicheroo
  works fine as root user. After the next restart the active GPU is the chosen one (marked in VGA switcheroo with a + and shown by glxinfo | grep vendor). When i stop lightdm and thus the Xwindow system i can also use:
  # echo "DIS" > /sys/kernel/debug/vgaswicheroo
  and:
  # echo "IGD" > /sys/kernel/debug/vgaswicheroo
  from the shell and the GPU is changed directly and everything works fine. However, as soon as I switch the ATI (DIS) off, I start running into problems. The moment I issue the command:
  # echo "ON" > /sys/kernel/debug/vgaswicheroo
  the screen goes black. It doesnt matter if X is active or not. The system is not crashing, but only not displaying anything any more. When I use the echo ON command in a script and use cat /sys/kernel/debug/vgaswitcheroo before and after the the echo ON, I can see that the discrete card changes state from Off to Pwr. The "+" still marks the IGD. On the X-window system I could not really find a way to recover and had to reisub.
  On the console however (lightdm stopped) I could type echo "DIS" > /sys/kernel/debug/vgaswicheroo and the screen came back. Note that echo "IGD" > /sys/kernel/debug/vgaswicheroo does not work (since vgaswicheroo seems to think that the integrated card is already connected to the screen and does nothing). I can see the same effect when having the discrete card deactivated (Off) and using DIGD under X. I assume that is uses the same routine as ON, thus causing the same problem. Once I restart X again, (blindly using sysreq+K) the display comes back with the discrete card  in use. Please note that switching having the dicrete card active (and connected) and the internal one switched off (power off) does not result in problems. One can use ON and DIGD and there is no problem. I now assume that in this particular notebook powering up the ATI card does change the mux(es) to this card. However, the switcheroo program/module/whatever does not notice this change and thus cannot be recovered without switching the gpu. Unfortunately this also effects my ability to use standby since (for whatever reason) one has to switch the discrete card on before going into sleep (either via a sleep.d or a rc0.d script). My suggestion for a fix is to either set the muxes to the currently active card right after switching the inactive one to ON.

  WORKAROUND: WORKAROUND: /usr/lib/pm-utils/sleep.d/95switcheroo/sleep.d :
  #!/bin/sh
  [ -f /sys/kernel/debug/vgaswitcheroo/switch ] || exit $NA
  case "$1" in
          hibernate|suspend)
                  echo ON > /sys/kernel/debug/vgaswitcheroo/switch
                  if grep -c 'IGD:+:Pwr' /sys/kernel/debug/vgaswitcheroo/switch
                  then
                      echo MIGD > /sys/kernel/debug/vgaswitcheroo/switch
                  fi
                  ;;
          thaw|resume)
                  echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
                  ;;
          *) exit $NA
                  ;;
  esac

  add:
  echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

  to /etc/rc.local

  ProblemType: Bug
  DistroRelease: Ubuntu 12.10
  Package: linux-image-3.5.0-18-generic 3.5.0-18.29
  ProcVersionSignature: Ubuntu 3.5.0-18.29-generic 3.5.7
  Uname: Linux 3.5.0-18-generic x86_64
  NonfreeKernelModules: wl
  ApportVersion: 2.6.1-0ubuntu6
  Architecture: amd64
  AudioDevicesInUse:
   USER        PID ACCESS COMMAND
   /dev/snd/controlC1:  sumpfmensch   3041 F.... pulseaudio
   /dev/snd/controlC0:  sumpfmensch   3041 F.... pulseaudio
  CRDA: Error: command ['iw', 'reg', 'get'] failed with exit code 1: nl80211 not found.
  Date: Sun Nov 11 18:00:21 2012
  EcryptfsInUse: Yes
  HibernationDevice: RESUME=UUID=ec5da51a-4745-4e26-98ae-d80f0ad6a1ef
  InstallationDate: Installed on 2012-11-09 (2 days ago)
  InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Release amd64 (20121017.5)
  MachineType: Acer Aspire 3820
  MarkForUpload: True
  ProcFB:
   0 radeondrmfb
   1 inteldrmfb
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.5.0-18-generic root=UUID=f564200f-27de-43a6-94dd-e7b3c76f9b9f ro quiet splash vt.handoff=7
  PulseList:
   Error: command ['pacmd', 'list'] failed with exit code 1: Home directory /home/sumpfmensch not ours.
   No PulseAudio daemon running, or not running as session daemon.
  RelatedPackageVersions:
   linux-restricted-modules-3.5.0-18-generic N/A
   linux-backports-modules-3.5.0-18-generic  N/A
   linux-firmware                            1.95
  SourcePackage: linux
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 10/27/2010
  dmi.bios.vendor: Phoenix Technologies LTD
  dmi.bios.version: V1.19
  dmi.board.asset.tag: No Asset Tag
  dmi.board.name: JM31_CP
  dmi.board.vendor: Acer
  dmi.board.version: V1.19
  dmi.chassis.asset.tag: No Asset Tag
  dmi.chassis.type: 10
  dmi.chassis.vendor: Acer
  dmi.chassis.version: V1.19
  dmi.modalias: dmi:bvnPhoenixTechnologiesLTD:bvrV1.19:bd10/27/2010:svnAcer:pnAspire3820:pvrV1.19:rvnAcer:rnJM31_CP:rvrV1.19:cvnAcer:ct10:cvrV1.19:
  dmi.product.name: Aspire 3820
  dmi.product.version: V1.19
  dmi.sys.vendor: Acer

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1077675/+subscriptions