<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://hybrid-graphics-linux.tuxfamily.org/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://hybrid-graphics-linux.tuxfamily.org/index.php?title=Asus-switcheroo_display-settings&amp;feed=atom&amp;action=history</id>
		<title>Asus-switcheroo display-settings - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://hybrid-graphics-linux.tuxfamily.org/index.php?title=Asus-switcheroo_display-settings&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://hybrid-graphics-linux.tuxfamily.org/index.php?title=Asus-switcheroo_display-settings&amp;action=history"/>
		<updated>2013-05-23T01:07:35Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.16.5</generator>

	<entry>
		<id>http://hybrid-graphics-linux.tuxfamily.org/index.php?title=Asus-switcheroo_display-settings&amp;diff=36&amp;oldid=prev</id>
		<title>87.93.107.172: Inserted display-settings script.</title>
		<link rel="alternate" type="text/html" href="http://hybrid-graphics-linux.tuxfamily.org/index.php?title=Asus-switcheroo_display-settings&amp;diff=36&amp;oldid=prev"/>
				<updated>2011-05-12T09:20:37Z</updated>
		
		<summary type="html">&lt;p&gt;Inserted display-settings script.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides:          display-settings&lt;br /&gt;
# Required-Start:    mountdevsubfs&lt;br /&gt;
# Required-Stop:     &lt;br /&gt;
# Should-Start:      udev&lt;br /&gt;
# Default-Start:     2 3 4 5&lt;br /&gt;
# Default-Stop:      &lt;br /&gt;
# Short-Description: turn off discrete graphics or enable nvidia driver&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
&lt;br /&gt;
PATH=/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin&lt;br /&gt;
&lt;br /&gt;
# vgaswitcheroo location.&lt;br /&gt;
switcheroo=/sys/kernel/debug/vgaswitcheroo/switch&lt;br /&gt;
# Which user has the switcheroo.txt file in their home.&lt;br /&gt;
U=&amp;quot;vermind&amp;quot;&lt;br /&gt;
&lt;br /&gt;
acall () {&lt;br /&gt;
    ins=$( grep acpi_call /proc/modules )&lt;br /&gt;
    if [ -z &amp;quot;$ins&amp;quot; ]; then&lt;br /&gt;
        modprobe acpi_call&lt;br /&gt;
    fi&lt;br /&gt;
    if [ -e &amp;quot;/proc/acpi/call&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;\_SB.PCI0.P0P1.VGA._OFF&amp;quot; &amp;gt; /proc/acpi/call&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
switch() {&lt;br /&gt;
	if [ ! -e &amp;quot;${switcheroo}&amp;quot; ]; then&lt;br /&gt;
		return&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	isIntel=$( cat &amp;quot;${switcheroo}&amp;quot; | grep &amp;quot;IGD:+&amp;quot; )&lt;br /&gt;
	# only switch if not on intel yet&lt;br /&gt;
	if [ &amp;quot;$1&amp;quot; == &amp;quot;intel&amp;quot; -a -z &amp;quot;${isIntel}&amp;quot; ]; then&lt;br /&gt;
		echo &amp;quot;IGD&amp;quot; &amp;gt; &amp;quot;${switcheroo}&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		# either already intel, or nvidia wanted&lt;br /&gt;
		# only switch if not on nvidia (i.e. on intel)&lt;br /&gt;
		if [ &amp;quot;$1&amp;quot; == &amp;quot;nvidia&amp;quot; -a -n &amp;quot;${isIntel}&amp;quot; ]; then&lt;br /&gt;
			echo &amp;quot;DIS&amp;quot; &amp;gt; &amp;quot;${switcheroo}&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
}	&lt;br /&gt;
&lt;br /&gt;
enableintel () {&lt;br /&gt;
    switch &amp;quot;intel&amp;quot;&lt;br /&gt;
    #echo 0 &amp;gt; /sys/bus/pci/devices/0000:01:00.0/enable&lt;br /&gt;
    #echo 1 &amp;gt; /sys/bus/pci/devices/0000:01:00.0/remove&lt;br /&gt;
&lt;br /&gt;
    if [ -e /etc/alternatives/libGL.so.1 ]; then&lt;br /&gt;
	update-alternatives --set libGL.so.1 /usr/lib/nvidia/diversions/libGL.so.1&lt;br /&gt;
	update-alternatives --set ia32-libGL.so.1 /usr/lib32/nvidia/diversions/libGL.so.1&lt;br /&gt;
    else&lt;br /&gt;
        update-alternatives --set gl_conf /usr/lib/mesa/ld.so.conf&lt;br /&gt;
    fi&lt;br /&gt;
    ldconfig&lt;br /&gt;
&lt;br /&gt;
    if [ -e /etc/alternatives/libglx.so ]; then&lt;br /&gt;
	update-alternatives --set libglx.so /usr/lib/nvidia/diversions/libglx.so&lt;br /&gt;
    else&lt;br /&gt;
	isintel=$( readlink /usr/lib/xorg/modules/extensions/libglx.so | grep intel );&lt;br /&gt;
	if [ -z &amp;quot;$isintel&amp;quot; ]; then&lt;br /&gt;
	    ln -sf /usr/lib/xorg/modules/extensions/libglx.so.intel /usr/lib/xorg/modules/extensions/libglx.so&lt;br /&gt;
	fi&lt;br /&gt;
    fi&lt;br /&gt;
    cp /etc/X11/xorg.conf.intel /etc/X11/xorg.conf&lt;br /&gt;
    nvc=$( grep nvidia-current /proc/modules )&lt;br /&gt;
    nvi=$( grep nvidia /proc/modules )&lt;br /&gt;
    if [ -n &amp;quot;$nvc&amp;quot; ]; then&lt;br /&gt;
        rmmod nvidia_current&lt;br /&gt;
    else&lt;br /&gt;
        if [ -n &amp;quot;$nvi&amp;quot; ]; then&lt;br /&gt;
            rmmod nvidia&lt;br /&gt;
        fi&lt;br /&gt;
    fi&lt;br /&gt;
    acall&lt;br /&gt;
    # Full brightness&lt;br /&gt;
    #setpci -s 00:02.0 F4.B=FF&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
enablenvidia () {&lt;br /&gt;
    switch &amp;quot;nvidia&amp;quot;&lt;br /&gt;
    #echo 0 &amp;gt; /sys/bus/pci/devices/0000:01:00.0/remove&lt;br /&gt;
    #echo 1 &amp;gt; /sys/bus/pci/devices/0000:01:00.0/enable&lt;br /&gt;
    if [ -e &amp;quot;/proc/acpi/call&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;\_SB.PCI0.P0P1.VGA._ON&amp;quot; &amp;gt; /proc/acpi/call&lt;br /&gt;
    fi&lt;br /&gt;
    if [ -e /etc/alternatives/libGL.so.1 ]; then&lt;br /&gt;
	update-alternatives --set libGL.so.1 /usr/lib/nvidia/libGL.so.1&lt;br /&gt;
	update-alternatives --set ia32-libGL.so.1 /usr/lib32/nvidia/libGL.so.1&lt;br /&gt;
    else&lt;br /&gt;
        update-alternatives --set gl_conf /usr/lib/nvidia-current/ld.so.conf&lt;br /&gt;
    fi&lt;br /&gt;
    ldconfig&lt;br /&gt;
    if [ -e /etc/alternatives/libglx.so ]; then&lt;br /&gt;
	update-alternatives --set libglx.so /usr/lib/nvidia/libglx.so&lt;br /&gt;
    else&lt;br /&gt;
	if [ -e /usr/lib/xorg/modules/extensions/libglx.so.nvidia ]; then&lt;br /&gt;
            ln -sf /usr/lib/xorg/modules/extensions/libglx.so.nvidia /usr/lib/xorg/modules/extensions/libglx.so&lt;br /&gt;
	fi&lt;br /&gt;
    fi&lt;br /&gt;
    cp /etc/X11/xorg.conf.nvidia /etc/X11/xorg.conf&lt;br /&gt;
    if [ ! -e &amp;quot;/lib/modules/$( uname -r )/updates/dkms/nvidia.ko&amp;quot; -a ! -e &amp;quot;/lib/modules/$( uname -r )/kernel/drivers/video/nvidia.ko&amp;quot; ]; then&lt;br /&gt;
        ln -s nvidia-current.ko &amp;quot;/lib/modules/$( uname -r )/updates/dkms/nvidia.ko&amp;quot;&lt;br /&gt;
        depmod&lt;br /&gt;
        modprobe nvidia&lt;br /&gt;
        modprobe nvidia-current&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stuff () {&lt;br /&gt;
    t=$( lspci | grep VGA | grep -i intel )&lt;br /&gt;
    if [ -z &amp;quot;${t}&amp;quot; ]; then&lt;br /&gt;
        t=$( lspci | grep Display | grep -i intel )&lt;br /&gt;
    fi&lt;br /&gt;
    if [ -n &amp;quot;$t&amp;quot; -a ! -f &amp;quot;/etc/modprobe.d/blacklist-intel.conf&amp;quot; ]; then&lt;br /&gt;
        enableintel&lt;br /&gt;
    else&lt;br /&gt;
        enablenvidia&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
autoenable () {&lt;br /&gt;
    if [ ! -e &amp;quot;${switcheroo}&amp;quot; ]; then&lt;br /&gt;
        stuff&lt;br /&gt;
	return&lt;br /&gt;
    fi&lt;br /&gt;
    t=$( cat /home/${U}/switcheroo.txt )&lt;br /&gt;
    if [ -z &amp;quot;$t&amp;quot; -o &amp;quot;$t&amp;quot; == &amp;quot;intel&amp;quot; ]; then&lt;br /&gt;
        enableintel&lt;br /&gt;
    else&lt;br /&gt;
        enablenvidia&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start|restart|reload|force-reload)&lt;br /&gt;
      autoenable&lt;br /&gt;
      ;;&lt;br /&gt;
  stop)&lt;br /&gt;
     echo &amp;quot;display-settings stopped.&amp;quot;&lt;br /&gt;
     ;;&lt;br /&gt;
  force-nvidia)&lt;br /&gt;
     enablenvidia&lt;br /&gt;
     ;;&lt;br /&gt;
  force-intel)&lt;br /&gt;
     enableintel&lt;br /&gt;
     ;;&lt;br /&gt;
  autodetect)&lt;br /&gt;
     autoenable&lt;br /&gt;
     ;;&lt;br /&gt;
   *)&lt;br /&gt;
     echo &amp;quot;Usage: /etc/init.d/display-settings {start|stop|restart|reload|force-reload}&amp;quot;&lt;br /&gt;
     exit 1&lt;br /&gt;
     ;;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>87.93.107.172</name></author>	</entry>

	</feed>