Asus switcheroo

From Hybridgraphics

(Difference between revisions)
Jump to: navigation, search
(Created page with "https://github.com/awilliam/asus-switcheroo/")
(Added notes on a script-based solution for semi-automatic hybrid graphics switching on asus platforms.)
Line 1: Line 1:
 +
The Asus Switcheroo module can be obtained at:
 +
 +
https://github.com/awilliam/asus-switcheroo/
https://github.com/awilliam/asus-switcheroo/
 +
 +
 +
Script-based solution ( by eemil@gmx.com ):
 +
 +
The script-based system includes several files, and allows automatic
 +
switching between intel and nvidia, at least on pre-optimus UL30VT.
 +
 +
Here is how it works:
 +
# User writes either "intel" or "nvidia" to /home/user/switcheroo.txt.
 +
# Script detects this and waits for the user to log out (detected as
 +
user's gnome-session not running)
 +
# Turns off gdm3 (debian) or gdm (ubuntu).
 +
# Uses the awilliam module (asus-switcheroo) to switch to the desired
 +
card.
 +
# Uses acpi_call to turn off nvidia if required
 +
# Links appropriate version of libglx.so and libGL.so, and xorg.conf so
 +
that X and openGL apps can find them
 +
# Starts gdm again.
 +
 +
Attached:
 +
* my xorg.conf files for both cards.
 +
* display-settings, the script that does one-shot card switching
 +
depending on switcheroo.txt, and runs at boot so that the last selected
 +
card will be used
 +
* graphics-switch.sh, the script that monitors switcheroo.txt and calls
 +
display-settings when no user session is running
 +
* graphics-switch-daemon, the script that starts graphics-switch.sh on
 +
the background at boot
 +
* an example switcheroo.txt.
 +
 +
Hopefully comprehensive installation procedure:
 +
 +
acpi_call:
 +
-In cloned acpi_call git, do
 +
-Compile acpi_call
 +
-sudo cp acpi_call.ko into /lib/modules/$( uname -r )/kernel/drivers/acpi/.
 +
-sudo depmod -a
 +
 +
asus-switcheroo:
 +
* In cloned asus-switcheroo git, do sudo make install-ubuntu
 +
* Make sure that both /etc/modules and /etc/initramfs-tools/modules have the lines:
 +
<nowiki>asus_switcheroo dummy_client=1
 +
i915_jprobe</nowiki>
 +
 +
xorg.conf files:
 +
* IMPORTANT: If your PCI ID's are different, please modify. See lspci for the numbers.
 +
* sudo cp xorg.conf.intel xorg.conf.nvidia /etc/X11/.
 +
 +
 +
To get nice notifications for scheduled switches:
 +
<nowiki>sudo apt-get install notify-osd</nowiki>
 +
 +
Finally, my scripts:
 +
* Make sure that U=your-user-name in the scripts
 +
* Make sure that SESSION=your-session in the scripts (for example gnome-session or startx or ... )
 +
 +
* sudo cp graphics-switch.sh graphics-switch-daemon display-settings /etc/init.d/.
 +
* sudo update-rc.d display-settings defaults
 +
* sudo update-rc.d graphics-switch-daemon defaults
 +
 +
These should run on Ubuntu and Debian,
 +
tested on Linux Mint Debian. Change the user (U=user) to your user.
 +
 +
 +
--
 +
Eemil

Revision as of 09:13, 12 May 2011

The Asus Switcheroo module can be obtained at:


https://github.com/awilliam/asus-switcheroo/


Script-based solution ( by eemil@gmx.com ):

The script-based system includes several files, and allows automatic switching between intel and nvidia, at least on pre-optimus UL30VT.

Here is how it works:

  1. User writes either "intel" or "nvidia" to /home/user/switcheroo.txt.
  2. Script detects this and waits for the user to log out (detected as

user's gnome-session not running)

  1. Turns off gdm3 (debian) or gdm (ubuntu).
  2. Uses the awilliam module (asus-switcheroo) to switch to the desired

card.

  1. Uses acpi_call to turn off nvidia if required
  2. Links appropriate version of libglx.so and libGL.so, and xorg.conf so

that X and openGL apps can find them

  1. Starts gdm again.

Attached:

  • my xorg.conf files for both cards.
  • display-settings, the script that does one-shot card switching

depending on switcheroo.txt, and runs at boot so that the last selected card will be used

  • graphics-switch.sh, the script that monitors switcheroo.txt and calls

display-settings when no user session is running

  • graphics-switch-daemon, the script that starts graphics-switch.sh on

the background at boot

  • an example switcheroo.txt.

Hopefully comprehensive installation procedure:

acpi_call: -In cloned acpi_call git, do -Compile acpi_call -sudo cp acpi_call.ko into /lib/modules/$( uname -r )/kernel/drivers/acpi/. -sudo depmod -a

asus-switcheroo:

  • In cloned asus-switcheroo git, do sudo make install-ubuntu
  • Make sure that both /etc/modules and /etc/initramfs-tools/modules have the lines:

asus_switcheroo dummy_client=1 i915_jprobe

xorg.conf files:

  • IMPORTANT: If your PCI ID's are different, please modify. See lspci for the numbers.
  • sudo cp xorg.conf.intel xorg.conf.nvidia /etc/X11/.


To get nice notifications for scheduled switches: sudo apt-get install notify-osd

Finally, my scripts:

  • Make sure that U=your-user-name in the scripts
  • Make sure that SESSION=your-session in the scripts (for example gnome-session or startx or ... )
  • sudo cp graphics-switch.sh graphics-switch-daemon display-settings /etc/init.d/.
  • sudo update-rc.d display-settings defaults
  • sudo update-rc.d graphics-switch-daemon defaults

These should run on Ubuntu and Debian, tested on Linux Mint Debian. Change the user (U=user) to your user.


-- Eemil

Personal tools