User Tools

Site Tools


laptop_hacks

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
laptop_hacks [2017/08/16 18:59] – [Power Disconnect/Connect events] adminlaptop_hacks [2020/02/08 16:40] – [Power Disconnect/Connect events] admin
Line 1: Line 1:
 =====Laptop Hacks===== =====Laptop Hacks=====
  
-Ho boy, this got difficult really quickly - in 2012 I had everything working on my laptop with the LXDE spin of fedora plus fluxbox. After a quick spurt of travel using all the laptoppy things like conserving battery life, suspend/resume and lid up and down, I left it alone, using it like a desktop on AC power but updating through various fedora's. Quite unbeknownst to me, ''systemd'' came in and the laptoppy stuff got broken - I had to re-discover how to do everything again. Now I know and understand some of it and hopefully recording it here will help me next time.+Ho boy, this got difficult really quickly - in 2011 I had everything working on my laptop (Dell XPS-15 L502X) with the LXDE spin of fedora plus fluxbox. After a quick spurt of travel using all the laptoppy things like conserving battery life, suspend/resume and lid up and down, I left it alone, using it like a desktop on AC power but updating through various fedora's. Quite unbeknownst to me, ''systemd'' came in and the laptoppy stuff got broken - I had to re-discover how to do everything again. Now I know and understand some of it and hopefully recording it here will help me next time.
  
 Maybe it'll help you too - but you will almost certainly need to some make tweaks for your particular setup. Maybe it'll help you too - but you will almost certainly need to some make tweaks for your particular setup.
  
-Why go through all this? Why not just use a full DE like KDE or gnome to take care of it? With KDE the best I could get (without digging just as deep as I have done here) was about 4 hours of battery life. By doing the hard work and understanding what's going on I can get up to 6.5 hours! Not bad.+Why go through all this? Why not just use a full DE like KDE or gnome to take care of it? With KDE the best I could get was about 4 hours of battery life. By doing the hard work and understanding what's going on I can get up to 6.5 hours! Not bad.
  
 ====Who's doing the work?==== ====Who's doing the work?====
Line 46: Line 46:
 These events come through DBus, so I run this in my ''.xsession''. These events come through DBus, so I run this in my ''.xsession''.
  
-  # if there's a battery battery then listen on dbus for a/c connect/disconnect: +  # if there's a battery then listen on dbus for a/c connect/disconnect: 
-  upower -e |grep -q battery && power-monitor &+  upower -e |grep -q battery && 
 +      power-monitor & 
 +      xfce4-power-manager & 
 +  }
  
-Where, ''power-monitor'' is this bit of python which just runs the ''low-power'' script when the power/battery status changes:+Where, ''power-monitor'' is this bit of python which keeps an eye on remaining battery life (and hibernate as it gets low) but also runs the ''low-power'' script when the power/battery status changes:
  
   #!/bin/env python   #!/bin/env python
      
   # needs to run as normal user under X (so that battery-alarm can popup)   # needs to run as normal user under X (so that battery-alarm can popup)
 +  # requires dbus-python
      
   import gobject, os, sys   import gobject, os, sys
Line 218: Line 222:
      
   exit 0   exit 0
 +  
 +To run stuff on 'resume', put this in ''/etc/systemd/system/bhepple-resume.service'':
 +
 +  [Unit]
 +  Description=Run on 'resume'
 +  After=suspend.target
 +  
 +  [Service]
 +  User=root
 +  Type=oneshot
 +  ExecStart=/sbin/hdparm -y /dev/sda # puts aux disc into standby - should test that it's not '/' !!
 +  
 +  [Install]
 +  WantedBy=suspend.target
 +
 +and run ''systemctl enable bhepple-resume.service''
 +
 +brightness is this:
 +
 +  #!/bin/bash
 +  
 +  # since xbacklight isn't working (nouveau?)
 +  # https://bbs.archlinux.org/viewtopic.php?id=134972 and modified:
 +  
 +  # needs to be run as root
 +  
 +  NEW_VALUE=${1:-0}
 +  
 +  # base dir for backlight class
 +  basedir="/sys/class/backlight/"
 +  
 +  # get the backlight handler
 +  handler=$basedir$(ls $basedir |head -n 1)"/"
 +  
 +  # get current brightness
 +  old_brightness=$(cat $handler"brightness")
 +  
 +  # get max brightness
 +  max_brightness=$(cat $handler"max_brightness")
 +  
 +  # get current brightness %
 +  old_brightness_p=$(( 100 * $old_brightness / $max_brightness ))
 +  
 +  # calculate new brightness %
 +  if [[ $NEW_VALUE == [+-]* ]]; then
 +      new_brightness_p=$(($old_brightness_p + $NEW_VALUE))
 +  else
 +      new_brightness_p=$NEW_VALUE
 +  fi
 +  
 +  # calculate new brightness value
 +  new_brightness=$(( $max_brightness * $new_brightness_p / 100 ))
 +  
 +  (( new_brightness <= max_brightness && new_brightness >= 0 )) && {
 +      # set the new brightness value
 +      echo $new_brightness > $handler"brightness"
 +  }
      
 ====Disable nouveau==== ====Disable nouveau====
laptop_hacks.txt · Last modified: 2020/02/08 16:41 by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki