https://wiki.archlinux.org/api.php?action=feedcontributions&user=Xehoz&feedformat=atomArchWiki - User contributions [en]2024-03-29T14:36:55ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=170639ASUS N82JV2011-11-20T03:05:33Z<p>Xehoz: /* Video */ Bumblebee or how to make actual use of the Nvidia Card. + some reformatting of the section.</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci-hcd<br />
|-<br />
| USB 2.0 || style="color:green" | '''Working''' || ehci-hcd<br />
|-<br />
| eSATA || style="color:orange" | '''Untested''' ||<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|-<br />
| Suspend to RAM || style="color:green" | '''Working''' || <br />
|}<br />
<br />
=Hardware=<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (1000MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech<br />
<br />
=Configuration=<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
==CPU==<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
==Video==<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to switch granted by Nvidia Optimus technology.<br />
===Intel===<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
===Nvidia===<br />
The official proprietary Nvidia drivers for linux do not support Nvidia Optimus yet.<br />
<br />
====Switching / Using Nvidia card====<br />
While it still isn't possible to ''switch'' in the manner that Optimus is supposed to switch, in order to make use of the dedicated graphic card you need to use [[Bumblebee]]. In short, '''it is possible to run a specific program with Nvidia''', while the rest of the system is relying on the Intel card. <br />
<br />
{{Note| Bumblebee's development is rapidly progressing, so be sure to check it's website[https://github.com/MrMEEE/bumblebee] regularly; it's also worth checking Linux Hybrid Graphics blog[http://linux-hybrid-graphics.blogspot.com/] and the mailing list[https://lists.launchpad.net/hybrid-graphics-linux/].}} <br />
<br />
====Disabling the Nvidia card====<br />
There's more than one method to do this. Namely with '''vgaswitcheroo''' (not working reliably yet with these cards) and '''acpi_call (AUR[http://aur.archlinux.org/packages.php?ID=39470])''', which is recommended. <br />
{{Note|If you use the AUR version, the steps are different than the ones below, but they are explained during/after install; the scripts can be easily adapted to the new locations, if necessary}}<br />
<br />
=====acpi_call (manual)=====<br />
In order to switch following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
======Run on Startup======<br />
If you want run it on every startup add these lines to {{Filename|/etc/rc.local}} {{Note|Running this without a delay on Kernel 2.6.35.x has issues (Boots fine but X and tty do not show up; to avoid that, simply add {{Codeline|sleep <time>}} before these lines and remember that sleep affects every line below it. If you mess up or decide to test it, just boot into recovery mode and edit {{Filename|/etc/rc.local}} from cli, to either add the delay or remove the lines altogether}}<br />
<br />
<pre># Disable Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with {{Codeline|grep rate /proc/acpi/battery/BAT0/state}}. There should be a difference of about 7500 mW in battery usage.<br />
<br />
======Enable/Disable Scripts======<br />
You can easily create a couple of scripts to enable and disable it.<br />
<pre><br />
#/bin/sh<br />
# Disable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<pre><br />
#/bin/sh<br />
# Enable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
{{Codeline|chmod +x}} both of them and type {{Codeline|sh <name you've given them>}} to use them.<br />
<br />
==Audio==<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
{{Note|From my experience [[OSS]] doesn't work}}<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
{{Note|Realtek's ALSA drivers, currently 1.0.23-5.15rc5, aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)}}<br />
<br />
2. Add {{Codeline|options snd-hda-intel index<nowiki>=</nowiki>0 model<nowiki>=</nowiki>auto}} to {{Filename|/etc/modprobe.d/modprobe.conf}}.<br />
<br />
Open {{Filename|/etc/modprobe.d/sound.conf}} and add:<br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
===HDMI===<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
==Touchpad==<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type {{Codeline|xinput list |grep pointer}}. What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using an Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, open {{Filename|/etc/X11/xorg.conf.d/10-synaptics.conf}}. A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
{{Note|While I settled with these coordinates, they may require tuning: [[Touchpad_Synaptics#fine-tuning_with_synclient]]}}.<br />
<br />
===Working 10-synaptics.conf===<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
{{File|name=/etc/X11/xorg.conf.d/10-synaptics.conf|content=Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection}}<br />
<br />
==Suspend to RAM==<br />
<br />
{{Note|As far as I can tell, there is a general issue with USB 3.0 and suspending at the kernel level.}}<br />
{{Note|This is section was written in kernel 2.6.36.2-1 and with the packages available on 18th December.}}<br />
<br />
I achieved Suspension to RAM by using pm-utils with either the uswsusp and kernel method.<br />
<br />
1. Follow the [[pm-utils]] article . It is quite extense and can be confusing, but, if I recall, this is the very minimum of what is needed to do:<br />
<br />
1.1 Type {{Codeline|pacman -S pm-utils uswsusp}}<br />
<br />
1.2 To a file inside {{Filename|/etc/pm/config.d/}}, add:<br />
<pre>SLEEP_MODULE="uswsusp"<br />
#SLEEP_MODULE="kernel"<br />
HIBERNATE_MODE="shutdown"</pre><br />
<br />
1.3 Add the {{Codeline|resume}} hook to {{Filename|/etc/mkinitcpio.conf}}, before filesystems.<br />
<pre>HOOKS="base udev autodetect pata scsi sata resume filesystems"</pre><br />
<br />
1.4 Rebuild the initrd image with {{Codeline|mkinitcpio -p linux}}.<br />
<br />
Now, to the hardware specific part.<br />
2. Add <pre>SUSPEND_MODULES="xhci-hcd ehci-hcd"</pre> to {{Filename|/etc/pm/config.d/usb3-suspend-workaround}}.<br />
<br />
After a surge of updates, somewhere on the end of November/start of December (bug report), suspend to ram only works if nouveau is explicitly disabled in rc.conf. Since nouveau isn't related to the ability to power the nvidia card off, powering it off is still possible, even after <br />
disabling that module.<br />
<br />
3. Add {{Codeline|!nouveau}} to the {{Codeline|MODULES}} line in {{Filename|rc.conf}}. It should look like this:<br />
<pre>MODULES=(fuse acpi-cpufreq cpufreq_ondemand cpufreq_powersave !snd-pcm-oss vboxdrv !nouveau)</pre><br />
<br />
=Webcam=<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
=Function Keys=<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad). It should be possible to have them all working by following [[Extra Keyboard Keys]].</div>Xehozhttps://wiki.archlinux.org/index.php?title=Bumblebee&diff=170630Bumblebee2011-11-19T21:18:52Z<p>Xehoz: /* Start Bumblebee Daemon */ typo</p>
<hr />
<div>[[Category:Graphics (English)]]<br />
[[Category:X Server (English)]]<br />
{{i18n|Bumblebee}}<br />
[[fr:Bumblebee]]<br />
<br />
{{Warning|Bumblebee is a work in progress and may not work properly on your machine}}<br />
{{Note|Please report bugs at [https://github.com/Bumblebee-Project/Bumblebee Bumblebee-Project]'s GitHub tracker as described in it's [https://github.com/Bumblebee-Project/Bumblebee/wiki/Reporting-Issues Wiki].}}<br />
''Bumblebee is a solution to Nvidia Optimus hybrid-graphics technology allowing to use the dedicated graphics card for rendering. It was started by Martin Juhl''<br />
<br />
== About Bumblebee ==<br />
<br />
[http://www.nvidia.com/object/optimus_technology.html Optimus Technology] is an ''[http://hybrid-graphics-linux.tuxfamily.org/index.php?title=Hybrid_graphics hybrid graphics]'' implementation without a hardware multiplexer. The integrated GPU manages the display while the dedicated GPU manages the most demanding rendering and ships the work to the integrated GPU to be displayed. When the laptop is running on battery supply, the dedicated GPU is turned off to save power and longer the battery life.<br />
<br />
Bumblebee is a software implementation based on VirtualGL and a kernel driver to be able to use the dedicated GPU, which is not physically connected to the screen.<br />
<br />
=== How it works ===<br />
<br />
Bumblebee tries to mimic the Optimus technology behavior; using the dedicated GPU for rendering when needed and power it down when not in use. The present releases only support rendering on-demand, power-management is a work in progress.<br />
<br />
The Nvidia dedicated card is managed as a separate X server conected to a "fake" screen (the screen is configured but not used). The second server is called using VirtualGL as it where a remote server. That said, you will need a series of steps to set-up the kernel driver, the X server and a daemon.<br />
<br />
== Installation ==<br />
<br />
The AUR package {{Package AUR|bumblebee}} is the stable version and uses Nvidia proprietary driver as default.<br />
<br />
There is also a git version ({{Package AUR|bumblebee-git}}) that is driver-agnostic and can be used to use either Nvidia or Nouveau drivers. It is a checkout of the {{Codeline|develop}} branch of the GitHub repository.<br />
<br />
For running 32-bit applications on a 64-bit system you will need {{Package AUR|lib32-virtualgl}} package along with any other application specific 32-bit library.<br />
<br />
{{Note|If you installed bumblebee from GitHub repository using the installer, please run the uninstaller before installing the AUR package}}<br />
<br />
Versions >= 2.3 work with a daemon to start/stop the X server but will not control the card's power by default (see [[#Power Management]] below)<br />
<br />
=== Using Nvidia Driver ===<br />
<br />
If you installed the git version of bumblebee, you will need additional packages to run it with the Nvidia driver<br />
<br />
* {{Package AUR|nvidia-utils-bumblebee}} contains the Nvidia binaries packaged in a way that will not interfere with the needed {{Package Official|libgl}}<br />
* {{Package AUR|lib32-nvidia-utils-bumblebee}} contains the Nvidia 32-bit binaries packaged in a way that will not interfere with the needed {{Package Official|libgl}}<br />
<br />
=== Using Nouveau Driver ===<br />
<br />
To use the [[Nouveau]] driver you must install the git version of Bumblebee and some additional packages:<br />
<br />
* {{Package Official|xf86-video-nouveau}} experimental 3D acceleration driver<br />
* {{Package Official|nouveau-dri}} Mesa classic DRI + Gallium3D drivers<br />
* {{Package Official|mesa}} Mesa 3-D graphics libraries<br />
<br />
To get them run<br />
{{Cli|# pacman -S xf86-video-nouveau nouveau-dri mesa}}<br />
<br />
== Setup ==<br />
<br />
In order to make Bumblebee functional you will need to configure a second X server, load the desired kernel module and run the bumblebee daemon. Most of these steps are made automatic at installation time.<br />
<br />
=== Load Kernel Module ===<br />
<br />
==== Using Nvidia ====<br />
<br />
In order to run Bumblebee using the proprietary Nvidia kernel module, you need to unload the [[Nouveau]] kernel module first. To do so run in a terminal:<br />
{{Cli|# rmmod nouveau}}<br />
<br />
Add the following line to {{Filename|/etc/modprobe.d/modprobe.conf}} to disable Nouveau module at boot:<br />
{{File|/etc/modprobe.d/modprobe.conf|content=<nowiki>blacklist nouveau</nowiki>}}<br />
<br />
Now load the Nvidia module running:<br />
{{Cli|# modprobe nvidia}}<br />
<br />
If you want nvidia module to be loaded at boot, add the Nvidia module in the {{Codeline|MODULES}} array in your {{Filename|/etc/rc.conf}}:<br />
MODULES=(... nvidia ...)<br />
<br />
==== Nouveau ====<br />
<br />
Make sure you do not have [[Nouveau]] driver blacklisted in any file under {{Filename|/etc/modprobe.d/}}. The Nouveau kernel module is loaded by default.<br />
<br />
=== Setup X Server ===<br />
<br />
The installation should take care of recognize your graphics card and its PCI BusID. If you notice a warning regarding this during installation follow this steps.<br />
<br />
After installation a {{Filename|/etc/bumblebee/xorg.conf.DRIVER}} file is created with the minimal device configuration (where {{Codeline|DRIVER}} can be {{Codeline|nouveau}} or {{Codeline|nvidia}}). In this file you must specify the PCI bus address of the Nvidia card. To get it run in a terminal:<br />
<br />
{{Command|<nowiki>lspci -d10de: -nn | grep '030[02]'</nowiki>|<nowiki>01:00.0 VGA compatible controller [0300]: nVidia Corporation GT218 [GeForce 310M] [10de:0a75] (rev a2)</nowiki>}}<br />
<br />
Take note of the PCI address of the nVidia card (01:00.0 in this case) and edit the line in {{Filename|/etc/bumblebee/xorg.conf.DRIVER}} with the option {{Codeline|BusID}} under the {{Codeline|Device}} section:<br />
<br />
{{File|/etc/bumblebee/xorg.conf.DRIVER|content=<br />
<nowiki><br />
...<br />
Section "Device"<br />
...<br />
BusID "PCI:01:00:0"<br />
...<br />
EndSection<br />
...<br />
</nowiki>}}<br />
<br />
{{Note|You must replace any dots (.) by a colon (:) for X server to understand the BusID}}<br />
<br />
If you are using Nvidia driver look for the "Files" section and check the path to the nvidia xorg module is correct:<br />
{{File|/etc/bumblebee/xorg.conf.nvidia|content=<br />
<nowiki><br />
...<br />
Section "Files"<br />
ModulePath "/usr/lib/nvidia-bumblebee,/usr/lib/xorg/modules"<br />
EndSection<br />
...<br />
</nowiki>}}<br />
<br />
=== Giving permission to use Bumblebee ===<br />
<br />
Permission to use {{Codeline|optirun}} is granted to all members of the 'bumblebee' group, so you must add yourself (and other users whiling to use bumblebee) to that group:<br />
{{Cli|# usermod -a -G bumblebee <user>}}<br />
<br />
where {{Codeline|<user>}} is the login name of the user to be added. Then log off and on again to apply the group changes.<br />
<br />
=== Start Bumblebee Daemon ===<br />
<br />
Bumblebee provides a daemon to start the second X server and manage some privileged functions, to start it simply run:<br />
{{Cli|# rc.d start bumblebee}}<br />
<br />
To be started at boot add it to your {{Codeline|DAEMONS}} array in {{Filename|/etc/rc.conf}}<br />
DAEMONS=(... @bumblebee)<br />
<br />
{{Note|The current handler is distro-agnostic, meaning it will not output in the ArchLinux style and will not be registered under the {{Codeline|rc.d list}}. This is a known issue and is to be solved ([https://github.com/Bumblebee-Project/Bumblebee/issues/17 GH-17]). To show the status of the daemon run <br />
{{Cli|$ bumblebee --status}}}}<br />
<br />
== Test Bumblebee ==<br />
<br />
You can test Bumblebee with this command:<br />
{{Cli|$ optirun glxgears}}<br />
<br />
If it succeeds means you are able of offload render to the Nvidia card.<br />
<br />
{{Note|You will need the {{Package Official|mesa-demos}} package to run {{Codeline|glxgears}}. This is not a benchmarking test, only indicates that the dedicated GPU is rendering.}}<br />
<br />
== Configuration ==<br />
<br />
You may configure some variables in file {{Filename|/etc/bumblebee/bumblebee.conf}}. The defaults are:<br />
<br />
{{File|/etc/bumblebee/bumblebee.conf|content=<br />
<nowiki><br />
STOP_SERVICE_ON_EXIT=N<br />
X_SERVER_TIMEOUT=10<br />
VGL_DISPLAY=:8<br />
DRIVER=nvidia<br />
X_CONFFILE=<br />
BUMBLEBEE_GROUP=bumblebee<br />
ENABLE_POWER_MANAGEMENT=N<br />
VGL_COMPRESS=proxy<br />
ECO_MODE=N<br />
FALLBACK_START=N<br />
</nowiki>}}<br />
<br />
=== Compression and VGL Transport ===<br />
<br />
Compression and transport regards how the frames are compressed in the server side (bumblebee X server), then transported to the client side (main X server) and uncompressed to be displayed in the application window. It mostly will affect performance in the GPU/GPU usage, as the transport is unlimited in bandwidth. Compressed methods (such as {{Codeline|jpeg}}) will load the CPU the most but will load GPU the minimum necessary; uncompressed methods loads the most on GPU and the CPU will have the minimum load possible.<br />
{{Note|CPU frequency scaling will affect directly on render performance}}<br />
<br />
You can try different compression methods adding {{Codeline|-c}} argument to {{Codeline|optirun}} command and test which suits you best:<br />
{{Command|<nowiki>optirun -c <compress-method> /opt/VirtualGL/bin/glxspheres</nowiki>|Bumblebee will transfer frames using: <compress-method>}}<br />
<br />
Where {{Codeline|<compress-method>}} can be {{Codeline|jpeg}}, {{Codeline|xv}}, {{Codeline|proxy}}, {{Codeline|rgb}} or {{Codeline|yuv}}. Then you can replace the one you like in {{Codeline|VGL_COMPRESS}} variable in {{Filename|/etc/bumblebee/bumblebee.conf}} to use it as default.<br />
<br />
{{Note|Uncompressed methods {{Codeline|proxy}} and {{Codeline|xv}} show lower framerates but they perform better in some applications}}<br />
<br />
=== Server Behavior Configuration ===<br />
<br />
There are three variables to control how the server should behave when {{Codeline|optirun}} is called<br />
STOP_SERVICE_ON_EXIT<br />
X_SERVER_TIMEOUT<br />
FALLBACK_START<br />
<br />
The X server will always delay a bit when first called. Then should start in a second or so, if the time of subsequent calls is too high you may set {{Codeline|STOP_SERVICE_ON_EXIT}} to {{Codeline|N}} and the Bumblebee X server will not be stopped when the last {{Codeline|optirun}} is disconnected.<br />
<br />
{{Codeline|X_SERVER_TIMEOUT}} controls how much time the daemon will wait for the X server to be ready. If your X server takes a while to start you may want to increase this setting, otherwise the server start might fail.<br />
<br />
If you want the application to start in the integrated GPU if the X server is not available, set {{Codeline|FALLBACK_START}} to {{Codeline|Y}}. This will print the same message when the server is not available but will not fail to launch the program.<br />
<br />
== Usage ==<br />
<br />
To launch an application using the dedicated graphics card:<br />
{{Cli|$ optirun [options] <application> [application-parameters]}}<br />
<br />
For a list of options for {{Codeline|optirun}} run:<br />
{{Cli|$ optirun --help}}<br />
<br />
If you want to run a 32-bit application on a 64-bit system you may need to install the proper 'lib32' packages.<br />
<br />
== Power Management ==<br />
<br />
{{Warning|This feature has been dropped until a safe and complete solution is found. However a framework to enable the prior ACPI methods is being included in {{Codeline|1=bumblebee>=2.4.0}}. For more information see [https://github.com/Bumblebee-Project/Bumblebee/wiki/ACPI-Removed this]}}<br />
<br />
The goal of power management is to turn the discrete card off when it is not used by any application, and turn it back on when it is needed. Currently the card can be used on-demand and no automatic switching is supported by default.<br />
<br />
=== A little note on why it was removed ===<br />
<br />
Power management has temporary been removed because Bumblebee did the wrong ACPI calls in order to turn the card off and on. This had some side-effects:<br />
<br />
* "FATAL: Error inserting nvidia (.../nvidia.ko): No such device" errors on loading the nvidia module<br />
* Hangs/freezes during booting, shutdown or suspend<br />
* BIOS settings which appears to be modified<br />
* Other operating systems not recognizing the graphics card anymore<br />
<br />
In a future release, power management might be added back again after some research.<br />
<br />
As one of the developers said about the present state of power management under bumblebee:<br />
<br />
'''Lekensteyn'''<br />
<blockquote><br />
Okay, let's assume a building with dirty windows. You'd like to see more sun and therefore asks a worker to hire someone to get that job done. The worker has never learnt how to clean a dirty window properly, but guess that a rock might be the right way to do it. He asks a kid to try cleaning the window with a rock. Now, different things may happen:<br />
# the window gets scratched and it even gets more darky<br />
# the window breaks and the sun can shine<br />
In the first case, it has gotten worse. That's the "Module not found" horror and suspend/lock-up issues. In the second case, you won't guess that something is wrong because you achieved your goal: the sunshine is better. Anyway, the right solution is obviously cleaning the window with a cloth but not before the window is repaired, which is our current task.<br />
</blockquote><br />
<br />
The ACPI call methods are rocks and "you" is you. The kid is just a messenger, the acpi_call module. That worker is the Bumblebee developer team.<br />
<br />
=== Enabling Power Management ===<br />
<br />
Since version 2.4.0 the ACPI framework provided with Bumblebee enables to send method calls through the {{Codeline|acpi_call}} kernel module. You will need the {{Package AUR|acpi_call-git}} package to be able to use it.<br />
<br />
{{Warning|the above problems can still occur, although things were made more secure, unless you are using very bad calls, they should not have major side effects. If you understand all the above and still want to enable Power Management, here is a guide to do so.}}<br />
<br />
First edit {{Filename|/etc/bumblebee/bumblebee.conf}} and set {{Codeline|STOP_SERVICE_ON_EXIT}} to {{Codeline|Y}} so the X server will be stopped when no {{Codeline|optirun}} instance is running.<br />
<br />
{{File|/etc/bumblebee/bumblebee.conf|content=<br />
<nowiki><br />
...<br />
STOP_SERVICE_ON_EXIT=Y<br />
...<br />
</nowiki>}}<br />
<br />
Then you must create two files ({{Filename|/etc/bumblebee/cardon}} and {{Filename|/etc/bumblebee/cardoff}}) containing the calls needed to enable and disable the card. Each line should contain a call, comments are not allowed. Write your calls one per line and nothing else or you will face errors:<br />
<br />
{{File|/etc/bumblebee/cardon|content=<br />
<nowiki><br />
\_SB.PCI0.RP00.VGA._DSM {0x01,0x02} 0x03 0x04 {0x1,0x0,0x0,0x3}<br />
\_SB.PCI0.RP00.VGA._PS0<br />
</nowiki>}}<br />
<br />
{{Note|the file must end in a newline, otherwise the last line is omitted}}<br />
<br />
{{Warning|These calls are just examples and should not be used under any circumstances. They are not expected to work on any device. You may found some calls [[http://hybrid-graphics-linux.tuxfamily.org/index.php?title=ACPI_calls here]] (untested and untrusted).}}<br />
<br />
Finally, enable Power management editing {{Filename|/etc/bumblebee/bumblebee.conf}} configuration file:<br />
<br />
{{File|/etc/bumblebee/bumblebee.conf|content=<br />
<nowiki><br />
...<br />
ENABLE_POWER_MANAGEMENT=Y<br />
...<br />
</nowiki>}}<br />
<br />
You will need to restart the daemon or reboot for changes to be effective.<br />
<br />
== Troubleshooting ==<br />
{{Out of date}}<br />
Try this troubleshooting guide first, if the problem still persist, please report bugs [https://github.com/Bumblebee-Project/Bumblebee here].<br />
<br />
=== VirtualGL cannot open display ===<br />
<br />
If you receive a message like this<br />
[VGL] ERROR: Could not open display :XX<br />
<br />
means the second X server is not running or failed to start. To troubleshoot this you may look {{Filename|/var/log/Xorg.XX.log}} file, where the 'XX' is the number of the display used by bumblebee, also take a look for messages under {{Filename|/var/log/bumblebee.log}}.<br />
<br />
Here are some things you can try and check:<br />
* Check the kernel module loaded for the nvidia card with "lspci -k"<br />
* Check the file {{Filename|/etc/bumblebee/xorg.conf.nvidia}} and make sure the option "BusID" points to the correct PCI port.<br />
* Change the "ConnectedMonitor" option to "DFP-0" or "CRT-0" (or "DFP,CRT"). This must be a valid screen on your laptop different of "LVDS"<br />
* Try setting the option ''X_SERVER_TIMEOUT'' to higher value if the X server starts but takes a long time to become available.<br />
<br />
==See also==<br />
* [https://github.com/Bumblebee-Project/Bumblebee Bumblebee Project repository]</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=166201ASUS N82JV2011-10-16T18:41:16Z<p>Xehoz: /* Touchpad */ necessary to omit a couple of lines in 10-synaptics.conf</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci-hcd<br />
|-<br />
| USB 2.0 || style="color:green" | '''Working''' || ehci-hcd<br />
|-<br />
| eSATA || style="color:orange" | '''Untested''' ||<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|-<br />
| Suspend to RAM || style="color:green" | '''Working''' || <br />
|}<br />
<br />
=Hardware=<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (1000MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech<br />
<br />
=Configuration=<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
==CPU==<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
==Video==<br />
===Intel===<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
===Nvidia===<br />
The official proprietary nvidia drivers for linux do not support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
====Switching graphic cards====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux do not support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change in the near future[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
====Disabling the Nvidia card====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
=====Run on Startup=====<br />
If you want run it on every startup add these lines to {{Filename|/etc/rc.local}} {{Note|Running this without a delay on Kernel 2.6.35.x has issues (Boots fine but X and tty do not show up; to avoid that, simply add {{Codeline|sleep <time>}} before these lines and remember that sleep affects every line below it. If you mess up or decide to test it, just boot into recovery mode and edit {{Filename|/etc/rc.local}} from cli, to either add the delay or remove the lines altogether}}<br />
<br />
<pre># Disable Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with {{Codeline|grep rate /proc/acpi/battery/BAT0/state}}. There should be a difference of about 7500 mW in battery usage.<br />
<br />
=====Enable/Disable Scripts=====<br />
You can easily create a couple of scripts to enable and disable it.<br />
<pre><br />
#/bin/sh<br />
# Disable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<pre><br />
#/bin/sh<br />
# Enable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
{{Codeline|chmod +x}} both of them and type {{Codeline|sh <name you've given them>}} to use them.<br />
<br />
==Audio==<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
{{Note|From my experience [[OSS]] doesn't work}}<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
{{Note|Realtek's ALSA drivers, currently 1.0.23-5.15rc5, aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)}}<br />
<br />
2. Add {{Codeline|options snd-hda-intel index<nowiki>=</nowiki>0 model<nowiki>=</nowiki>auto}} to {{Filename|/etc/modprobe.d/modprobe.conf}}.<br />
<br />
Open {{Filename|/etc/modprobe.d/sound.conf}} and add:<br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
===HDMI===<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
==Touchpad==<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type {{Codeline|xinput list |grep pointer}}. What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using an Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, open {{Filename|/etc/X11/xorg.conf.d/10-synaptics.conf}}. A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
{{Note|While I settled with these coordinates, they may require tuning: [[Touchpad_Synaptics#fine-tuning_with_synclient]]}}.<br />
<br />
===Working 10-synaptics.conf===<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
{{File|name=/etc/X11/xorg.conf.d/10-synaptics.conf|content=Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection}}<br />
<br />
==Suspend to RAM==<br />
<br />
{{Note|As far as I can tell, there is a general issue with USB 3.0 and suspending at the kernel level.}}<br />
{{Note|This is section was written in kernel 2.6.36.2-1 and with the packages available on 18th December.}}<br />
<br />
I achieved Suspension to RAM by using pm-utils with either the uswsusp and kernel method.<br />
<br />
1. Follow the [[pm-utils]] article . It is quite extense and can be confusing, but, if I recall, this is the very minimum of what is needed to do:<br />
<br />
1.1 Type {{Codeline|pacman -S pm-utils uswsusp}}<br />
<br />
1.2 To a file inside {{Filename|/etc/pm/config.d/}}, add:<br />
<pre>SLEEP_MODULE="uswsusp"<br />
#SLEEP_MODULE="kernel"<br />
HIBERNATE_MODE="shutdown"</pre><br />
<br />
1.3 Add the {{Codeline|resume}} hook to {{Filename|/etc/mkinitcpio.conf}}, before filesystems.<br />
<pre>HOOKS="base udev autodetect pata scsi sata resume filesystems"</pre><br />
<br />
1.4 Rebuild the initrd image with {{Codeline|mkinitcpio -p linux}}.<br />
<br />
Now, to the hardware specific part.<br />
2. Add <pre>SUSPEND_MODULES="xhci-hcd ehci-hcd"</pre> to {{Filename|/etc/pm/config.d/usb3-suspend-workaround}}.<br />
<br />
After a surge of updates, somewhere on the end of November/start of December (bug report), suspend to ram only works if nouveau is explicitly disabled in rc.conf. Since nouveau isn't related to the ability to power the nvidia card off, powering it off is still possible, even after <br />
disabling that module.<br />
<br />
3. Add {{Codeline|!nouveau}} to the {{Codeline|MODULES}} line in {{Filename|rc.conf}}. It should look like this:<br />
<pre>MODULES=(fuse acpi-cpufreq cpufreq_ondemand cpufreq_powersave !snd-pcm-oss vboxdrv !nouveau)</pre><br />
<br />
=Webcam=<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
=Function Keys=<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad). It should be possible to have them all working by following [[Extra Keyboard Keys]].</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=140358ASUS N82JV2011-05-08T02:13:43Z<p>Xehoz: /* Hardware */</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci-hcd<br />
|-<br />
| USB 2.0 || style="color:green" | '''Working''' || ehci-hcd<br />
|-<br />
| eSATA || style="color:orange" | '''Untested''' ||<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|-<br />
| Suspend to RAM || style="color:green" | '''Working''' || <br />
|}<br />
<br />
=Hardware=<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (1000MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech<br />
<br />
=Configuration=<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
==CPU==<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
==Video==<br />
===Intel===<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
===Nvidia===<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
====Switching graphic cards====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change in the near future[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
====Disabling the Nvidia card====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
=====Run on Startup=====<br />
If you want run it on every startup add these lines to {{Filename|/etc/rc.local}} {{Note|Running this without a delay on Kernel 2.6.35.x has issues (Boots fine but X and tty don't show up; to avoid that, simply add {{Codeline|sleep <time>}} before these lines and remember that sleep affects every line below it. If you mess up or decide to test it, just boot into recovery mode and edit {{Filename|/etc/rc.local}} from cli, to either add the delay or remove the lines altogether}}<br />
<br />
<pre># Disable Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with {{Codeline|grep rate /proc/acpi/battery/BAT0/state}}. There should be a difference of about 7500 mW in battery usage.<br />
<br />
=====Enable/Disable Scripts=====<br />
You can easily create a couple of scripts to enable and disable it.<br />
<pre><br />
#/bin/sh<br />
# Disable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<pre><br />
#/bin/sh<br />
# Enable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
{{Codeline|chmod +x}} both of them and type {{Codeline|sh <name you've given them>}} to use them.<br />
<br />
==Audio==<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
{{Note|From my experience [[OSS]] doesn't work}}<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
{{Note|Realtek's ALSA drivers, currently 1.0.23-5.15rc5, aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)}}<br />
<br />
2. Add {{Codeline|options snd-hda-intel index<nowiki>=</nowiki>0 model<nowiki>=</nowiki>auto}} to {{Filename|/etc/modprobe.d/modprobe.conf}}.<br />
<br />
Open {{Filename|/etc/modprobe.d/sound.conf}} and add:<br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
===HDMI===<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
==Touchpad==<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type {{Codeline|xinput list |grep pointer}}. What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using an Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, open {{Filename|/etc/X11/xorg.conf.d/10-synaptics.conf}}. A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
{{Note|While I settled with these coordinates, they may require tuning: [[Touchpad_Synaptics#fine-tuning_with_synclient]]}}.<br />
<br />
===Working 10-synaptics.conf===<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
{{File|name=/etc/X11/xorg.conf.d/10-synaptics.conf|content=Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection}}<br />
<br />
==Suspend to RAM==<br />
<br />
{{Note|As far as I can tell, there is a general issue with USB 3.0 and suspending at the kernel level.}}<br />
{{Note|This is section was written in kernel 2.6.36.2-1 and with the packages available on 18th December.}}<br />
<br />
I achieved Suspension to RAM by using pm-utils with either the uswsusp and kernel method.<br />
<br />
1. Follow the [[pm-utils]] article . It is quite extense and can be confusing, but, if I recall, this is the very minimum of what is needed to do:<br />
<br />
1.1 Type {{Codeline|pacman -S pm-utils uswsusp}}<br />
<br />
1.2 To a file inside {{Filename|/etc/pm/config.d/}}, add:<br />
<pre>SLEEP_MODULE="uswsusp"<br />
#SLEEP_MODULE="kernel"<br />
HIBERNATE_MODE="shutdown"</pre><br />
<br />
1.3 Add the {{Codeline|resume}} hook to {{Filename|/etc/mkinitcpio.conf}}, before filesystems.<br />
<pre>HOOKS="base udev autodetect pata scsi sata resume filesystems"</pre><br />
<br />
1.4 Rebuild the initrd image with {{Codeline|mkinitcpio -p kernel26}}.<br />
<br />
Now, to the hardware specific part.<br />
2. Add <pre>SUSPEND_MODULES="xhci-hcd ehci-hcd"</pre> to {{Filename|/etc/pm/config.d/usb3-suspend-workaround}}.<br />
<br />
After a surge of updates, somewhere on the end of November/start of December (bug report), suspend to ram only works if nouveau is explicitly disabled in rc.conf. Since nouveau isn't related to the ability to power the nvidia card off, powering it off is still possible, even after <br />
disabling that module.<br />
<br />
3. Add {{Codeline|!nouveau}} to the {{Codeline|MODULES}} line in {{Filename|rc.conf}}. It should look like this:<br />
<pre>MODULES=(fuse acpi-cpufreq cpufreq_ondemand cpufreq_powersave !snd-pcm-oss vboxdrv !nouveau)</pre><br />
<br />
=Webcam=<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
=Function Keys=<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad). It should be possible to have them all working by following [[Extra Keyboard Keys]].</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=140357ASUS N82JV2011-05-08T02:11:01Z<p>Xehoz: /* Suspend to RAM */</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci-hcd<br />
|-<br />
| USB 2.0 || style="color:green" | '''Working''' || ehci-hcd<br />
|-<br />
| eSATA || style="color:orange" | '''Untested''' ||<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|-<br />
| Suspend to RAM || style="color:green" | '''Working''' || <br />
|}<br />
<br />
=Hardware=<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
=Configuration=<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
==CPU==<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
==Video==<br />
===Intel===<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
===Nvidia===<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
====Switching graphic cards====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change in the near future[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
====Disabling the Nvidia card====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
=====Run on Startup=====<br />
If you want run it on every startup add these lines to {{Filename|/etc/rc.local}} {{Note|Running this without a delay on Kernel 2.6.35.x has issues (Boots fine but X and tty don't show up; to avoid that, simply add {{Codeline|sleep <time>}} before these lines and remember that sleep affects every line below it. If you mess up or decide to test it, just boot into recovery mode and edit {{Filename|/etc/rc.local}} from cli, to either add the delay or remove the lines altogether}}<br />
<br />
<pre># Disable Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with {{Codeline|grep rate /proc/acpi/battery/BAT0/state}}. There should be a difference of about 7500 mW in battery usage.<br />
<br />
=====Enable/Disable Scripts=====<br />
You can easily create a couple of scripts to enable and disable it.<br />
<pre><br />
#/bin/sh<br />
# Disable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<pre><br />
#/bin/sh<br />
# Enable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
{{Codeline|chmod +x}} both of them and type {{Codeline|sh <name you've given them>}} to use them.<br />
<br />
==Audio==<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
{{Note|From my experience [[OSS]] doesn't work}}<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
{{Note|Realtek's ALSA drivers, currently 1.0.23-5.15rc5, aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)}}<br />
<br />
2. Add {{Codeline|options snd-hda-intel index<nowiki>=</nowiki>0 model<nowiki>=</nowiki>auto}} to {{Filename|/etc/modprobe.d/modprobe.conf}}.<br />
<br />
Open {{Filename|/etc/modprobe.d/sound.conf}} and add:<br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
===HDMI===<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
==Touchpad==<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type {{Codeline|xinput list |grep pointer}}. What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using an Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, open {{Filename|/etc/X11/xorg.conf.d/10-synaptics.conf}}. A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
{{Note|While I settled with these coordinates, they may require tuning: [[Touchpad_Synaptics#fine-tuning_with_synclient]]}}.<br />
<br />
===Working 10-synaptics.conf===<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
{{File|name=/etc/X11/xorg.conf.d/10-synaptics.conf|content=Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection}}<br />
<br />
==Suspend to RAM==<br />
<br />
{{Note|As far as I can tell, there is a general issue with USB 3.0 and suspending at the kernel level.}}<br />
{{Note|This is section was written in kernel 2.6.36.2-1 and with the packages available on 18th December.}}<br />
<br />
I achieved Suspension to RAM by using pm-utils with either the uswsusp and kernel method.<br />
<br />
1. Follow the [[pm-utils]] article . It is quite extense and can be confusing, but, if I recall, this is the very minimum of what is needed to do:<br />
<br />
1.1 Type {{Codeline|pacman -S pm-utils uswsusp}}<br />
<br />
1.2 To a file inside {{Filename|/etc/pm/config.d/}}, add:<br />
<pre>SLEEP_MODULE="uswsusp"<br />
#SLEEP_MODULE="kernel"<br />
HIBERNATE_MODE="shutdown"</pre><br />
<br />
1.3 Add the {{Codeline|resume}} hook to {{Filename|/etc/mkinitcpio.conf}}, before filesystems.<br />
<pre>HOOKS="base udev autodetect pata scsi sata resume filesystems"</pre><br />
<br />
1.4 Rebuild the initrd image with {{Codeline|mkinitcpio -p kernel26}}.<br />
<br />
Now, to the hardware specific part.<br />
2. Add <pre>SUSPEND_MODULES="xhci-hcd ehci-hcd"</pre> to {{Filename|/etc/pm/config.d/usb3-suspend-workaround}}.<br />
<br />
After a surge of updates, somewhere on the end of November/start of December (bug report), suspend to ram only works if nouveau is explicitly disabled in rc.conf. Since nouveau isn't related to the ability to power the nvidia card off, powering it off is still possible, even after <br />
disabling that module.<br />
<br />
3. Add {{Codeline|!nouveau}} to the {{Codeline|MODULES}} line in {{Filename|rc.conf}}. It should look like this:<br />
<pre>MODULES=(fuse acpi-cpufreq cpufreq_ondemand cpufreq_powersave !snd-pcm-oss vboxdrv !nouveau)</pre><br />
<br />
=Webcam=<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
=Function Keys=<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad). It should be possible to have them all working by following [[Extra Keyboard Keys]].</div>Xehozhttps://wiki.archlinux.org/index.php?title=PyLoad&diff=140084PyLoad2011-05-06T00:13:13Z<p>Xehoz: /* Interfacing with pyLoadCore */ typo</p>
<hr />
<div>{{DISPLAYTITLE:pyLoad}}<br />
[[Category:HOWTOs (English)]]<br />
[[Category:Internet Applications (English)]]<br />
<br />
[http://pyload.org/ pyLoad] is a fast, lightweight and full featured download manager for many One-Click-Hoster, container formats like DLC, video sites or just plain http/ftp links ([http://pyload.org/hoster supported hosts]). It aims for low hardware requirements and platform independence to be runnable on all kind of systems (desktop pc, netbook, NAS, router). Despite its strict restriction it is packed full of features just like webinterface, captcha recognition, unrar and much more. <br />
<br />
pyLoad is divided into core and clients, to make it easily remote accessible. Currently there are ([http://pyload.org/screenshots screenshots]):<br />
* a '''webinterface''';<br />
* a '''command line interface''';<br />
* a '''GUI''' written in '''Qt''';<br />
* and an '''Android''' client.<br />
<br />
==Installation==<br />
<br />
Install the [http://aur.archlinux.org/packages.php?ID=29288 pyload] package from the AUR.<br />
<br />
===Requirements===<br />
Required dependencies are handled by the AUR package's PKGBUILD. Nevertheless, some optional dependencies aren't:<br />
<br />
* Ability to establish a secure connection to core or webinterface.<br />
# pacman -S openssl python2-pyopenssl<br />
<br />
*For ClickNLoad support. <br />
# pacman -S spidermonkey<br />
<br />
==Configuration==<br />
Run Setup Assistant:<br />
# pyLoadCore -s<br />
<br />
The Setup Assistant gives you a jump start, by providing a ''basic'' but ''working'' setup. Being a basic setup, there are more options and you should at least look at them, since some sections are untouched by the Assistant, like the permissions section. <br />
<br />
{{Tip|Most (if not all) of the options can be changed with {{Codeline|pyLoadGui}} or with the the Web Interface.}}<br />
===Optional===<br />
However, if you prefer to edit the pyload.conf yourself and you went with the default conf directory, you can change the settings by editing {{Filename|~/.pyload/pyload.conf}. Use your favorite editor to edit, ''ie'':<br />
# nano ~/.pyload/pyload.conf<br />
<br />
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the {{Filename|/opt/pyload/module/config/}} files it refers to don't match what's still on that page.<br />
<br />
While also editable with the web interface, you can also change the plugins configuration by editing {{Filename|~/.pyload/plugins.conf}}. Use your favorite editor to edit, ''ie'':<br />
# nano ~/.pyload/plugins.conf<br />
<br />
'''Extration passwords''' are store in ~/.pyload/unrar_passwords.txt. To add passwords either edit the file or:<br />
# echo '<password>' >> ~/.pyload/unrar_passwords.txt<br />
<br />
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the /opt/pyload/module/config/ files it refers to don't match what's still on that page.<br />
<br />
===Scripts===<br />
For more info on this,<br />
cat /opt/pyload/scripts/Readme.txt<br />
and [http://forum.pyload.org/viewtopic.php?f=7&t=7 visit pyload.org forums].<br />
<br />
If you are interested in running userscripts, before running, you need to either<br />
# chmod 777 /opt/pyload/scripts/<br />
or <br />
# chown <user you defined in pyload.conf / permissions settings> /opt/pyload/scripts/<br />
in order for pyLoadCore to create the necessary folders.<br />
<br />
==Running==<br />
===Essential===<br />
# pyLoadCore <br />
{{Tip|You may want to add {{Codeline|pyLoadCore --daemon}} to your {{Filename|rc.local}}}}<br />
<br />
===Interfacing with pyLoadCore===<br />
# pyLoadCli<br />
<br />
# pyLoadGui<br />
<br />
Or, as stated above, with the web interface. If the default settings are true, then:<br />
http://localhost:8000<br />
<br />
==Daemon==<br />
<br />
Create and {{Codeline|chmod +x}}: {{Filename|/etc/rc.d/pyLoadCore}} with the following content:<br />
{{Tip|Don't forget to change {{Codeline|user}} in line 9.}}<br />
<pre>#!/bin/bash<br />
<br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
case "$1" in<br />
start)<br />
stat_busy "Starting pyLoadCore"<br />
su user -c '/usr/bin/pyLoadCore --daemon' &> /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
add_daemon pyLoadCore<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping pyLoadCore"<br />
killall -w -s 2 /usr/bin/pyLoadCore &> /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
rm_daemon pyLoadCore<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
sleep 1<br />
$0 start<br />
;;<br />
*)<br />
echo "usage: $0 {start|stop|restart}"<br />
esac<br />
exit 0</pre><br />
<br />
Add {{Codeline|pyLoadCore}} to the Daemons section in your {{Filename|/etc/rc.conf}}.<br />
<br />
==Alternatives==<br />
[[JDownloader]] available in [http://aur.archlinux.org/packages.php?ID=29288 AUR].<br />
<br />
[http://tucaneando.com/index.html Tucan Manager] available in [http://www.archlinux.org/packages/community/x86_64/tucan/ community].<br />
<br />
[http://code.google.com/p/plowshare/ plowshare] available in [http://aur.archlinux.org/packages.php?ID=24601 AUR] (CLI).<br />
<br />
[http://urlget.sourceforge.net/ uGet] available in [http://aur.archlinux.org/packages.php?ID=25887 AUR] (GTK).</div>Xehozhttps://wiki.archlinux.org/index.php?title=PyLoad&diff=140083PyLoad2011-05-06T00:11:49Z<p>Xehoz: Change Display Title & Category</p>
<hr />
<div>{{DISPLAYTITLE:pyLoad}}<br />
[[Category:HOWTOs (English)]]<br />
[[Category:Internet Applications (English)]]<br />
<br />
[http://pyload.org/ pyLoad] is a fast, lightweight and full featured download manager for many One-Click-Hoster, container formats like DLC, video sites or just plain http/ftp links ([http://pyload.org/hoster supported hosts]). It aims for low hardware requirements and platform independence to be runnable on all kind of systems (desktop pc, netbook, NAS, router). Despite its strict restriction it is packed full of features just like webinterface, captcha recognition, unrar and much more. <br />
<br />
pyLoad is divided into core and clients, to make it easily remote accessible. Currently there are ([http://pyload.org/screenshots screenshots]):<br />
* a '''webinterface''';<br />
* a '''command line interface''';<br />
* a '''GUI''' written in '''Qt''';<br />
* and an '''Android''' client.<br />
<br />
==Installation==<br />
<br />
Install the [http://aur.archlinux.org/packages.php?ID=29288 pyload] package from the AUR.<br />
<br />
===Requirements===<br />
Required dependencies are handled by the AUR package's PKGBUILD. Nevertheless, some optional dependencies aren't:<br />
<br />
* Ability to establish a secure connection to core or webinterface.<br />
# pacman -S openssl python2-pyopenssl<br />
<br />
*For ClickNLoad support. <br />
# pacman -S spidermonkey<br />
<br />
==Configuration==<br />
Run Setup Assistant:<br />
# pyLoadCore -s<br />
<br />
The Setup Assistant gives you a jump start, by providing a ''basic'' but ''working'' setup. Being a basic setup, there are more options and you should at least look at them, since some sections are untouched by the Assistant, like the permissions section. <br />
<br />
{{Tip|Most (if not all) of the options can be changed with {{Codeline|pyLoadGui}} or with the the Web Interface.}}<br />
===Optional===<br />
However, if you prefer to edit the pyload.conf yourself and you went with the default conf directory, you can change the settings by editing {{Filename|~/.pyload/pyload.conf}. Use your favorite editor to edit, ''ie'':<br />
# nano ~/.pyload/pyload.conf<br />
<br />
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the {{Filename|/opt/pyload/module/config/}} files it refers to don't match what's still on that page.<br />
<br />
While also editable with the web interface, you can also change the plugins configuration by editing {{Filename|~/.pyload/plugins.conf}}. Use your favorite editor to edit, ''ie'':<br />
# nano ~/.pyload/plugins.conf<br />
<br />
'''Extration passwords''' are store in ~/.pyload/unrar_passwords.txt. To add passwords either edit the file or:<br />
# echo '<password>' >> ~/.pyload/unrar_passwords.txt<br />
<br />
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the /opt/pyload/module/config/ files it refers to don't match what's still on that page.<br />
<br />
===Scripts===<br />
For more info on this,<br />
cat /opt/pyload/scripts/Readme.txt<br />
and [http://forum.pyload.org/viewtopic.php?f=7&t=7 visit pyload.org forums].<br />
<br />
If you are interested in running userscripts, before running, you need to either<br />
# chmod 777 /opt/pyload/scripts/<br />
or <br />
# chown <user you defined in pyload.conf / permissions settings> /opt/pyload/scripts/<br />
in order for pyLoadCore to create the necessary folders.<br />
<br />
==Running==<br />
===Essential===<br />
# pyLoadCore <br />
{{Tip|You may want to add {{Codeline|pyLoadCore --daemon}} to your {{Filename|rc.local}}}}<br />
<br />
===Interfacing with pyLoadCore===<br />
# pyLoadCli<br />
<br />
# PyLoadGui<br />
<br />
Or, as stated above, with the web interface. If the default settings are true, then:<br />
http://localhost:8000<br />
<br />
==Daemon==<br />
<br />
Create and {{Codeline|chmod +x}}: {{Filename|/etc/rc.d/pyLoadCore}} with the following content:<br />
{{Tip|Don't forget to change {{Codeline|user}} in line 9.}}<br />
<pre>#!/bin/bash<br />
<br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
case "$1" in<br />
start)<br />
stat_busy "Starting pyLoadCore"<br />
su user -c '/usr/bin/pyLoadCore --daemon' &> /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
add_daemon pyLoadCore<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping pyLoadCore"<br />
killall -w -s 2 /usr/bin/pyLoadCore &> /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
rm_daemon pyLoadCore<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
sleep 1<br />
$0 start<br />
;;<br />
*)<br />
echo "usage: $0 {start|stop|restart}"<br />
esac<br />
exit 0</pre><br />
<br />
Add {{Codeline|pyLoadCore}} to the Daemons section in your {{Filename|/etc/rc.conf}}.<br />
<br />
==Alternatives==<br />
[[JDownloader]] available in [http://aur.archlinux.org/packages.php?ID=29288 AUR].<br />
<br />
[http://tucaneando.com/index.html Tucan Manager] available in [http://www.archlinux.org/packages/community/x86_64/tucan/ community].<br />
<br />
[http://code.google.com/p/plowshare/ plowshare] available in [http://aur.archlinux.org/packages.php?ID=24601 AUR] (CLI).<br />
<br />
[http://urlget.sourceforge.net/ uGet] available in [http://aur.archlinux.org/packages.php?ID=25887 AUR] (GTK).</div>Xehozhttps://wiki.archlinux.org/index.php?title=PyLoad&diff=140082PyLoad2011-05-06T00:10:37Z<p>Xehoz: /* Daemon */ correction</p>
<hr />
<div>[[Category:Internet Applications (English)]]<br />
<br />
[http://pyload.org/ pyLoad] is a fast, lightweight and full featured download manager for many One-Click-Hoster, container formats like DLC, video sites or just plain http/ftp links ([http://pyload.org/hoster supported hosts]). It aims for low hardware requirements and platform independence to be runnable on all kind of systems (desktop pc, netbook, NAS, router). Despite its strict restriction it is packed full of features just like webinterface, captcha recognition, unrar and much more. <br />
<br />
pyLoad is divided into core and clients, to make it easily remote accessible. Currently there are ([http://pyload.org/screenshots screenshots]):<br />
* a '''webinterface''';<br />
* a '''command line interface''';<br />
* a '''GUI''' written in '''Qt''';<br />
* and an '''Android''' client.<br />
<br />
==Installation==<br />
<br />
Install the [http://aur.archlinux.org/packages.php?ID=29288 pyload] package from the AUR.<br />
<br />
===Requirements===<br />
Required dependencies are handled by the AUR package's PKGBUILD. Nevertheless, some optional dependencies aren't:<br />
<br />
* Ability to establish a secure connection to core or webinterface.<br />
# pacman -S openssl python2-pyopenssl<br />
<br />
*For ClickNLoad support. <br />
# pacman -S spidermonkey<br />
<br />
==Configuration==<br />
Run Setup Assistant:<br />
# pyLoadCore -s<br />
<br />
The Setup Assistant gives you a jump start, by providing a ''basic'' but ''working'' setup. Being a basic setup, there are more options and you should at least look at them, since some sections are untouched by the Assistant, like the permissions section. <br />
<br />
{{Tip|Most (if not all) of the options can be changed with {{Codeline|pyLoadGui}} or with the the Web Interface.}}<br />
===Optional===<br />
However, if you prefer to edit the pyload.conf yourself and you went with the default conf directory, you can change the settings by editing {{Filename|~/.pyload/pyload.conf}. Use your favorite editor to edit, ''ie'':<br />
# nano ~/.pyload/pyload.conf<br />
<br />
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the {{Filename|/opt/pyload/module/config/}} files it refers to don't match what's still on that page.<br />
<br />
While also editable with the web interface, you can also change the plugins configuration by editing {{Filename|~/.pyload/plugins.conf}}. Use your favorite editor to edit, ''ie'':<br />
# nano ~/.pyload/plugins.conf<br />
<br />
'''Extration passwords''' are store in ~/.pyload/unrar_passwords.txt. To add passwords either edit the file or:<br />
# echo '<password>' >> ~/.pyload/unrar_passwords.txt<br />
<br />
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the /opt/pyload/module/config/ files it refers to don't match what's still on that page.<br />
<br />
===Scripts===<br />
For more info on this,<br />
cat /opt/pyload/scripts/Readme.txt<br />
and [http://forum.pyload.org/viewtopic.php?f=7&t=7 visit pyload.org forums].<br />
<br />
If you are interested in running userscripts, before running, you need to either<br />
# chmod 777 /opt/pyload/scripts/<br />
or <br />
# chown <user you defined in pyload.conf / permissions settings> /opt/pyload/scripts/<br />
in order for pyLoadCore to create the necessary folders.<br />
<br />
==Running==<br />
===Essential===<br />
# pyLoadCore <br />
{{Tip|You may want to add {{Codeline|pyLoadCore --daemon}} to your {{Filename|rc.local}}}}<br />
<br />
===Interfacing with pyLoadCore===<br />
# pyLoadCli<br />
<br />
# PyLoadGui<br />
<br />
Or, as stated above, with the web interface. If the default settings are true, then:<br />
http://localhost:8000<br />
<br />
==Daemon==<br />
<br />
Create and {{Codeline|chmod +x}}: {{Filename|/etc/rc.d/pyLoadCore}} with the following content:<br />
{{Tip|Don't forget to change {{Codeline|user}} in line 9.}}<br />
<pre>#!/bin/bash<br />
<br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
case "$1" in<br />
start)<br />
stat_busy "Starting pyLoadCore"<br />
su user -c '/usr/bin/pyLoadCore --daemon' &> /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
add_daemon pyLoadCore<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping pyLoadCore"<br />
killall -w -s 2 /usr/bin/pyLoadCore &> /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
rm_daemon pyLoadCore<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
sleep 1<br />
$0 start<br />
;;<br />
*)<br />
echo "usage: $0 {start|stop|restart}"<br />
esac<br />
exit 0</pre><br />
<br />
Add {{Codeline|pyLoadCore}} to the Daemons section in your {{Filename|/etc/rc.conf}}.<br />
<br />
==Alternatives==<br />
[[JDownloader]] available in [http://aur.archlinux.org/packages.php?ID=29288 AUR].<br />
<br />
[http://tucaneando.com/index.html Tucan Manager] available in [http://www.archlinux.org/packages/community/x86_64/tucan/ community].<br />
<br />
[http://code.google.com/p/plowshare/ plowshare] available in [http://aur.archlinux.org/packages.php?ID=24601 AUR] (CLI).<br />
<br />
[http://urlget.sourceforge.net/ uGet] available in [http://aur.archlinux.org/packages.php?ID=25887 AUR] (GTK).</div>Xehozhttps://wiki.archlinux.org/index.php?title=PyLoad&diff=140081PyLoad2011-05-06T00:08:55Z<p>Xehoz: Daemon section</p>
<hr />
<div>[[Category:Internet Applications (English)]]<br />
<br />
[http://pyload.org/ pyLoad] is a fast, lightweight and full featured download manager for many One-Click-Hoster, container formats like DLC, video sites or just plain http/ftp links ([http://pyload.org/hoster supported hosts]). It aims for low hardware requirements and platform independence to be runnable on all kind of systems (desktop pc, netbook, NAS, router). Despite its strict restriction it is packed full of features just like webinterface, captcha recognition, unrar and much more. <br />
<br />
pyLoad is divided into core and clients, to make it easily remote accessible. Currently there are ([http://pyload.org/screenshots screenshots]):<br />
* a '''webinterface''';<br />
* a '''command line interface''';<br />
* a '''GUI''' written in '''Qt''';<br />
* and an '''Android''' client.<br />
<br />
==Installation==<br />
<br />
Install the [http://aur.archlinux.org/packages.php?ID=29288 pyload] package from the AUR.<br />
<br />
===Requirements===<br />
Required dependencies are handled by the AUR package's PKGBUILD. Nevertheless, some optional dependencies aren't:<br />
<br />
* Ability to establish a secure connection to core or webinterface.<br />
# pacman -S openssl python2-pyopenssl<br />
<br />
*For ClickNLoad support. <br />
# pacman -S spidermonkey<br />
<br />
==Configuration==<br />
Run Setup Assistant:<br />
# pyLoadCore -s<br />
<br />
The Setup Assistant gives you a jump start, by providing a ''basic'' but ''working'' setup. Being a basic setup, there are more options and you should at least look at them, since some sections are untouched by the Assistant, like the permissions section. <br />
<br />
{{Tip|Most (if not all) of the options can be changed with {{Codeline|pyLoadGui}} or with the the Web Interface.}}<br />
===Optional===<br />
However, if you prefer to edit the pyload.conf yourself and you went with the default conf directory, you can change the settings by editing {{Filename|~/.pyload/pyload.conf}. Use your favorite editor to edit, ''ie'':<br />
# nano ~/.pyload/pyload.conf<br />
<br />
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the {{Filename|/opt/pyload/module/config/}} files it refers to don't match what's still on that page.<br />
<br />
While also editable with the web interface, you can also change the plugins configuration by editing {{Filename|~/.pyload/plugins.conf}}. Use your favorite editor to edit, ''ie'':<br />
# nano ~/.pyload/plugins.conf<br />
<br />
'''Extration passwords''' are store in ~/.pyload/unrar_passwords.txt. To add passwords either edit the file or:<br />
# echo '<password>' >> ~/.pyload/unrar_passwords.txt<br />
<br />
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the /opt/pyload/module/config/ files it refers to don't match what's still on that page.<br />
<br />
===Scripts===<br />
For more info on this,<br />
cat /opt/pyload/scripts/Readme.txt<br />
and [http://forum.pyload.org/viewtopic.php?f=7&t=7 visit pyload.org forums].<br />
<br />
If you are interested in running userscripts, before running, you need to either<br />
# chmod 777 /opt/pyload/scripts/<br />
or <br />
# chown <user you defined in pyload.conf / permissions settings> /opt/pyload/scripts/<br />
in order for pyLoadCore to create the necessary folders.<br />
<br />
==Running==<br />
===Essential===<br />
# pyLoadCore <br />
{{Tip|You may want to add {{Codeline|pyLoadCore --daemon}} to your {{Filename|rc.local}}}}<br />
<br />
===Interfacing with pyLoadCore===<br />
# pyLoadCli<br />
<br />
# PyLoadGui<br />
<br />
Or, as stated above, with the web interface. If the default settings are true, then:<br />
http://localhost:8000<br />
<br />
==Daemon==<br />
<br />
Create and {{Codeline|chmod +x}}: {{Filename|/etc/rc.d/pyLoadCore}} with the following content:<br />
<br />
<pre>#!/bin/bash<br />
<br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
case "$1" in<br />
start)<br />
stat_busy "Starting pyLoadCore"<br />
su xehoz -c '/usr/bin/pyLoadCore --daemon' &> /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
add_daemon pyLoadCore<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping pyLoadCore"<br />
killall -w -s 2 /usr/bin/pyLoadCore &> /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
rm_daemon pyLoadCore<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
sleep 1<br />
$0 start<br />
;;<br />
*)<br />
echo "usage: $0 {start|stop|restart}"<br />
esac<br />
exit 0</pre><br />
<br />
Add {{Codeline|pyLoadCore}} to the Daemons section in your {{Filename|/etc/rc.conf}}.<br />
<br />
<br />
==Alternatives==<br />
[[JDownloader]] available in [http://aur.archlinux.org/packages.php?ID=29288 AUR].<br />
<br />
[http://tucaneando.com/index.html Tucan Manager] available in [http://www.archlinux.org/packages/community/x86_64/tucan/ community].<br />
<br />
[http://code.google.com/p/plowshare/ plowshare] available in [http://aur.archlinux.org/packages.php?ID=24601 AUR] (CLI).<br />
<br />
[http://urlget.sourceforge.net/ uGet] available in [http://aur.archlinux.org/packages.php?ID=25887 AUR] (GTK).</div>Xehozhttps://wiki.archlinux.org/index.php?title=RTorrent&diff=140080RTorrent2011-05-06T00:04:03Z<p>Xehoz: /* Web GUI Clients for RTorrent */ Changed rtgui link to the now existing article</p>
<hr />
<div>{{i18n|rTorrent}}<br />
{{DISPLAYTITLE:rTorrent}}<br />
[[Category:HOWTOs (English)]]<br />
[[Category:Internet Applications (English)]]<br />
[[Category:Utilities (English)]]<br />
<br />
[http://libtorrent.rakshasa.no/ rTorrent] is a very simple, elegant and ultra-light bittorrent client. It is written in C++ and uses ncurses, so it is completely text based and runs entirely in a console. rTorrent is ideal for low-end systems and with the addition of GNU Screen and openssh it is convenient as a remote bittorrent client.<br />
<br />
== Installing ==<br />
<br />
# pacman -S rtorrent<br />
<br />
You can also install {{Package AUR|rtorrent-svn}} from the [[AUR]].<br />
<br />
== Configuring ==<br />
<br />
Before running rTorrent, copy the default configuration file, which is available at the rTorrent [http://libtorrent.rakshasa.no/browser/trunk/rtorrent/doc/rtorrent.rc?format=raw project page], and save it as .rtorrent.rc in your home directory. <br />
<br />
Once the file has been saved, open it with your preferred text editor and make any necessary changes. Simply uncomment the options you wish to enable/utilize. For more detailed information on the options available, visit [http://libtorrent.rakshasa.no/wiki/RTorrentCommonTasks rTorrent Common Tasks]<br />
<br />
=== Recommended Configuration ===<br />
<br />
These values in the following are subjective and dependent upon your own system and Internet connection speed. To find the optimal settings for you to use, visit the following website and follow the instructions: [http://torrentfreak.com/optimize-your-BitTorrent-download-speed Optimize Your BitTorrent Download Speed]<br />
<br />
<pre><br />
# Maximum and minimum number of peers to connect to per torrent.<br />
#min_peers = 40<br />
max_peers = 52<br />
<br />
# Same as above but for seeding completed torrents (-1 = same as downloading)<br />
#min_peers_seed = 10<br />
max_peers_seed = 52<br />
<br />
# Maximum number of simultanious uploads per torrent.<br />
max_uploads = 8<br />
<br />
# Global upload and download rate in KiB. "0" for unlimited.<br />
download_rate = 200<br />
upload_rate = 28<br />
</pre><br />
<br />
The option below will determine where your torrent data will be saved. Change the default save directory to whatever is most convenient. Be sure to enter the absolute path; there is an odd bug with rTorrent ''sometimes'' does not respect relative paths (i.e. ~/torrents):<br />
<br />
<pre><br />
# Default directory to save the downloaded torrents.<br />
directory = /home/[user]/torrents/<br />
</pre><br />
<br />
This option will allow rTorrent to save the progess of your torrents. Be sure to create a directory called .session (simply run as normal user:''mkdir ~/.session''):<br />
<br />
<pre><br />
# Default session directory. Make sure you don't run multiple instance<br />
# of rtorrent using the same session directory. Perhaps using a<br />
# relative path?<br />
session = /home/[user]/.session/<br />
</pre><br />
<br />
The following option will have rTorrent "watch" a particular directory for new .torrent files. Be careful when using this option as rtorrent will move the torrent file to your session folder and rename it to it's hash value. Using your browser, when you find a .torrent file you would like to download, just save the file into this directory and rTorrent will automatically start the torrent. Be sure to create the directory that will be watched (simply run as normal user:''mkdir ~/watch''): <br />
<br />
<pre><br />
# Watch a directory for new torrents, and stop those that have been<br />
# deleted.<br />
#schedule = watch_directory,5,5,load_start=./watch/*.torrent<br />
#schedule = untied_directory,5,5,stop_untied=<br />
schedule = watch_directory,5,5,load_start=/home/[user]/watch/*.torrent<br />
schedule = untied_directory,5,5,stop_untied=<br />
schedule = tied_directory,5,5,start_tied=<br />
</pre><br />
<br />
The option below will stop rTorrent from downloading any further when disk space is low. This is particuarly useful with a [http://en.wikipedia.org/wiki/Seedbox Seedbox] where disk space is quite limited. Change the value as you like: <br />
<br />
<pre><br />
# Close torrents when diskspace is low.<br />
schedule = low_diskspace,5,60,close_low_diskspace=100M<br />
</pre><br />
<br />
This option will set what port to use for listening. It is recommended to use a port that is higher than 49152. rTorrent allows the use of a single port rather than a range; a single port rather than an actual range is recommended.<br />
<br />
<pre><br />
# Port range to use for listening.<br />
port_range = 49164-49164<br />
</pre><br />
<br />
The following option allow for a hash check whenever a torrent is complete or whenever rTorrent is restarted. This will make sure there are no errors with your acquired/seeding files. <br />
<br />
<pre><br />
# Check hash for finished torrents. Might be usefull until the bug is<br />
# fixed that causes lack of diskspace not to be properly reported.<br />
check_hash = yes<br />
</pre><br />
<br />
The following option allows for the enabling of encryption. This is very important to enable, if not for yourself, but for others in the torrent swarm; people might need to obscure their bandwidth usage from their ISP. Does not hurt you to enable even if you do not need such protection. More information: [http://en.wikipedia.org/wiki/BitTorrent_protocol_encryption Bittorrent Protocol Encryption]<br />
<br />
<pre><br />
# Encryption options, set to none (default) or any combination of the following:<br />
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext<br />
#<br />
# The example value allows incoming encrypted connections, starts unencrypted<br />
# outgoing connections but retries with encryption if they fail, preferring<br />
# plaintext to RC4 encryption after the encrypted handshake<br />
#<br />
# encryption = allow_incoming,enable_retry,prefer_plaintext<br />
encryption = allow_incoming,try_outgoing,enable_retry<br />
</pre><br />
<br />
The following is for DHT support. If you use public trackers, you'll want to enable DHT to acquire more peers. If you use only private trackers, '''do not enable DHT''' as this will reduce your speeds and can create a privacy risk. Some private trackers will even warn you if you use DHT. <br />
<br />
<pre><br />
# Enable DHT support for trackerless torrents or when all trackers are down.<br />
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),<br />
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).<br />
# The default is "off". For DHT to work, a session directory must be defined.<br />
# <br />
# dht = auto<br />
<br />
# UDP port to use for DHT. <br />
# <br />
# dht_port = 6881<br />
<br />
# Enable peer exchange (for torrents not marked private)<br />
#<br />
# peer_exchange = yes<br />
</pre><br />
<br />
Be sure to forward the proper port(s) with your router if you use one. A decent guide per router make/model can be found [http://portforward.com/english/routers/port_forwarding/routerindex.htm here].<br />
<br />
== Pre-allocation ==<br />
<br />
One could recompile ''libtorrent'' from '''ABS''' with a new switch to configure pre-allocation:<br />
./configure --prefix=/usr --disable-debug --with-posix-fallocate<br />
<br />
And enable it by adding the following to your rtorrent.rc:<br />
# Preallocate files; reduces defragmentation on filesystems.<br />
system.file_allocate.set = yes<br />
<br />
It will pre-allocate files before downloading the torrent but this has its pros and cons:<br />
=== Pros ===<br />
This limits/avoids ''fragmentation'' of the filesystem<br />
<br />
=== Cons ===<br />
This introduces a delay during the pre-allocation '''if''' the filesystem does not support natively the ''fallocate syscall''.<br />
<br />
So i recommend its use for users of ''xfs'', ''ext4'' and ''btrfs'' which have native fallocate syscall. They will see no delay during preallocation and no fragmented filesystem. Others filesystems will cause delay at pre-allocation time but no fragmented file.<br />
<br />
== Controls ==<br />
<br />
rTorrent relies exclusively on keyboard shortcuts for user input.<br />
<br />
Here are the basics for quick reference:<br />
<br />
*Control-q : closes rTorrent, done twice makes the program shutdown without waiting to send stopping information to the trackers.<br />
*Left arrow : returns to the previous screen.<br />
*Right arrow : goes to the next screen.<br />
*a|s|d : increase global upload throttle about 1|5|50 KB/s<br />
*A|S|D : increase global download throttle about 1|5|50 KB/s<br />
*z|x|c : decrease global upload throttle about 1|5|50 KB/s<br />
*Z|X|C : decrease global download throttle about 1|5|50 KB/s<br />
*Control-S : starts download<br />
*Control-D : stops an active download, removes a stopped download.<br />
*+ or - : changes the download priority of selected torrent.<br />
*Backspace : adds the specified .torrent. After pressing this button write full path or URL of .torrent file. You can use Tab and other tricks from bash.<br />
<br />
A complete guide is available on the main site: [http://libtorrent.rakshasa.no/wiki/RTorrentUserGuide rTorrent User Guide]<br />
<br />
{{Note| Taken from [http://libtorrent.rakshasa.no/wiki/RTorrentUserGuide rTorrent User Guide] Control-s (and Control-q for quit) is often used for terminal control to pause screen output (and Control-q to resume). This may interfere with rTorrent.}}<br />
To see if these have been mapped type stty -a in console. To remove the mappings, execute the commands<br />
<br />
# stty stop undef<br />
# stty start undef<br />
To remove these mappings automatically at startup you may add the above commands to your ~/.bashrc file.<br />
<br />
== Use rTorrent with Screen ==<br />
<br />
Screen is a program that will allow CLI applications to be run in the background and without X running. <br />
<br />
Install screen:<br />
<br />
# pacman -S screen<br />
<br />
and then copy screenrc to your home directory as normal user:<br />
<br />
$ cp /etc/screenrc ~/.screenrc<br />
<br />
To have rTorrent always start with screen, add the following to your .screenrc file:<br />
<br />
$ screen -t rtorrent rtorrent <br />
<br />
To start screen + rTorrent, simply run ''screen'' from a terminal. Control-a followed by d will detach screen, and running ''screen -r'' will open screen again.<br />
<br />
===On a remote machine===<br />
Most setups of rTorrent on a remote machine involve using Screen. Supposing you have a detached Screen session with rtorrent on the remote machine (and the option to [[SSH]] into it), you can gain access to it using:<br />
<pre>/usr/bin/ssh -t -p <ssh port on remote machine> <user>@<remote machine> screen -RD</pre><br />
If you want immediate access on startup, you will need to [http://bloggerdigest.blogspot.com/2006/11/ssh-auto-login-or-passwordless-login.html upload a key] from your machine to remote host (so you will not be prompted for a password) and setup a terminal to run the command above. An inittab example using [http://aur.archlinux.org/packages.php?ID=19631 rungetty] on virtual console 4:<br />
<pre>sam:45:respawn:/sbin/rungetty tty4 -u <local user> -- /usr/bin/ssh -t -p <ssh port on remote machine> <remote user>@<remote machine> screen -RD</pre><br />
<br />
===rtorrent Daemon with screen===<br />
<br />
I use this on my home server to run rtorrent w/ screen as a daemon. With the username ''user''<br />
Just create an ''rtorrent'' file in your ''/etc/rc.d/'' and add the following code.<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
case "$1" in<br />
start)<br />
stat_busy "Starting rtorrent"<br />
su user -c 'screen -d -m -S rtorrent rtorrent' &> /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
add_daemon rtorrent<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping rtorrent"<br />
killall -w -s 2 /usr/bin/rtorrent &> /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
rm_daemon rtorrent<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
sleep 1<br />
$0 start<br />
;;<br />
*)<br />
echo "usage: $0 {start|stop|restart}"<br />
esac<br />
exit 0<br />
</pre><br />
{{Note| works with [[tmux|tmux]], too. "su rtorrent -c 'tmux -d -s rtorrent rtorrent' &> /dev/null"}}<br />
<br />
<br />
'''Make File Executable'''<br />
sudo chmod +x /etc/rc.d/rtorrent<br />
<br />
On a remote computer I use the following script to connect to the server's daemon process:<br />
<br />
<pre><br />
ssh -t rtorrent@192.168.1.10 'screen -r'<br />
</pre><br />
<br />
====Setting the working directory .rtorrent.rc====<br />
<br />
When I used the above script to start a daemon it worked fine until I added a .rtorrent.rc file into the users directory. This was caused the use of by relative paths the .rtorrent.rc file that assumed the instance for rtorrent was running in the users home folder. As I wanted to run multiple instances of rtorrent under different users I opted to change the /etc/rc.d/ script to the following :<br />
<pre><br />
su username -c 'cd /home/username && screen -d -m -S rtorrent rtorrent' &> /dev/null<br />
</pre><br />
<br />
You could instead set absolute paths in the rc file if you preferred.<br />
<br />
====Running Multiple Daemons====<br />
<br />
It's also possible using a very similar script to that above to run the daemon user multiple users. To achieve this you can create an /etc/rc.d script for each user that you want to run rtorrent under.<br />
<br />
Then change the killall line on the script to: <br />
<pre><br />
su username -c 'killall -w -s 2 /usr/bin/rtorrent' &> /dev/null<br />
</pre><br />
<br />
It's possible to use a single script to manage all the users but I found this was easier to manage.<br />
<br />
== Additional Tips ==<br />
<br />
*To use rTorrent with a tracker that uses https, do the following as root:<br />
<br />
<pre><br />
cd /etc/ssl/certs<br />
wget --no-check-certificate https://www.geotrust.com/resources/root_certificates/certificates/Equifax_Secure_Global_eBusiness_CA-1.cer<br />
mv Equifax_Secure_Global_eBusiness_CA-1.cer Equifax_Secure_Global_eBusiness_CA-1.pem<br />
c_rehash<br />
</pre><br />
<br />
And from now on run rTorrent with:<br />
<br />
<pre><br />
rtorrent -o http_capath=/etc/ssl/certs<br />
</pre><br />
<br />
Be sure to change .screenrc to reflect this change if you use screen:<br />
<br />
<pre><br />
screen -t rtorrent rtorrent -o http_capath=/etc/ssl/certs<br />
</pre><br />
<br />
<br />
*To create .torrent files, I recommend [http://aur.archlinux.org/packages.php?do_Details=1&ID=10635&O=0&L=0&C=0&K=mktorrent&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd mktorrent] for commandline interface or [http://benclarke.ca/rubytorrent/ RubyTorrent] for GUI. <br />
<br />
===Automatically Move Completed Torrent Data to 'Completed' Folders===<br />
'''NOTE:''' Currently, this part requires either the svn version of rtorrent/libtorrent or having applied the patch to 0.8.6 that adds 'equal'.<br />
<br />
It is possible to have rtorrent sort completed torrent data to specific folders based on which 'watch' folder you drop the *.torrent into while continuing to seed. Many examples show how to do this with torrents downloaded by rtorrent. The problem is when you try to drop in 100% done torrent data and then have rtorrent check the data and resume. It will not be sorted.<br />
<br />
As a solution, use the following example in your ~/.rtorrent.rc.<br />
Make sure to change the paths.<br />
<br />
<pre><br />
# location where new torrent data is placed, and where you should place your<br />
# 'complete' data before you place your *.torrent file into the watch folder<br />
directory = /home/user/torrents/incomplete<br />
<br />
# schedule a timer event named 'watch_directory_1':<br />
# 1) triggers 10 seconds after rtorrent starts<br />
# 2) triggers at 10 second intervals thereafter<br />
# 3) Upon trigger, attempt to load (and start) new *.torrent files found in /home/user/torrents/watch/<br />
# 4) set a variable named 'custom1' with the value "/home/user/torrents/complete"<br />
# NOTE: if you don't want it to automatically start the torrent, change 'load_start' to 'load'<br />
schedule = watch_directory_1,10,10,"load_start=/home/user/torrents/watch/*.torrent,d.set_custom1=/home/user/torrents/complete"<br />
<br />
# insert a method with the alias 'checkdirs1'<br />
# 1) returns true if the current path of the torrent data is not equal to the value of custom1<br />
# 2) otherwise, returns false<br />
system.method.insert=checkdirs1,simple,"not=\"$equal={d.get_custom1=,d.get_base_path=}\""<br />
<br />
# insert a method with the alias 'movecheck1'<br />
# 1) returns true if all 3 commands return true ('result of checkdirs1' && 'torrent is 100% done', 'custom1 variable is set')<br />
# 2) otherwise, returns false<br />
system.method.insert=movecheck1,simple,"and={checkdirs1=,d.get_complete=,d.get_custom1=}"<br />
<br />
# insert a method with the alias 'movedir1'<br />
# (a series of commands, separated by ';') <br />
# 1) "set path of torrent to equal the value of custom1";<br />
# 2) "mv -u <current data path> <custom1 path>";<br />
# 3) "clear custom1", "stop the torrent","resume the torrent"<br />
# 4) stop the torrent<br />
# 5) start the torrent (to get the torrent to update the 'base path')<br />
system.method.insert=movedir1,simple,"d.set_directory=$d.get_custom1=;execute=mv,-u,$d.get_base_path=,$d.get_custom1=;d.set_custom1=;d.stop=;d.start="<br />
<br />
# set a key with the name 'move_hashed1' that is triggered by the hash_done event.<br />
# 1) When hashing of a torrent completes, this custom key will be triggered.<br />
# 2) when triggered, execute the 'movecheck1' method and check the return value.<br />
# 3) if the 'movecheck' method returns 'true', execute the 'movedir1' method we inserted above.<br />
# NOTE: 'branch' is an 'if' conditional statement: if(movecheck1){movedir1}<br />
system.method.set_key=event.download.hash_done,move_hashed1,"branch={$movecheck1=,movedir1=}"<br />
</pre><br />
<br />
You can add additional watch folders and rules should you like to sort your torrents into special folders.<br />
<br />
For example, if you would like the torrents to download in:<br />
/home/user/torrents/incomplete<br />
and then sort the torrent data based on which folder you dropped the *.torrent into:<br />
/home/user/torrents/watch => /home/user/torrents/complete<br />
/home/user/torrents/watch/iso => /home/user/torrents/complete/iso<br />
/home/user/torrents/watch/music => /home/user/torrents/complete/music<br />
<br />
You can have the following in your .rtorrent.rc:<br />
<pre><br />
directory = /home/user/torrents/incomplete<br />
schedule = watch_directory_1,10,10,"load_start=/home/user/torrents/watch/*.torrent,d.set_custom1=/home/user/torrents/complete"<br />
system.method.insert=checkdirs1,simple,"not=\"$equal={d.get_custom1=,d.get_base_path=}\""<br />
system.method.insert=movecheck1,simple,"and={checkdirs1=,d.get_complete=,d.get_custom1=}"<br />
system.method.insert=movedir1,simple,"d.set_directory=$d.get_custom1=;execute=mv,-u,$d.get_base_path=,$d.get_custom1=;d.set_custom1=;d.stop=;d.start="<br />
system.method.set_key=event.download.hash_done,move_hashed1,"branch={$movecheck1=,movedir1=}"<br />
<br />
schedule = watch_directory_2,10,10,"load_start=/home/user/torrents/watch/iso/*.torrent,d.set_custom2=/home/user/torrents/complete/iso"<br />
system.method.insert=checkdirs2,simple,"not=\"$equal={d.get_custom2=,d.get_base_path=}\""<br />
system.method.insert=movecheck2,simple,"and={checkdirs2=,d.get_complete=,d.get_custom2=}"<br />
system.method.insert=movedir2,simple,"d.set_directory=$d.get_custom2=;execute=mv,-u,$d.get_base_path=,$d.get_custom2=;d.set_custom2=;d.stop=;d.start="<br />
system.method.set_key=event.download.hash_done,move_hashed2,"branch={$movecheck2=,movedir2=}"<br />
<br />
schedule = watch_directory_3,10,10,"load_start=/home/user/torrents/watch/music/*.torrent,d.set_custom3=/home/user/torrents/complete/music"<br />
system.method.insert=checkdirs3,simple,"not=\"$equal={d.get_custom3=,d.get_base_path=}\""<br />
system.method.insert=movecheck3,simple,"and={checkdirs3=,d.get_complete=,d.get_custom3=}"<br />
system.method.insert=movedir3,simple,"d.set_directory=$d.get_custom3=;execute=mv,-u,$d.get_base_path=,$d.get_custom3=;d.set_custom3=;d.stop=;d.start="<br />
system.method.set_key=event.download.hash_done,move_hashed3,"branch={$movecheck3=,movedir3=}"<br />
</pre><br />
<br />
Also see [http://code.google.com/p/pyroscope/ pyroscope] especially the rtcontrol examples. There is an AUR package.<br />
<br />
===Send Text Message Upon Torrent Completion Using GMail===<br />
<br />
Cell phone providers allow you to "email" your phone:<br />
<pre><br />
Verizon: 10digitphonenumber@vtext.com<br />
AT&T: 10digitphonenumber@txt.att.net<br />
Former AT&T customers: 10digitphonenumber@mmode.com<br />
Sprint: 10digitphonenumber@messaging.sprintpcs.com<br />
T-Mobile: 10digitphonenumber@tmomail.net<br />
Nextel: 10digitphonenumber@messaging.nextel.com<br />
Cingular: 10digitphonenumber@cingularme.com<br />
Virgin Mobile: 10digitphonenumber@vmobl.com<br />
Alltel: 10digitphonenumber@alltelmessage.com OR<br />
10digitphonenumber@message.alltel.com<br />
CellularOne: 10digitphonenumber@mobile.celloneusa.com<br />
Omnipoint: 10digitphonenumber@omnipointpcs.com<br />
Qwest: 10digitphonenumber@qwestmp.com<br />
Telus: 10digitphonenumber@msg.telus.com<br />
</pre><br />
<br />
*Install '''Heirloom's mailx''' program:<br />
<pre><br />
pacman -S mailx-heirloom<br />
</pre><br />
<br />
*Clear the /etc/nail.rc file and enter:<br />
<pre><br />
set sendmail="/usr/bin/mailx"<br />
set smtp=smtp.gmail.com:587<br />
set smtp-use-starttls<br />
set ssl-verify=ignore<br />
set ssl-auth=login<br />
set smtp-auth-user=USERNAME@gmail.com<br />
set smtp-auth-password=PASSWORD<br />
</pre><br />
<br />
Now to send the text, we must pipe a message to the mailx program.<br />
*Make a bash script (/path/to/mail.sh):<br />
<pre><br />
echo "$@: Done" | mailx 5551234567@vtext.com<br />
</pre><br />
Where the $@ is a variable holding all the arguments passed to our script.<br />
<br />
*And finally, add the important ~/.rtorrent.rc line:<br />
<pre><br />
system.method.set_key = event.download.finished,notify_me,"execute=/path/to/mail.sh,$d.get_name="<br />
</pre><br />
Breaking it down:<br />
<br />
<code>notify_me</code> is the command id, which may be used by other commands, it can be just about anything you like, so long as it is unique.<br><br />
<br />
<code>execute=</code> is the rtorrent command, in this case to execute a shell command.<br><br />
<br />
<code>/path/to/mail.sh</code> is the name of our script (or whatever command you want to execute) followed by a comma separated list of all the switches/arguments to be passed.<br><br />
<br />
<code>$d.get_name=</code> 'd' is an alias to whatever download triggered the command, get_name is a function which returns the name of our download, and the '$' tells rtorrent to replace the command with its output before it calls execute.<br><br />
<br />
The end result? When that torrent, 'All Live Nudibranches', that we started before leaving for work finishes, we'll be texted:<br />
<pre>All Live Nudibranches: Done</pre><br />
<br />
===Make "active" tab show only active torrents===<br />
<br />
The rtorrent doesn't list the active tab properly by default, add this line to your .rtorrent.rc to show only active torrents<br />
<pre>schedule = filter_active,30,30,"view_filter = active,\"or={d.get_up_rate=,d.get_down_rate=}\""</pre><br />
<br />
Now press 9 in your rtorrent client to see the changes in action.<br />
<br />
=== See Also ===<br />
<br />
* [[Screen Tips]]<br />
* A detailed intro to Bittorrent including a definition of terms [http://www.dessent.net/btfaq/#terms terms].<br />
* the [http://community.rutorrent.org/ rTorrent Community Wiki] is designed to have information on all things rTorrent, including a comprehensive reference to rTorrent's command language.<br />
<br />
=====Display rTorrent stats in conky=====<br />
See [http://bbs.archlinux.org/viewtopic.php?id=67304 this thread].<br />
<br />
== Misc Info ==<br />
===xmlrpc-c===<br />
rTorrent is currently built using xmlrpc-c which is needed for some web GUI's, such as rutorrent.<br />
===SCGI===<br />
If you want to use rtorrent with some web GUI's such as rutorrent you need to add the following to you config:<br />
<br />
<pre><br />
scgi_port = localhost:5000<br />
</pre><br />
<br />
For more info see the [http://libtorrent.rakshasa.no/wiki/RTorrentXMLRPCGuide rtorrent wiki]<br />
<br />
== Web GUI Clients for RTorrent ==<br />
* [[WTorrent]] a web interface to rtorrent programmed in php using Smarty templates and XMLRPC for PHP library.<br />
* [http://code.google.com/p/ntorrent/ nTorrent] A graphical user interface client to rtorrent (a cli torrent client) written in java.<br />
* [http://projects.cyla.homeip.net/rtwi/ rTWi] a simple rTorrent web interface written in PHP.<br />
* [[Rtgui]] a web based front end for rTorrent written in PHP and uses XML-RPC to communicate with the rTorrent client.<br />
* [http://code.google.com/p/rutorrent/ rutorrent] [https://bbs.archlinux.org/viewtopic.php?pid=897577#p897577 (guide in bbs)] a web based front end with an interface very similar to uTorrent which supports many plugins and advanced features.<br />
<br />
== Command Line Clients for RTorrent ==<br />
* [http://code.google.com/p/pyroscope/ PyroScope] is a collection of command line tools for RTorrent. It provides commands for creating and modifying torrent files, moving data on completion without having multiple watch folders, and mass-controlling download items via RTorrent's XML-RPC interface: searching, start/stop, deleting items with or without their data, etc. It also offers a documented Python API, with which these tools are implemented.</div>Xehozhttps://wiki.archlinux.org/index.php?title=RTorrent&diff=140079RTorrent2011-05-05T23:57:31Z<p>Xehoz: /* Web GUI Clients for RTorrent */ added a link to a guide for rutorrent in Arch Linux's Forum. Although, it would probably be better to create it's own article, like WTorrent (it's quite similar)</p>
<hr />
<div>{{i18n|rTorrent}}<br />
{{DISPLAYTITLE:rTorrent}}<br />
[[Category:HOWTOs (English)]]<br />
[[Category:Internet Applications (English)]]<br />
[[Category:Utilities (English)]]<br />
<br />
[http://libtorrent.rakshasa.no/ rTorrent] is a very simple, elegant and ultra-light bittorrent client. It is written in C++ and uses ncurses, so it is completely text based and runs entirely in a console. rTorrent is ideal for low-end systems and with the addition of GNU Screen and openssh it is convenient as a remote bittorrent client.<br />
<br />
== Installing ==<br />
<br />
# pacman -S rtorrent<br />
<br />
You can also install {{Package AUR|rtorrent-svn}} from the [[AUR]].<br />
<br />
== Configuring ==<br />
<br />
Before running rTorrent, copy the default configuration file, which is available at the rTorrent [http://libtorrent.rakshasa.no/browser/trunk/rtorrent/doc/rtorrent.rc?format=raw project page], and save it as .rtorrent.rc in your home directory. <br />
<br />
Once the file has been saved, open it with your preferred text editor and make any necessary changes. Simply uncomment the options you wish to enable/utilize. For more detailed information on the options available, visit [http://libtorrent.rakshasa.no/wiki/RTorrentCommonTasks rTorrent Common Tasks]<br />
<br />
=== Recommended Configuration ===<br />
<br />
These values in the following are subjective and dependent upon your own system and Internet connection speed. To find the optimal settings for you to use, visit the following website and follow the instructions: [http://torrentfreak.com/optimize-your-BitTorrent-download-speed Optimize Your BitTorrent Download Speed]<br />
<br />
<pre><br />
# Maximum and minimum number of peers to connect to per torrent.<br />
#min_peers = 40<br />
max_peers = 52<br />
<br />
# Same as above but for seeding completed torrents (-1 = same as downloading)<br />
#min_peers_seed = 10<br />
max_peers_seed = 52<br />
<br />
# Maximum number of simultanious uploads per torrent.<br />
max_uploads = 8<br />
<br />
# Global upload and download rate in KiB. "0" for unlimited.<br />
download_rate = 200<br />
upload_rate = 28<br />
</pre><br />
<br />
The option below will determine where your torrent data will be saved. Change the default save directory to whatever is most convenient. Be sure to enter the absolute path; there is an odd bug with rTorrent ''sometimes'' does not respect relative paths (i.e. ~/torrents):<br />
<br />
<pre><br />
# Default directory to save the downloaded torrents.<br />
directory = /home/[user]/torrents/<br />
</pre><br />
<br />
This option will allow rTorrent to save the progess of your torrents. Be sure to create a directory called .session (simply run as normal user:''mkdir ~/.session''):<br />
<br />
<pre><br />
# Default session directory. Make sure you don't run multiple instance<br />
# of rtorrent using the same session directory. Perhaps using a<br />
# relative path?<br />
session = /home/[user]/.session/<br />
</pre><br />
<br />
The following option will have rTorrent "watch" a particular directory for new .torrent files. Be careful when using this option as rtorrent will move the torrent file to your session folder and rename it to it's hash value. Using your browser, when you find a .torrent file you would like to download, just save the file into this directory and rTorrent will automatically start the torrent. Be sure to create the directory that will be watched (simply run as normal user:''mkdir ~/watch''): <br />
<br />
<pre><br />
# Watch a directory for new torrents, and stop those that have been<br />
# deleted.<br />
#schedule = watch_directory,5,5,load_start=./watch/*.torrent<br />
#schedule = untied_directory,5,5,stop_untied=<br />
schedule = watch_directory,5,5,load_start=/home/[user]/watch/*.torrent<br />
schedule = untied_directory,5,5,stop_untied=<br />
schedule = tied_directory,5,5,start_tied=<br />
</pre><br />
<br />
The option below will stop rTorrent from downloading any further when disk space is low. This is particuarly useful with a [http://en.wikipedia.org/wiki/Seedbox Seedbox] where disk space is quite limited. Change the value as you like: <br />
<br />
<pre><br />
# Close torrents when diskspace is low.<br />
schedule = low_diskspace,5,60,close_low_diskspace=100M<br />
</pre><br />
<br />
This option will set what port to use for listening. It is recommended to use a port that is higher than 49152. rTorrent allows the use of a single port rather than a range; a single port rather than an actual range is recommended.<br />
<br />
<pre><br />
# Port range to use for listening.<br />
port_range = 49164-49164<br />
</pre><br />
<br />
The following option allow for a hash check whenever a torrent is complete or whenever rTorrent is restarted. This will make sure there are no errors with your acquired/seeding files. <br />
<br />
<pre><br />
# Check hash for finished torrents. Might be usefull until the bug is<br />
# fixed that causes lack of diskspace not to be properly reported.<br />
check_hash = yes<br />
</pre><br />
<br />
The following option allows for the enabling of encryption. This is very important to enable, if not for yourself, but for others in the torrent swarm; people might need to obscure their bandwidth usage from their ISP. Does not hurt you to enable even if you do not need such protection. More information: [http://en.wikipedia.org/wiki/BitTorrent_protocol_encryption Bittorrent Protocol Encryption]<br />
<br />
<pre><br />
# Encryption options, set to none (default) or any combination of the following:<br />
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext<br />
#<br />
# The example value allows incoming encrypted connections, starts unencrypted<br />
# outgoing connections but retries with encryption if they fail, preferring<br />
# plaintext to RC4 encryption after the encrypted handshake<br />
#<br />
# encryption = allow_incoming,enable_retry,prefer_plaintext<br />
encryption = allow_incoming,try_outgoing,enable_retry<br />
</pre><br />
<br />
The following is for DHT support. If you use public trackers, you'll want to enable DHT to acquire more peers. If you use only private trackers, '''do not enable DHT''' as this will reduce your speeds and can create a privacy risk. Some private trackers will even warn you if you use DHT. <br />
<br />
<pre><br />
# Enable DHT support for trackerless torrents or when all trackers are down.<br />
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),<br />
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).<br />
# The default is "off". For DHT to work, a session directory must be defined.<br />
# <br />
# dht = auto<br />
<br />
# UDP port to use for DHT. <br />
# <br />
# dht_port = 6881<br />
<br />
# Enable peer exchange (for torrents not marked private)<br />
#<br />
# peer_exchange = yes<br />
</pre><br />
<br />
Be sure to forward the proper port(s) with your router if you use one. A decent guide per router make/model can be found [http://portforward.com/english/routers/port_forwarding/routerindex.htm here].<br />
<br />
== Pre-allocation ==<br />
<br />
One could recompile ''libtorrent'' from '''ABS''' with a new switch to configure pre-allocation:<br />
./configure --prefix=/usr --disable-debug --with-posix-fallocate<br />
<br />
And enable it by adding the following to your rtorrent.rc:<br />
# Preallocate files; reduces defragmentation on filesystems.<br />
system.file_allocate.set = yes<br />
<br />
It will pre-allocate files before downloading the torrent but this has its pros and cons:<br />
=== Pros ===<br />
This limits/avoids ''fragmentation'' of the filesystem<br />
<br />
=== Cons ===<br />
This introduces a delay during the pre-allocation '''if''' the filesystem does not support natively the ''fallocate syscall''.<br />
<br />
So i recommend its use for users of ''xfs'', ''ext4'' and ''btrfs'' which have native fallocate syscall. They will see no delay during preallocation and no fragmented filesystem. Others filesystems will cause delay at pre-allocation time but no fragmented file.<br />
<br />
== Controls ==<br />
<br />
rTorrent relies exclusively on keyboard shortcuts for user input.<br />
<br />
Here are the basics for quick reference:<br />
<br />
*Control-q : closes rTorrent, done twice makes the program shutdown without waiting to send stopping information to the trackers.<br />
*Left arrow : returns to the previous screen.<br />
*Right arrow : goes to the next screen.<br />
*a|s|d : increase global upload throttle about 1|5|50 KB/s<br />
*A|S|D : increase global download throttle about 1|5|50 KB/s<br />
*z|x|c : decrease global upload throttle about 1|5|50 KB/s<br />
*Z|X|C : decrease global download throttle about 1|5|50 KB/s<br />
*Control-S : starts download<br />
*Control-D : stops an active download, removes a stopped download.<br />
*+ or - : changes the download priority of selected torrent.<br />
*Backspace : adds the specified .torrent. After pressing this button write full path or URL of .torrent file. You can use Tab and other tricks from bash.<br />
<br />
A complete guide is available on the main site: [http://libtorrent.rakshasa.no/wiki/RTorrentUserGuide rTorrent User Guide]<br />
<br />
{{Note| Taken from [http://libtorrent.rakshasa.no/wiki/RTorrentUserGuide rTorrent User Guide] Control-s (and Control-q for quit) is often used for terminal control to pause screen output (and Control-q to resume). This may interfere with rTorrent.}}<br />
To see if these have been mapped type stty -a in console. To remove the mappings, execute the commands<br />
<br />
# stty stop undef<br />
# stty start undef<br />
To remove these mappings automatically at startup you may add the above commands to your ~/.bashrc file.<br />
<br />
== Use rTorrent with Screen ==<br />
<br />
Screen is a program that will allow CLI applications to be run in the background and without X running. <br />
<br />
Install screen:<br />
<br />
# pacman -S screen<br />
<br />
and then copy screenrc to your home directory as normal user:<br />
<br />
$ cp /etc/screenrc ~/.screenrc<br />
<br />
To have rTorrent always start with screen, add the following to your .screenrc file:<br />
<br />
$ screen -t rtorrent rtorrent <br />
<br />
To start screen + rTorrent, simply run ''screen'' from a terminal. Control-a followed by d will detach screen, and running ''screen -r'' will open screen again.<br />
<br />
===On a remote machine===<br />
Most setups of rTorrent on a remote machine involve using Screen. Supposing you have a detached Screen session with rtorrent on the remote machine (and the option to [[SSH]] into it), you can gain access to it using:<br />
<pre>/usr/bin/ssh -t -p <ssh port on remote machine> <user>@<remote machine> screen -RD</pre><br />
If you want immediate access on startup, you will need to [http://bloggerdigest.blogspot.com/2006/11/ssh-auto-login-or-passwordless-login.html upload a key] from your machine to remote host (so you will not be prompted for a password) and setup a terminal to run the command above. An inittab example using [http://aur.archlinux.org/packages.php?ID=19631 rungetty] on virtual console 4:<br />
<pre>sam:45:respawn:/sbin/rungetty tty4 -u <local user> -- /usr/bin/ssh -t -p <ssh port on remote machine> <remote user>@<remote machine> screen -RD</pre><br />
<br />
===rtorrent Daemon with screen===<br />
<br />
I use this on my home server to run rtorrent w/ screen as a daemon. With the username ''user''<br />
Just create an ''rtorrent'' file in your ''/etc/rc.d/'' and add the following code.<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
case "$1" in<br />
start)<br />
stat_busy "Starting rtorrent"<br />
su user -c 'screen -d -m -S rtorrent rtorrent' &> /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
add_daemon rtorrent<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping rtorrent"<br />
killall -w -s 2 /usr/bin/rtorrent &> /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
rm_daemon rtorrent<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
sleep 1<br />
$0 start<br />
;;<br />
*)<br />
echo "usage: $0 {start|stop|restart}"<br />
esac<br />
exit 0<br />
</pre><br />
{{Note| works with [[tmux|tmux]], too. "su rtorrent -c 'tmux -d -s rtorrent rtorrent' &> /dev/null"}}<br />
<br />
<br />
'''Make File Executable'''<br />
sudo chmod +x /etc/rc.d/rtorrent<br />
<br />
On a remote computer I use the following script to connect to the server's daemon process:<br />
<br />
<pre><br />
ssh -t rtorrent@192.168.1.10 'screen -r'<br />
</pre><br />
<br />
====Setting the working directory .rtorrent.rc====<br />
<br />
When I used the above script to start a daemon it worked fine until I added a .rtorrent.rc file into the users directory. This was caused the use of by relative paths the .rtorrent.rc file that assumed the instance for rtorrent was running in the users home folder. As I wanted to run multiple instances of rtorrent under different users I opted to change the /etc/rc.d/ script to the following :<br />
<pre><br />
su username -c 'cd /home/username && screen -d -m -S rtorrent rtorrent' &> /dev/null<br />
</pre><br />
<br />
You could instead set absolute paths in the rc file if you preferred.<br />
<br />
====Running Multiple Daemons====<br />
<br />
It's also possible using a very similar script to that above to run the daemon user multiple users. To achieve this you can create an /etc/rc.d script for each user that you want to run rtorrent under.<br />
<br />
Then change the killall line on the script to: <br />
<pre><br />
su username -c 'killall -w -s 2 /usr/bin/rtorrent' &> /dev/null<br />
</pre><br />
<br />
It's possible to use a single script to manage all the users but I found this was easier to manage.<br />
<br />
== Additional Tips ==<br />
<br />
*To use rTorrent with a tracker that uses https, do the following as root:<br />
<br />
<pre><br />
cd /etc/ssl/certs<br />
wget --no-check-certificate https://www.geotrust.com/resources/root_certificates/certificates/Equifax_Secure_Global_eBusiness_CA-1.cer<br />
mv Equifax_Secure_Global_eBusiness_CA-1.cer Equifax_Secure_Global_eBusiness_CA-1.pem<br />
c_rehash<br />
</pre><br />
<br />
And from now on run rTorrent with:<br />
<br />
<pre><br />
rtorrent -o http_capath=/etc/ssl/certs<br />
</pre><br />
<br />
Be sure to change .screenrc to reflect this change if you use screen:<br />
<br />
<pre><br />
screen -t rtorrent rtorrent -o http_capath=/etc/ssl/certs<br />
</pre><br />
<br />
<br />
*To create .torrent files, I recommend [http://aur.archlinux.org/packages.php?do_Details=1&ID=10635&O=0&L=0&C=0&K=mktorrent&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd mktorrent] for commandline interface or [http://benclarke.ca/rubytorrent/ RubyTorrent] for GUI. <br />
<br />
===Automatically Move Completed Torrent Data to 'Completed' Folders===<br />
'''NOTE:''' Currently, this part requires either the svn version of rtorrent/libtorrent or having applied the patch to 0.8.6 that adds 'equal'.<br />
<br />
It is possible to have rtorrent sort completed torrent data to specific folders based on which 'watch' folder you drop the *.torrent into while continuing to seed. Many examples show how to do this with torrents downloaded by rtorrent. The problem is when you try to drop in 100% done torrent data and then have rtorrent check the data and resume. It will not be sorted.<br />
<br />
As a solution, use the following example in your ~/.rtorrent.rc.<br />
Make sure to change the paths.<br />
<br />
<pre><br />
# location where new torrent data is placed, and where you should place your<br />
# 'complete' data before you place your *.torrent file into the watch folder<br />
directory = /home/user/torrents/incomplete<br />
<br />
# schedule a timer event named 'watch_directory_1':<br />
# 1) triggers 10 seconds after rtorrent starts<br />
# 2) triggers at 10 second intervals thereafter<br />
# 3) Upon trigger, attempt to load (and start) new *.torrent files found in /home/user/torrents/watch/<br />
# 4) set a variable named 'custom1' with the value "/home/user/torrents/complete"<br />
# NOTE: if you don't want it to automatically start the torrent, change 'load_start' to 'load'<br />
schedule = watch_directory_1,10,10,"load_start=/home/user/torrents/watch/*.torrent,d.set_custom1=/home/user/torrents/complete"<br />
<br />
# insert a method with the alias 'checkdirs1'<br />
# 1) returns true if the current path of the torrent data is not equal to the value of custom1<br />
# 2) otherwise, returns false<br />
system.method.insert=checkdirs1,simple,"not=\"$equal={d.get_custom1=,d.get_base_path=}\""<br />
<br />
# insert a method with the alias 'movecheck1'<br />
# 1) returns true if all 3 commands return true ('result of checkdirs1' && 'torrent is 100% done', 'custom1 variable is set')<br />
# 2) otherwise, returns false<br />
system.method.insert=movecheck1,simple,"and={checkdirs1=,d.get_complete=,d.get_custom1=}"<br />
<br />
# insert a method with the alias 'movedir1'<br />
# (a series of commands, separated by ';') <br />
# 1) "set path of torrent to equal the value of custom1";<br />
# 2) "mv -u <current data path> <custom1 path>";<br />
# 3) "clear custom1", "stop the torrent","resume the torrent"<br />
# 4) stop the torrent<br />
# 5) start the torrent (to get the torrent to update the 'base path')<br />
system.method.insert=movedir1,simple,"d.set_directory=$d.get_custom1=;execute=mv,-u,$d.get_base_path=,$d.get_custom1=;d.set_custom1=;d.stop=;d.start="<br />
<br />
# set a key with the name 'move_hashed1' that is triggered by the hash_done event.<br />
# 1) When hashing of a torrent completes, this custom key will be triggered.<br />
# 2) when triggered, execute the 'movecheck1' method and check the return value.<br />
# 3) if the 'movecheck' method returns 'true', execute the 'movedir1' method we inserted above.<br />
# NOTE: 'branch' is an 'if' conditional statement: if(movecheck1){movedir1}<br />
system.method.set_key=event.download.hash_done,move_hashed1,"branch={$movecheck1=,movedir1=}"<br />
</pre><br />
<br />
You can add additional watch folders and rules should you like to sort your torrents into special folders.<br />
<br />
For example, if you would like the torrents to download in:<br />
/home/user/torrents/incomplete<br />
and then sort the torrent data based on which folder you dropped the *.torrent into:<br />
/home/user/torrents/watch => /home/user/torrents/complete<br />
/home/user/torrents/watch/iso => /home/user/torrents/complete/iso<br />
/home/user/torrents/watch/music => /home/user/torrents/complete/music<br />
<br />
You can have the following in your .rtorrent.rc:<br />
<pre><br />
directory = /home/user/torrents/incomplete<br />
schedule = watch_directory_1,10,10,"load_start=/home/user/torrents/watch/*.torrent,d.set_custom1=/home/user/torrents/complete"<br />
system.method.insert=checkdirs1,simple,"not=\"$equal={d.get_custom1=,d.get_base_path=}\""<br />
system.method.insert=movecheck1,simple,"and={checkdirs1=,d.get_complete=,d.get_custom1=}"<br />
system.method.insert=movedir1,simple,"d.set_directory=$d.get_custom1=;execute=mv,-u,$d.get_base_path=,$d.get_custom1=;d.set_custom1=;d.stop=;d.start="<br />
system.method.set_key=event.download.hash_done,move_hashed1,"branch={$movecheck1=,movedir1=}"<br />
<br />
schedule = watch_directory_2,10,10,"load_start=/home/user/torrents/watch/iso/*.torrent,d.set_custom2=/home/user/torrents/complete/iso"<br />
system.method.insert=checkdirs2,simple,"not=\"$equal={d.get_custom2=,d.get_base_path=}\""<br />
system.method.insert=movecheck2,simple,"and={checkdirs2=,d.get_complete=,d.get_custom2=}"<br />
system.method.insert=movedir2,simple,"d.set_directory=$d.get_custom2=;execute=mv,-u,$d.get_base_path=,$d.get_custom2=;d.set_custom2=;d.stop=;d.start="<br />
system.method.set_key=event.download.hash_done,move_hashed2,"branch={$movecheck2=,movedir2=}"<br />
<br />
schedule = watch_directory_3,10,10,"load_start=/home/user/torrents/watch/music/*.torrent,d.set_custom3=/home/user/torrents/complete/music"<br />
system.method.insert=checkdirs3,simple,"not=\"$equal={d.get_custom3=,d.get_base_path=}\""<br />
system.method.insert=movecheck3,simple,"and={checkdirs3=,d.get_complete=,d.get_custom3=}"<br />
system.method.insert=movedir3,simple,"d.set_directory=$d.get_custom3=;execute=mv,-u,$d.get_base_path=,$d.get_custom3=;d.set_custom3=;d.stop=;d.start="<br />
system.method.set_key=event.download.hash_done,move_hashed3,"branch={$movecheck3=,movedir3=}"<br />
</pre><br />
<br />
Also see [http://code.google.com/p/pyroscope/ pyroscope] especially the rtcontrol examples. There is an AUR package.<br />
<br />
===Send Text Message Upon Torrent Completion Using GMail===<br />
<br />
Cell phone providers allow you to "email" your phone:<br />
<pre><br />
Verizon: 10digitphonenumber@vtext.com<br />
AT&T: 10digitphonenumber@txt.att.net<br />
Former AT&T customers: 10digitphonenumber@mmode.com<br />
Sprint: 10digitphonenumber@messaging.sprintpcs.com<br />
T-Mobile: 10digitphonenumber@tmomail.net<br />
Nextel: 10digitphonenumber@messaging.nextel.com<br />
Cingular: 10digitphonenumber@cingularme.com<br />
Virgin Mobile: 10digitphonenumber@vmobl.com<br />
Alltel: 10digitphonenumber@alltelmessage.com OR<br />
10digitphonenumber@message.alltel.com<br />
CellularOne: 10digitphonenumber@mobile.celloneusa.com<br />
Omnipoint: 10digitphonenumber@omnipointpcs.com<br />
Qwest: 10digitphonenumber@qwestmp.com<br />
Telus: 10digitphonenumber@msg.telus.com<br />
</pre><br />
<br />
*Install '''Heirloom's mailx''' program:<br />
<pre><br />
pacman -S mailx-heirloom<br />
</pre><br />
<br />
*Clear the /etc/nail.rc file and enter:<br />
<pre><br />
set sendmail="/usr/bin/mailx"<br />
set smtp=smtp.gmail.com:587<br />
set smtp-use-starttls<br />
set ssl-verify=ignore<br />
set ssl-auth=login<br />
set smtp-auth-user=USERNAME@gmail.com<br />
set smtp-auth-password=PASSWORD<br />
</pre><br />
<br />
Now to send the text, we must pipe a message to the mailx program.<br />
*Make a bash script (/path/to/mail.sh):<br />
<pre><br />
echo "$@: Done" | mailx 5551234567@vtext.com<br />
</pre><br />
Where the $@ is a variable holding all the arguments passed to our script.<br />
<br />
*And finally, add the important ~/.rtorrent.rc line:<br />
<pre><br />
system.method.set_key = event.download.finished,notify_me,"execute=/path/to/mail.sh,$d.get_name="<br />
</pre><br />
Breaking it down:<br />
<br />
<code>notify_me</code> is the command id, which may be used by other commands, it can be just about anything you like, so long as it is unique.<br><br />
<br />
<code>execute=</code> is the rtorrent command, in this case to execute a shell command.<br><br />
<br />
<code>/path/to/mail.sh</code> is the name of our script (or whatever command you want to execute) followed by a comma separated list of all the switches/arguments to be passed.<br><br />
<br />
<code>$d.get_name=</code> 'd' is an alias to whatever download triggered the command, get_name is a function which returns the name of our download, and the '$' tells rtorrent to replace the command with its output before it calls execute.<br><br />
<br />
The end result? When that torrent, 'All Live Nudibranches', that we started before leaving for work finishes, we'll be texted:<br />
<pre>All Live Nudibranches: Done</pre><br />
<br />
===Make "active" tab show only active torrents===<br />
<br />
The rtorrent doesn't list the active tab properly by default, add this line to your .rtorrent.rc to show only active torrents<br />
<pre>schedule = filter_active,30,30,"view_filter = active,\"or={d.get_up_rate=,d.get_down_rate=}\""</pre><br />
<br />
Now press 9 in your rtorrent client to see the changes in action.<br />
<br />
=== See Also ===<br />
<br />
* [[Screen Tips]]<br />
* A detailed intro to Bittorrent including a definition of terms [http://www.dessent.net/btfaq/#terms terms].<br />
* the [http://community.rutorrent.org/ rTorrent Community Wiki] is designed to have information on all things rTorrent, including a comprehensive reference to rTorrent's command language.<br />
<br />
=====Display rTorrent stats in conky=====<br />
See [http://bbs.archlinux.org/viewtopic.php?id=67304 this thread].<br />
<br />
== Misc Info ==<br />
===xmlrpc-c===<br />
rTorrent is currently built using xmlrpc-c which is needed for some web GUI's, such as rutorrent.<br />
===SCGI===<br />
If you want to use rtorrent with some web GUI's such as rutorrent you need to add the following to you config:<br />
<br />
<pre><br />
scgi_port = localhost:5000<br />
</pre><br />
<br />
For more info see the [http://libtorrent.rakshasa.no/wiki/RTorrentXMLRPCGuide rtorrent wiki]<br />
<br />
== Web GUI Clients for RTorrent ==<br />
* [[WTorrent]] a web interface to rtorrent programmed in php using Smarty templates and XMLRPC for PHP library.<br />
* [http://code.google.com/p/ntorrent/ nTorrent] A graphical user interface client to rtorrent (a cli torrent client) written in java.<br />
* [http://projects.cyla.homeip.net/rtwi/ rTWi] a simple rTorrent web interface written in PHP.<br />
* [http://code.google.com/p/rtgui/ rtGui] a web based front end for rTorrent written in PHP and uses XML-RPC to communicate with the rTorrent client.<br />
* [http://code.google.com/p/rutorrent/ rutorrent] [https://bbs.archlinux.org/viewtopic.php?pid=897577#p897577 (guide in bbs)] a web based front end with an interface very similar to uTorrent which supports many plugins and advanced features.<br />
<br />
== Command Line Clients for RTorrent ==<br />
* [http://code.google.com/p/pyroscope/ PyroScope] is a collection of command line tools for RTorrent. It provides commands for creating and modifying torrent files, moving data on completion without having multiple watch folders, and mass-controlling download items via RTorrent's XML-RPC interface: searching, start/stop, deleting items with or without their data, etc. It also offers a documented Python API, with which these tools are implemented.</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=139679ASUS N82JV2011-05-04T14:12:38Z<p>Xehoz: /* Suspend to RAM */</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci-hcd<br />
|-<br />
| USB 2.0 || style="color:green" | '''Working''' || ehci-hcd<br />
|-<br />
| eSATA || style="color:orange" | '''Untested''' ||<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|-<br />
| Suspend to RAM || style="color:green" | '''Working''' || <br />
|}<br />
<br />
=Hardware=<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
=Configuration=<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
==CPU==<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
==Video==<br />
===Intel===<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
===Nvidia===<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
====Switching graphic cards====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change in the near future[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
====Disabling the Nvidia card====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
=====Run on Startup=====<br />
If you want run it on every startup add these lines to {{Filename|/etc/rc.local}} {{Note|Running this without a delay on Kernel 2.6.35.x has issues (Boots fine but X and tty don't show up; to avoid that, simply add {{Codeline|sleep <time>}} before these lines and remember that sleep affects every line below it. If you mess up or decide to test it, just boot into recovery mode and edit {{Filename|/etc/rc.local}} from cli, to either add the delay or remove the lines altogether}}<br />
<br />
<pre># Disable Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with {{Codeline|grep rate /proc/acpi/battery/BAT0/state}}. There should be a difference of about 7500 mW in battery usage.<br />
<br />
=====Enable/Disable Scripts=====<br />
You can easily create a couple of scripts to enable and disable it.<br />
<pre><br />
#/bin/sh<br />
# Disable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<pre><br />
#/bin/sh<br />
# Enable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
{{Codeline|chmod +x}} both of them and type {{Codeline|sh <name you've given them>}} to use them.<br />
<br />
==Audio==<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
{{Note|From my experience [[OSS]] doesn't work}}<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
{{Note|Realtek's ALSA drivers, currently 1.0.23-5.15rc5, aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)}}<br />
<br />
2. Add {{Codeline|options snd-hda-intel index<nowiki>=</nowiki>0 model<nowiki>=</nowiki>auto}} to {{Filename|/etc/modprobe.d/modprobe.conf}}.<br />
<br />
Open {{Filename|/etc/modprobe.d/sound.conf}} and add:<br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
===HDMI===<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
==Touchpad==<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type {{Codeline|xinput list |grep pointer}}. What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using an Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, open {{Filename|/etc/X11/xorg.conf.d/10-synaptics.conf}}. A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
{{Note|While I settled with these coordinates, they may require tuning: [[Touchpad_Synaptics#fine-tuning_with_synclient]]}}.<br />
<br />
===Working 10-synaptics.conf===<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
{{File|name=/etc/X11/xorg.conf.d/10-synaptics.conf|content=Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection}}<br />
<br />
==Suspend to RAM==<br />
<br />
{{Note|As far as I can tell, there is a general issue with USB 3.0 and suspending at the kernel level.}}<br />
{{Note|This is section was written in kernel 2.6.36.2-1 and with the packages available on 18th December.}}<br />
<br />
I achieved Suspension to RAM by using pm-utils with either the uswsusp and kernel method.<br />
<br />
1. Follow the [[pm-utils]] article . It is quite extense and can be confusing, but, if I recall, this is the very minimum of what is needed to do:<br />
<br />
1.1 Type {{Codeline|pacman -S pm-utils uswsusp}}<br />
<br />
1.2 To a file inside {{Filename|/etc/pm/config.d/}}, add:<br />
<pre>SLEEP_MODULE="uswsusp"<br />
#SLEEP_MODULE="kernel"<br />
HIBERNATE_MODE="shutdown"</pre><br />
<br />
1.3 Add the {{Codeline|resume}} hook to {{Filename|/etc/mkinitcpio.conf}}, before filesystems.<br />
<pre>HOOKS="base udev autodetect pata scsi sata resume filesystems"</pre><br />
<br />
1.4 Rebuild the initrd image with {{Codeline|mkinitcpio -p kernel26}}.<br />
<br />
Now, to the hardware specific part.<br />
2. Add <br />
<pre>Codeline|SUSPEND_MODULES="xhci-hcd ehci-hcd"</pre><br />
to {{Filename|/etc/pm/config.d/usb3-suspend-workaround}}.<br />
<br />
After a surge of updates, somewhere on the end of November/start of December (bug report), suspend to ram only works if nouveau is explicitly disabled in rc.conf. Since nouveau isn't related to the ability to power the nvidia card off, powering it off is still possible, even after <br />
disabling that module.<br />
<br />
3. Add {{Codeline|!nouveau}} to the {{Codeline|MODULES}} line in {{Filename|rc.conf}}. It should look like this:<br />
<pre>MODULES=(fuse acpi-cpufreq cpufreq_ondemand cpufreq_powersave !snd-pcm-oss vboxdrv !nouveau)</pre><br />
<br />
=Webcam=<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
=Function Keys=<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad). It should be possible to have them all working by following [[Extra Keyboard Keys]].</div>Xehozhttps://wiki.archlinux.org/index.php?title=PyLoad&diff=139004PyLoad2011-04-30T19:32:03Z<p>Xehoz: /* Scripts */</p>
<hr />
<div>[[Category:Internet Applications (English)]]<br />
<br />
[http://pyload.org/ pyLoad] is a fast, lightweight and full featured download manager for many One-Click-Hoster, container formats like DLC, video sites or just plain http/ftp links ([http://pyload.org/hoster supported hosts]). It aims for low hardware requirements and platform independence to be runnable on all kind of systems (desktop pc, netbook, NAS, router). Despite its strict restriction it is packed full of features just like webinterface, captcha recognition, unrar and much more. <br />
<br />
pyLoad is divided into core and clients, to make it easily remote accessible. Currently there are ([http://pyload.org/screenshots screenshots]):<br />
* a '''webinterface''';<br />
* a '''command line interface''';<br />
* a '''GUI''' written in '''Qt''';<br />
* and an '''Android''' client.<br />
<br />
==Installation==<br />
<br />
Install the [http://aur.archlinux.org/packages.php?ID=29288 pyload] package from the AUR.<br />
<br />
===Requirements===<br />
Required dependencies are handled by the AUR package's PKGBUILD. Nevertheless, some optional dependencies aren't:<br />
<br />
* Ability to establish a secure connection to core or webinterface.<br />
# pacman -S openssl python2-pyopenssl<br />
<br />
*For ClickNLoad support. <br />
# pacman -S spidermonkey<br />
<br />
==Configuration==<br />
Run Setup Assistant:<br />
# pyLoadCore -s<br />
<br />
The Setup Assistant gives you a jump start, by providing a ''basic'' but ''working'' setup. Being a basic setup, there are more options and you should at least look at them, since some sections are untouched by the Assistant, like the permissions section. <br />
<br />
{{Tip|Most (if not all) of the options can be changed with {{Codeline|pyLoadGui}} or with the the Web Interface.}}<br />
===Optional===<br />
However, if you prefer to edit the pyload.conf yourself and you went with the default conf directory, you can change the settings by editing {{Filename|~/.pyload/pyload.conf}. Use your favorite editor to edit, ''ie'':<br />
# nano ~/.pyload/pyload.conf<br />
<br />
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the {{Filename|/opt/pyload/module/config/}} files it refers to don't match what's still on that page.<br />
<br />
While also editable with the web interface, you can also change the plugins configuration by editing {{Filename|~/.pyload/plugins.conf}}. Use your favorite editor to edit, ''ie'':<br />
# nano ~/.pyload/plugins.conf<br />
<br />
'''Extration passwords''' are store in ~/.pyload/unrar_passwords.txt. To add passwords either edit the file or:<br />
# echo '<password>' >> ~/.pyload/unrar_passwords.txt<br />
<br />
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the /opt/pyload/module/config/ files it refers to don't match what's still on that page.<br />
<br />
===Scripts===<br />
For more info on this,<br />
cat /opt/pyload/scripts/Readme.txt<br />
and [http://forum.pyload.org/viewtopic.php?f=7&t=7 visit pyload.org forums].<br />
<br />
If you are interested in running userscripts, before running, you need to either<br />
# chmod 777 /opt/pyload/scripts/<br />
or <br />
# chown <user you defined in pyload.conf / permissions settings> /opt/pyload/scripts/<br />
in order for pyLoadCore to create the necessary folders.<br />
<br />
==Running==<br />
===Essential===<br />
# pyLoadCore <br />
{{Tip|You may want to add {{Codeline|pyLoadCore --daemon}} to your {{Filename|rc.local}}}}<br />
<br />
===Interfacing with pyLoadCore===<br />
# pyLoadCli<br />
<br />
# PyLoadGui<br />
<br />
Or, as stated above, with the web interface. If the default settings are true, then:<br />
http://localhost:8000<br />
<br />
==Alternatives==<br />
[[JDownloader]] available in [http://aur.archlinux.org/packages.php?ID=29288 AUR].<br />
<br />
[http://tucaneando.com/index.html Tucan Manager] available in [http://www.archlinux.org/packages/community/x86_64/tucan/ community].<br />
<br />
[http://code.google.com/p/plowshare/ plowshare] available in [http://aur.archlinux.org/packages.php?ID=24601 AUR] (CLI).<br />
<br />
[http://urlget.sourceforge.net/ uGet] available in [http://aur.archlinux.org/packages.php?ID=25887 AUR] (GTK).</div>Xehozhttps://wiki.archlinux.org/index.php?title=PyLoad&diff=139003PyLoad2011-04-30T19:31:22Z<p>Xehoz: Scripts</p>
<hr />
<div>[[Category:Internet Applications (English)]]<br />
<br />
[http://pyload.org/ pyLoad] is a fast, lightweight and full featured download manager for many One-Click-Hoster, container formats like DLC, video sites or just plain http/ftp links ([http://pyload.org/hoster supported hosts]). It aims for low hardware requirements and platform independence to be runnable on all kind of systems (desktop pc, netbook, NAS, router). Despite its strict restriction it is packed full of features just like webinterface, captcha recognition, unrar and much more. <br />
<br />
pyLoad is divided into core and clients, to make it easily remote accessible. Currently there are ([http://pyload.org/screenshots screenshots]):<br />
* a '''webinterface''';<br />
* a '''command line interface''';<br />
* a '''GUI''' written in '''Qt''';<br />
* and an '''Android''' client.<br />
<br />
==Installation==<br />
<br />
Install the [http://aur.archlinux.org/packages.php?ID=29288 pyload] package from the AUR.<br />
<br />
===Requirements===<br />
Required dependencies are handled by the AUR package's PKGBUILD. Nevertheless, some optional dependencies aren't:<br />
<br />
* Ability to establish a secure connection to core or webinterface.<br />
# pacman -S openssl python2-pyopenssl<br />
<br />
*For ClickNLoad support. <br />
# pacman -S spidermonkey<br />
<br />
==Configuration==<br />
Run Setup Assistant:<br />
# pyLoadCore -s<br />
<br />
The Setup Assistant gives you a jump start, by providing a ''basic'' but ''working'' setup. Being a basic setup, there are more options and you should at least look at them, since some sections are untouched by the Assistant, like the permissions section. <br />
<br />
{{Tip|Most (if not all) of the options can be changed with {{Codeline|pyLoadGui}} or with the the Web Interface.}}<br />
===Optional===<br />
However, if you prefer to edit the pyload.conf yourself and you went with the default conf directory, you can change the settings by editing {{Filename|~/.pyload/pyload.conf}. Use your favorite editor to edit, ''ie'':<br />
# nano ~/.pyload/pyload.conf<br />
<br />
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the {{Filename|/opt/pyload/module/config/}} files it refers to don't match what's still on that page.<br />
<br />
While also editable with the web interface, you can also change the plugins configuration by editing {{Filename|~/.pyload/plugins.conf}}. Use your favorite editor to edit, ''ie'':<br />
# nano ~/.pyload/plugins.conf<br />
<br />
'''Extration passwords''' are store in ~/.pyload/unrar_passwords.txt. To add passwords either edit the file or:<br />
# echo '<password>' >> ~/.pyload/unrar_passwords.txt<br />
<br />
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the /opt/pyload/module/config/ files it refers to don't match what's still on that page.<br />
<br />
===Scripts===<br />
For more info on this,<br />
cat /opt/pyload/scripts/Readme.txt<br />
and [http://forum.pyload.org/viewtopic.php?f=7&t=7 visit pyload.org forums].<br />
<br />
If you are interested in running userscripts, before running, you need to either<br />
# chmod 777 /opt/pyload/scripts/<br />
or <br />
# chown <user you defined in pyload.conf / permissions settings><br />
in order for pyLoadCore to create the necessary folders.<br />
<br />
==Running==<br />
===Essential===<br />
# pyLoadCore <br />
{{Tip|You may want to add {{Codeline|pyLoadCore --daemon}} to your {{Filename|rc.local}}}}<br />
<br />
===Interfacing with pyLoadCore===<br />
# pyLoadCli<br />
<br />
# PyLoadGui<br />
<br />
Or, as stated above, with the web interface. If the default settings are true, then:<br />
http://localhost:8000<br />
<br />
==Alternatives==<br />
[[JDownloader]] available in [http://aur.archlinux.org/packages.php?ID=29288 AUR].<br />
<br />
[http://tucaneando.com/index.html Tucan Manager] available in [http://www.archlinux.org/packages/community/x86_64/tucan/ community].<br />
<br />
[http://code.google.com/p/plowshare/ plowshare] available in [http://aur.archlinux.org/packages.php?ID=24601 AUR] (CLI).<br />
<br />
[http://urlget.sourceforge.net/ uGet] available in [http://aur.archlinux.org/packages.php?ID=25887 AUR] (GTK).</div>Xehozhttps://wiki.archlinux.org/index.php?title=PyLoad&diff=139000PyLoad2011-04-30T19:11:04Z<p>Xehoz: </p>
<hr />
<div>[[Category:Internet Applications (English)]]<br />
<br />
[http://pyload.org/ pyLoad] is a fast, lightweight and full featured download manager for many One-Click-Hoster, container formats like DLC, video sites or just plain http/ftp links ([http://pyload.org/hoster supported hosts]). It aims for low hardware requirements and platform independence to be runnable on all kind of systems (desktop pc, netbook, NAS, router). Despite its strict restriction it is packed full of features just like webinterface, captcha recognition, unrar and much more. <br />
<br />
pyLoad is divided into core and clients, to make it easily remote accessible. Currently there are ([http://pyload.org/screenshots screenshots]):<br />
* a '''webinterface''';<br />
* a '''command line interface''';<br />
* a '''GUI''' written in '''Qt''';<br />
* and an '''Android''' client.<br />
<br />
==Installation==<br />
<br />
Install the [http://aur.archlinux.org/packages.php?ID=29288 pyload] package from the AUR.<br />
<br />
===Requirements===<br />
Required dependencies are handled by the AUR package's PKGBUILD. Nevertheless, some optional dependencies aren't:<br />
<br />
* Ability to establish a secure connection to core or webinterface.<br />
# pacman -S openssl python2-pyopenssl<br />
<br />
*For ClickNLoad support. <br />
# pacman -S spidermonkey<br />
<br />
==Configuration==<br />
Run Setup Assistant:<br />
# pyLoadCore -s<br />
<br />
The Setup Assistant gives you a jump start, by providing a ''basic'' but ''working'' setup. Being a basic setup, there are more options and you should at least look at them, since some sections are untouched by the Assistant, like the permissions section. <br />
<br />
{{Tip|Most (if not all) of the options can be changed with {{Codeline|pyLoadGui}} or with the the Web Interface.}}<br />
===Optional===<br />
However, if you prefer to edit the pyload.conf yourself and you went with the default conf directory, you can change the settings by editing {{Filename|~/.pyload/pyload.conf}. Use your favorite editor to edit, ''ie'':<br />
# nano ~/.pyload/pyload.conf<br />
<br />
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the {{Filename|/opt/pyload/module/config/}} files it refers to don't match what's still on that page.<br />
<br />
While also editable with the web interface, you can also change the plugins configuration by editing {{Filename|~/.pyload/plugins.conf}}. Use your favorite editor to edit, ''ie'':<br />
# nano ~/.pyload/plugins.conf<br />
<br />
'''Extration passwords''' are store in ~/.pyload/unrar_passwords.txt. To add passwords either edit the file or:<br />
# echo '<password>' >> ~/.pyload/unrar_passwords.txt<br />
<br />
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the /opt/pyload/module/config/ files it refers to don't match what's still on that page.<br />
<br />
==Running==<br />
===Essential===<br />
# pyLoadCore <br />
{{Tip|You may want to add {{Codeline|pyLoadCore --daemon}} to your {{Filename|rc.local}}}}<br />
<br />
===Interfacing with pyLoadCore===<br />
# pyLoadCli<br />
<br />
# PyLoadGui<br />
<br />
Or, as stated above, with the web interface. If the default settings are true, then:<br />
http://localhost:8000<br />
<br />
==Alternatives==<br />
[[JDownloader]] available in [http://aur.archlinux.org/packages.php?ID=29288 AUR].<br />
<br />
[http://tucaneando.com/index.html Tucan Manager] available in [http://www.archlinux.org/packages/community/x86_64/tucan/ community].<br />
<br />
[http://code.google.com/p/plowshare/ plowshare] available in [http://aur.archlinux.org/packages.php?ID=24601 AUR] (CLI).<br />
<br />
[http://urlget.sourceforge.net/ uGet] available in [http://aur.archlinux.org/packages.php?ID=25887 AUR] (GTK).</div>Xehozhttps://wiki.archlinux.org/index.php?title=JDownloader&diff=138997JDownloader2011-04-30T18:32:05Z<p>Xehoz: Listing a few alternatives</p>
<hr />
<div>[[Category:Internet Applications (English)]]<br />
<br />
JDownloader is a Download Manager written in Java. JDownloader can download normal files, but also files from online file hosting services like Rapidshare.com.<br />
<br />
==Installation==<br />
<br />
===Requirements===<br />
For running JDownloader you need Java installed. I recommend OpenJDK, it works flawless with jDownloader.<br />
# pacman -S openjdk6<br />
<br />
===Installing===<br />
You can use the [http://aur.archlinux.org/packages.php?ID=29288 jdownloader package] in the AUR.<br />
<br />
===Running===<br />
Use the command jdownloader to start JDownloader. When you just installed JDownloader from AUR, this will run the update tool to download some required files for JDownloader, else this will start JDownloader directly.<br />
<br />
==Configuration==<br />
When you first start JDownloader you can choose your preferred language and also your download directory. On the next window, JDownloader asks you if you want to install FlashGot, a Firefox extension. I recommend clicking on Cancel. If you want this extension, you can still download it through [http://addons.mozilla.org the official mozilla addons website].<br />
<br />
If you enable the Light(GTK) theme and the fonts appear to lack anti-aliasing, modify {{Filename|~/.bashrc}} as appropriate following the directions [http://wiki.archlinux.org/index.php/Java_Fonts_-_Sun_JRE#Anti-aliasing here].<br />
<br />
==Tips and tricks==<br />
===Making JDownloader faster===<br />
In its default configuration, JDownloader is very slow and uses a lot of resources. You can atleast make it a bit faster by applying the following changes in the Settings Tab.<br />
<br />
Choose General and then turn the logging level to OFF.<br />
<br />
Choose User Interface and then switch the style to Light(GTK). (If you're using GNOME).<br />
<br />
==Alternatives==<br />
[[pyLoad]] available in [http://aur.archlinux.org/packages.php?ID=34434 AUR].<br />
<br />
[http://tucaneando.com/index.html Tucan Manager] available in [http://www.archlinux.org/packages/community/x86_64/tucan/ community]<br />
<br />
[http://code.google.com/p/plowshare/ plowshare] available in [http://aur.archlinux.org/packages.php?ID=24601 AUR] (CLI).<br />
<br />
[http://urlget.sourceforge.net/ uGet] available in [http://aur.archlinux.org/packages.php?ID=25887 AUR] (GTK).</div>Xehozhttps://wiki.archlinux.org/index.php?title=Makepkg&diff=138526Makepkg2011-04-26T22:51:05Z<p>Xehoz: /* Usage */</p>
<hr />
<div>[[Category:Package development (English)]]<br />
[[Category:About Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|makepkg}} {{DISPLAYTITLE:makepkg}}<br />
[[fr:makepkg]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|makepkg is a script used to compile and package software for use with pacman. This article details its configuration and usage.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Package management overview}}}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Creating Packages}}<br />
{{Article summary heading|Resources}}<br />
{{Article summary link|makepkg(8) Manual Page|http://www.archlinux.org/pacman/makepkg.8.html}}<br />
{{Article summary link|makepkg.conf(5) Manual Page|http://www.archlinux.org/pacman/makepkg.conf.5.html}}<br />
{{Article summary end}}<br />
<br />
makepkg is used for compiling and building packages suitable for installation with [[pacman]], Arch Linux's package manager. makepkg is a script that automates the building of packages; it can download and validate source files, check dependencies, configure build-time settings, compile the sources, install into a temporary root, make customizations, generate meta-info, and package everything together.<br />
<br />
makepkg is provided by the {{Package Official|pacman}} package.<br />
<br />
== Configuration ==<br />
<br />
{{Filename|/etc/makepkg.conf}} is the main configuration file for makepkg. Most users will wish to fine-tune makepkg configuration options prior to building any packages. <br />
<br />
=== Architecture, compile flags ===<br />
<br />
The MAKEFLAGS, CFLAGS and CXXFLAGS options are used by ''make'', ''gcc'', and ''g++'' whilst compiling software with makepkg. By default, these options generate generic packages that can be installed on a wide range of machines. A performance improvement can be achieved by tuning compilation for the host machine. The downside is that packages compiled specifically for the host's processor may not run on others.<br />
<br />
{{File|name=/etc/makepkg.conf|content=<nowiki><br />
...<br />
<br />
#########################################################################<br />
# ARCHITECTURE, COMPILE FLAGS<br />
#########################################################################<br />
#<br />
CARCH="x86_64"<br />
CHOST="x86_64-unknown-linux-gnu"<br />
<br />
#-- Exclusive: will only run on x86_64<br />
# -march (or -mcpu) builds exclusively for an architecture<br />
# -mtune optimizes for an architecture, but builds for whole processor family<br />
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"<br />
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"<br />
LDFLAGS="-Wl,--hash-style=gnu -Wl,--as-needed"<br />
#-- Make Flags: change this for DistCC/SMP systems<br />
#MAKEFLAGS="-j2"<br />
<br />
...<br />
</nowiki>}}<br />
<br />
The default makepkg.conf CFLAGS and CXXFLAGS are compatible with all machines within their respective architectures. <br />
<br />
Further optimizing for CPU type can theoretically enhance performance since {{Codeline|-march&#61;}} enables all available instruction sets and improves scheduling for a particular CPU. This is especially noticeable when rebuilding optimized applications (For example: Audio/Video encoding tools.) that take heavy advantage of newer instructions sets not enabled when using the default options (or packages) provided by Arch Linux.<br />
<br />
On 64bit, there are rarely measurable real world performance gains for "typical" unoptimized programs (i.e bash) since the bulk of instructions that end up getting generated for those are most likely already used anyway.<br />
<br />
As of version 4.3.0, the gcc compiler offers the {{Codeline|-march&#61;native}} switch that enables CPU auto-detection and automatically selects optimizations supported by the local machine at gcc runtime. To use it, just modify the default settings by changing the CFLAGS and CXXFLAGS lines as follows:<br />
<br />
CFLAGS="-march=native -O2 -pipe"<br />
CXXFLAGS="${CFLAGS}"<br />
<br />
To see the difference between the default options provided (on 64bit) and {{Codeline|-march&#61;native}} use something like this: <br />
<br />
echo | gcc -E -dM -march=x86-64 -mtune=generic - > /tmp/gccflags1<br />
echo | gcc -E -dM -march=native - > /tmp/gccflags2<br />
diff /tmp/gccflags1 /tmp/gccflags2<br />
<br />
<br />
diff results on a AMD Barcelona CPU:<br />
<br />
> #define __POPCNT__ 1<br />
48a50<br />
> #define __ABM__ 1<br />
81a84<br />
> #define __amdfam10__ 1<br />
91a95<br />
> #define __3dNOW__ 1<br />
94a99,100<br />
> #define __SSE4A__ 1<br />
> #define __amdfam10 1<br />
97a104<br />
> #define __3dNOW_A__ 1<br />
111d117<br />
< #define __k8 1<br />
143d148<br />
< #define __k8__ 1<br />
178a184<br />
> #define __tune_amdfam10__ 1<br />
194a201<br />
> #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 1<br />
203a211<br />
> #define __SSE3__ 1<br />
<br />
As you can see, using {{Codeline|-march&#61;native}} instead of the defaults enabled SSE3 among quite a few other things.<br />
<br />
See the gcc man page for a complete list of available options. The Gentoo [http://www.gentoo.org/doc/en/gcc-optimization.xml Compilation Optimization Guide] and [http://en.gentoo-wiki.com/wiki/Safe_Cflags Safe Cflags] wiki article provide more in-depth information.<br />
<br />
The MAKEFLAGS option can be used to specify additional options for make. Users with multi-core/multi-processor systems can specify the number of jobs to run simultaneously. Generally {{Codeline|-j2}}, plus 1 for each additional core/processor is an adequate choice. Some PKGBUILD's specifically override this with {{Codeline|-j1}}, because of race conditions in certain versions or simply because it's not supported in the first place. Packages that fail to build because of this should be reported on the bug tracker after making sure that the error is indeed being caused by your MAKEFLAGS.<br />
<br />
MAKEFLAGS="-j3"<br />
<br />
See the make man page for a complete list of available options.<br />
<br />
{{Note|Do keep in mind that not all package Makefiles will use your exported variables. Some of them override them in the original Makefiles or the PKGBUILD.}}<br />
<br />
=== Package output ===<br />
<br />
Next, one can configure where source files and packages should be placed and identify themselves as the packager. This step is optional; packages will be created in the working directory where makepkg is run by default.<br />
<br />
{{File|name=/etc/makepkg.conf|content=<nowiki><br />
...<br />
<br />
#########################################################################<br />
# PACKAGE OUTPUT<br />
#########################################################################<br />
#<br />
# Default: put built package and cached source in build directory<br />
#<br />
#-- Destination: specify a fixed directory where all packages will be placed<br />
#PKGDEST=/home/packages<br />
#-- Source cache: specify a fixed directory where source files will be cached<br />
#SRCDEST=/home/sources<br />
#-- Source packages: specify a fixed directory where all src packages will be placed<br />
#SRCPKGDEST=/home/srcpackages<br />
#-- Packager: name/email of the person or organization building packages<br />
#PACKAGER="John Doe <john@doe.com>"<br />
<br />
...<br />
</nowiki>}}<br />
<br />
For example, create the directory:<br />
<br />
$ mkdir /home/$USER/packages<br />
<br />
Then modify the PKGDEST variable in {{Filename|/etc/makepkg.conf}} accordingly.<br />
<br />
The PACKAGER variable will set the ''packager'' value within compiled packages' {{Filename|.PKGINFO}} metadata file. By default, user-compiled packages will display:<br />
<br />
{{Command|pacman -Qi package|<nowiki><br />
...<br />
Packager : Unknown Packager<br />
...<br />
</nowiki>}}<br />
<br />
Afterwards:<br />
<br />
{{Command|pacman -Qi package|<nowiki><br />
...<br />
Packager : John Doe <john@doe.com><br />
...<br />
</nowiki>}}<br />
<br />
This is useful if multiple users will be compiling packages on a system, or you are otherwise distributing your packages to other users.<br />
<br />
=== Unprivileged access ===<br />
<br />
To be able to install dependencies with makepkg as an unprivileged user (with {{Codeline|makepkg -s}}, see below) install [[sudo]] and add desired users to {{Filename|/etc/sudoers}}:<br />
<br />
USER_NAME ALL=(ALL) NOPASSWD: /usr/bin/pacman<br />
<br />
The above will negate the need to enter a password when with pacman. See the [[sudo]] wiki article for detailed information.<br />
<br />
== Usage ==<br />
<br />
Before continuing, ensure the "base-devel" group is installed. Packages belonging to this group are not required to be listed as dependencies in [[PKGBUILD]] files. Install the "base-devel" group by issuing (as root):<br />
<br />
# pacman -S base-devel<br />
<br />
{{Note|Before complaining about missing (make)dependencies, remember that the "base" group is assumed to be installed on all Arch Linux systems. The group "base-devel" is assumed to be installed when building with makepkg.}}<br />
<br />
To build a package, one must first create a [[PKGBUILD]], or build script, as described in [[Creating Packages]], or obtain one from the [[Arch Build System|ABS tree]], [[Arch User Repository]], or some other source. <br />
<br />
{{Warning|Only build/install packages from trusted sources.}}<br />
<br />
Once in possession of a {{Filename|PKGBUILD}}, change to the directory where it is saved and issue the following command to build the package described by said {{Filename|PKGBUILD}}:<br />
<br />
$ makepkg<br />
<br />
To have makepkg clean out leftover files and folders, such as files extracted to the $srcdir, add the following option. This is useful for multiple builds of the same package or updating the package version, while using the same build folder. It prevents obsolete and remnant files from carrying over to the new builds.<br />
<br />
$ makepkg -c<br />
<br />
If required dependencies are missing, makepkg will issue a warning before failing. To build the package and install needed dependencies automatically, simply use the command:<br />
<br />
$ makepkg -s<br />
<br />
Note that these dependencies must be available in the configured repositories; see [[pacman#Repositories]] for details. Alternatively, one can manually install dependencies prior to building ({{Codeline|pacman -Sy --asdeps dep1 dep2}}).<br />
<br />
Once all dependencies are satisfied and the package builds successfully, a package file ({{Filename|pkgname-pkgver.pkg.tar.xz}}) will be created in the working directory. To install, run (as root):<br />
<br />
# pacman -U pkgname-pkgver.pkg.tar.xz{{Codeline|<br />
<br />
Alternatively, to install, using the {{Codeline|-i}} flag is an easier way of running {{Codeline|pacman -U pkgname-pkgver.pkg.tar.xz}}, as in:<br />
<br />
$ makepkg -i<br />
<br />
== Tips and Tricks ==<br />
=== WARNING:Referencing $srcdir in PKGBUILD ===<br />
Somehow, $srcdir of $pkgdir ended up in one of the installed files in your package.<br />
<br />
To identify which files, run the following from the makepkg build dir:<br />
grep -R "$(pwd)/src" pkg/<br />
<br />
[[http://www.mail-archive.com/arch-general@archlinux.org/msg15561.html Link]] to discussion thread.</div>Xehozhttps://wiki.archlinux.org/index.php?title=List_of_applications&diff=138204List of applications2011-04-24T23:57:20Z<p>Xehoz: /* Terminals */</p>
<hr />
<div>[[Category:Other desktop user's resources (English)]] [[Category:General (English)]]<br />
{{i18n|Common Applications}}<br />
{{Article summary start}}<br />
{{Article summary text|Provides a list of common software that may be useful in day-to-day computer use, categorized by task.}}<br />
<!--{{Article summary heading|Languages}}--><br />
<!--{{i18n_entry|English|Common Applications}}--><br />
{{Article summary heading|Related}}<br />
{{Article summary text|[[Lightweight Applications]]}}<br />
{{Article summary end}}<br />
<br />
== Backup programs ==<br />
{{Box||See the article on this subject: [[Backup Programs]]|#E5E5FF|#FCFCFC}}<br />
<br />
* [[Wikipedia:DAR (Disk Archiver)|DAR]] - A full-featured command-line backup tool, short for Disk ARchive<br />
** Description: A full-featured command-line backup tool, short for Disk ARchive<br />
** Upstream URL: http://dar.linux.free.fr/<br />
** Package name: {{Package Official|dar}}<br />
<br />
* [[Wikipedia:Duplicity (software)|Duplicity]] - A utility for encrypted, bandwidth-efficient backups using the rsync algorithm<br />
** Description: A utility for encrypted, bandwidth-efficient backups using the rsync algorithm<br />
** Upstream URL: http://www.nongnu.org/duplicity/<br />
** Package name: {{Package Official|duplicity}}<br />
<br />
* Packrat - A simple, modular backup system that uses dar to take full/incremental backups of files and can store them locally, on a remote system via SSH, or on Amazon S3<br />
** Description: A simple backup system with included modules for SSH, Amazon S3, and MySQL<br />
** Upstream URL: http://www.zeroflux.org/projects<br />
** Package name: {{Package AUR|packrat}}<br />
<br />
* [[Wikipedia:Rsync#Variations|rdiff-backup]] - A utility for local/remote mirroring and incremental backups<br />
** Description: A utility for local/remote mirroring and incremental backups<br />
** Upstream URL: http://www.nongnu.org/rdiff-backup/<br />
** Package name: {{Package Official|rdiff-backup}}<br />
<br />
* rsnapshot - A remote filesystem snapshot utility<br />
** Description: A remote filesystem snapshot utility<br />
** Upstream URL: http://www.rsnapshot.org/<br />
** Package name: {{Package Official|rsnapshot}}<br />
<br />
* [[Rsync|rsync]] - A file transfer program to keep remote files in sync<br />
** Description: A file transfer program to keep remote files in sync<br />
** Upstream URL: http://rsync.samba.org/<br />
** Package name: {{Package Official|rsync}}<br />
<br />
* Safekeep - A client/server backup system which enhances the power of rdiff-backup<br />
** Description: A client/server backup system which enhances the power of rdiff-backup<br />
** Upstream URL: http://safekeep.sourceforge.net/<br />
** Package name: {{Package AUR|safekeep}}<br />
<br />
== Internet ==<br />
===BitTorrent Clients===<br />
<!--Keep in sync with [[Lightweight Applications]] and use the App template.--><br />
{{Wikipedia|Comparison of BitTorrent clients}}<br />
*{{App|[[aria2]]|Command-line download manager that supports HTTP/HTTPS, FTP, BitTorrent and MetaLink protocols|http://aria2.sourceforge.net/|{{Package Official|aria2}}}}<br />
*{{App|[[Wikipedia:Deluge (software)|Deluge]]|User-friendly BitTorrent client written in Python and wrapped with PyGTK|http://deluge-torrent.org/|{{Package Official|deluge}}}}<br />
*{{App|[[Wikipedia:KTorrent|KTorrent]]|Feature-rich BitTorrent client developed using Qt|http://ktorrent.org/|{{Package Official|ktorrent}}}}<br />
*{{App|[[Wikipedia:MLDonkey|MLDonkey]]|Multi-protocol P2P client supporting BitTorrent|http://mldonkey.sourceforge.net/|{{Package Official|mldonkey}}}}<br />
*{{App|[[Wikipedia:QBittorrent|qBittorrent]]|The closest open source (GNU GPL v2 license) equivalent to µtorrent|http://qbittorrent.sourceforge.net/|{{Package Official|qbittorrent}}}}<br />
*{{App|[[Wikipedia:RTorrent|rTorrent]]|Simple and lightweight ncurses BitTorrent client|http://libtorrent.rakshasa.no/|{{Package Official|rtorrent}}}}<br />
*{{App|[[Wikipedia:Transmission (BitTorrent client)|Transmission]]|Simple and easy-to-use BitTorrent client with (GTK+) GUI and CLI front-ends|http://www.transmissionbt.com/|{{Package Official|transmission}}}}<br />
*{{App|[[Wikipedia:Vuze|Vuze]]|Feature-rich BitTorrent client written in Java (formerly Azureus)|http://www.vuze.com/|{{Package Official|vuze}}}}<br />
<br />
=== Chat Clients ===<br />
==== IRC Clients ====<br />
* {{App|[[Irssi]]|Highly-configurable ncurses-based IRC client|http://www.irssi.org/|{{Package Official|irssi}}}}<br />
* {{App|[[Wikipedia:Konversation|Konversation]]|Qt-based IRC client for the KDE4 desktop|http://konversation.kde.org/|{{Package Official|konversation}}}}<br />
* {{App|[[Wikipedia:KVIrc|KVIrc]]|Qt-based IRC client featuring extensive themes support|http://www.kvirc.net/|{{Package Official|kvirc}}}}<br />
* {{App|[[Wikipedia:WeeChat|WeeChat]]|Modular, lightweight ncurses-based IRC client|http://www.weechat.org/|{{Package Official|weechat}}}}<br />
* {{App|[[Wikipedia:XChat|XChat]]|GTK-based IRC client|http://xchat.org/|{{Package Official|xchat}}}}<br />
<br />
==== Jabber/XMPP Clients ====<br />
* {{App|Freetalk|A console based Jabber client|http://www.gnu.org/software/freetalk/|{{Package Official|freetalk}}}}<br />
* {{App|[[Wikipedia:Gajim|Gajim]]|Jabber client written in PyGTK|http://www.gajim.org/|{{Package Official|gajim}}}}<br />
* {{App|jabber.el|A minimal jabber client for emacs|http://emacs-jabber.sourceforge.net/|{{Package AUR|emacs-jabber}}}}<br />
* {{App|[[Wikipedia:MCabber|MCabber]]|A small Jabber console client, includes features: SSL, PGP, MUC, and UTF8|http://mcabber.com/|{{Package Official|mcabber}}}}<br />
* {{App|[[Wikipedia:Psi (instant messaging client)|Psi]]|A Qt based Jabber client|http://psi-im.org/|{{Package Official|psi}}}}<br />
* {{App|Psi+|Psi+ is an enhanced version of Psi Jabber client.|http://code.google.com/p/psi-dev/|{{Package AUR|psi-plus}}}}<br />
<br />
==== MSN Clients ====<br />
* {{App|[[Wikipedia:AMSN|aMSN]]|MSN client written in Tcl/Tk|http://www.amsn-project.net/|{{Package Official|amsn}}}}<br />
* {{App|[[Wikipedia:Emesene|Emesene]]|A pygtk MSN Messenger client|http://www.emesene.org/|{{Package Official|emesene}}}}<br />
* {{App|Galaxium Messenger|A multi-protocol instant messenger application designed for the GNOME desktop|http://code.google.com/p/galaxium/|{{Package AUR|galaxium}}}}<br />
* {{App|[[Wikipedia:Kmess|KMess]]|KMess is a MSN Messenger client for Linux|http://kmess.org/|{{Package Official|kmess}}}}<br />
* {{App|[[Wikipedia:Mercury Messenger|Mercury]]|Java Based MSN client|http://www.mercury.im/|{{Package Official|mercury}}}}<br />
<br />
==== Multi-Protocol Clients ====<br />
{{Wikipedia|Comparison of instant messaging clients}}<br />
<br />
* {{App|BarnOwl|A console chat client for the AIM, IRC, Jabber, and Zephyr protocols|http://barnowl.mit.edu/|{{Package AUR|barnowl}}}}<br />
* {{App|Carrier|Pidgin fork providing minor GUI enhancements (formerly funpidgin)|http://funpidgin.sourceforge.net/|{{Package AUR|carrier}}}}<br />
* {{App|[[Wikipedia:Centericq|CenterIM]]|Fork of CenterICQ - A text mode menu- and window-driven IM interface|http://www.centerim.org/index.php/Main_Page|{{Package Official|centerim}}}}<br />
* {{App|[[Wikipedia:Empathy (software)|Empathy]]|A GNOME instant messaging client using the Telepathy framework|http://live.gnome.org/Empathy|{{Package Official|empathy}}}}<br />
* {{App|Finch|A ncurses-based messaging client|http://pidgin.im/|{{Package Official|finch}}}}<br />
* {{App|[[Wikipedia:Kopete|Kopete]]|Instant Messenger|http://www.kde.org/|{{Package Official|kopete}}}}<br />
* {{App|[[Pidgin]]|Multi-protocol instant messaging client|http://pidgin.im/|{{Package Official|pidgin}}}}<br />
* {{App|[[Wikipedia:QutIM|qutIM]]|Multiplatform instant messenger|http://qutim.org/|{{Package AUR|qutim}}}}<br />
<br />
===Email clients===<br />
<!--Keep in sync with [[Lightweight Applications]] and use the App template.--><br />
{{Wikipedia|Comparison of e-mail clients}}<br />
====Console====<br />
*{{App|[[Alpine]]|The Apache-licensed PINE (a tool for reading, sending, and managing electronic messages)|http://www.washington.edu/alpine|{{Package Official|alpine}}}}<br />
*{{App|[[Wikipedia:Gnus|Gnus]]|mail, nntp, rss client for Emacs.|http://www.gnus.org/|[[package]]}}<br />
*{{App|[[Wikipedia:mailx|heirloom-mailx]]|A full-featured command-line MUA derived from Berkeley Mail.|http://heirloom.sourceforge.net/mailx.html|{{Package Official|mailx-heirloom}}}}<br />
*{{App|[[mutt]]|Small but very powerful text-based mail client.|http://www.mutt.org/|{{Package Official|mutt}}}}<br />
*{{App|[[Sup]]|A CLI mail client with very fast searching, tagging, threading and gmail like operation.|http://sup.rubyforge.org/|{{Package AUR|sup}}}}<br />
<br />
====X11====<br />
*{{App|[[Wikipedia:Claws Mail|Claws Mail]]|A GTK+ based e-mail client|http://www.claws-mail.org/|{{Package Official|claws-mail}}}}<br />
*{{App|[[Evolution]]|A mature and feature-rich e-mail client used in GNOME by default.|http://projects.gnome.org/evolution/|{{Package Official|evolution}}}}<br />
*{{App|[[Wikipedia:Gnus|Gnus]]|mail, nntp, rss client for Emacs.|http://www.gnus.org/|[[package]]}}<br />
*{{App|[[Wikipedia:Kmail|Kmail]]|A mature and feature-rich e-mail client part of the kde project.|http://kontact.kde.org/kmail/|{{Package Official|kmail}}}}<br />
*{{App|[[Wikipedia:Sylpheed|Sylpheed]]|Lightweight and user-friendly e-mail client (GTK)|http://sylpheed.sraoss.jp/en/|{{Package AUR|sylpheed}}}}<br />
*{{App|[[Thunderbird]]|Mozilla's GTK2-based client.|http://www.mozillamessaging.com/en-US/|{{Package Official|thunderbird}}}}<br />
<br />
===News Aggregators===<br />
* [[Akregator]] - KDE's news aggregator (in kdepim package)<br />
* [[Canto]] - A ncurses RSS aggregator http://codezen.org/canto/<br />
* [[Gnus]] - mail, nntp, rss client for Emacs.<br />
* [[Liferea]] - A GTK desktop news aggregator for online news feeds and weblogs http://liferea.sourceforge.net<br />
* [[Newsbeuter]] - A ncurses RSS aggregator with layout and keybinding similar to mutt. Does not use the traditional 3 panes setup.<br />
* [[Rawdog]] - An "RSS Aggregator Without Delusions Of Grandeur" that parses RSS/CDF/Atom feeds into a static HTML page of articles in date order http://offog.org/code/rawdog.html<br />
* [[Rssowl]] - A powerful java-based RSS reader http://boreal.rssowl.org<br />
* [[BlogBridge]] - Another excellent java-based aggregator http://www.blogbridge.com<br />
* [[Snownews]] - Text mode RSS newsreader.<br />
* [[Thunderbird]] - A mail client from Mozilla which also functions as a pretty nice news aggregator<br />
<br />
=== Web Browsers ===<br />
==== Graphical ====<br />
* [[Arora]] - Cross-platform open source web browser using the [http://webkit.org/ WebKit] rendering engine, built on top of Qt. http://www.arora-browser.org/<br />
* [[Chromium]] - The open-source project behind Google Chrome, a web browser developed by Google that uses the WebKit layout engine and application framework. http://code.google.com/chromium/<br />
* [[Dillo]] - A small, fast graphical web browser built on FLTK http://www.dillo.org/<br />
* [[Epiphany]] - The default GNOME browser, which uses the webkit rendering engine. http://projects.gnome.org/epiphany/<br />
* [[Firefox]] - [https://addons.mozilla.org/firefox/ Extensible] GTK2 browser based on Gecko with fast rendering. http://www.mozilla.com/firefox/<br />
* [[Kazehakase]] - A much lighter, but rather feature-lacking alternative to other browsers (GTK2 and Gecko). http://kazehakase.sourceforge.jp/<br />
* [[Konqueror]] - Qt- and KHTML-based browser. A part of the KDE desktop. http://www.konqueror.org/<br />
* [[Midori]] - Young but promising GTK2/WebKit browser, featherweight with very fast rendering http://www.twotoasts.de/index.php?/pages/midori_summary.html<br />
* [[Opera]] - Highly customizable browser with focuses on an adherence to web rendering standards http://www.opera.com/<br />
* [[uzbl]] - A lightweight webkit browser following the UNIX philosophy - to do one thing and do it well. http://www.uzbl.org/<br />
* [http://aur.archlinux.org/packages.php?ID=6524 Hv3] - A minimalist web browser based on tkhtml3 http://tkhtml.tcl.tk/hv3.html<br />
* [http://aur.archlinux.org/packages.php?O=0&K=vimprobable&do_Search=Go Vimprobable] - A webkit-based web browser which behaves like Vimperator, but without Firefox. http://www.vimprobable.org/<br />
* [http://aur.archlinux.org/packages.php?ID=38684 jumanji] - jumanji provides a minimalistic and space saving interface with vimperator-like keyboard-focused interaction http://pwmt.org/jumanji<br />
<br />
==== Text Based ====<br />
* [[Elinks]] - An advanced and well-established feature-rich text mode web browser. http://elinks.or.cz<br />
* [[links-g]] A text WWW browser, similar to Lynx, with framebuffer and X graphics enabled http://links.twibright.com/<br />
* [[Lynx]] A text browser for the World Wide Web http://lynx.isc.org<br />
* [[w3m]] A pager/text-based WWW browser http://w3m.sourceforge.net/<br />
<br />
=== Microblogging Clients ===<br />
* [[Hotot]] - Hotot, is a lightweight & open source Microblogging Client, coding using Python language and designed for Linux. http://hotot.org<br />
* [[Gwibber]] - Gwibber is an open source microblogging client for Linux. It brings the most popular social networking web services to your desktop and gives you the ability to control how you communicate. http://gwibber.com/<br />
* [[Pino]] - Pino is a simple and fast X11 client for Twitter and Identi.ca. It is compiled to native code, which assures small size and speed, and thanks to use of Vala language it can perfectly integrate into your Gnome or XFCE desktop. http://pino-app.appspot.com/<br />
<br />
== Document Indexers ==<br />
* [[pinot]] - Personal search and metasearch tool http://pinot.berlios.de/<br />
* [[recoll]] - Full text search tool based on Xapian backend http://www.lesbonscomptes.com/recoll/<br />
<br />
== Document Readers ==<br />
*[[ePDFView ]] - A free lightweight PDF document viewer using Poppler and GTK+ libraries. http://trac.emma-soft.com/epdfview/<br />
*[[Evince]] - Document viewer for multiple document formats. Supports pdf, postscript, djvu, tiff and dvi http://projects.gnome.org/evince/<br />
*[[Foxit Reader]] - A small, fast PDF viewer http://www.foxitsoftware.com/pdf/desklinux/<br />
*[[MuPDF]] - lightweight PDF viewer and toolkit written in portable C http://ccxvii.net/mupdf/<br />
*[[Okular]] - PDF viewer for KDE. http://okular.kde.org/<br />
*[[xpdf]] - A viewer for Portable Document Format (PDF) files http://www.foolabs.com/xpdf/<br />
*[[apvlv]] - apvlv is a PDF Viewer Under Linux and its behaviour like Vim. http://code.google.com/p/apvlv/<br />
<br />
== Multimedia ==<br />
=== Audio ===<br />
* [[Amarok]] - A mature Qt-based player known for its plethora of features<br />
* [http://ario-player.sourceforge.net/ Ario] - A GTK2 client for MPD (Music player daemon) inspired by Rhythmbox but much lighter and faster<br />
* [http://www.atunes.org/ aTunes] - An audio-player written in Java<br />
* [[Audacious]] - A Winamp clone like Beep and old XMMS versions<br />
* [http://banshee.fm/ Banshee] - yet another GTK2 iTunes clone, yet more feature-rich and more actively developed.<br />
* [http://www.clementine-player.org/ Clementine] - Amarok 1.4 ported to QT4<br />
* [http://cmus.sourceforge.net/ Cmus] is a very feature-rich ncurses-based music player.<br />
* [http://web.archive.org/web/20080221195932/http://mask.tf.hut.fi/~flu/cplay/ Cplay] is a curses front-end for various audio players.<br />
* [http://deadbeef.sourceforge.net/ DeaDBeeF] - Lightweight and powerful music player made with C and GTK2. [http://bbs.archlinux.org/viewtopic.php?id=96968]<br />
* [[Exaile]] - A GTK2 clone of Amarok<br />
* [[Goggles Music Manager]] - A lightweight music manager and player that automatically categorizes your music files.<br />
* [http://guayadeque.org/ Guayadeque] - A full featured media player that can easily manage large collections and uses the Gstreamer media framework.<br />
* [[Moc]] - A ncurses-based daemon/client style player, designed to be flexible and easy to use.<br />
* [[Music Player Daemon]] - Music player daemon, a lightweight and scalable choice for music management<br />
* [http://www.mpg123.org/ mpg123] - command line audio player.<br />
* [http://mpd.wikia.com/wiki/Client:Ncmpc ncmpc] - An ncurses-based front-end to mpd<br />
* [http://unkart.ovh.org/ncmpcpp/ ncmpcpp] - A clone of ncmpc with some new features written in C++<br />
* [http://www.luga.de/pytone/ PyTone] - An advanced music jukebox with a console interface<br />
* [http://code.google.com/p/quodlibet/ Quod Libet] - an audio player written with pygtk and gstreamer<br />
* [[Rhythmbox]] - A GTK2 clone of iTunes, used by default in GNOME<br />
* [http://sonata.berlios.de/ Sonata] - A pygtk-based client for mpd<br />
* [http://getnightingale.com/ Nightingale] - ([http://getsongbird.com/ Songbird] for linux) an open source clone of iTunes that uses Mozilla technologies as well as Gstreamer and is being developed by the team that made WinAMP<br />
* [http://legacy.xmms2.org/ XMMS] - A skinnable GTK+1 standalone media player similar to winamp<br />
<br />
==== Visualization ====<br />
* [http://projectm.sourceforge.net/ projectM]<br />
<br />
==== Editing ====<br />
* [http://audacity.sourceforge.net/ Audacity]<br />
* [http://kwave.sourceforge.net/ Kwave]<br />
<br />
=== Graphics and Image Manipulation ===<br />
* [[Blender]]<br />
* [[Dia]]<br />
* [[Gimp]]<br />
* [[imagemagick]]<br />
* [[graphicsmagick]]<br />
* [[Inkscape]]<br />
* [[Krita]]<br />
* [[mtpaint]]<br />
* [[Nathive]]<br />
* [[Shotwell]]<br />
* [[Xara]]<br />
* [[mypaint]]<br />
<br />
===Image Viewers===<br />
<!--Keep in sync with [[Lightweight Applications]] and use the App template.--><br />
{{Wikipedia|Comparison of image viewers}}<br />
*{{App|[[Feh]]|A fast, lightweight image viewer that uses imlib2|http://linuxbrit.co.uk/feh/|{{Package Official|feh}}}}<br />
*{{App|GpicView|A simple and fast image viewer for X. Made by the developers of [[LXDE]]|http://lxde.sourceforge.net/gpicview/|{{Package Official|gpicview}}}}<br />
*{{App|[[Wikipedia:GQview|GQview]]|An image browser that features single click access to view images and move around the directory tree|http://gqview.sourceforge.net/|{{Package Official|gqview}}}}<br />
*{{App|Geeqie|An image browser/viewer fork of GQview. Adds additional functionality such as support for RAW files|http://geeqie.sourceforge.net/|{{Package Official|geeqie}}}}<br />
*{{App|Mirage|PyGTK image viewer featuring support for crop and resize, custom actions and a thumbnail panel|http://mirageiv.berlios.de|{{Package Official|mirage}}}}<br />
*{{App|Ristretto|A fast and lightweight picture-viewer for the Xfce desktop environment|http://goodies.xfce.org/projects/applications/ristretto|{{Package Official|ristretto}}}}<br />
*{{App|QIV|A very small and fast gdk/Imlib image viewer|http://spiegl.de/qiv/|{{Package Official|qiv}}}}<br />
*{{App|Viewnior|Minimalistic GTK2 viewer featuring support for flip, rotate, animations and configurable mouse actions|http://xsisqox.github.com/Viewnior/about.html|{{Package Official|viewnior}}}}<br />
*{{App|Xloadimage|The classic X image viewer|http://web.archive.org/web/19981207030422/http://world.std.com/~jimf/xloadimage.html|{{Package Official|xloadimage}}}}<br />
*{{App|SXIV|Simple X Image Viewer; works well with tiling window managers, uses imlib2|http://github.com/muennich/sxiv|{{Package AUR|sxiv}}}}<br />
<!-- Broken links, need to be turned into App Templates.<br />
* [[Background Setter]]<br />
* [[eog]]<br />
* [[GQview]]<br />
* [[gThumb]]<br />
* [[Quick Image Viewer]]<br />
* [[XnView]]<br />
* [[xv]]<br />
* [[Picasa]]<br />
--><br />
<br />
=== Phone ===<br />
* [[moto4lin]]<br />
<br />
=== Video Players===<br />
* [[mplayer]]<br />
* [[Parole]] A modern media player based on the GStreamer framework http://goodies.xfce.org/projects/applications/parole/<br />
* [[SMPlayer]] is a complete frontend for [[MPlayer]].<br />
* [[VLC]] - A simple multi-platform media player, streamer, and encoder, that handles huge numbers of media formats.<br />
* [[Whaaw! Media Player]] is a lightweight Gstreamer-based audio/video player that can serve as a good alternative to Totem for those who don't like all those GNOME dependencies. http://home.gna.org/whaawmp/<br />
* [[Dragon player]] is a simple video player for KDE 4 developed by Ian Monroe. http://www.dragonplayer.net/<br />
<br />
=== Video Editors ===<br />
* http://www.pitivi.org/ {{Package AUR|pitivi}}<br />
* http://lives.sourceforge.net/ {{Package AUR|lives}}<br />
* http://www.openmovieeditor.org/ {{Package Official|openmovieeditor}}<br />
* http://www.openshotvideo.com/<br />
* http://www.avidemux.org/ {{Package Official|avidemux}}<br />
* http://kdenlive.org/ {{Package Official|kdenlive}}<br />
* http://www.kinodv.org/<br />
* http://cinelerra.org/ {{Package Official|cinelerra-cv}}<br />
<br />
== Note Taking Organizers ==<br />
* [http://aur.archlinux.org/packages.php?ID=19388 glista] with notes support [http://prematureoptimization.org/glista/downloads.php Home page]<br />
* [[hnb]] - A program to organize many kinds of data in one place [http://hnb.sourceforge.net/ Home page] [http://aur.archlinux.org/packages.php?ID=16630 Package]<br />
* [[NoteCase]] - A portable hierarchical note manager, coded in C++ using the GTK+ toolkit [http://notecase.sourceforge.net Home page]<br />
* [[Task]] - A command-line TODO list manager [http://www.beckingham.net/task.html Home page]<br />
* [[tomboy]] - Desktop note-taking application for Linux and Unix [http://www.gnome.org/projects/tomboy/ Home page]<br />
* [[zim]] - A WYSIWYG text editor that aims at bringing the concept of a wiki to the desktop [http://zim-wiki.org/ Home page]<br />
* [[Gnote]] - Gnote is an experimental port of Tomboy to C++ [http://live.gnome.org/Gnote Home page]<br />
* [[Cherrytree]] - A hierarchical note taking application [http://www.giuspen.com/cherrytree/ Home page]<br />
<br />
==Office suites==<br />
* [[Koffice]] - KOffice is a free, integrated office suite for KDE, the K Desktop Environment. http://www.koffice.org/<br />
* [[OpenOffice.org]] - An office suite http://www.OpenOffice.org/<br />
* [http://www.libreoffice.org LibreOffice] - A fork of OpenOffice.org, which integrates various patches<br />
<br />
==Word processors==<br />
*[[Abiword]] - A lightweight fast word processor http://www.abisource.com/<br />
*[[OpenOffice.org Writer]] - A full-featured word processor included in the OpenOffice.org suite<br />
*[http://www.archlinux.org/packages/community/i686/ted/ Ted] - An easy GTK-based rich text processor (with footnote support) http://www.nllgg.nl/Ted/<br />
<br />
== Spreadsheets ==<br />
* [[gnumeric]] - A GNOME Spreadsheet Program http://www.gnome.org/projects/gnumeric<br />
* [[OpenOffice.org Calc]] - A full-featured spreadsheet included in OpenOffice.org suite<br />
<br />
== Security ==<br />
* [[arpwatch]] - arpwatch and arpsnmp network monitoring tools ftp://ftp.ee.lbl.gov/<br />
* [[DenyHosts]] - a script to help thwart ssh server attacks http://denyhosts.sourceforge.net/<br />
* [[fail2ban]] - bans IP that makes too many password failures http://www.fail2ban.org/<br />
* [[Sshguard]] - Same as DenyHosts and fail2ban, only lighter, simpler and written in plain C http://www.sshguard.net/<br />
* [[etherape]] - A graphical network monitor for various OSI layers and protocols http://etherape.sourceforge.net/<br />
* [[iptraf]] - An IP network monitor http://iptraf.seul.org/<br />
* [[logwatch]] - Logwatch is a customizable log analysis system http://www.logwatch.org/<br />
* [[nessus]] - Vulnerability scanner http://www.nessus.org<br />
* [[nmap]] - A command line network exploration tool and security/port scanner http://nmap.org<br />
* [[ntop]] - A network traffic probe based on libcap http://ntop.org<br />
* [[portbunny]] - Extremly fast CLI portscanner http://www.recurity-labs.com/portbunny/index.shtml<br />
* [[snort]] - A lightweight network intrusion detection system http://www.snort.org<br />
* [[swatch]] - The active log file monitoring tool http://swatch.sourceforge.net/<br />
* [[tcpdump]] - A tool for network monitoring and data acquisition http://www.tcpdump.org<br />
* [[wireshark]] - A free network protocol analyzer for Unix/Linux and Windows http://www.wireshark.org/<br />
<br />
== Time Management ==<br />
* [[Calcurse]] - An ncurses calendar and task manager [http://culot.org/calcurse/ Home page]<br />
* [[Orage]] - A GTK+ calendar and task manager often seen integrated with Xfce [http://www.xfce.org/projects/orage/ Home page]<br />
* [[Osmo]] - A GTK+ personal organizer, which includes calendar, tasks manager and address book modules. [http://clayo.org/osmo/ Home page]<br />
* [http://aur.archlinux.org/packages.php?ID=21675 Rachota] - A portable time tracker for personal projects [http://rachota.sourceforge.net/en/ Home page]<br />
* [[Remind]] - A sophisticated calendar and alarm program [http://www.roaringpenguin.com/penguin/open_source_remind.php Home page]<br />
* [[Sunbird]] - The standalone Mozilla calendar application [http://www.mozilla.org/projects/calendar/sunbird/ Home page]<br />
* [[taskcoach]] - A simple open source todo manager to manage personal tasks and todo lists [http://taskcoach.sourceforge.net/ Home page] [http://aur.archlinux.org/packages.php?ID=6005 Package]<br />
* [[When]] - A simple command line personal calendar program [http://www.lightandmatter.com/when/when.html Home page]<br />
* [[Wyrd]] - A text-based front-end to Remind. [http://pessimization.com/software/wyrd/ Home page]<br />
<br />
==Translation and Localisation==<br />
* [[Lokalize]] - the standard [[KDE]] tool for software translation. Available in Extra. [http://userbase.kde.org/Lokalize Home page]<br />
* [[virtaal]] - an editor for translation of both software and other text, based on Translate Toolkit. [http://aur.archlinux.org/packages.php?ID=21709 Available in AUR]. [http://translate.sourceforge.net/wiki/virtaal/index Home page]<br />
** Supported formats: Gettext (.po and .mo), XLIFF (.xlf), TMX, TBX, WordFast TM (.txt), Qt Linguist (.ts), Qt Phrase Book (.qph), OmegaT glossary (.tab and .utf8), ...<br />
** Shows suggestions from [[Apertium]], Google Translate, Microsoft Translator, [[Moses]], http://open-tran.eu, Translation Memories or TM servers<br />
* [[poedit]] - a simple Gettext/po-file translation tool. Available in Community. [http://www.poedit.net/ Home page]<br />
* [[OmegaT]] - "the translation memory tool", a general translators tool which contains a lot of translation memory features<br />
** Supported formats: html, MS Office 2007 XML, OpenDocument format, XLIFF/Okapi, MediaWiki, plain text, TMX, ...<br />
** Shows suggestions from Google Translate<br />
* [[pology]] - a set of Python tools for dealing with Gettext/po-files. See the [http://techbase.kde.org/Localization/Tools/Pology#About home page] for simple installation instructions.<br />
** May be used to translate po-files with [[Apertium]], see http://wiki.apertium.org/wiki/Translating_gettext for instructions. <br />
* [[Apertium]] - a free and open source rule-based machine translation platform. All released language data is [http://aur.archlinux.org/packages.php?K=apertium available in AUR]. [http://apertium.org/ Home page]<br />
** Supported formats: html, MS Office 2007 XML, OpenDocument format, TMX, some MediaWiki support, ... (use [[Pology]] or [[Virtaal]] for po-files)<br />
** See [http://wiki.apertium.org/wiki/Main_Page the wiki] for supported languages<br />
* [[Moses]] - a statistical machine translation tool (language data not included). [http://www.statmt.org/moses/ Home page]<br />
<br />
== Utilities ==<br />
===Arch Package Management===<br />
<!--shouldn't duplicate info from [[AUR Helpers]]--><br />
* {{App|Aurnotify|A tool set to notify the status of your favorite packages from AUR.|To use the aurnotify desklet visit: http://adesklets.sourceforge.net/desklets.html|{{Package AUR|aurnotify}}}}<br />
* {{App|[http://wiki.archlinux.org/index.php/Pacman_Tips#Color_output Pacman-color]|Command-line frontend for libalpm aka pacman with color patch.|http://www.archlinux.org/pacman/|{{Package AUR|pacman-color}}}}<br />
* {{App|Pacman-contrib|Utilities for use with the pacman package manager.|http://www.archlinux.org/pacman/|{{Package Official|pacman-contrib}}}}<br />
* {{App|Pkgtools|A collection of scripts for Arch Linux packages.|Which includes '''pkgfile'''; find what package owns a file. [[http://bbs.archlinux.org/viewtopic.php?pid=384196 Forum topic]]|{{Package Official|pkgtools}}}}<br />
<!--{{Warning|''Powerpill'' development has been officially discontinued: its latest version does not work with ''pacman>&#61;3.5''. See [https://bbs.archlinux.org/viewtopic.php?id&#61;115660].}}<br />
* [[Powerpill]] A wrapper for pacman that speeds up package retrieval by using aria2c for concurrent/segmented downloads. http://xyne.archlinux.ca/old_projects/powerpill--><br />
* {{App|[[TuPac]]|A cached pacman implementation that boosts some pacman operations: faster searches, AND searches, aur support, colored output, system sanity check, frontend friendly and more...|http://sourceforge.net/projects/tupac|{{Package AUR|tupac}}}} <br />
* {{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|{{Package AUR|yaourt}}}}<br />
<br />
Also see [[AUR Helpers]].<br />
<br />
=== Disk Usage Display Programs===<br />
* {{App|[[ncdu]]|A simple ncurses disk usage analyzer.|http://dev.yorhel.nl/ncdu|{{Package Official|ncdu}}}}<br />
* {{App|[[gt5]]|A diff-capable 'du-browser'.|http://gt5.sourceforge.net|{{Package AUR|gt5}}}}<br />
* {{App|[[Baobab]]|Baobab is a C/gtk+ application to analyse disk usage in any Gnome environment.|http://www.marzocca.net/linux/baobab|{{Package AUR|Baobab}}}}<br />
* {{App|[[Filelight]]|Filelight creates an interactive map of concentric, segmented rings that help visualise disk usage on your computer.|http://www.methylblue.com/filelight|{{Package Official|Filelight}}}}<br />
* {{App|[[gdmap]]|Draw map of rectangles where size of rectangle relate to size of file or dir.|http://gdmap.sourceforge.net/|{{Package Official|gdmap}}}}<br />
<br />
=== CD/DVD Burning Tools===<br />
* [[bashburn]] - A lightweight terminal based menu frontend for CD/DVD burning tools.<br />
* [[brasero]] - An application to burn CDs/DVDs for the Gnome Desktop.<br />
* [[gnomebaker]] - A GTK based CD/DVD burning application.<br />
* [[graveman]] - A GTK based CD/DVD burning application.<br />
* [[k3b]] - A feature-rich and easy to handle CD burning application for KDE.<br />
* [[nerolinux]] - A commercial CD/DVD burning tool (requires a valid key).<br />
* [[xcdroast]] - A lightweight CD/DVD burning tool.<br />
* [[xfburn]] - Xfburn is a simple CD/DVD burning tool based on libburnia libraries (xfce).<br />
<br />
===Clipboard Managers===<br />
* [[Parcellite]] - a lightweight yet feature-rich clipboard manager [http://parcellite.sourceforge.net/ Home page]<br />
* [[ClipIt]] - a fork of Parcellite with additional features and bugfixes [http://sourceforge.net/projects/gtkclipit/ Home page]<br />
* [[Glipper]] - Glipper is a clipboardmanager for GNOME with more features and plugin support [http://glipper.sourceforge.net/ Home page]<br />
* [[Anamnesis]] - stores all clipboard history (!) and offers an interface to do a full-text search. Both command line and GUI modes available [http://anamnesis.sourceforge.net/ Home page] | [http://aur.archlinux.org/packages.php?ID=41542 AUR package]<br />
<br />
=== Compression Tools ===<br />
* [[File Roller]] The default archive manager for GNOME.<br />
* [[p7zip]] - A command line port of 7-Zip for POSIX systems, including Linux. http://p7zip.sourceforge.net/ http://www.7-zip.org/<br />
* [[pbzip2]] - A threaded version of the bzip2 utility, can automatically scale up to as many cores as it finds in the system.<br />
* [[Squeeze]] - A featherweight front-end for command line archiving tools. Passworded archives are currently unsupported. http://squeeze.xfce.org/<br />
* [[XArchive]] - A GTK+ front-end for command line archiving tools.<br />
* [[Xarchiver]] - A lightweight, desktop independent front-end for command line archiving tools built with GTK2. http://xarchiver.sourceforge.net/<br />
* [[Ark]] - Archiving Tool for KDE4.<br />
<br />
=== File Managers ===<br />
* [[Dolphin]] - Default file manager for KDE 4 - http://dolphin.kde.org/<br />
* [[emelFM2]] - File manager that implements a three-pane design - http://emelfm2.net<br />
* [[Konqueror]] - Default file manager for KDE 2 and KDE 3 - http://www.konqueror.org/<br />
* [[Krusader]] - Advanced twin panel (commander style) file manager for KDE - http://www.krusader.org/<br />
* [[Midnight Commander]] - Terminal filemanager/shell that emulates Norton Commander - http://www.midnight-commander.org/<br />
* [[Nautilus]] - Extensible, heavyweight file manager used by default in GNOME with support for custom scripts - http://projects.gnome.org/nautilus/<br />
* [[PCManFM | PCMan File Manager]] - Part of the standard [[LXDE]] DE, a small and efficient graphical file manager - http://pcmanfm.sourceforge.net/<br />
* [[qtfm]] - A small, lightweight filemanager for Linux desktops based on pure Qt - http://www.qtfm.org/<br />
* [[Ranger]] - Ncurses based file manager with vi-like keybindings - https://github.com/hut/ranger<br />
* [[ROX-Filer]] - Small and fast file manager which can optionally manage desktop backgrounds and panels - http://roscidus.com/desktop/ROX-Filer<br />
* [[Thunar]] - [http://goodies.xfce.org/projects/thunar-plugins/start Extensible], medium weight file manager used by default in Xfce with support for plugins - http://thunar.xfce.org/<br />
* [[tuxcmd]] - Windowed file manager with 2 panels side by side similar to popular Total Commander or Midnight Commander file managers - http://tuxcmd.sourceforge.net/description.php<br />
* [[Vifm]] - Ncurses based file manager with vi-like keybindings - http://vifm.sourceforge.net/<br />
* [[Xfe]] - Small and very fast Commander like file manager - http://roland65.free.fr/xfe/<br />
<br />
=== Panels ===<br />
* [[fbpanel]] Lightweight, NETWM compliant desktop panel. [http://fbpanel.sourceforge.net/ Home page] [http://aur.archlinux.org/packages.php?ID=5255 Package]<br />
* [[LXPanel]] Lightweight X11 desktop panel and part of the LXDE DE. [http://lxde.org/ Home page] [http://aur.archlinux.org/packages.php?ID=17813 Package]<br />
* [[PyPanel]] Lightweight panel/taskbar written in Python and C. [http://pypanel.sourceforge.net/ Home page] [http://aur.archlinux.org/packages.php?ID=9118 Package]<br />
* [[Tint]] Simple panel/taskbar developed specifically for Openbox. [http://code.google.com/p/tint2/ Home page] [http://aur.archlinux.org/packages.php?ID=17082 Package]<br />
* [[BMPanel]] Lightweight, NETWM compliant desktop panel. [http://nsf.110mb.com/bmpanel/ Home page] [http://aur.archlinux.org/packages.php?ID=15165 Package]<br />
* [[Xfce4panel]] Default [[Xfce]] panel [http://www.xfce.org/projects/xfce4-panel/ Home page]<br />
<br />
=== System Monitoring ===<br />
*[[adesklet-systemmonitor]] - Modular stackable system monitors for adesklets http://adesklets.sourceforge.net/desklets.html<br />
*[[conky]] - advanced, highly configurable system monitor for X based on torsmo http://conky.sourceforge.net/<br />
*[[gkrellm]] - Simple, flexible system monitor package for GTK2; many plug-ins are available on AUR. http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html<br />
<br />
=== Terminals ===<br />
<!--duplicates [[Terminal Emulator]]--><br />
* [[aterm]] - An xterm replacement with transparency support http://aterm.sourceforge.net/ <br />
* [[gnome-Terminal]] - GNOME default (standalone) terminal with support for Unicode and pseudo-transparency<br />
* [[konsole]] - KDE's default terminal<br />
* [[lxterminal]] - VTE-based terminal emulator and c part of the LXDE DE. http://lxde.org/<br />
* [[lilyterm]] — Lightweight and plain terminal emulator<br />
* [[mrxvt]] - Tabbed X terminal emulator based on rxvt code http://materm.sourceforge.net/index.html<br />
* [[roxterm]] - Tabbed, VTE-based terminal emulator http://roxterm.sourceforge.net/<br />
* [[rxvt-unicode]] (or urxvt) - A small, fast and customizable terminal which uses ~/.Xdefaults http://software.schmorp.de/pkg/rxvt-unicode.html<br />
* [[sakura]] - terminal emulator based on GTK and VTE. http://www.pleyades.net/david/sakura.php<br />
* [[terminal]] - Xfce default terminal with support for a colorized prompt and a tabbed interface http://www.xfce.org/projects/terminal/<br />
* [[terminator]] - A terminal emulator supporting multiple resizable terminal panes<br />
* [[tilda]] - A terminal based on terminals from shooter games. https://aur.archlinux.org/packages.php?ID=13103<br />
* [[xterm]] - The default of defaults, requires only X<br />
* [[yakuake]] - A drop-down terminal emulator based on KDE Konsole technology http://extragear.kde.org/apps/yakuake/<br />
<br />
===Text Editors===<br />
<!--Keep in sync with [[Lightweight Applications]] and use the App template.--><br />
{{Wikipedia|Comparison of text editors}}<br />
====Console====<br />
*{{App|[[Emacs]]|The somewhat intimidating but famously extensible text editor with hundreds of tricks and add-ons|[[project]]|[[package]]}}<br />
<!-- joe --><br />
*{{App|[[nano]]|A console text editor based on pico with on-screen key binding help|http://www.nano-editor.org/|{{Package Official|nano}}}}<br />
*{{App|[[Vim]]|Vi IMproved|http://www.vim.org/|{{Package Official|vim}}}}<br />
<br />
====X11====<br />
*{{App|[[Wikipedia:Acme (text editor)|Acme]]|A minimalist and flexible programming environment by Rob Pike|http://acme.cat-v.org|[[package]]}}<br />
*{{App|[[Beaver]]|An Early AdVanced EditoR|http://www.nongnu.org/beaver/|{{Package Official|beaver}}}}<br />
*{{App|[[Wikipedia:Geany|Geany]]|A text editor using the GTK+ 2 toolkit with basic features of an integrated development environment|http://www.geany.org|{{Package Official|geany}}}}<br />
*{{App|[[Wikipedia:Bluefish (text editor)|Bluefish]]|GTK editor/IDE with an MDI interface, syntax highlighting and support for Python plugins|http://bluefish.openoffice.nl/|{{Package Official|bluefish}}}}<br />
*{{App|Cssed|GTK2 based Cascading Style Sheets (CSS) editor|http://cssed.sourceforge.net/|[[package]]}}<br />
*{{App|Edile|A PyGTK code/scripting editor implemented in one file|http://edile.googlecode.com|{{Package AUR|edile}}}}<br />
*{{App|[[Emacs]]|The somewhat intimidating but famously extensible text editor with hundreds of tricks and add-ons|[[project]]|[[package]]}}<br />
*{{App|[[Gedit]]|Part of the GNOME desktop, but has minimal dependencies: a GTK2 editor with syntax highlighting, automatic indentation, matching brackets, etc., and a number of add-ons to increase functionality|[[project]]|[[package]]}}<br />
*{{App|[[gVim]]|Vi IMproved|http://www.vim.org/|{{Package Official|gvim}}}}<br />
*{{App|[[Kate]]|The KDE Advanced Text Editor. A full-featured programmer's editor, with MDI and a filesystem browser|[[project]]|[[package]]}}<br />
*{{App|[[KWrite]]|(part of the KDE desktop) A lightweight text editor with syntax highlighting.|[[project]]|[[package]]}}<br />
*{{App|[[Leafpad]]|A notepad clone for GTK+ 2.x that emphasizes simplicity|http://tarot.freeshell.org/leafpad/|{{Package Official|leafpad}}}}<br />
*{{App|[[medit]]|medit is a programming and around-programming text editor|http://mooedit.sourceforge.net/|{{Package Official|medit}}}}<br />
*{{App|[[Mousepad]]|A simple text editor for Xfce based on Leafpad|http://foo-projects.org/~benny/xfce/apps.html|{{Package Official|mousepad}}}}<br />
*{{App|[[Wikipedia:PyRoom|PyRoom]]|A great distractionless PyGTK text editor, a clone of the infamous WriteRoom|http://pyroom.org/|{{Package Official|pyroom}}}}<br />
*{{App|[[Wikipedia:Sam (text editor)|Sam]]|A graphical text editor by Rob Pike (still used by Ken Thompson and others)|http://sam.cat-v.org|}}<br />
*{{App|[[Scite]]|A generally useful editor with facilities for building and running programs|http://www.scintilla.org/SciTE.html|[[package]]}}<br />
*{{App|[[Tea]]|a QT based feature rich text editor|[[project]]|{{Package Official|tea}}}}<br />
<br />
=== OCR tools ===<br />
There are several steps to the whole OCR process, the actual OCR engine is only part of this:<br />
# scanning<br />
# document layout analysis<br />
# optical character recognition<br />
# post-processing (formatting, PDF creation)<br />
<br />
==== OCR Engines ====<br />
* [[CuneiForm]] is a command line OCR system originally developed and open sourced by Cognitive technologies. Supported languages: eng, ger, fra, rus, swe, spa, ita, ruseng, ukr, srp, hrv, pol, dan, por, dut, cze, rum, hun, bul, slo, lav, lit, est, tur. Available from [[pacman]]/community. https://launchpad.net/cuneiform-linux <br />
<br />
* [[Tesseract]] is "probably one of the most accurate open source OCR engines available". Available from [[pacman]]/community. http://code.google.com/p/tesseract-ocr/<br />
<br />
* [[GOCR]]/JOCR (http://jocr.sourceforge.net/) is an OCR engine which also supports barcode recognition. Available from [[pacman]]/extra as "gocr". http://www.gnu.org/software/ocrad/<br />
* [[Ocrad]] is an OCR (Optical Character Recognition) program based on a feature extraction method. Available from [[pacman]]/extra. http://www.gnu.org/software/ocrad/<br />
<br />
==== Layout analysers and user interfaces ====<br />
* [[OCRopus]] is an OCR ''platform'', modules exist for document layout analysis, OCR engines (it can use Tesseract or its own engine), natural language modelling, etc. Available from [[AUR]]. http://code.google.com/p/ocropus/<br />
* [[gscan2pdf]] scans, runs Tesseract and creates a PDF all in one go<br />
* [[Kooka]] is a scanner GUI for KDE which supports the OCR engines [[GOCR]], [[Ocrad]] or [[KADMOS]]. Used to be part of kdegraphics4, but dropped out due to lack of development. http://kooka.kde.org/<br />
* [[OCRFeeder]] is a Python GUI for Gnome which performs document analysis and rendition, and can use either [[CuneiForm]], [[GOCR]], [[Ocrad]] or [[Tesseract]] as OCR engines. It can import from PDF or image files, and export to HTML or OpenDocument. Available from [[AUR]]. http://live.gnome.org/OCRFeeder<br />
* [[YAGF]] is a graphical interface for the [[CuneiForm]] text recognition program on the Linux platform. Available from community repository. http://symmetrica.net/cuneiform-linux/yagf-en.html<br />
<br />
=== Trays ===<br />
* [[Docker]] is a docking application which acts as a system tray.<br />
* [[Stalonetray]] is a stand-alone system tray.<br />
* [[Trayer]] swallows GTK 1.2/2.x application docklets, and KDE docklets.<br />
<br />
==Window managers and desktop environments==<br />
*[[Desktop Environment#List of desktop environments|List of desktop environments]]<br />
*[[Window Manager#List of window managers|List of window managers]]<br />
<br />
==Games==<br />
*[[Games]]<br />
*[[Netbook Games]]<br />
<br />
==See also==<br />
*[http://bbs.archlinux.org/viewtopic.php?id=88515 Arch Linux Forums / LnF Awards 2010] - The best Light & Fast apps of 2010.<br />
*http://linuxappfinder.com/<br />
*http://www.linuxlinks.com/<br />
*http://en.wikipedia.org/wiki/List_of_open_source_software_packages<br />
*http://linuxappfinder.com/alternatives - Windows and OS X Software Alternatives<br />
*http://alternativeto.net/ - find alternatives to popular programs<br />
*http://www.linuxalt.com/ - Linux equivalents of Windows software</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=137474ASUS N82JV2011-04-17T04:29:27Z<p>Xehoz: /* Touchpad */ changes forced by xf86-input-synaptics-1.4.x</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci-hcd<br />
|-<br />
| USB 2.0 || style="color:green" | '''Working''' || ehci-hcd<br />
|-<br />
| eSATA || style="color:orange" | '''Untested''' ||<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|-<br />
| Suspend to RAM || style="color:green" | '''Working''' || <br />
|}<br />
<br />
=Hardware=<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
=Configuration=<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
==CPU==<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
==Video==<br />
===Intel===<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
===Nvidia===<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
====Switching graphic cards====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change in the near future[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
====Disabling the Nvidia card====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
=====Run on Startup=====<br />
If you want run it on every startup add these lines to {{Filename|/etc/rc.local}} {{Note|Running this without a delay on Kernel 2.6.35.x has issues (Boots fine but X and tty don't show up; to avoid that, simply add {{Codeline|sleep <time>}} before these lines and remember that sleep affects every line below it. If you mess up or decide to test it, just boot into recovery mode and edit {{Filename|/etc/rc.local}} from cli, to either add the delay or remove the lines altogether}}<br />
<br />
<pre># Disable Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with {{Codeline|grep rate /proc/acpi/battery/BAT0/state}}. There should be a difference of about 7500 mW in battery usage.<br />
<br />
=====Enable/Disable Scripts=====<br />
You can easily create a couple of scripts to enable and disable it.<br />
<pre><br />
#/bin/sh<br />
# Disable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<pre><br />
#/bin/sh<br />
# Enable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
{{Codeline|chmod +x}} both of them and type {{Codeline|sh <name you've given them>}} to use them.<br />
<br />
==Audio==<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
{{Note|From my experience [[OSS]] doesn't work}}<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
{{Note|Realtek's ALSA drivers, currently 1.0.23-5.15rc5, aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)}}<br />
<br />
2. Add {{Codeline|options snd-hda-intel index<nowiki>=</nowiki>0 model<nowiki>=</nowiki>auto}} to {{Filename|/etc/modprobe.d/modprobe.conf}}.<br />
<br />
Open {{Filename|/etc/modprobe.d/sound.conf}} and add:<br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
===HDMI===<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
==Touchpad==<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type {{Codeline|xinput list |grep pointer}}. What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using an Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, open {{Filename|/etc/X11/xorg.conf.d/10-synaptics.conf}}. A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
{{Note|While I settled with these coordinates, they may require tuning: [[Touchpad_Synaptics#fine-tuning_with_synclient]]}}.<br />
<br />
===Working 10-synaptics.conf===<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
{{File|name=/etc/X11/xorg.conf.d/10-synaptics.conf|content=Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection}}<br />
<br />
==Suspend to RAM==<br />
<br />
{{Note|As far as I can tell, there is a general issue with USB 3.0 and suspending at the kernel level.}}<br />
{{Note|This is section was written in kernel 2.6.36.2-1 and with the packages available on 18th December.}}<br />
<br />
I achieved Suspension to RAM by using pm-utils with either the uswsusp and kernel method.<br />
<br />
1. Follow the [[pm-utils]] article . It is quite extense and can be confusing, but, if I recall, this is the very minimum of what is needed to do:<br />
<br />
1.1 Type {{Codeline|pacman -S pm-utils uswsusp}}<br />
<br />
1.2 To a file inside {{Filename|/etc/pm/config.d/}}, add:<br />
<pre>SLEEP_MODULE="uswsusp"<br />
#SLEEP_MODULE="kernel"<br />
HIBERNATE_MODE="shutdown"</pre><br />
<br />
1.3 Add the {{Codeline|resume}} hook to {{Filename|/etc/mkinitcpio.conf}}, before filesystems.<br />
<pre>HOOKS="base udev autodetect pata scsi sata resume filesystems"</pre><br />
<br />
1.4 Rebuild the initrd image with {{Codeline|mkinitcpio -p kernel26}}.<br />
<br />
Now, to the hardware specific part.<br />
2. Add {{Codeline|SUSPEND_MODULES="xhci-hcd ehci-hcd"}} to {{Filename|/etc/pm/config.d/usb3-suspend-workaround}}.<br />
<br />
After a surge of updates, somewhere on the end of November/start of December (bug report), suspend to ram only works if nouveau is explicitly disabled in rc.conf. Since nouveau isn't related to the ability to power the nvidia card off, powering it off is still possible, even after <br />
disabling that module.<br />
<br />
3. Add {{Codeline|!nouveau}} to the {{Codeline|MODULES}} line in {{Filename|rc.conf}}. It should look like this:<br />
<pre>MODULES=(fuse acpi-cpufreq cpufreq_ondemand cpufreq_powersave !snd-pcm-oss vboxdrv !nouveau)</pre><br />
<br />
=Webcam=<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
=Function Keys=<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad). It should be possible to have them all working by following [[Extra Keyboard Keys]].</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=125888ASUS N82JV2010-12-24T05:43:45Z<p>Xehoz: /* Function Keys */</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci-hcd<br />
|-<br />
| USB 2.0 || style="color:green" | '''Working''' || ehci-hcd<br />
|-<br />
| eSATA || style="color:orange" | '''Untested''' ||<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|-<br />
| Suspend to RAM || style="color:green" | '''Working''' || <br />
|}<br />
<br />
=Hardware=<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
=Configuration=<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
==CPU==<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
==Video==<br />
===Intel===<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
===Nvidia===<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
====Switching graphic cards====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change in the near future[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
====Disabling the Nvidia card====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
=====Run on Startup=====<br />
If you want run it on every startup add these lines to {{Filename|/etc/rc.local}} {{Note|Running this without a delay on Kernel 2.6.35.x has issues (Boots fine but X and tty don't show up; to avoid that, simply add {{Codeline|sleep <time>}} before these lines and remember that sleep affects every line below it. If you mess up or decide to test it, just boot into recovery mode and edit {{Filename|/etc/rc.local}} from cli, to either add the delay or remove the lines altogether}}<br />
<br />
<pre># Disable Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with {{Codeline|grep rate /proc/acpi/battery/BAT0/state}}. There should be a difference of about 7500 mW in battery usage.<br />
<br />
=====Enable/Disable Scripts=====<br />
You can easily create a couple of scripts to enable and disable it.<br />
<pre><br />
#/bin/sh<br />
# Disable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<pre><br />
#/bin/sh<br />
# Enable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
{{Codeline|chmod +x}} both of them and type {{Codeline|sh <name you've given them>}} to use them.<br />
<br />
==Audio==<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
{{Note|From my experience [[OSS]] doesn't work}}<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
{{Note|Realtek's ALSA drivers, currently 1.0.23-5.15rc5, aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)}}<br />
<br />
2. Add {{Codeline|options snd-hda-intel index<nowiki>=</nowiki>0 model<nowiki>=</nowiki>auto}} to {{Filename|/etc/modprobe.d/modprobe.conf}}.<br />
<br />
Open {{Filename|/etc/modprobe.d/sound.conf}} and add:<br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
===HDMI===<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
==Touchpad==<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type {{Codeline|xinput list |grep pointer}}. What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using an Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, open {{Filename|/etc/X11/xorg.conf.d/10-synaptics.conf}}. A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
{{Note|While I settled with these coordinates, they may require tuning: [[Touchpad_Synaptics#fine-tuning_with_synclient]]}}.<br />
<br />
===Working 10-synaptics.conf===<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
{{File|name=/etc/X11/xorg.conf.d/10-synaptics.conf|content=Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection}}<br />
<br />
==Suspend to RAM==<br />
<br />
{{Note|As far as I can tell, there is a general issue with USB 3.0 and suspending at the kernel level.}}<br />
{{Note|This is section was written in kernel 2.6.36.2-1 and with the packages available on 18th December.}}<br />
<br />
I achieved Suspension to RAM by using pm-utils with either the uswsusp and kernel method.<br />
<br />
1. Follow the [[pm-utils]] article . It is quite extense and can be confusing, but, if I recall, this is the very minimum of what is needed to do:<br />
<br />
1.1 Type {{Codeline|pacman -S pm-utils uswsusp}}<br />
<br />
1.2 To a file inside {{Filename|/etc/pm/config.d/}}, add:<br />
<pre>SLEEP_MODULE="uswsusp"<br />
#SLEEP_MODULE="kernel"<br />
HIBERNATE_MODE="shutdown"</pre><br />
<br />
1.3 Add the {{Codeline|resume}} hook to {{Filename|/etc/mkinitcpio.conf}}, before filesystems.<br />
<pre>HOOKS="base udev autodetect pata scsi sata resume filesystems"</pre><br />
<br />
1.4 Rebuild the initrd image with {{Codeline|mkinitcpio -p kernel26}}.<br />
<br />
Now, to the hardware specific part.<br />
2. Add {{Codeline|SUSPEND_MODULES="xhci-hcd ehci-hcd"}} to {{Filename|/etc/pm/config.d/usb3-suspend-workaround}}.<br />
<br />
After a surge of updates, somewhere on the end of November/start of December (bug report), suspend to ram only works if nouveau is explicitly disabled in rc.conf. Since nouveau isn't related to the ability to power the nvidia card off, powering it off is still possible, even after <br />
disabling that module.<br />
<br />
3. Add {{Codeline|!nouveau}} to the {{Codeline|MODULES}} line in {{Filename|rc.conf}}. It should look like this:<br />
<pre>MODULES=(fuse acpi-cpufreq cpufreq_ondemand cpufreq_powersave !snd-pcm-oss vboxdrv !nouveau)</pre><br />
<br />
=Webcam=<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
=Function Keys=<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad). It should be possible to have them all working by following [[Extra Keyboard Keys]].</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N53JN&diff=125566ASUS N53JN2010-12-18T19:48:53Z<p>Xehoz: /* Suspend */ Added a (possible) workaround - ability to suspend to ram with the nvidia card powered off.</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci_hcd<br />
|-<br />
| Card Reader || style="color:Red" | '''Not Working''' || <br />
|-<br />
| Function Keys || style="color:green" | '''Working''' || <br />
|-<br />
| Suspend || style="color:orange" | '''Working, look bellow''' ||<br />
|}<br />
<br />
=Hardware=<br />
''CPU:'' Intel Core i5 450M, 2.4GHz<br />
<br />
''Mainboard:'' Intel HM55<br />
<br />
''RAM:'' 4096 MB, 2x 2048 MByte DDR3<br />
<br />
''Display:'' 15,6" HD LED (1366x768)<br />
<br />
''Graphics adapter:'' NVIDIA GeForce GT 335M - 1024 MB and Intel Core Processor Integrated Graphics Controller<br />
<br />
''Soundcard:'' integrated Intel HDA<br />
<br />
''Network:'' Atheros Gigabit Ethernet Controller, Atheros AR9285 Wireless Network <br />
<br />
''Hard disk:'' Seagate Momentus 500GB 5400rpm SATA<br />
<br />
''Webcam:'' IMC Networks<br />
<br />
''Touchpad:'' Elantech <br />
<br />
=Configuration=<br />
<br />
<br />
==CPU==<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
Processor has Intel Turbo Boost which works out of the box, but you can't see the frequncies above 2.4GHz in /proc/cpuinfo. To see the actual frequency use i7z[http://aur.archlinux.org/packages.php?ID=33811].<br />
<br />
==Video==<br />
===Intel===<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
===Nvidia===<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet.<br />
<br />
====Switching graphic cards====<br />
Look at [[Asus_N82JV]] page.<br />
<br />
==Audio==<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
In order to make integratesd speakers work add to {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
<pre><br />
options snd-hda-intel index=0 model=auto<br />
</pre><br />
And to {{Filename|/etc/modprobe.d/sound.conf}} add:<br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
==Touchpad==<br />
<br />
Follow the [[Synaptics]] guide.<br />
<br />
==Webcam==<br />
<br />
Working, but the picture is refreshing slowly.<br />
<br />
==Suspend==<br />
<br />
USB 3.0 has some problems with suspend. Out of the box Arch won't suspend on this laptop. There is a solution posted in our forum[https://bbs.archlinux.org/search.php?search_id=74496093].<br />
<br />
Make an executable file in {{Filename|/etc/pm/sleep.d/}} with following:<br />
<pre>#!/bin/sh<br />
# File: "/etc/pm/sleep.d/20_custom-ehci_hcd".<br />
TMPLIST=/tmp/ehci-dev-list<br />
<br />
case "${1}" in<br />
hibernate|suspend)<br />
echo -n '' > $TMPLIST<br />
for i in `ls /sys/bus/pci/drivers/ehci_hcd/ | egrep '[0-9a-z]+\:[0-9a-z]+\:.*$'`; do<br />
# Unbind ehci_hcd for first device XXXX:XX:XX.X:<br />
echo -n "$i" | tee /sys/bus/pci/drivers/ehci_hcd/unbind<br />
echo "$i" >> $TMPLIST<br />
done<br />
;;<br />
resume|thaw)<br />
for i in `cat $TMPLIST`; do<br />
# Bind ehci_hcd for first device XXXX:XX:XX.X:<br />
echo -n "$i" | tee /sys/bus/pci/drivers/ehci_hcd/bind<br />
done<br />
rm $TMPLIST<br />
;;<br />
esac<br />
</pre><br />
<br />
And in {{Filename|/etc/pm/config.d/}} a file with:<br />
<pre><br />
#File: "/etc/pm/config.d/usb3-suspend-workaround".<br />
SUSPEND_MODULES="xhci"<br />
</pre><br />
<br />
The laptop still hangs if you disable Nvidia GPU and try to suspend! However, a workaround that works with [[Asus N82JV]] consists in blacklisting nouveau. That still allows the user to power the card off in that laptop. That is done by adding{{Codeline|!nouveau}} to the {{Codeline|MODULES}} line in {{Filename|rc.conf}}. It should look like this:<br />
<pre>MODULES=(fuse acpi-cpufreq cpufreq_ondemand cpufreq_powersave !snd-pcm-oss vboxdrv !nouveau)</pre></div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=125564ASUS N82JV2010-12-18T19:43:04Z<p>Xehoz: Section reorganization.</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci-hcd<br />
|-<br />
| USB 2.0 || style="color:green" | '''Working''' || ehci-hcd<br />
|-<br />
| eSATA || style="color:orange" | '''Untested''' ||<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|-<br />
| Suspend to RAM || style="color:green" | '''Working''' || <br />
|}<br />
<br />
=Hardware=<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
=Configuration=<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
==CPU==<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
==Video==<br />
===Intel===<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
===Nvidia===<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
====Switching graphic cards====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change in the near future[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
====Disabling the Nvidia card====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
=====Run on Startup=====<br />
If you want run it on every startup add these lines to {{Filename|/etc/rc.local}} {{Note|Running this without a delay on Kernel 2.6.35.x has issues (Boots fine but X and tty don't show up; to avoid that, simply add {{Codeline|sleep <time>}} before these lines and remember that sleep affects every line below it. If you mess up or decide to test it, just boot into recovery mode and edit {{Filename|/etc/rc.local}} from cli, to either add the delay or remove the lines altogether}}<br />
<br />
<pre># Disable Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with {{Codeline|grep rate /proc/acpi/battery/BAT0/state}}. There should be a difference of about 7500 mW in battery usage.<br />
<br />
=====Enable/Disable Scripts=====<br />
You can easily create a couple of scripts to enable and disable it.<br />
<pre><br />
#/bin/sh<br />
# Disable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<pre><br />
#/bin/sh<br />
# Enable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
{{Codeline|chmod +x}} both of them and type {{Codeline|sh <name you've given them>}} to use them.<br />
<br />
==Audio==<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
{{Note|From my experience [[OSS]] doesn't work}}<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
{{Note|Realtek's ALSA drivers, currently 1.0.23-5.15rc5, aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)}}<br />
<br />
2. Add {{Codeline|options snd-hda-intel index<nowiki>=</nowiki>0 model<nowiki>=</nowiki>auto}} to {{Filename|/etc/modprobe.d/modprobe.conf}}.<br />
<br />
Open {{Filename|/etc/modprobe.d/sound.conf}} and add:<br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
===HDMI===<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
==Touchpad==<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type {{Codeline|xinput list |grep pointer}}. What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using an Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, open {{Filename|/etc/X11/xorg.conf.d/10-synaptics.conf}}. A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
{{Note|While I settled with these coordinates, they may require tuning: [[Touchpad_Synaptics#fine-tuning_with_synclient]]}}.<br />
<br />
===Working 10-synaptics.conf===<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
{{File|name=/etc/X11/xorg.conf.d/10-synaptics.conf|content=Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection}}<br />
<br />
==Suspend to RAM==<br />
<br />
{{Note|As far as I can tell, there is a general issue with USB 3.0 and suspending at the kernel level.}}<br />
{{Note|This is section was written in kernel 2.6.36.2-1 and with the packages available on 18th December.}}<br />
<br />
I achieved Suspension to RAM by using pm-utils with either the uswsusp and kernel method.<br />
<br />
1. Follow the [[pm-utils]] article . It is quite extense and can be confusing, but, if I recall, this is the very minimum of what is needed to do:<br />
<br />
1.1 Type {{Codeline|pacman -S pm-utils uswsusp}}<br />
<br />
1.2 To a file inside {{Filename|/etc/pm/config.d/}}, add:<br />
<pre>SLEEP_MODULE="uswsusp"<br />
#SLEEP_MODULE="kernel"<br />
HIBERNATE_MODE="shutdown"</pre><br />
<br />
1.3 Add the {{Codeline|resume}} hook to {{Filename|/etc/mkinitcpio.conf}}, before filesystems.<br />
<pre>HOOKS="base udev autodetect pata scsi sata resume filesystems"</pre><br />
<br />
1.4 Rebuild the initrd image with {{Codeline|mkinitcpio -p kernel26}}.<br />
<br />
Now, to the hardware specific part.<br />
2. Add {{Codeline|SUSPEND_MODULES="xhci-hcd ehci-hcd"}} to {{Filename|/etc/pm/config.d/usb3-suspend-workaround}}.<br />
<br />
After a surge of updates, somewhere on the end of November/start of December (bug report), suspend to ram only works if nouveau is explicitly disabled in rc.conf. Since nouveau isn't related to the ability to power the nvidia card off, powering it off is still possible, even after <br />
disabling that module.<br />
<br />
3. Add {{Codeline|!nouveau}} to the {{Codeline|MODULES}} line in {{Filename|rc.conf}}. It should look like this:<br />
<pre>MODULES=(fuse acpi-cpufreq cpufreq_ondemand cpufreq_powersave !snd-pcm-oss vboxdrv !nouveau)</pre><br />
<br />
=Webcam=<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
=Function Keys=<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad).</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=125563ASUS N82JV2010-12-18T19:40:21Z<p>Xehoz: How to Suspend to RAM + some minor tweaks.</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci-hcd<br />
|-<br />
| USB 2.0 || style="color:green" | '''Working''' || ehci-hcd<br />
|-<br />
| eSATA || style="color:orange" | '''Untested''' ||<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|-<br />
| Suspend to RAM || style="color:green" | '''Working''' || <br />
|}<br />
<br />
=Hardware=<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
=Configuration=<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
==CPU==<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
==Video==<br />
===Intel===<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
===Nvidia===<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
====Switching graphic cards====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change in the near future[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
====Disabling the Nvidia card====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
=====Run on Startup=====<br />
If you want run it on every startup add these lines to {{Filename|/etc/rc.local}} {{Note|Running this without a delay on Kernel 2.6.35.x has issues (Boots fine but X and tty don't show up; to avoid that, simply add {{Codeline|sleep <time>}} before these lines and remember that sleep affects every line below it. If you mess up or decide to test it, just boot into recovery mode and edit {{Filename|/etc/rc.local}} from cli, to either add the delay or remove the lines altogether}}<br />
<br />
<pre># Disable Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with {{Codeline|grep rate /proc/acpi/battery/BAT0/state}}. There should be a difference of about 7500 mW in battery usage.<br />
<br />
=====Enable/Disable Scripts=====<br />
You can easily create a couple of scripts to enable and disable it.<br />
<pre><br />
#/bin/sh<br />
# Disable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<pre><br />
#/bin/sh<br />
# Enable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
{{Codeline|chmod +x}} both of them and type {{Codeline|sh <name you've given them>}} to use them.<br />
<br />
==Audio==<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
{{Note|From my experience [[OSS]] doesn't work}}<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
{{Note|Realtek's ALSA drivers, currently 1.0.23-5.15rc5, aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)}}<br />
<br />
2. Add {{Codeline|options snd-hda-intel index<nowiki>=</nowiki>0 model<nowiki>=</nowiki>auto}} to {{Filename|/etc/modprobe.d/modprobe.conf}}.<br />
<br />
Open {{Filename|/etc/modprobe.d/sound.conf}} and add:<br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
===HDMI===<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
=Touchpad=<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type {{Codeline|xinput list |grep pointer}}. What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using an Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, open {{Filename|/etc/X11/xorg.conf.d/10-synaptics.conf}}. A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
{{Note|While I settled with these coordinates, they may require tuning: [[Touchpad_Synaptics#fine-tuning_with_synclient]]}}.<br />
<br />
==Working 10-synaptics.conf==<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
{{File|name=/etc/X11/xorg.conf.d/10-synaptics.conf|content=Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection}}<br />
<br />
=Webcam=<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
=Function Keys=<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad).<br />
<br />
=Suspend to RAM=<br />
<br />
{{Note|As far as I can tell, there is a general issue with USB 3.0 and suspending at the kernel level.}}<br />
{{Note|This is section was written in kernel 2.6.36.2-1 and with the packages available on 18th December.}}<br />
<br />
I achieved Suspension to RAM by using pm-utils with either the uswsusp and kernel method.<br />
<br />
1. Follow the [[pm-utils]] article . It is quite extense and can be confusing, but, if I recall, this is the very minimum of what is needed to do:<br />
<br />
1.1 Type {{Codeline|pacman -S pm-utils uswsusp}}<br />
<br />
1.2 To a file inside {{Filename|/etc/pm/config.d/}}, add:<br />
<pre>SLEEP_MODULE="uswsusp"<br />
#SLEEP_MODULE="kernel"<br />
HIBERNATE_MODE="shutdown"</pre><br />
<br />
1.3 Add the {{Codeline|resume}} hook to {{Filename|/etc/mkinitcpio.conf}}, before filesystems.<br />
<pre>HOOKS="base udev autodetect pata scsi sata resume filesystems"</pre><br />
<br />
1.4 Rebuild the initrd image with {{Codeline|mkinitcpio -p kernel26}}.<br />
<br />
Now, to the hardware specific part.<br />
2. Add {{Codeline|SUSPEND_MODULES="xhci-hcd ehci-hcd"}} to {{Filename|/etc/pm/config.d/usb3-suspend-workaround}}.<br />
<br />
After a surge of updates, somewhere on the end of November/start of December (bug report), suspend to ram only works if nouveau is explicitly disabled in rc.conf. Since nouveau isn't related to the ability to power the nvidia card off, powering it off is still possible, even after <br />
disabling that module.<br />
<br />
3. Add {{Codeline|!nouveau}} to the {{Codeline|MODULES}} line in {{Filename|rc.conf}}. It should look like this:<br />
<pre>MODULES=(fuse acpi-cpufreq cpufreq_ondemand cpufreq_powersave !snd-pcm-oss vboxdrv !nouveau)</pre></div>Xehozhttps://wiki.archlinux.org/index.php?title=Touchpad_Synaptics&diff=117306Touchpad Synaptics2010-09-14T08:33:10Z<p>Xehoz: /* Disable Trackpad while Typing */</p>
<hr />
<div>{{i18n|Touchpad Synaptics}}<br />
[[de:Synaptics Touchpad Treiber]]<br />
[[Category:Input devices (English)]][[Category:HOWTOs (English)]]<br />
This article details the installation and configuration process of the '''''Synaptics input driver''''' for Synaptics (and ALPS) touchpads found on most notebooks.<br />
<br />
==Installation==<br />
<br />
The Synaptics driver is now bundled as ''xf86-input-synaptics'', and is available in the [[Official_Repositories|[extra] repository]]:<br />
<br />
# sudo pacman -S xf86-input-synaptics<br />
<br />
Make sure evdev is installed:<br />
<br />
# sudo pacman -S xf86-input-evdev<br />
<br />
== Configuration ==<br />
<br />
Configuration for the touchpad should be done through an xorg server configuration file. After installation of ''xf86-input-synaptics'', a default configuration file is located at ''/etc/X11/xorg.conf.d/10-synaptics.conf''. <br />
<br />
Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
EndSection<br />
<br />
Users can edit this file to configure the various driver options available, for a complete list of all available options users should refer to the synaptics manual page.<br />
<br />
=== Available options ===<br />
<br />
The Synaptics driver allows for a vast amount of options to be tweaked. Luckily, all of them are consistently named and well documented in Synaptic's manpage. Before you proceed to learn about the various configuration methods documented below: read the manpage so that you are aware of the available options.<br />
<br />
man synaptics<br />
<br />
==== Frequently used options ====<br />
<br />
The following lists options that many users may wish to configure. Note that all these options can simply be added to the main configuration file in ''/etx/X11/xorg.conf.d/10-synaptics.conf'', as shown in this example configuration file:<br />
<br />
Section "InputClass"<br />
Identifier "touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "SHMConfig" "on"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "VertEdgeScroll" "on"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "on"<br />
Option "CircScrollTrigger" "2"<br />
Option "EmulateTwoFingerMinZ" "0"<br />
...<br />
EndSection<br />
<br />
* '''VertEdgeScroll''': (boolean) enables vertical scrolling while dragging across the right edge of the touch pad.<br />
* '''HorizEdgeScroll''': (boolean) enables horizontal scrolling while dragging across the right edge of the touch pad.<br />
* '''TapButton1''': (integer) configures which mouse-button is reported on a non-corner, one finger tap.<br />
* '''TapButton2''': (integer) configures which mouse-button is reported on a non-corner, two finger tap<br />
* '''TapButton3''': (integer) configures which mouse-button is reported on a non-corner, three finger tap<br />
<br />
{{warning|TODO add / explain more options}}<br />
<br />
=== Configuration on the fly ===<br />
<br />
Next to the traditional method of configuration, the Synaptics driver also supports on the fly configuration. This means that users can set certain options through a software application. These options are applied immediately without needing a restart of X. There are three ways to do on the fly configuration:<br />
*GPointingDeviceSettings (recommended)<br />
*GSynaptics<br />
*synclient<br />
<br />
==== GPointingDeviceSettings ====<br />
As an alternative to GSynaptics, GPointingDeviceSettings provides graphical on the fly configuration for several pointing devices, including your synaptics touch pad. GPointingDeviceSettings is available through the [https://aur.archlinux.org/packages.php?ID=25663 AUR].<br />
<br />
GPointingDeviceSettings requires '''xf86-input-synaptics''' and '''libsynaptics''' to be installed for use with synaptics touch pads.<br />
# sudo pacman -S xf86-input-synaptics libsynaptics<br />
<br />
==== GSynaptics (deprecated but functional) ====<br />
{{Note|Though the [http://gsynaptics.sourceforge.jp/ GSynaptics website] mentions that its development has stopped and it will eventually be outdated, the application functions perfectly with xorg 1.8. Users are suggested to use '''GPointingDeviceSettings''' instead, GSynaptics should only be used as a last resort.}}<br />
<br />
On the fly configuration can also be done graphically through GSynaptics, a GTK application available in the [community] repository. GSynaptics allows the user to configure options such as horizontal, vertical and circular scrolling as well as the option to enable or disable the touchpad. GSynaptics requires that the '''SHMConfig''' option is enabled.<br />
# sudo pacman -S gsynaptics<br />
<br />
Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "SHMConfig" "on"<br />
EndSection<br />
<br />
==== fine-tuning with synclient ====<br />
Synclient is a command line utility to configure and query Synaptics driver settings.<br />
<br />
{{ Box Note|In recent versions of synaptics monitoring the touchpad via synclient -m is broken. You can still change options with synclient.}}<br />
<br />
The synclient monitor can display pressure and placement on the touchpad in real-time, allowing further refinement of the default Synaptics settings.<br />
<br />
You can start the Synaptics monitor with the following command:<br />
$ synclient -m 100<br />
Where -m activates the monitor and the following number specifies the update interval in milliseconds.<br />
<br />
This monitor provides information about the current state of your touchpad. For example, if you move the mouse with the touchpad, the x and y values in the monitor will change. Therewith you can easy figure out your touchpad's dimension which is defined in the LeftEdge-, RightEdge-, BottomEdge- and TopEdge-Options.<br />
<br />
The abbreviations for the parameters are as follow:<br />
<br />
{| class="wikitable"<br />
|- align="left"<br />
!width="200"|+Abbreviation+<br />
!width="400|+Description+<br />
|-<br />
|'''time'''<br />
|Time in seconds since the logging was started.<br />
|-<br />
|'''x, y'''<br />
|The x/y coordinates of the finger on the touchpad. The origin is in the upper left corner.<br />
|-<br />
|'''z'''<br />
|The pressure value. It represents the pressure you are using to navigate on your touchpad.<br />
|-<br />
|'''f'''<br />
|Number of fingers currently touching the touchpad.<br />
|-<br />
|'''w'''<br />
|Value that represents the finger width.<br />
|-<br />
|'''l,r,u,d,m,multi'''<br />
|Those values represent the state of the left, right, up, down, middle and multi buttons pressed where zero means not pressed and one means pressed.<br />
|-<br />
|'''gl,gm,gr'''<br />
|For touchpads which have a guest device, this are the associated button states for guest left, guest middle and guest right pressed (1) and not pressed (0).<br />
|-<br />
|'''gdx, gdy'''<br />
|x/y coordinates of the guest device.<br />
|}<br />
If a value constantly is zero, it implies that this option is not supported by your device.<br />
<br />
Now use {{Codeline|synclient}} to test new values. For example, to adjust minimum pointer speed:<br />
<br />
synclient MinSpeed=0.5<br />
<br />
The changes will not be permanent, they will need to be put in your conf file ('''/etc/X11/xorg.conf.d/10-synaptics.conf''') to make them so.<br />
<br />
==== ALPS Touchpads ====<br />
<br />
{{warning|TODO needs to be rewritten for udev}}<br />
<br />
For ALPS Touchpads, if the above configuration does not provide the desired results, try the following configuration instead:<br />
<br />
Section "ServerLayout"<br />
...<br />
InputDevice "USB Mouse" "CorePointer"<br />
InputDevice "Touchpad" "SendCoreEvents"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "FingerLow" "7"<br />
Option "FingerHigh" "8"<br />
Option "MaxTapTime" "180"<br />
Option "MaxTapMove" "110"<br />
Option "EmulateMidButtonTime" "75"<br />
Option "VertScrollDelta" "20"<br />
Option "HorizScrollDelta" "20"<br />
Option "MinSpeed" "0.25"<br />
Option "MaxSpeed" "0.50"<br />
Option "AccelFactor" "0.010"<br />
Option "EdgeMotionMinSpeed" "200"<br />
Option "EdgeMotionMaxSpeed" "200"<br />
Option "UpDownScrolling" "1"<br />
Option "CircularScrolling" "1"<br />
Option "CircScrollDelta" "0.1"<br />
Option "CircScrollTrigger" "2"<br />
Option "SHMConfig" "on"<br />
Option "Emulate3Buttons" "on"<br />
EndSection<br />
<br />
==Advanced Configuration==<br />
<br />
===Circular scrolling===<br />
<br />
Circular scrolling is a feature that Synaptics offers which closely resembles the behaviour of iPods. Instead of (or additional to) scrolling horizontally or vertically, you can scroll circularly. Some users find this faster and more precise.<br />
To enable circular scrolling, add the following options to the touchpad device section of '''/etc/X11/xorg.conf.d/10-synaptics.conf''':<br />
Section "InputClass"<br />
...<br />
Option "CircularScrolling" "on"<br />
Option "CircScrollTrigger" "0"<br />
...<br />
EndSection<br />
<br />
The option '''CircScrollTrigger''' may be one of the following values, determining which edge circular scrolling should start:<br />
0 All Edges<br />
1 Top Edge<br />
2 Top Right Corner<br />
3 Right Edge<br />
4 Bottom Right Corner<br />
5 Bottom Edge<br />
6 Bottom Left Corner<br />
7 Left Edge<br />
8 Top Left Corner<br />
<br />
Specifying something different from zero may be useful if you want to use circular scrolling in conjunction with horizontal and/or vertical scrolling. If you do so, the type of scrolling is determined by the edge you start from.<br />
<br />
To scroll fast, draw small circles in the center of your touchpad. To scroll slowly and more precise, draw large circles.<br />
<br />
===Software Toggle===<br />
<br />
You may find it useful to have a software toggle that will turn on or off your touchpad, esplicially if it's extremely sensitive and your doing a lot of typing. Please also see [[#Disable touchpad upon external mouse detection]] as that may be better solution, a matter of choice. The advantage here is you have the control, while the other solution has a daemon determine when to turn off the trackpad.<br />
<br />
You will want to grab [[xbindkeys]] if you don't already have key binding software.<br />
<br />
Then save this script to something such as /sbin/trackpad-toggle.sh:<br />
<br />
#!/bin/bash<br />
<br />
if [ `synclient -l | grep TouchpadOff | gawk -F '= ' '{ print $2 }'` -eq 0 ]; then<br />
synclient TouchpadOff=1<br />
else<br />
synclient TouchpadOff=0<br />
fi<br />
<br />
Then finally add a key binding to use the script. It is best to call with xbindkeys like so (file ''~/.xbindkeysrc''):<br />
<br />
"/sbin/trackpad-toggle.sh"<br />
m:0x5 + c:65<br />
Control+Shift + space<br />
<br />
Now just (re)start xbindkeys and ctrl+Shift+Space will now toggle your trackpad !<br />
<br />
Of course you could easily use any other keybinding software, such as the ones provided by Xfce4 and Gnome.<br />
<br />
==Troubleshooting==<br />
<br />
=== The touchpad isn't working, Xorg.0.log shows "Query no Synaptics: 6003C8" ===<br />
<br />
Due to the way synaptics is currently set-up, 2 instances of the synaptics module are loaded. We can recognize this situation by opening the xorg log file (/var/log/Xorg.0.log) and noticing this:<br />
<br />
[ 9304.803] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"<br />
[ 9304.803] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"<br />
<br />
Notice how 2 differently named instances of the module are being loaded. In some cases, this causes the touchpad to become nonfunctional.<br />
<br />
we can prevent this double loading by editing our ''/etc/X11/xorgc.conf.d/10-synaptics.conf'' file. We should add '''MatchDevicePath "/dev/input/event*"'''<br />
<br />
Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
EndSection <br />
<br />
Restart X and check xorg logs again, the error should be gone and the touchpad should be functional.<br />
<br />
related bugreport: <br />
*https://bugs.archlinux.org/task/20830<br />
<br />
related forum topics:<br />
* https://bbs.archlinux.org/viewtopic.php?id=104769<br />
* https://bbs.archlinux.org/viewtopic.php?pid=825690<br />
<br />
===Synaptics Special Ability===<br />
<br />
By default, Synaptics touchpads are able to detect the number of fingers on the touchpad; ALPS touchpads are not. If the touchpad is tapped with two fingers, it will emulate a middle click. If the touchpad is typed with three fingers, a right click will be emulated.<br />
<br />
===Disable touchpad upon external mouse detection===<br />
<br />
In assistance to [[udev]], it is possible to automatically disable the touchpad if an external mouse has been plugged in. To achieve this, add the following udev rule to '''/etc/udev/rules.d/01-touchpad.rules''':<br />
ACTION=="add", SUBSYSTEM=="input", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=1"<br />
ACTION=="remove", SUBSYSTEM=="input", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=0"<br />
<br />
SHMConfig must be enabled (see the '''Configuration''' section for details)<br />
<br />
===Cursor Jump===<br />
<br />
Some users have their cursor inexplicably ''jump'' around the screen. There currently no patch for this, but the developers are aware of the problem and are working on it.<br />
<br />
===Multitouch===<br />
<br />
Multitouch gesture like in Mac OS X will be in future version of the driver.<br />
<br />
===Touchpad device isn't located at /dev/input/mouse0===<br />
<br />
If that's the case, you can use this command to display information about your input devices:<br />
cat /proc/bus/input/devices<br />
Search for an input device which has the name "SynPS/2 Synaptics TouchPad". The "Handlers" section of the output specifies what device you need to specify.<br />
<br />
'''Example output:'''<br />
I: Bus=0011 Vendor=0002 Product=0007 Version=0000<br />
N: Name="SynPS/2 Synaptics TouchPad"<br />
P: Phys=isa0060/serio4/input0<br />
S: Sysfs=/class/input/input1<br />
H: Handlers=mouse0 event1<br />
B: EV=b<br />
B: KEY=6420 0 7000f 0<br />
<br />
In this case, the Handlers are mouse0 and event1, so /dev/input/mouse0 would be used.<br />
<br />
{{warning|TODO explain how to apply this in 10-snaptics.conf}}<br />
<br />
=== Disable Trackpad while Typing ===<br />
<br />
There are two approaches on how run this command depending on your setup. But first you will need to have SHMConfig enable in your HAL policy ({{Filename|/etc/hal/fdi/policy/11-x11-synaptics.fdi}}), or {{Filename|/etc/xorg.conf}}. Some users may need to specify touchpad preferences in {{Filename|/etc/hal/fdi/policy/99-x11-synaptics.fdi}} instead.<br />
<br />
==== Using {{Filename|.xinitrc}} ====<br />
<br />
To have the touchpad disabled automatically when you begin typing, add the following line to your .xinitrc before you run your window manager (if not using a login manager):<br />
<br />
syndaemon -t -k -i 2 -d &<br />
<br />
; '''-i 2''': sets the idle time to 2 seconds. The idle time specifies how many seconds to wait after the last key-press before enabling the touchpad again.<br />
; '''-t''': tells the daemon not to disable mouse movement when typing and only disable tapping and scrolling.<br />
; '''-k''': tells the daemon to ignore modifier keys when monitoring keyboard activity (ie: allows ctrl+left click).<br />
; '''-d''': starts as a daemon, in the background.<br />
<br />
More details are available in the man page:<br />
<br />
$ man syndaemon<br />
<br />
If you are using a login manager, you will need to specify the command where your DE allows you to do so.<br />
<br />
==== Using a Login Manager ====<br />
<br />
The "-d" option is necessary to start syndaemon as a background process for post Login instructions.<br />
<br />
'''For GNOME: (GDM)'''<br />
<br />
To start syndaemon you need to use Gnome's Startup Applications Preferences program. Login to Gnome and go to '''System > Preferences > Startup Applications'''. In the Startup Programs tab click the '''Add''' button. Name the Startup Program whatever you like and input any comments you like (or leave this field blank). In the command field add:<br />
<br />
syndaemon -t -k -i 2 -d &<br />
<br />
When you're done click the Add button in the Add Startup Program dialogue. Make sure the check box next to the startup program you've created is checked, in the list of additional startup programs. Close the Startup Applications Preferences window and you're done.<br />
<br />
'''For KDE: (KDM)'''<br />
<br />
Goto '''System Settings > Advanced Tab > Autostart''', then click '''Add Program''', enter:<br />
<br />
syndaemon -t -k -i 2 -d &<br />
<br />
Then check 'Run in terminal'.<br />
<br />
===Firefox and special touchpad events===<br />
<br />
By default, Firefox is set up to do special events upon tapping or scrolling certain parts of your touchpad.<br />
You can edit the settings of those actions by typing '''about:config''' in your Firefox address bar.<br />
To alter these options, double-click on the line in question, changing "true" to "false" and vise versa.<br />
<br />
To prevent Firefox from scrolling (backward/forward) through browser history and instead scroll through pages, edit these settings as shown:<br />
mousewheel.horizscroll.withnokey.action = 1<br />
mousewheel.horizscroll.withnokey.sysnumlines = true<br />
<br />
To prevent Firefox from redirecting you to URLs formed from your clipboard content upon tapping the upper-right corner of your touchpad (or middle mouse button), set the following option to "false":<br />
middlemouse.contentLoadURL = false<br />
<br />
===Opera: horizontal scrolling issues===<br />
<br />
Same as above.<br />
To fix it, go to Tools -> Preferences -> Advanced -> Shortcuts. Select "Opera Standard" mouse setup and click "Edit". In "Application" section:<br />
* assign key "Button 6" to command "Scroll left"<br />
* assign key "Button 7" to command "Scroll right"<br />
<br />
===Scrolling and multiple actions with Synaptics on LG Laptops===<br />
<br />
These problems seem to be occurring on several models of LG laptops.<br />
Symptoms include: when pressing Mouse Button 1, Synaptics interprets it as ScrollUP and a regular button 1 click; same goes for button 2.<br />
<br />
The scrolling issue can be resolved by entering in xorg.conf:<br />
Option "UpDownScrolling" "0"<br />
<br />
NOTE that this will make Synaptics interpret one button push as three. There is a patch written by Oskar Sandberg[http://www.math.chalmers.se/~ossa/linux/lg_tx_express.html] that removes these clicks.<br />
<br />
Apparently, when trying to compile this against the latest version of Synaptics it fails. The solution to this is using the GIT repository for Synaptics[http://web.telia.com/~u89404340/touchpad/synaptics/.git] .<br />
<br />
There is also a package build file in the AUR to automate this: [http://aur.archlinux.org/packages.php?ID=15983].<br />
<br />
To build the package after downloading the tarball and unpacking it, execute:<br />
cd synaptics-git<br />
makepkg<br />
<br />
If you want it to be automatically installed after being built, just add '-i' after makepkg.<br />
<br />
===Other external mouse issues===<br />
<br />
First, make sure your section describing the external mouse contains this line (or that the line looks like this):<br />
<br />
Option "Device" "/dev/input/mice"<br />
<br />
If the "Device" line is different, change it to the above and try to restart X. If this doesn't solve your problem, make your '''touchpad''' the CorePointer in the "Server Layout" section:<br />
<br />
InputDevice "Touchpad" "CorePointer"<br />
<br />
and make your external device "SendCoreEvents":<br />
<br />
InputDevice "USB Mouse" "SendCoreEvents"<br />
<br />
finally add this to your external device's section:<br />
<br />
Option "SendCoreEvents" "true"<br />
<br />
If all of the above doesn't work for you, please check relevant bug trackers for possible bugs, or go through the forums to see if anyone has found a better solution.<br />
<br />
===Touchpad synchronization issues===<br />
<br />
Sometimes the cursor may freeze for several seconds or start acting on its own for no apparent reason. This behavior is accompanied by records in /var/log/messages.log<br />
<br />
psmouse.c: TouchPad at isa0060/serio1/input0 lost synchronization, throwing 3 bytes away<br />
<br />
This problem has no general solution, but there are several possible workarounds.<br />
*If you use CPU frequency scaling, avoid using the "ondemand" governor and use the "performance" governor when possible, as the touchpad may lose sync when the CPU frequency changes.<br />
*Avoid using an ACPI battery monitor.<br />
*Attempt to load psmouse with "proto=imps" option. To do that, add this line to your /etc/modprobe.conf:<br />
<br />
options psmouse proto=imps<br />
<br />
*Try another desktop environment. Some users report that this problem only occurs when using XFCE or GNOME, for whatever reason<br />
<br />
===Delay between a button tap and the actual click===<br />
<br />
If you experience a delay between the tap on the touchpad and the actual click that is registered you need to enable FastTaps:<br />
<br />
To do so, you should add '''Option "FastTaps" "1"''' to '''/etc/X11/xorg.conf.d/10-synaptics.conf''' so that you have:<br />
<br />
Section "InputClass"<br />
Identifier "Synaptics Touchpad"<br />
Driver "synaptics"<br />
...<br />
Option "FastTaps" "1"<br />
...<br />
EndSection<br />
<br />
===SynPS/2 Synaptics TouchPad can't grab event device, errno=16===<br />
<br />
If you are using Xorg 7.4, you may get a warning like this from /var/log/Xorg.0.log, thais is because the driver will grab the event device for exclusive use when using the Linux 2.6 event protocol. When it fails, X will return this error message.<br />
<br />
Grabbing the event device means that no other user space or kernel space program sees the touchpad events. This is desirable if the X config file includes /dev/input/mice as an input device, but is undesirable if you want to monitor the device from user space.<br />
<br />
If you want to control it, add or modify the "GrabEventDevice" option in you touchpad section in /etc/X11/xorg.conf.d/10-synaptics.conf:<br />
<br />
...<br />
Option "GrabEventDevice" "''boolean''"<br />
...<br />
<br />
This will come into effect when X is restarted, though you can also change it by using synclient. When changing this parameter with the synclient program, the change will not take effect until the Synaptics driver is disabled and re-enabled. This can be achieved by switching to a text console and then switching back to X.<br />
<br />
==External Resources==<br />
<br />
Synaptics TouchPad driver: [http://cgit.freedesktop.org/xorg/driver/xf86-input-synaptics/]<br />
<!-- vim: set ft=Wikipedia: --></div>Xehozhttps://wiki.archlinux.org/index.php?title=Touchpad_Synaptics&diff=117305Touchpad Synaptics2010-09-14T08:28:40Z<p>Xehoz: /* Using {{Filename|.xinitrc}} */ Summarizing and reformating this short but messy section</p>
<hr />
<div>{{i18n|Touchpad Synaptics}}<br />
[[de:Synaptics Touchpad Treiber]]<br />
[[Category:Input devices (English)]][[Category:HOWTOs (English)]]<br />
This article details the installation and configuration process of the '''''Synaptics input driver''''' for Synaptics (and ALPS) touchpads found on most notebooks.<br />
<br />
==Installation==<br />
<br />
The Synaptics driver is now bundled as ''xf86-input-synaptics'', and is available in the [[Official_Repositories|[extra] repository]]:<br />
<br />
# sudo pacman -S xf86-input-synaptics<br />
<br />
Make sure evdev is installed:<br />
<br />
# sudo pacman -S xf86-input-evdev<br />
<br />
== Configuration ==<br />
<br />
Configuration for the touchpad should be done through an xorg server configuration file. After installation of ''xf86-input-synaptics'', a default configuration file is located at ''/etc/X11/xorg.conf.d/10-synaptics.conf''. <br />
<br />
Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
EndSection<br />
<br />
Users can edit this file to configure the various driver options available, for a complete list of all available options users should refer to the synaptics manual page.<br />
<br />
=== Available options ===<br />
<br />
The Synaptics driver allows for a vast amount of options to be tweaked. Luckily, all of them are consistently named and well documented in Synaptic's manpage. Before you proceed to learn about the various configuration methods documented below: read the manpage so that you are aware of the available options.<br />
<br />
man synaptics<br />
<br />
==== Frequently used options ====<br />
<br />
The following lists options that many users may wish to configure. Note that all these options can simply be added to the main configuration file in ''/etx/X11/xorg.conf.d/10-synaptics.conf'', as shown in this example configuration file:<br />
<br />
Section "InputClass"<br />
Identifier "touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "SHMConfig" "on"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "VertEdgeScroll" "on"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "on"<br />
Option "CircScrollTrigger" "2"<br />
Option "EmulateTwoFingerMinZ" "0"<br />
...<br />
EndSection<br />
<br />
* '''VertEdgeScroll''': (boolean) enables vertical scrolling while dragging across the right edge of the touch pad.<br />
* '''HorizEdgeScroll''': (boolean) enables horizontal scrolling while dragging across the right edge of the touch pad.<br />
* '''TapButton1''': (integer) configures which mouse-button is reported on a non-corner, one finger tap.<br />
* '''TapButton2''': (integer) configures which mouse-button is reported on a non-corner, two finger tap<br />
* '''TapButton3''': (integer) configures which mouse-button is reported on a non-corner, three finger tap<br />
<br />
{{warning|TODO add / explain more options}}<br />
<br />
=== Configuration on the fly ===<br />
<br />
Next to the traditional method of configuration, the Synaptics driver also supports on the fly configuration. This means that users can set certain options through a software application. These options are applied immediately without needing a restart of X. There are three ways to do on the fly configuration:<br />
*GPointingDeviceSettings (recommended)<br />
*GSynaptics<br />
*synclient<br />
<br />
==== GPointingDeviceSettings ====<br />
As an alternative to GSynaptics, GPointingDeviceSettings provides graphical on the fly configuration for several pointing devices, including your synaptics touch pad. GPointingDeviceSettings is available through the [https://aur.archlinux.org/packages.php?ID=25663 AUR].<br />
<br />
GPointingDeviceSettings requires '''xf86-input-synaptics''' and '''libsynaptics''' to be installed for use with synaptics touch pads.<br />
# sudo pacman -S xf86-input-synaptics libsynaptics<br />
<br />
==== GSynaptics (deprecated but functional) ====<br />
{{Note|Though the [http://gsynaptics.sourceforge.jp/ GSynaptics website] mentions that its development has stopped and it will eventually be outdated, the application functions perfectly with xorg 1.8. Users are suggested to use '''GPointingDeviceSettings''' instead, GSynaptics should only be used as a last resort.}}<br />
<br />
On the fly configuration can also be done graphically through GSynaptics, a GTK application available in the [community] repository. GSynaptics allows the user to configure options such as horizontal, vertical and circular scrolling as well as the option to enable or disable the touchpad. GSynaptics requires that the '''SHMConfig''' option is enabled.<br />
# sudo pacman -S gsynaptics<br />
<br />
Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "SHMConfig" "on"<br />
EndSection<br />
<br />
==== fine-tuning with synclient ====<br />
Synclient is a command line utility to configure and query Synaptics driver settings.<br />
<br />
{{ Box Note|In recent versions of synaptics monitoring the touchpad via synclient -m is broken. You can still change options with synclient.}}<br />
<br />
The synclient monitor can display pressure and placement on the touchpad in real-time, allowing further refinement of the default Synaptics settings.<br />
<br />
You can start the Synaptics monitor with the following command:<br />
$ synclient -m 100<br />
Where -m activates the monitor and the following number specifies the update interval in milliseconds.<br />
<br />
This monitor provides information about the current state of your touchpad. For example, if you move the mouse with the touchpad, the x and y values in the monitor will change. Therewith you can easy figure out your touchpad's dimension which is defined in the LeftEdge-, RightEdge-, BottomEdge- and TopEdge-Options.<br />
<br />
The abbreviations for the parameters are as follow:<br />
<br />
{| class="wikitable"<br />
|- align="left"<br />
!width="200"|+Abbreviation+<br />
!width="400|+Description+<br />
|-<br />
|'''time'''<br />
|Time in seconds since the logging was started.<br />
|-<br />
|'''x, y'''<br />
|The x/y coordinates of the finger on the touchpad. The origin is in the upper left corner.<br />
|-<br />
|'''z'''<br />
|The pressure value. It represents the pressure you are using to navigate on your touchpad.<br />
|-<br />
|'''f'''<br />
|Number of fingers currently touching the touchpad.<br />
|-<br />
|'''w'''<br />
|Value that represents the finger width.<br />
|-<br />
|'''l,r,u,d,m,multi'''<br />
|Those values represent the state of the left, right, up, down, middle and multi buttons pressed where zero means not pressed and one means pressed.<br />
|-<br />
|'''gl,gm,gr'''<br />
|For touchpads which have a guest device, this are the associated button states for guest left, guest middle and guest right pressed (1) and not pressed (0).<br />
|-<br />
|'''gdx, gdy'''<br />
|x/y coordinates of the guest device.<br />
|}<br />
If a value constantly is zero, it implies that this option is not supported by your device.<br />
<br />
Now use {{Codeline|synclient}} to test new values. For example, to adjust minimum pointer speed:<br />
<br />
synclient MinSpeed=0.5<br />
<br />
The changes will not be permanent, they will need to be put in your conf file ('''/etc/X11/xorg.conf.d/10-synaptics.conf''') to make them so.<br />
<br />
==== ALPS Touchpads ====<br />
<br />
{{warning|TODO needs to be rewritten for udev}}<br />
<br />
For ALPS Touchpads, if the above configuration does not provide the desired results, try the following configuration instead:<br />
<br />
Section "ServerLayout"<br />
...<br />
InputDevice "USB Mouse" "CorePointer"<br />
InputDevice "Touchpad" "SendCoreEvents"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "FingerLow" "7"<br />
Option "FingerHigh" "8"<br />
Option "MaxTapTime" "180"<br />
Option "MaxTapMove" "110"<br />
Option "EmulateMidButtonTime" "75"<br />
Option "VertScrollDelta" "20"<br />
Option "HorizScrollDelta" "20"<br />
Option "MinSpeed" "0.25"<br />
Option "MaxSpeed" "0.50"<br />
Option "AccelFactor" "0.010"<br />
Option "EdgeMotionMinSpeed" "200"<br />
Option "EdgeMotionMaxSpeed" "200"<br />
Option "UpDownScrolling" "1"<br />
Option "CircularScrolling" "1"<br />
Option "CircScrollDelta" "0.1"<br />
Option "CircScrollTrigger" "2"<br />
Option "SHMConfig" "on"<br />
Option "Emulate3Buttons" "on"<br />
EndSection<br />
<br />
==Advanced Configuration==<br />
<br />
===Circular scrolling===<br />
<br />
Circular scrolling is a feature that Synaptics offers which closely resembles the behaviour of iPods. Instead of (or additional to) scrolling horizontally or vertically, you can scroll circularly. Some users find this faster and more precise.<br />
To enable circular scrolling, add the following options to the touchpad device section of '''/etc/X11/xorg.conf.d/10-synaptics.conf''':<br />
Section "InputClass"<br />
...<br />
Option "CircularScrolling" "on"<br />
Option "CircScrollTrigger" "0"<br />
...<br />
EndSection<br />
<br />
The option '''CircScrollTrigger''' may be one of the following values, determining which edge circular scrolling should start:<br />
0 All Edges<br />
1 Top Edge<br />
2 Top Right Corner<br />
3 Right Edge<br />
4 Bottom Right Corner<br />
5 Bottom Edge<br />
6 Bottom Left Corner<br />
7 Left Edge<br />
8 Top Left Corner<br />
<br />
Specifying something different from zero may be useful if you want to use circular scrolling in conjunction with horizontal and/or vertical scrolling. If you do so, the type of scrolling is determined by the edge you start from.<br />
<br />
To scroll fast, draw small circles in the center of your touchpad. To scroll slowly and more precise, draw large circles.<br />
<br />
===Software Toggle===<br />
<br />
You may find it useful to have a software toggle that will turn on or off your touchpad, esplicially if it's extremely sensitive and your doing a lot of typing. Please also see [[#Disable touchpad upon external mouse detection]] as that may be better solution, a matter of choice. The advantage here is you have the control, while the other solution has a daemon determine when to turn off the trackpad.<br />
<br />
You will want to grab [[xbindkeys]] if you don't already have key binding software.<br />
<br />
Then save this script to something such as /sbin/trackpad-toggle.sh:<br />
<br />
#!/bin/bash<br />
<br />
if [ `synclient -l | grep TouchpadOff | gawk -F '= ' '{ print $2 }'` -eq 0 ]; then<br />
synclient TouchpadOff=1<br />
else<br />
synclient TouchpadOff=0<br />
fi<br />
<br />
Then finally add a key binding to use the script. It is best to call with xbindkeys like so (file ''~/.xbindkeysrc''):<br />
<br />
"/sbin/trackpad-toggle.sh"<br />
m:0x5 + c:65<br />
Control+Shift + space<br />
<br />
Now just (re)start xbindkeys and ctrl+Shift+Space will now toggle your trackpad !<br />
<br />
Of course you could easily use any other keybinding software, such as the ones provided by Xfce4 and Gnome.<br />
<br />
==Troubleshooting==<br />
<br />
=== The touchpad isn't working, Xorg.0.log shows "Query no Synaptics: 6003C8" ===<br />
<br />
Due to the way synaptics is currently set-up, 2 instances of the synaptics module are loaded. We can recognize this situation by opening the xorg log file (/var/log/Xorg.0.log) and noticing this:<br />
<br />
[ 9304.803] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"<br />
[ 9304.803] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"<br />
<br />
Notice how 2 differently named instances of the module are being loaded. In some cases, this causes the touchpad to become nonfunctional.<br />
<br />
we can prevent this double loading by editing our ''/etc/X11/xorgc.conf.d/10-synaptics.conf'' file. We should add '''MatchDevicePath "/dev/input/event*"'''<br />
<br />
Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
EndSection <br />
<br />
Restart X and check xorg logs again, the error should be gone and the touchpad should be functional.<br />
<br />
related bugreport: <br />
*https://bugs.archlinux.org/task/20830<br />
<br />
related forum topics:<br />
* https://bbs.archlinux.org/viewtopic.php?id=104769<br />
* https://bbs.archlinux.org/viewtopic.php?pid=825690<br />
<br />
===Synaptics Special Ability===<br />
<br />
By default, Synaptics touchpads are able to detect the number of fingers on the touchpad; ALPS touchpads are not. If the touchpad is tapped with two fingers, it will emulate a middle click. If the touchpad is typed with three fingers, a right click will be emulated.<br />
<br />
===Disable touchpad upon external mouse detection===<br />
<br />
In assistance to [[udev]], it is possible to automatically disable the touchpad if an external mouse has been plugged in. To achieve this, add the following udev rule to '''/etc/udev/rules.d/01-touchpad.rules''':<br />
ACTION=="add", SUBSYSTEM=="input", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=1"<br />
ACTION=="remove", SUBSYSTEM=="input", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=0"<br />
<br />
SHMConfig must be enabled (see the '''Configuration''' section for details)<br />
<br />
===Cursor Jump===<br />
<br />
Some users have their cursor inexplicably ''jump'' around the screen. There currently no patch for this, but the developers are aware of the problem and are working on it.<br />
<br />
===Multitouch===<br />
<br />
Multitouch gesture like in Mac OS X will be in future version of the driver.<br />
<br />
===Touchpad device isn't located at /dev/input/mouse0===<br />
<br />
If that's the case, you can use this command to display information about your input devices:<br />
cat /proc/bus/input/devices<br />
Search for an input device which has the name "SynPS/2 Synaptics TouchPad". The "Handlers" section of the output specifies what device you need to specify.<br />
<br />
'''Example output:'''<br />
I: Bus=0011 Vendor=0002 Product=0007 Version=0000<br />
N: Name="SynPS/2 Synaptics TouchPad"<br />
P: Phys=isa0060/serio4/input0<br />
S: Sysfs=/class/input/input1<br />
H: Handlers=mouse0 event1<br />
B: EV=b<br />
B: KEY=6420 0 7000f 0<br />
<br />
In this case, the Handlers are mouse0 and event1, so /dev/input/mouse0 would be used.<br />
<br />
{{warning|TODO explain how to apply this in 10-snaptics.conf}}<br />
<br />
=== Disable Trackpad while Typing ===<br />
<br />
There are two approaches on how run this command depending on your setup. But first you will need to have SHMConfig enable in your HAL policy ({{Filename|/etc/hal/fdi/policy/11-x11-synaptics.fdi}}), or {{Filename|/etc/xorg.conf}}. Some users may need to specify touchpad preferences in {{Filename|/etc/hal/fdi/policy/99-x11-synaptics.fdi}} instead.<br />
<br />
==== Using {{Filename|.xinitrc}} ====<br />
<br />
To have the touchpad disabled automatically when you begin typing, add the following line to your .xinitrc before you run your window manager (if not using a login manager):<br />
<br />
syndaemon -t -k -i 2 &<br />
<br />
; '''-i 2''': sets the idle time to 2 seconds. The idle time specifies how many seconds to wait after the last key-press before enabling the touchpad again.<br />
; '''-t''': tells the daemon not to disable mouse movement when typing and only disable tapping and scrolling.<br />
; '''-k''': tells the daemon to ignore modifier keys when monitoring keyboard activity (allows ctrl+left click, for example).<br />
<br />
More details are available in the man page:<br />
<br />
$ man syndaemon<br />
<br />
If you are using a login manager, you will need to specify the command where your DE allows you to do so.<br />
<br />
==== Using a Login Manager ====<br />
<br />
The "-d" option is necessary to start syndaemon as a background process for post Login instructions.<br />
<br />
'''For GNOME: (GDM)'''<br />
<br />
To start syndaemon you need to use Gnome's Startup Applications Preferences program. Login to Gnome and go to '''System > Preferences > Startup Applications'''. In the Startup Programs tab click the '''Add''' button. Name the Startup Program whatever you like and input any comments you like (or leave this field blank). In the command field add:<br />
<br />
syndaemon -i 2 -d<br />
<br />
When you're done click the Add button in the Add Startup Program dialogue. Make sure the check box next to the startup program you've created is checked, in the list of additional startup programs. Close the Startup Applications Preferences window and you're done.<br />
<br />
'''For KDE: (KDM)'''<br />
<br />
Goto '''System Settings > Advanced Tab > Autostart''', then click '''Add Program''', enter:<br />
<br />
syndaemon -i 2 -d<br />
<br />
Then check 'Run in terminal'.<br />
<br />
===Firefox and special touchpad events===<br />
<br />
By default, Firefox is set up to do special events upon tapping or scrolling certain parts of your touchpad.<br />
You can edit the settings of those actions by typing '''about:config''' in your Firefox address bar.<br />
To alter these options, double-click on the line in question, changing "true" to "false" and vise versa.<br />
<br />
To prevent Firefox from scrolling (backward/forward) through browser history and instead scroll through pages, edit these settings as shown:<br />
mousewheel.horizscroll.withnokey.action = 1<br />
mousewheel.horizscroll.withnokey.sysnumlines = true<br />
<br />
To prevent Firefox from redirecting you to URLs formed from your clipboard content upon tapping the upper-right corner of your touchpad (or middle mouse button), set the following option to "false":<br />
middlemouse.contentLoadURL = false<br />
<br />
===Opera: horizontal scrolling issues===<br />
<br />
Same as above.<br />
To fix it, go to Tools -> Preferences -> Advanced -> Shortcuts. Select "Opera Standard" mouse setup and click "Edit". In "Application" section:<br />
* assign key "Button 6" to command "Scroll left"<br />
* assign key "Button 7" to command "Scroll right"<br />
<br />
===Scrolling and multiple actions with Synaptics on LG Laptops===<br />
<br />
These problems seem to be occurring on several models of LG laptops.<br />
Symptoms include: when pressing Mouse Button 1, Synaptics interprets it as ScrollUP and a regular button 1 click; same goes for button 2.<br />
<br />
The scrolling issue can be resolved by entering in xorg.conf:<br />
Option "UpDownScrolling" "0"<br />
<br />
NOTE that this will make Synaptics interpret one button push as three. There is a patch written by Oskar Sandberg[http://www.math.chalmers.se/~ossa/linux/lg_tx_express.html] that removes these clicks.<br />
<br />
Apparently, when trying to compile this against the latest version of Synaptics it fails. The solution to this is using the GIT repository for Synaptics[http://web.telia.com/~u89404340/touchpad/synaptics/.git] .<br />
<br />
There is also a package build file in the AUR to automate this: [http://aur.archlinux.org/packages.php?ID=15983].<br />
<br />
To build the package after downloading the tarball and unpacking it, execute:<br />
cd synaptics-git<br />
makepkg<br />
<br />
If you want it to be automatically installed after being built, just add '-i' after makepkg.<br />
<br />
===Other external mouse issues===<br />
<br />
First, make sure your section describing the external mouse contains this line (or that the line looks like this):<br />
<br />
Option "Device" "/dev/input/mice"<br />
<br />
If the "Device" line is different, change it to the above and try to restart X. If this doesn't solve your problem, make your '''touchpad''' the CorePointer in the "Server Layout" section:<br />
<br />
InputDevice "Touchpad" "CorePointer"<br />
<br />
and make your external device "SendCoreEvents":<br />
<br />
InputDevice "USB Mouse" "SendCoreEvents"<br />
<br />
finally add this to your external device's section:<br />
<br />
Option "SendCoreEvents" "true"<br />
<br />
If all of the above doesn't work for you, please check relevant bug trackers for possible bugs, or go through the forums to see if anyone has found a better solution.<br />
<br />
===Touchpad synchronization issues===<br />
<br />
Sometimes the cursor may freeze for several seconds or start acting on its own for no apparent reason. This behavior is accompanied by records in /var/log/messages.log<br />
<br />
psmouse.c: TouchPad at isa0060/serio1/input0 lost synchronization, throwing 3 bytes away<br />
<br />
This problem has no general solution, but there are several possible workarounds.<br />
*If you use CPU frequency scaling, avoid using the "ondemand" governor and use the "performance" governor when possible, as the touchpad may lose sync when the CPU frequency changes.<br />
*Avoid using an ACPI battery monitor.<br />
*Attempt to load psmouse with "proto=imps" option. To do that, add this line to your /etc/modprobe.conf:<br />
<br />
options psmouse proto=imps<br />
<br />
*Try another desktop environment. Some users report that this problem only occurs when using XFCE or GNOME, for whatever reason<br />
<br />
===Delay between a button tap and the actual click===<br />
<br />
If you experience a delay between the tap on the touchpad and the actual click that is registered you need to enable FastTaps:<br />
<br />
To do so, you should add '''Option "FastTaps" "1"''' to '''/etc/X11/xorg.conf.d/10-synaptics.conf''' so that you have:<br />
<br />
Section "InputClass"<br />
Identifier "Synaptics Touchpad"<br />
Driver "synaptics"<br />
...<br />
Option "FastTaps" "1"<br />
...<br />
EndSection<br />
<br />
===SynPS/2 Synaptics TouchPad can't grab event device, errno=16===<br />
<br />
If you are using Xorg 7.4, you may get a warning like this from /var/log/Xorg.0.log, thais is because the driver will grab the event device for exclusive use when using the Linux 2.6 event protocol. When it fails, X will return this error message.<br />
<br />
Grabbing the event device means that no other user space or kernel space program sees the touchpad events. This is desirable if the X config file includes /dev/input/mice as an input device, but is undesirable if you want to monitor the device from user space.<br />
<br />
If you want to control it, add or modify the "GrabEventDevice" option in you touchpad section in /etc/X11/xorg.conf.d/10-synaptics.conf:<br />
<br />
...<br />
Option "GrabEventDevice" "''boolean''"<br />
...<br />
<br />
This will come into effect when X is restarted, though you can also change it by using synclient. When changing this parameter with the synclient program, the change will not take effect until the Synaptics driver is disabled and re-enabled. This can be achieved by switching to a text console and then switching back to X.<br />
<br />
==External Resources==<br />
<br />
Synaptics TouchPad driver: [http://cgit.freedesktop.org/xorg/driver/xf86-input-synaptics/]<br />
<!-- vim: set ft=Wikipedia: --></div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=116911ASUS N82JV2010-09-13T06:42:37Z<p>Xehoz: /* Touchpad */ Touchpad Synaptics is undergoing a rewrite. Just some links fixing.</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci_hcd<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|}<br />
<br />
=Hardware=<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
=Configuration=<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
==CPU==<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
==Video==<br />
===Intel===<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
===Nvidia===<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
====Switching graphic cards====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change in the near future[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
====Disabling the Nvidia card====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
=====Run on Startup=====<br />
If you want run it on every startup add these lines to {{Filename|/etc/rc.local}} {{Note|Running this without a delay on Kernel 2.6.35.x has issues (Boots fine but X and tty don't show up; to avoid that, simply add {{Codeline|sleep <time>}} before these lines and remember that sleep affects every line below it. If you mess up or decide to test it, just boot into recovery mode and edit {{Filename|/etc/rc.local}} from cli, to either add the delay or remove the lines altogether}}<br />
<br />
<pre># Disable Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with {{Codeline|grep rate /proc/acpi/battery/BAT0/state}}. There should be a difference of about 7500 mW in battery usage.<br />
<br />
=====Enable/Disable Scripts=====<br />
You can easily create a couple of scripts to enable and disable it.<br />
<pre><br />
#/bin/sh<br />
# Disable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<pre><br />
#/bin/sh<br />
# Enable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
{{Codeline|chmod +x}} both of them and type {{Codeline|sh <name you've given them>}} to use them.<br />
<br />
==Audio==<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
{{Note|From my experience [[OSS]] doesn't work}}<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
{{Note|Realtek's ALSA drivers, currently 1.0.23-5.15rc5, aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)}}<br />
<br />
2. Add {{Codeline|options snd-hda-intel index<nowiki>=</nowiki>0 model<nowiki>=</nowiki>auto}} to {{Filename|/etc/modprobe.d/modprobe.conf}}.<br />
<br />
Open {{Filename|/etc/modprobe.d/sound.conf}} and add:<br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
===HDMI===<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
=Touchpad=<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type {{Codeline|xinput list |grep pointer}}. What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using an Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, open {{Filename|/etc/X11/xorg.conf.d/10-synaptics.conf}}. A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
{{Note|While I settled with these coordinates, they may require tuning: [[Touchpad_Synaptics#fine-tuning_with_synclient]]}}.<br />
<br />
==Working 10-synaptics.conf==<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
{{File|name=/etc/X11/xorg.conf.d/10-synaptics.conf|content=Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection}}<br />
<br />
=Webcam=<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
=Function Keys=<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad).</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=116865ASUS N82JV2010-09-12T17:02:31Z<p>Xehoz: /* Run on Startup */</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci_hcd<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|}<br />
<br />
=Hardware=<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
=Configuration=<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
==CPU==<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
==Video==<br />
===Intel===<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
===Nvidia===<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
====Switching graphic cards====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change in the near future[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
====Disabling the Nvidia card====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
=====Run on Startup=====<br />
If you want run it on every startup add these lines to {{Filename|/etc/rc.local}} {{Note|Running this without a delay on Kernel 2.6.35.x has issues (Boots fine but X and tty don't show up; to avoid that, simply add {{Codeline|sleep <time>}} before these lines and remember that sleep affects every line below it. If you mess up or decide to test it, just boot into recovery mode and edit {{Filename|/etc/rc.local}} from cli, to either add the delay or remove the lines altogether}}<br />
<br />
<pre># Disable Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with {{Codeline|grep rate /proc/acpi/battery/BAT0/state}}. There should be a difference of about 7500 mW in battery usage.<br />
<br />
=====Enable/Disable Scripts=====<br />
You can easily create a couple of scripts to enable and disable it.<br />
<pre><br />
#/bin/sh<br />
# Disable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<pre><br />
#/bin/sh<br />
# Enable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
{{Codeline|chmod +x}} both of them and type {{Codeline|sh <name you've given them>}} to use them.<br />
<br />
==Audio==<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
{{Note|From my experience [[OSS]] doesn't work}}<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
{{Note|Realtek's ALSA drivers, currently 1.0.23-5.15rc5, aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)}}<br />
<br />
2. Add {{Codeline|options snd-hda-intel index<nowiki>=</nowiki>0 model<nowiki>=</nowiki>auto}} to {{Filename|/etc/modprobe.d/modprobe.conf}}.<br />
<br />
Open {{Filename|/etc/modprobe.d/sound.conf}} and add:<br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
===HDMI===<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
=Touchpad=<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type {{Codeline|xinput list |grep pointer}}. What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using an Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, open {{Filename|/etc/X11/xorg.conf.d/10-synaptics.conf}}. A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
{{Note|While I settled with these coordinates, they may require tuning[http://wiki.archlinux.org/index.php/Touchpad_Synaptics#Fine-tuning_with_synclient]}}.<br />
<br />
==Working 10-synaptics.conf==<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
{{File|name=/etc/X11/xorg.conf.d/10-synaptics.conf|content=Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection}}<br />
<br />
=Webcam=<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
=Function Keys=<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad).</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=116864ASUS N82JV2010-09-12T17:01:39Z<p>Xehoz: /* Run on Startup */</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci_hcd<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|}<br />
<br />
=Hardware=<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
=Configuration=<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
==CPU==<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
==Video==<br />
===Intel===<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
===Nvidia===<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
====Switching graphic cards====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change in the near future[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
====Disabling the Nvidia card====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
=====Run on Startup=====<br />
If you want run it on every startup add these lines to {{Filename|/etc/rc.local}} {{Note|Running this without a delay on Kernel 2.6.35.x has issues (Boots fine but X and tty don't show up; to avoid that, simply add {{Codeline|sleep <time>}} before these lines and remember that sleep affects every line below it. If you mess up or decide to test it, just boot into recovery mode and edit {{Filename|/etc/rc.local}} from cli, to either add the delay or remove it the lines altogether}}<br />
<br />
<pre># Disable Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with {{Codeline|grep rate /proc/acpi/battery/BAT0/state}}. There should be a difference of about 7500 mW in battery usage.<br />
<br />
=====Enable/Disable Scripts=====<br />
You can easily create a couple of scripts to enable and disable it.<br />
<pre><br />
#/bin/sh<br />
# Disable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<pre><br />
#/bin/sh<br />
# Enable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
{{Codeline|chmod +x}} both of them and type {{Codeline|sh <name you've given them>}} to use them.<br />
<br />
==Audio==<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
{{Note|From my experience [[OSS]] doesn't work}}<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
{{Note|Realtek's ALSA drivers, currently 1.0.23-5.15rc5, aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)}}<br />
<br />
2. Add {{Codeline|options snd-hda-intel index<nowiki>=</nowiki>0 model<nowiki>=</nowiki>auto}} to {{Filename|/etc/modprobe.d/modprobe.conf}}.<br />
<br />
Open {{Filename|/etc/modprobe.d/sound.conf}} and add:<br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
===HDMI===<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
=Touchpad=<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type {{Codeline|xinput list |grep pointer}}. What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using an Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, open {{Filename|/etc/X11/xorg.conf.d/10-synaptics.conf}}. A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
{{Note|While I settled with these coordinates, they may require tuning[http://wiki.archlinux.org/index.php/Touchpad_Synaptics#Fine-tuning_with_synclient]}}.<br />
<br />
==Working 10-synaptics.conf==<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
{{File|name=/etc/X11/xorg.conf.d/10-synaptics.conf|content=Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection}}<br />
<br />
=Webcam=<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
=Function Keys=<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad).</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=116863ASUS N82JV2010-09-12T16:56:41Z<p>Xehoz: Changes to nVidia section, reformatting and some typos fixed.</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci_hcd<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|}<br />
<br />
=Hardware=<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
=Configuration=<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
==CPU==<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
==Video==<br />
===Intel===<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
===Nvidia===<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
====Switching graphic cards====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change in the near future[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
====Disabling the Nvidia card====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
=====Run on Startup=====<br />
If you want run it on every startup add these lines to {{Filename|/etc/rc.local}} (I've encountered some problems when running this without a delay on Kernel 2.6.35.x; to avoid that, simply add {{Codeline|sleep <time>}} before those lines and remember that sleep affects every line below it).<br />
<br />
<pre># Disable Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with {{Codeline|grep rate /proc/acpi/battery/BAT0/state}}. There should be a difference of about 7500 mW in battery usage.<br />
<br />
=====Enable/Disable Scripts=====<br />
You can easily create a couple of scripts to enable and disable it.<br />
<pre><br />
#/bin/sh<br />
# Disable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<pre><br />
#/bin/sh<br />
# Enable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
{{Codeline|chmod +x}} both of them and type {{Codeline|sh <name you've given them>}} to use them.<br />
<br />
==Audio==<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
{{Note|From my experience [[OSS]] doesn't work}}<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
{{Note|Realtek's ALSA drivers, currently 1.0.23-5.15rc5, aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)}}<br />
<br />
2. Add {{Codeline|options snd-hda-intel index<nowiki>=</nowiki>0 model<nowiki>=</nowiki>auto}} to {{Filename|/etc/modprobe.d/modprobe.conf}}.<br />
<br />
Open {{Filename|/etc/modprobe.d/sound.conf}} and add:<br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
===HDMI===<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
=Touchpad=<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type {{Codeline|xinput list |grep pointer}}. What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using an Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, open {{Filename|/etc/X11/xorg.conf.d/10-synaptics.conf}}. A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
{{Note|While I settled with these coordinates, they may require tuning[http://wiki.archlinux.org/index.php/Touchpad_Synaptics#Fine-tuning_with_synclient]}}.<br />
<br />
==Working 10-synaptics.conf==<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
{{File|name=/etc/X11/xorg.conf.d/10-synaptics.conf|content=Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection}}<br />
<br />
=Webcam=<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
=Function Keys=<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad).</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=116862ASUS N82JV2010-09-12T16:32:36Z<p>Xehoz: /* Disabling the Nvidia card */</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci_hcd<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|}<br />
<br />
==Hardware==<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
==Configuration==<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
===CPU===<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
===Video===<br />
=====Intel=====<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
=====Nvidia=====<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
=====Switching graphic cards=====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change with kernel 2.6.35[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
=====Disabling the Nvidia card=====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
If you want run it on every startup add these lines to /etc/rc.local (I've encountered some problems when running this without a delay on Kernel 2.6.35.x; to avoid that, simply add {{Codeline|sleep <time>}} before those lines and remember that sleep affects every line below it).<br />
<br />
<pre># Disable Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with {{Codeline|grep rate /proc/acpi/battery/BAT0/state}}. There should be a difference of about 7500 mW in battery usage.<br />
<br />
You can easily create a couple of scripts to enable and disable it.<br />
<pre><br />
#/bin/sh<br />
# Disable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<pre><br />
#/bin/sh<br />
# Enable Nvidia<br />
sudo insmod /home/xehoz/build/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
{{Codeline|chmod +x}} both of them and type {{Codeline|sh <name you've given them>}} to use them.<br />
<br />
===Audio===<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
Note: From my experience [[OSS]] doesn't work.<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
Note: Realtek's ALSA drivers currently 1.0.23-5.15rc5 aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)<br />
<br />
2. Type<br />
<pre>nano /etc/modprobe.d/modprobe.conf</pre><br />
and add:<br />
<pre>options snd-hda-intel index=0 model=auto</pre><br />
<br />
<br />
Not sure if this part is needed:<br />
Type<br />
<pre>nano /etc/modprobe.d/sound.conf</pre><br />
and add <br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
HDMI<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
===Touchpad===<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type:<br />
<pre>xinput list |grep pointer</pre><br />
<br />
What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using a Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, press Alt+F2 and enter:<br />
<br />
<pre>gksu gedit /etc/X11/xorg.conf.d/10-synaptics.conf</pre><br />
<br />
A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
Please do note that, while I settled with these coordinates, they may require tuning. [http://wiki.archlinux.org/index.php/Touchpad_Synaptics#Fine-tuning_with_synclient]<br />
<br />
=====Working 10-synaptics.conf=====<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection</pre><br />
<br />
===Webcam===<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
===Function Keys===<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad).</div>Xehozhttps://wiki.archlinux.org/index.php?title=Music_Player_Daemon&diff=116843Music Player Daemon2010-09-12T12:42:18Z<p>Xehoz: /* Never play on start */</p>
<hr />
<div>[[Category:Audio/Video (English)]]<br />
[[Category:Daemons and system services (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|Music Player Daemon}}<br />
'''MPD''' (music player daemon) is an audio player that has a server-client architecture. MPD runs in the background as a daemon, manages playlists and a music database, and uses very few resources. In order to interface with it, you need a separate client. More information can be found on their [http://www.musicpd.org/ website].<br />
<br />
==Daemon install procedure==<br />
Install with [[pacman]]:<br />
# pacman -S mpd<br />
<br />
Now, add user {{Codeline|mpd}} to the {{Codeline|users}} group:<br />
# gpasswd -a mpd users<br />
<br />
==Setup instructions==<br />
For more information about MPD configuration visit http://mpd.wikia.com/wiki/Configuration.<br />
<br />
===Timeline of MPD's behavior on a typical working setup===<br />
# MPD is started on boot by {{Filename|/etc/rc.conf}}, by including it in the {{Codeline|DAEMONS}} array. (Or, this can be done manually each session by running {{Codeline|/etc/rc.d/mpd start}} with root privileges).<br />
# Since MPD is now started as root, it first reads the {{Filename|/etc/mpd.conf}} file.<br />
# MPD reads the user variable in the {{Filename|/etc/mpd.conf}} file, and changes from root to this user.<br />
# MPD then reads the contents of the {{Filename|/etc/mpd.conf}} file and configures itself accordingly.<br />
<br />
Notice that MPD changes the running user from root to the one named in the {{Filename|/etc/mpd.conf}} file. This way, uses of {{Codeline|~}} in the configuration file point correctly to the home user's directory, and not root's directory. It may be worthwhile to change all uses of {{Codeline|~}} to {{Codeline|/home/username}} to avoid any confusion over this aspect of MPD's behavior.<br />
<br />
===A clean configuration file===<br />
* As root, check if {{Filename|/etc/mpd.conf}} exists and delete the file if it does. This is safe.<br />
<br />
Mpd comes with an example configuration file, available at {{Filename|/usr/share/doc/mpd/mpdconf.example}}. This file holds an abundance of information on MPD configuration, and holds default mixer values you can simply uncomment.<br />
<br />
* As root, copy this example file to {{Filename|/etc/mpd.conf}}.<br />
# cp /usr/share/doc/mpd/mpdconf.example /etc/mpd.conf<br />
<br />
Never put this file in the user's directory like some tutorials suggest. This would complicate things and most of the time doing this is useless (notice you're reading a quick installation howto). If you previously created a {{Filename|.mpdconf}} file in your home, remove it now. This is important to prevent conflicts. When placing it in {{Filename|/etc}}, like we do here, MPD will be able to run as a daemon at boot. Otherwise, a script would be needed to run MPD ''after'' the user has logged (like kdm or {{Filename|~/.fluxbox/startup}}) or it would require a manual move each time. For a single music collection, the method used here is simply better, even while the collection is shared to multiple users. Also, don't be afraid about root privileges: even while MPD runs as a daemon, it never completely runs as root since it automatically drops its root privileges after execution.<br />
<br />
===Sound setup correctly===<br />
To make audio output actually work ensure that you have setup audio card and mixer correctly. See [[ALSA]]. Do not forget to unmute the required channels in alsamixer, raise the volume and save changes with alsactl store. See {{Filename|~/.mpd/error}} if it still doesn't work.<br />
<br />
Make sure your card can do hardware mixing (most of them can, including onboard audio). Or else this could cause problems with multiple sound playback. For example, this can prevent Mplayer from playing back sound while the mpd daemon is running, returning an audio error message stating the device is busy.<br />
<br />
For software mixing, to change the volume of audio from mpd independent of other programs, uncomment or add the switch in mpd.conf:<br />
<br />
{{File|name=/etc/mpd.conf|content=<br />
mixer_type "software"<br />
}}<br />
<br />
===Editing {{Filename|mpd.conf}}===<br />
<br />
'''Keeps the setup in /var and uses "mpd" as default user instead of cluttering up ~/. This is the way the arch package is installed.'''<br />
<br />
Edit {{Filename|/etc/mpd.conf}} to reflect as such.<br />
<br />
{{File|name=/etc/mpd.conf|content=<br />
music_directory "/home/user/music" # Your music dir.<br />
playlist_directory "/var/lib/mpd/playlists"<br />
db_file "/var/lib/mpd/mpd.db"<br />
log_file "/var/log/mpd/mpd.log"<br />
pid_file "/var/run/mpd/mpd.pid"<br />
state_file "/var/lib/mpd/mpdstate"<br />
user "mpd"<br />
# Binding to address and port causing problems in mpd-0.14.2 best to leave<br />
# commented.<br />
# bind_to_address "127.0.0.1"<br />
# port "6600"<br />
}}<br />
<br />
Read steps below carefully, permissions need to be set correctly.<br />
<br />
* Keep user as "mpd", double check to make sure user "mpd" home directory is set to /var/lib/mpd <br />
$ grep mpd /etc/passwd<br />
* Also make sure /var/lib/mpd is owned by mpd:mpd.<br />
$ ls -l /var/lib/ | grep mpd<br />
* Now as root create the files you specified in {{Filename|/etc/mpd.conf}}, if directories do not exist, create those as well. This is not required if you use the defaults in the arch package.<br />
# touch /var/lib/mpd/mpd.db<br />
# touch /var/lib/mpd/mpdstate<br />
# touch /var/run/mpd/mpd.pid<br />
# touch /var/log/mpd/mpd.log<br />
* Now change the ownership of the directories and files you created to user "mpd"<br />
# chown -R mpd:mpd /var/{lib,run,log}/mpd<br />
* If your music collection is contained under multiple dir. you can make symbolic link under /var/lib/mpd then set 'music_dir' in mpd.conf to the directory holding the symbolic links. Remember to set permissions accordingly on the directories being linked. <br />
* Creating the database is now accomplished via the update feature of the client, for example if you were running ncmpcpp you would just enter 'u'. <br />
**The previous method, creating the MPD database as root (# mpd --create-db), is deprecated.<br />
<br />
==Alternative setup==<br />
MPD need not be started with root permissions. The only reason why MPD needs to be started as root (by being called from {{Filename|/etc/rc.conf}}) is because the default files and folders in the default configuration file points to directories owned by root (the /var directory). A less common, but perhaps more sensible, approach is to make MPD work with files and directories owned by a normal user. Running MPD as a normal user has several advantages: <br />
# You can easily have a single directory ~/.mpd (or any other directory under /home/username) for all MPD configuration files<br />
# No read/write permission errors<br />
# More flexible calls to MPD by using {{Filename|~/.xinitrc}} instead of including 'mpd' in the {{Filename|/etc/rc.conf}} DAEMONS array.<br />
<br />
The following steps shows how to run MPD as a normal user. '''Note''': this approach will not work if you want multiple users to have access to MPD.<br />
<br />
* Copy the contents of the default MPD configuration file in {{Filename|/etc/mpd.conf.example}} to your home directory. A good place would be {{Filename|"/home/user/.mpd/config"}}.<br />
* Follow the 'old setup instructions' from above, ignoring the first part about copying the config to {{Filename|/etc/mpd.conf}}. <br />
* Create all of the requisite files in {{filename|"/home/user/.mpd/"}}:<br />
"~/.mpd/playlists"<br />
"~/.mpd/db"<br />
"~/.mpd/mpd.log"<br />
"~/.mpd/mpd.error"<br />
"~/.mpd/mpd.pid"<br />
"~/.mpd/mpdstate"<br />
<br />
* Let MPD start on bootup by calling it from your {{Filename|~/.xinitrc}} as follows:<br />
# this starts mpd as normal user<br />
mpd /home/username/.mpd/config<br />
{{Note| that you don't have to put a "&" at the end of the line here, since MPD will automatically daemonize itself.}}<br />
<br />
Lastly, delete the entry 'mpd' from your DAEMONS array in {{Filename|/etc/rc.conf}}, as you are not running it as root anymore.<br />
<br />
===Quick setup===<br />
<br />
The fastest way to do set up the structure is to do this:<br />
<br />
$ mkdir -p ~/.mpd/playlists && touch ~/.mpd/database && cp /usr/share/doc/mpd/mpdconf.example ~/.mpd/mpd.conf<br />
<br />
Then edit mpd.conf to your liking. Beware that you must uncomment the db_file entry if you do edit mpd.conf.<br />
<br />
Then, to run it:<br />
<br />
$ mpd ~/.mpd/mpd.config<br />
<br />
===Multi-mpd setup===<br />
'''Useful if you you want to run for example an icecast server.'''<br />
If you want a second MPD daemon (e.g., with icecast output to share music over the network) to use the same music and playlist as the one above, simply copy the above configuration file and make a new file (e.g., {{Filename|/home/username/.mpd/config-icecast}}), and only change the log_file, error_file, pid_file, and state_file parameters (e.g., {{Filename|mpd-icecast.log}}, {{Filename|mpd-icecast.error}}, and so on); using the same directory paths for the music and playlist directories would ensure that this second mpd daemon would use the same music collection as your first one (e.g., creating and editing a playlist under the first daemon would affect the second daemon as well, so that you don't have to create the same playlists all over again for the second daemon). Then, call this second daemon the same way from your {{Filename|~/.xinitrc}} above. (Just be sure to have a different port number, so as to not conflict with your first mpd daemon).<br />
<br />
==Client install procedure==<br />
Install a client program for MPD. Popular options are:<br />
<br />
* '''mpc''' &ndash; Command Line Client (you'll probably want this one no matter what)<br />
# pacman -S mpc<br />
* '''ncmpc''' &ndash; NCurses Client (this one is very handy for running in a console) [http://hem.bredband.net/kaw/ncmpc/ Official Website of ncmpc]<br />
# pacman -S ncmpc<br />
* '''ncmpcpp''' &ndash; Clone of ncmpc with some new features written in C++ [http://unkart.ovh.org/ncmpcpp/ Official website of ncmpcpp]<br />
# pacman -S ncmpcpp<br />
* '''dmpc''' &ndash; Dmenu-based MPC client with a playlist manager and state-saving on playlist changes [http://aur.archlinux.org/packages.php?ID=33380 AUR package of dmpc]<br />
Install [http://aur.archlinux.org/packages.php?ID=33380 dmpc] from the [[AUR]].<br />
* '''pms''' &ndash; NCurses Client (highly configurable and accessible) [http://pms.sourceforge.net/ Official website of pms]<br />
Install [http://aur.archlinux.org/packages.php?ID=24378 pmus] from the [[AUR]].<br />
* '''ario''' &ndash; GTK+ Client with a Rhythmbox like library browser [http://ario-player.sourceforge.net Official Website of Ario]<br />
# pacman -S ario<br />
* '''sonata''' &ndash; Python GTK+ Client [http://sonata.berlios.de/ Official Website of Sonata]<br />
# pacman -S sonata<br />
* '''gmpc''' &ndash; GNOME Client [http://gmpcwiki.sarine.nl/index.php?title=GMPC Official Website of gmpc]<br />
# pacman -S gmpc<br />
* '''QMPDClient''' &ndash; Client written with Qt 4.x. [http://bitcheese.net/wiki/QMPDClient Official Website of QMPDClient]<br />
# pacman -S qmpdclient<br />
<br />
==Extra stuff==<br />
===Last.fm scrobbling===<br />
To scrobble your songs to [http://www.last.fm Last.fm] using MPD there are several alternatives.<br />
<br />
====mpdscribble====<br />
mpdscribble is another daemon, but is only available in the [http://aur.archlinux.org/packages.php?ID=22274 AUR]. This is arguably the best alternative, because it's the semi-official MPD scrobbler and uses the new "idle" feature in MPD for more accurate scrobbling. Also, you don't need root access to configure it, because it doesn't need any changes to <tt>/etc</tt> at all. Visit [http://mpd.wikia.com/wiki/Client:Mpdscribble the official website] for more information.<br />
<br />
To install mpdscribble, just install it from the AUR and do the following (not as root):<br />
<br />
* {{Codeline|$ mkdir ~/.mpdscribble}}<br />
* Create the file {{Filename|~/.mpdscribble/mpdscribble.conf}} and add the following:<br />
username = <your last.fm username><br />
password = <your last.fm password><br />
host = <your mpd host> # defaults to $MPD_HOST or localhost<br />
port = <your mpd port> # defaults to $MPD_PORT or 6600<br />
log = ~/.mpdscribble/mpdscribble.log<br />
journal = ~/.mpdscribble/mpdscribble.cache<br />
verbose = 2<br />
sleep = 1<br />
musicdir = <your music directory><br />
# uncomment if you use libre.fm instead of last.fm:<br />
# url = "http://turtle.libre.fm/" <br />
<br />
* Add {{Codeline|mpdscribble}} to your {{Filename|~/.xinitrc}}:<br />
pidof mpdscribble >& /dev/null<br />
if [ $? -ne 0 ]; then<br />
mpdscribble &<br />
fi<br />
<br />
====Sonata====<br />
The easiest way, if you don't care about having to have a program window open all the time, is using Sonata which is a graphical frontend to MPD. It has built-in support for Last.fm scrobbling in its preferences. The downside of this is that Sonata doesn't cache your songs if for some reason you don't happen to have an Internet connection at the time of playing.<br />
<br />
====lastfmsubmitd====<br />
lastfmsubmitd is a daemon which is available in the "community" repository. To install it, first edit {{Filename|/etc/lastfmsubmitd.conf}} and add both {{Codeline|lastfmsubmitd}} and {{Codeline|lastmp}} to the {{Codeline|DAEMONS}} array in {{Filename|/etc/rc.conf}}.<br />
<br />
===Last.fm playback with lastfmproxy===<br />
lastfmproxy is a python script that streams a last.fm music stream to another media player. To setup, install [http://aur.archlinux.org/packages.php?ID=14214 lastfmproxy] from the [[AUR]] and then edit {{Filename|/usr/share/lastfmproxy/config.py}}. If you plan to only stream to MPD on the same host, just edit the login info.<br />
<br />
{{Note | Since it installs to a read only directory but it requires read/write access for features like saving previously listened to stations, it would be wise to copy {{Filename|/usr/share/lastfmproxy}} to your home directory.}}<br />
<br />
Start lastfmproxy with {{Codeline|lastfmproxy}} and visit http://localhost:1881/ in your web browser. To add a last.fm station navigate to http://localhost:1881/ followed by the lastfm:// url. Example: http://localhost:1881/lastfm://globaltags/punk . Navigate back to http://localhost:1881/ and download the m3u file by selecting the ''Start Listening'' link. Simply add it to your music library path.<br />
<br />
===Never play on start===<br />
====Method 1====<br />
If you don't want MPD to always play on your system start, but yet you want to preserve the other state information, add the following lines to your {{Filename|/etc/rc.d/mpd}} file:<br />
'' ...''<br />
'' stat_busy "Starting Music Player Daemon"''<br />
<br />
# always start in paused state<br />
awk '/^state_file[ \t]+"[^"]+"$/ {<br />
match($0, "\".+\"")<br />
sfile = substr($0, RSTART + 1, RLENGTH - 2)<br />
} /^user[ \t]+"[^"]+"$/ {<br />
match($0, "\".+\"")<br />
user = substr($0, RSTART + 1, RLENGTH - 2)<br />
} END {<br />
if (sfile == "")<br />
exit;<br />
if (user != "")<br />
sub(/^~/, "/home/" user, sfile)<br />
system("sed -i \x27s|^\\(state:[ \\t]\\{1,\\}\\)play$|\\1pause|\x27 \x27" sfile "\x27")<br />
}' /etc/mpd.conf<br />
<br />
'' /usr/bin/mpd /etc/mpd.conf &> /dev/null''<br />
'' ...''<br />
<br />
This will change the player status to "paused", if it was stopped while playing. Next, you want this file to be preserved, so MPD updates won't erase this edit. Add (or edit) this line to your {{Filename|/etc/pacman.conf}}:<br />
NoUpgrade = etc/rc.d/mpd<br />
<br />
====Method 2====<br />
<br />
Another simpler method, would be to add mpd to your {{Filename|[[rc.conf]]}} deamons array and add {{Codeline|mpc stop}} or {{Codeline|mpc pause}} to {{Filename|/etc/rc.local.shutdown}} and to {{Filename|/etc/rc.local}}. (Remember you must have mpc installed to use this method).<br />
<br />
Adding only the order in {{Filename|/etc/rc.local}} cannot assure that mpd will play absolutely nothing, since there may be a delay before the stop command is executed. <br />
On the other hand, if you only add the order to {{Filename|/etc/rc.local.shutdown}}, that will assure that mpd won't play at all, as long as you properly shutdown your system.<br />
Even though they are redundant, adding it to {{Filename|/etc/rc.local}} would serve as a safety for those, presumably, rare occasions when you do not shutdown the system properly.<br />
<br />
===MPD & ALSA===<br />
Sometimes, when you use other audio output, e.g: some web pages containing Flash applets, MPD cannot reproduce anything anymore (until you restart). The error looks something like: (if you search the file {{Filename|/var/log/mpd/mpd.error}})<br />
<br />
Error opening alsa device "hw:0,0": Device or resource busy<br />
<br />
And here is the solution (dmix saving our life again). Apply these lines in your {{Filename|/etc/mpd.conf}}:<br />
<br />
<pre><br />
audio_output {<br />
type "alsa"<br />
name "Sound Card"<br />
options "dev=dmixer"<br />
device "plug:dmix"<br />
}<br />
</pre><br />
<br />
And then restart with {{Codeline|/etc/rc.d/mpd restart}}.<br />
<br />
Searching on Internet I found the reason for why that happens in Gentoo's wiki:<br />
* The sound card does not support hardware mixing (uses '''dmix''' plugin)<br />
* An application does not work with ALSA with it's default settings<br />
<br />
For a detailed description, it is recommended to take a look at [http://mpd.wikia.com/wiki/Alsa this] link. There you can find an example asound.conf which worked for me right out of the box.<br />
<br />
====High CPU usage with ALSA====<br />
When using MPD with ALSA, users may experience MPD taking up lots of CPU (around 20-30%). This is caused by most sound cards supporting 48kHz and most music being 44kHz, thus forcing MPD to resample it. This operation takes lots of CPU cycles and results into high usage.<br />
<br />
For most users the problem should be solved by telling MPD not to use resampling by adding {{Codeline|auto_resample "no"}} into audio_output-part of {{Filename|/etc/mpd.conf}}. This will degrade quality slightly, however.<br />
<br />
Example from {{Filename|mpd.conf}}:<br />
<br />
audio_output {<br />
type "alsa"<br />
name "My ALSA Device"<br />
auto_resample "no"<br />
}<br />
<br />
Although it may not give as drastic a speedup, enabling mmap may speed things up:<br />
<br />
audio_output {<br />
type "alsa"<br />
name "My ALSA Device"<br />
use_mmap "yes"<br />
}<br />
<br />
Some users might also want to tell dmix to use 44kHz as well. More info about tuning performance of your MPD can be found from: [http://mpd.wikia.com/wiki/Tuning MPD wiki]<br />
<br />
===Control MPD with lirc===<br />
There are already some clients designed for communications between lircd and MPD, however, as far as the practical use, they aren't very useful since their functions are limited.<br />
<br />
It's recommended to use mpc with irexec. mpc is a command line player which only sends the command to MPD and exits immediately, which is perfect for irexec, the command runner included in lirc. What irexec does is that it runs a specified command once received a remote control button.<br />
<br />
First of all, please setup your remotes as referred to the '''[[Lirc]]''' article.<br />
<br />
Edit your favored lirc startup configuration file, default location is {{Filename|~/.lircrc}}.<br />
<br />
Fill the file with the following pattern:<br />
begin<br />
prog = irexec<br />
button = <button_name><br />
config = <command_to_run><br />
repeat = <0 or 1><br />
end<br />
<br />
An useful example:<br />
## irexec<br />
begin<br />
prog = irexec<br />
button = play_pause<br />
config = mpc toggle<br />
repeat = 0<br />
end<br />
<br />
begin<br />
prog = irexec<br />
button = stop<br />
config = mpc stop<br />
repeat = 0<br />
end<br />
begin<br />
prog = irexec<br />
button = previous<br />
config = mpc prev<br />
repeat = 0<br />
end<br />
begin<br />
prog = irexec<br />
button = next<br />
config = mpc next<br />
repeat = 0<br />
end<br />
begin<br />
prog = irexec<br />
button = volup<br />
config = mpc volume +2<br />
repeat = 1<br />
end<br />
begin<br />
prog = irexec<br />
button = voldown<br />
config = mpc volume -2<br />
repeat = 1<br />
end<br />
begin<br />
prog = irexec<br />
button = pbc<br />
config = mpc random<br />
repeat = 0<br />
end<br />
begin<br />
prog = irexec<br />
button = pdvd<br />
config = mpc update<br />
repeat = 0<br />
end<br />
begin<br />
prog = irexec<br />
button = right<br />
config = mpc seek +00:00:05<br />
repeat = 0<br />
end<br />
begin<br />
prog = irexec<br />
button = left<br />
config = mpc seek -00:00:05<br />
repeat = 0<br />
end<br />
begin<br />
prog = irexec<br />
button = up<br />
config = mpc seek +1%<br />
repeat = 0<br />
end<br />
begin<br />
prog = irexec<br />
button = down<br />
config = mpc seek -1%<br />
repeat = 0<br />
end<br />
<br />
There are more functions for mpc, run {{Codeline|man mpc}} for more info.<br />
<br />
===Control MPD with bluetooth phone===<br />
You can also control MPD (to a certain extent) using a bluetooth enabled phone. You need to do the following:<br />
<br />
* install [http://remuco.sourceforge.net/index.php/Remuco remuco] -- a wireless remote control for several Linux media players ([http://aur.archlinux.org/packages.php?ID=25072 aur])<br />
* transfer remuco client -- jar/jad files from {{Filename|/usr/share/remuco/client/}} to your phone and install it<br />
* run {{Codeline|remuco-mpd}} (as current user)<br />
* run remuco on your phone, define a new bluetooth remuco connection (pair first if you haven't done this previously) and explore its capabilities<br />
<br />
More information about remuco including troubleshooting to be found at its [http://remuco.sourceforge.net/index.php/Remuco homepage]<br />
<br />
===MPD & PulseAudio===<br />
First, install ([http://aur.archlinux.org/packages.php?ID=18722 mpd-pulse]) in the Arch User Repository as opposed to the regular MPD client in the Extra repository.<br />
<br />
Then, edit {{Filename|/etc/mpd.conf}}, and uncomment the audio_output section for the type "pulse". The server and sink lines of it should be commented unless you know what you're doing.<br />
<br />
Then, add the mpd user (and yours if you haven't done so already) to the necessary pulse groups. The pulse-access group should be sufficient but you may want to add pulse-rt as well. The group "pulse" doesn't appear to be necessary.<br />
# gpasswd -a mpd pulse-access<br />
# gpasswd -a mpd pulse-rt<br />
<br />
Lastly, you may or may not need to copy {{Filename|~/.pulse-cookie}} from your current (pulse working) user's dir to your mpd user's home directory. It is likely to be {{Filename|/var/lib/mpd}} if you followed the first part of this wiki. This would probably only allow your current user to listen in on MPD's pulse. You may consider running pulse system-wide if that's insufficient.<br />
<br />
==Troubleshooting==<br />
===Autodetection failed===<br />
During the start of MPD, it tries to autodetect your set-up and configure output and volume control accordingly. Though this mostly goes well, it will fail for some systems. It may help to tell MPD specifically what to use as output and mixer control. If you copied {{Filename|/etc/mpd.conf}} over from {{Filename|/etc/mpd.conf.example}} as mentioned above, you can simply uncomment:<br />
<br />
Example for alsa output type:<br />
audio_output {<br />
type "alsa"<br />
name "My ALSA Device"<br />
device "hw:0,0" # optional<br />
format "44100:16:2" # optional<br />
}<br />
<br />
Example for alsa mixer:<br />
mixer_type "alsa"<br />
mixer_device "default"<br />
mixer_control "PCM"<br />
<br />
'''Note:''' in case of permission problems when using ESD with MPD run this as root:<br />
# chsh -s /bin/true mpd<br />
<br />
===Executable permissions===<br />
{{Warning|This is not good security practice and may be unnecessary.}}<br />
<br />
MPD needs to have +x permissions on '''ALL''' parent directories to your music collection (ie. if it's located outside of "mpd" home directory /var/lib/mpd). By default useradd sets permissions on home dir to 1700 drwx------. So if you're like me you will need to change permissions of /home/user. Example... my music collection is located /home/user/music. <br />
# chmod a+x /home/$USER<br />
# chmod -R a+X /home/$USER/music<br />
<br />
====Alternative solution====<br />
An alternative solution would be to use your group to share a selection of files, among them your music library. First remove all permissions for the group then add group permissions to read and execute home and music.<br />
# chmod -R g-rwx /home/$USER<br />
# chmod g+rx /home/$USER<br />
# chmod -R g+rX /home/$USER/music<br />
<br />
====Another alternative solution====<br />
Another alternative is to remount the music directory under a directory that mpd has access to. This does not entail the same security risks as modifying the permissions on one's home directory.<br />
# mkdir /var/lib/mpd/music<br />
# echo "/home/$USER/music /var/lib/mpd/music none bind" >> /etc/fstab<br />
# mount -a<br />
# /etc/rc.d/mpd restart<br />
And that should fix the problem. See also [https://bbs.archlinux.org/viewtopic.php?id=86449 the forum thread.]<br />
<br />
===Avoiding timeouts===<br />
To get rid of timeouts (i.e. when you paused music for long time) in gpmc and other clients uncomment and increase {{Codeline|connection_timeout}} option in {{Filename|mpd.conf}}.<br />
<br />
If files and/or titles are shown in wrong encoding, uncomment and change {{Codeline|filesystem_charset}} and {{Codeline|id3v1_encoding}} options.<br />
Note that you cannot set encoding for ID3 v2 tags. To workaround this you may use [http://mpd.wikia.com/wiki/GenericDecoder#Generic_Tagreader external tag readers].<br />
<br />
If you want to use another computer to control MPD over a network, the {{Codeline|bind_to_address}} option in {{Filename|mpd.conf}} will need to be set to either your IP address, or {{Codeline|any}} if your IP address changes frequently. Remember to add mpd to the {{Filename|/etc/hosts.allow}} file to enable external access.<br />
<br />
'''Streaming'''<br><br />
With the latest version of MPD (0.15), built-in httpd streaming is now available.<br />
<br />
To activate this feature, you'll just need to add a new output of type httpd in {{Filename|mpd.conf}}:<br />
audio_output {<br />
type "httpd"<br />
name "What you want"<br />
encoder "lame" # vorbis or lame supported<br />
port "8000"<br />
bitrate "128"<br />
format "44100:16:2" # change 2 to 1 for mono<br />
}<br />
<br />
Restart the mpd deamon and, from another computer, simply load the stream as any other url. <br />
$ mplayer http://<server's IP>:8000<br />
<br />
{{Note | You must open the port on your router / firewall for the stream to be connectible to from another computer.}}<br />
<br />
Most players (i.e. vlc or xmms2) should also be able to load the stream via their "add url..." menu option.<br />
<br />
This is a nice clean way to replace your current icecast setup with something natively supported within MPD.<br />
<br />
===mpd --create-db hangs===<br />
This is a common error that's caused by corrupt mp3 tags.<br />
Here is an experimental way to solve this issue.<br />
Requirements:<br />
* kid3<br />
* easytag<br />
<br />
This method is very tedious, especially with a huge database. Just as a baseline it took 2.5h to fix a 16Gb DB.<br />
<br />
====Easy Tag====<br />
The purpose of easytag here is that easytag detects the error in the tags, but like MPD it hangs and dies. The trick here is that easy tags actually tells you what file is causing the problem on the status bar.<br />
Before starting easytag make sure to have a terminal close to be ready to kill easy tag to avoid a hang. Once you are ready, on the tree view select the directory where all your music is located. By default easytag starts to search all subdirectories for mp3 files. Once you notice that easytag stopped scanning for songs, make note of the culprit and kill easytag.<br />
<br />
====KID3====<br />
Here's where kid3 comes in handy. With kid3 go to the offending song and rewrite one of the tags. then save the file. This should force kid3 to rewrite the whole tag again fixing the problem with MPD and easy tag hanging.<br />
<br />
Repeat this procedure until your music library is done.<br />
<br />
===Cannot connect to mpd: host "localhost" not found: Temporary failure in name resolution===<br />
Cannot connect to MPD (with ncmpcpp), if you are disconnected from network. Solution is [[IPv6 - Disabling the Module|disable IPv6]] or add line to /etc/hosts<br />
::1 localhost.localdomain localhost<br />
<br />
===Port 6600 already in use===<br />
MPD needs to bind to port 6600 and cannot start if it's already in use. The most common reason for this is that the user has started MPD once and then subsequently tried mpd --create-db. New MPD behavior is the --create-db option also attempts to start the daemon; if it's already been started, this will fail. If this is the case, try the following:<br />
$ mpd --kill<br />
$ mpd --create-db<br />
<br />
A more brute-force approach:<br />
$ killall mpd<br />
$ mpd --create-db<br />
<br />
{{Note| If you typically run MPD as root, you will need to run the above commands as root.}}<br />
<br />
In the git version of MPD, --create-db is completely deprecated. The database will be created automagically on first run and can subsequently be updated via your client (i.e. mpc update). Eventually, inotify support will offer fully automatic database updates as you add content to your music folders<br />
<br />
If port 6600 is tied up for some other reason, one can use the following command to find the offending process:<br />
# netstat -tulpan | grep 6600<br />
<br />
This will list IP:Port and the process name holding the connection (root privileges are required to see all processes).<br />
<br />
===Crackling sound with some audio files===<br />
This is usually a playback speed problem and can be fixed by uncommenting the audio_output_format line in:<br />
<br />
{{File|name=/etc/mpd.conf|content=<br />
audio_output_format "44100:16:2"}}<br />
<br />
This is usually a sane value for most mp3 files.<br />
<br />
===MPD Crashes Due To High CPU and Memory Usage During Database Update===<br />
This is an issue with an ancient version of libid3tag in the repos. A bug report can be found at http://bugs.archlinux.org/task/18595<br />
<br />
Current workaround is to patch libid3tag to fix the issue. A PKGBUILD that includes the patches can be found at the bottom of the bug report listed above.<br />
<br />
===daemon: cannot setgid for user "mpd": Operation not permitted ===<br />
<br />
After installing and configuring mpd with the user mpd i could not start mpd using sudo /etc/rc.d/mpd start I allways got faild. Starging mpd with sudo mpd said <br />
daemon: cannot setgid for user "mpd": Operation not permitted<br />
<br />
To solve the Issue become root <br />
sudo su - <br />
/etc/rc.d/mpd start <br />
<br />
now you can statstop mpd using sudo.<br />
<br />
==External links==<br />
* [http://www.musicpd.org/ Official Web Site]<br />
* [http://mpd.wikia.com/wiki/Main_Page Official Wiki]<br />
* [http://mpd.wikia.com/wiki/Clients Sorted List of MPD Clients]<br />
* [http://www.musicpd.org/forum/ MPD forum]</div>Xehozhttps://wiki.archlinux.org/index.php?title=General_recommendations&diff=116779General recommendations2010-09-11T18:56:34Z<p>Xehoz: Undo revision 116777 by Xehoz (talk)</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|General Recommendations}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|An annotated index of recommended readings. Covers a wide variety of subjects relevant to both new and experienced users alike. See [[Common Applications]] and [[Lightweight Applications]] for lists of frequently-used software.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|FAQ}}<br />
{{Article summary end}}<br />
<br />
This document is an annotated index of other popular articles and important information. Various pages listed here will require using [[pacman]] to install additional packages present in the [[Official Repositories]], and those in the unofficial [[Arch User Repository]] by employing [[makepkg]] with the optional aid of an [[AUR helper]]. As such, the concept of package management should be fully understood before continuing.<br />
<br />
Readers are assumed to have read and followed the [[Beginners' Guide]] or [[Official Arch Linux Install Guide]] to obtain a basic Arch Linux installation. Furthermore, there exist several software packages normally considered crucial requirements for a functional system. For example, if a graphical interface is desired, please read [[Xorg]] first, whereas those interested in printing should make reviewing [[CUPS]] a priority. All users can familiarize themselves with the file system by reading [[Filesystem Hierarchy Standard]]. <br />
<br />
==Appearance==<br />
''This section contains frequently-sought "eye candy" tweaks for an aesthetically pleasing Arch experience. For more, please see [[:Category:Eye candy (English)]].''<br />
<br />
===Colored output===<br />
Even though a number of applications have built-in color capabilities, using a general-purpose, colorizing wrapper such as cope is another route. Install {{package AUR|cope}} or {{package AUR|cope-git}}, the more often updated [[Git]] version, from the [[AUR]]. {{Package AUR|acoc}} and {{Package AUR|cw}} are similar alternatives.<br />
<br />
====Console prompt====<br />
The console prompt (PS1) can be customized to a great extent. See the [http://bbs.archlinux.org/viewtopic.php?id=50885 What's your PS1?] forum thread for ideas. Also see [[Color Bash Prompt]] or [[Zsh#Prompts]] if using Bash or Zsh, respectively.<br />
<br />
====Core utilities====<br />
Colorizing the output of specific core utilities such as '''grep''' and '''ls''' is covered in the [[Core Utilities]] article.<br />
<br />
====Emacs shell====<br />
Emacs is known for featuring options beyond the duties of regular text editing, one of these being a full shell replacement. Consult [[Emacs#Colored output issues]] for a fix regarding garbled characters that may result from enabling colored output.<br />
<br />
====Man pages====<br />
Man pages (or manual pages) are one of the most useful resources available to GNU/Linux users. To aid readability, the pager can be configured to render colored text as explained in [[Man Page#Colored man pages]].<br />
<br />
===Fonts===<br />
A plethora of information on the subject can be found in the [[Fonts]] and [[Font Configuration]] articles.<br />
<br />
====Console fonts====<br />
If spending a significant amount of time working from the virtual console (i.e. outside an X server), users may wish to change the console font to improve readability; see [[Fonts#Console fonts]].<br />
<br />
====LCD filtered fonts====<br />
Font rendering software can be patched to provide smoother fonts on LCD monitors by taking advantage of sub-pixel elements; see [[Font Configuration#LCD filter patched packages]].<br />
<br />
==Booting==<br />
''This section contains information pertaining to the boot process. An overview of the Arch boot process can be found at [[Arch Boot Process]]. For more, please see [[:Category:Boot process (English)]].''<br />
<br />
===Backgrounding daemons===<br />
Daemons are programs that run in the background, and are typically started during boot. In order to speed up the boot process, certain daemons can be ''backgrounded'', allowing the boot process to continue whilst the daemon loads. See [[Daemon]] for a complete explanation.<br />
<br />
===Hardware auto-recognition===<br />
Hardware should be auto-detected by [[udev]] during the boot process by default. A potential improvement in boot time can be achieved by disabling module auto-loading and specifying required modules manually, as described in [[rc.conf#Hardware]]. Additionally [[Xorg]] should be able to auto-detect required drivers using [[HAL]], but users have the option to configure the X server manually, too; see [[Xorg Input Hotplugging]].<br />
<br />
===LILO speed improvement===<br />
Besides [[GRUB]], LILO is the most widely known Linux boot loader, legacy or not. Follow instructions shown in [[LILO#Sample setup]] for making the most out of its features.<br />
<br />
===Num Lock activation at boot===<br />
Num Lock is a toggle key found in most keyboards. For activating Num Lock's number key-assignment during startup, see [[Activating Numlock on Bootup]].<br />
<br />
===Retaining boot messages===<br />
Once it concludes, the screen is cleared and the login prompt appears, leaving users unable to gather feedback from the boot process. [[Disable clearing of boot messages]] to overcome this limitation.<br />
<br />
===Start X at boot===<br />
If utilizing an [[X]] server to provide a graphical user interface, users may wish to start this server during the boot process rather than starting it manually after login. See [[Display Manager]] if desiring a graphical login or [[Start X at boot]] for methods that do not involve a display manager.<br />
<br />
==Console improvements==<br />
''This section applies to small modifications that better console programs' practicality. For more, please see [[:Category:Command shells (English)]] and [[:Category:Utilities (English)]].''<br />
<br />
===Aliases===<br />
Users can define shortcuts for frequently-used commands using a built-in shell command. Common time-saving aliases can be found in [[Core Utilities#alias]].<br />
<br />
===Bash additions===<br />
A list of miscellaneous Bash settings, including completion enhancements, history search and readline macros is available in [[Bash#Tips and tricks]].<br />
<br />
===Compressed files===<br />
Compressed files, or archives, are frequently encountered on a GNU/Linux system. [[Tar]] is one of the most commonly used archiving tools, and users should be familiar with its syntax (Arch Linux packages, for example, are simply gzipped tarballs). See [[Core Utilities#extract]] for other helpful commands.<br />
<br />
===Mouse support===<br />
Using a mouse with the console for copy-paste operations can be preferred over GNU [[screen]]'s traditional copy mode. Refer to [[Console Mouse Support]] for comprehensive directions.<br />
<br />
==Input==<br />
''This section contains popular input device configuration tips. For more, please see [[:Category:Input devices (English)]].''<br />
<br />
===Configure all mouse buttons===<br />
Owners of advanced or unusual mice may find that not all mouse buttons are recognized by default, or may wish to assign different actions for extra buttons. Instructions can be found in [[Get All Mouse Buttons Working]].<br />
<br />
===Keyboard layouts===<br />
Non-English or otherwise non-standard keyboards may not function as expected by default. To define the keymap in virtual consoles, the [[KEYMAP]] variable must be set in [[rc.conf]]. For [[Xorg]] users, the required changes are described in [[Xorg#Keyboard layout]].<br />
<br />
===Laptop touchpads===<br />
Many laptops use [http://www.synaptics.com/ Synaptics] or [http://www.alps.com/ ALPS] "touchpad" pointing devices. These, and several other touchpad models, use the Synaptics input driver; see [[Touchpad Synaptics]] for installation and configuration details.<br />
<br />
==Networking==<br />
''This section is confined to small networking procedures. Head over to [[Network]] for a full guide. For more, please see [[:Category:Networking (English)]].''<br />
<br />
===Disable IPv6===<br />
Not only does the IPv6 module take around 250k of memory, it has also been reported that disabling the feature notoriously speeds up network access for programs that erroneously try to query servers with this newer version. Incidentally, [[Firefox]] is listed among the affected applications. So until the widespread adoption of IPv6, one may benefit by [[IPv6 - Disabling the Module|disabling the module]].<br />
<br />
===DNS speed improvement===<br />
To improve load time by caching queries, use [[pdnsd]], a very simple DNS server that does not attempt to fill every need. Or install [[dnsmasq]], a broader choice which also supports turning the system into a DHCP server.<br />
<br />
===DNSSEC validation===<br />
For better security while browsing web, paying online, connecting to [[SSH]] services and similar tasks you should consider using [[DNSSEC]] enabled client software which can validate signed [[DNS]] records...<br />
<br />
==Optimization==<br />
''This section aims to summarize tweaks, tools and available options useful to improve system and application performance.<br />
<br />
===Benchmarking===<br />
[[Benchmarking]] is the act of measuring performance and comparing the results to another system's results or a widely accepted standard through a unified procedure.<br />
<br />
===Maximizing Performance===<br />
The [[Maximizing Performance]] article gathers information and is a basic rundown about gaining performance in Arch Linux.<br />
<br />
==Package management==<br />
''This section contains helpful information related to package management. All users should at least be familiar with the [[pacman]] package manager. For more, please see [[:Category:Package management (English)]].''<br />
<br />
===Aliases for pacman===<br />
Aliasing a command, or a group thereof, is a way of saving time when using the console. This is specially helpful for repetitive tasks that don't need significant alteration to their parameters between executions. Various time saving pacman aliases are organized in [[pacman Tips]], besides other suggested tools.<br />
<br />
===Arch Build System===<br />
''Ports'' is a system initially used by BSD distributions consisting of build scripts that reside in a directory tree on the local system. Simply put, each port contains a script within a directory intuitively named after the installable third-party application.<br />
<br />
The [[ABS]] tree offers the same functionality by providing build scripts called [[PKGBUILD]]s, which are populated with information for a given piece of software; integrity hashes, project URL, version, license and build instructions. These PKGBUILDs are later parsed by [[makepkg]], the actual program that generates packages cleanly manageable by pacman.<br />
<br />
Every package in the repositories along with those present in the AUR are subject to recompilation with makepkg.<br />
<br />
===Arch User Repository===<br />
While the [[ABS]] tree allows the ability of building software available in the official repositories, the [[AUR]] is the equivalent for user submitted packages. It is an unsupported repository of build scripts accessible through the [http://aur.archlinux.org/index.php web interface] or by an [[AUR helper]].<br />
<br />
An [[AUR helper]] can add seamless access to the [[AUR]]. They may vary in features, but all ease in searching, fetching, building, and installing from over 20,000 PKGBUILDs found in the unofficial repository.<br />
<br />
===Mirrors===<br />
Visit [[Mirrors]] for steps on taking full advantage of using the fastest and most up to date pacman mirrors. As explained in the article, a particularly good advice is to routinely check [http://users.archlinux.de/~gerbra/mirrorcheck.html Mirrorcheck] and/or [http://www.archlinux.de/?page=MirrorStatus Mirror status] for a list of mirrors that have been recently synced.<br />
<br />
==Power management==<br />
''This section may be of use to laptop owners or users otherwise seeking power management controls. For more, please see [[:Category:Power management (English)]].''<br />
<br />
===acpid===<br />
Users can configure how the system reacts to ACPI events such as pressing the power button or closing a laptop's lid using [[acpid]].<br />
<br />
===CPU frequency scaling===<br />
Modern processors can decrease their frequency and voltage to reduce heat and power consumption. Less heat leads to a quieter system and prolongs the life of hardware. [[cpufrequtils]] is a set of utilities designed to assist CPU frequency scaling.<br />
<br />
===Laptops===<br />
For articles related to portable computing along with model-specific installation guides, please see [[:Category:Laptops (English)]]. For a general overview of laptop-related articles and recommendations, see [[Laptop]].<br />
<br />
===Suspending and hibernation===<br />
Several options are available to users desiring suspend-to-RAM (sleep/stand-by) and suspend-to-disk (hibernate) functionality. [[pm-utils]] describes one popular method, while [[hibernate-script]] is an older alternative that does not depend on Xorg packages. [[Tuxonice]] is an option growing in popularity and, while it claims to have more features than the other two options, requires kernel patching or the use of [http://aur.archlinux.org/packages.php?ID=15224 kernel26-ice] available in AUR.<br />
<br />
==System administration==<br />
''This section deals with administrative tasks and system management. For more, please see [[:Category:System administration (English)]].''<br />
<br />
===Log maintenance===<br />
By default, log files are rotated using [[logrotate]], which rotates existing log files to an alternatively named file (suffixed with a number) and empties the original log files. Logrotate is typically executed via [[cron]] job; users must ensure the cron daemon is running in order to initiate log rotation.<br />
<br />
Users of the {{Package Official|syslog-ng}} ''syslog'' daemon may wish to configure [[Syslog-ng#ISO 8601 timestamps|ISO 8601 timestamps]] (yyyy-mm-ddThh:mm:ss-zz:zz) in log files.<br />
<br />
===Privilege escalation===<br />
A new installation leaves users with only the super user account, better known as root. Logging in as root for prolonged periods of time is widely considered to be foolish and insecure. Instead, users should [[User Management|create]] and use unprivileged user accounts for most tasks, only using the root account for system administration. The [[su]] (substitute user) command allows assuming the identity of another user on the system (usually root) from an existing login, whereas the [[sudo]] command grants temporary privilege escalation for a specific command.<br />
<br />
===Users and groups===<br />
[[User Management|Users]] and [[groups]] are used on GNU/Linux for ''access control''; administrators may fine-tune group membership and ownership to grant or deny users and services access to system resources. Access to peripheral devices such as optical (CD/DVD) drives and sound hardware often requires membership in an appropriate group.<br />
<br />
===Windows networking===<br />
To enable communication between Windows and Arch Linux machines across a network, users can use [[Samba]]; a re-implementation of the SMB/CIFS networking protocol.<br />
<br />
==System services==<br />
''This section relates to [[daemons]]. For more, please see [[:Category:Daemons and system services (English)]].''<br />
<br />
===HAL===<br />
After having installed a desktop environment or window manager, installing [[HAL]] seems like a natural follow-up since it enables plug-and-play functionality for mobile phones, MP3 players, external HDDs, and other hardware. Often, HAL is used to mount the device and make an icon on a convenient place, like the desktop or in 'My Computer', allowing access to the peripheral soon after it has been plugged in. Altogether, this avoids manual [[fstab]] configuration or making [[udev]] rules for each and every new device.<br />
<br />
[[KDE]], [[GNOME]] and [[Xfce]] all use [[HAL]].<br />
<br />
===Local mail delivery===<br />
A default base setup bestows no means for mail syncing. To configure Postfix for simple local mailbox delivery, see [[Local Mail Delivery with Postfix]]. Other options are [[SSMTP]], [[MSMTP]] and [[fdm]].<br />
<br />
==X Window System==<br />
''[[Xorg]] is the public, open-source implementation of the X Window System version 11. If a graphical user interface is desired, the majority of users will use Xorg. See [[:Category:X Server (English)]] for additional resources.''<br />
<br />
===Desktop environments===<br />
Whilst [[Xorg]] provides the basic framework for building a graphical environment, there are additional components that may be considered necessary for a complete user experience. [[Desktop environment]]s such as [[GNOME]], [[KDE]], [[LXDE]], and [[Xfce]] bundle together a wide range of ''X clients'', such as a window manager, panel, file manager, terminal emulator, text editor, icons, and other utilities. See [[:Category:Desktop environments (English)]] for a complete list and additional resources.<br />
<br />
===Display drivers===<br />
The default ''vesa'' display driver will work with most video cards, but performance can be significantly improved and additional features harnessed by installing the appropriate driver for [[ATI]], [[Intel]], or [[NVIDIA]] products.<br />
<br />
===Window managers===<br />
A full-fledged [[desktop environment]] provides a complete and consistent graphical user interface, but tends to consume a considerable amount of system resources. Users seeking to maximize performance or otherwise simplify their environment may opt to install a [[window manager]] instead and hand-pick desired extras. An alternative window manager can also be used with most desktop environments. [[:Category:Dynamic WMs (English)|Dynamic]], [[:Category:Stacking WMs (English)|stacking]], and [[:Category:Tiling WMs (English)|tiling]] window managers differ in their handling of window placement.</div>Xehozhttps://wiki.archlinux.org/index.php?title=General_recommendations&diff=116777General recommendations2010-09-11T18:50:13Z<p>Xehoz: Undo revision 116771 by Pointone (talk)</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|General Recommendations}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|An annotated index of recommended readings. Covers a wide variety of subjects relevant to both new and experienced users alike. See [[Common Applications]] and [[Lightweight Applications]] for lists of frequently-used software.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|FAQ}}<br />
{{Article summary end}}<br />
<br />
This document is an annotated index of other popular articles and important information. Various pages listed here will require using [[pacman]] to install additional packages present in the [[Official Repositories]], and those in the unofficial [[Arch User Repository]] by employing [[makepkg]] with the optional aid of an [[AUR helper]]. As such, the concept of package management should be fully understood before continuing.<br />
<br />
Readers are assumed to have read and followed the [[Beginners' Guide]] or [[Official Arch Linux Install Guide]] to obtain a basic Arch Linux installation. Furthermore, there exist several software packages normally considered crucial requirements for a functional system. For example, if a graphical interface is desired, please read [[Xorg]] first, whereas those interested in printing should make reviewing [[CUPS]] a priority. All users can familiarize themselves with the file system by reading [[Filesystem Hierarchy Standard]]. <br />
<br />
==Appearance==<br />
''This section contains frequently-sought "eye candy" tweaks for an aesthetically pleasing Arch experience. For more, please see [[:Category:Eye candy (English)]].''<br />
<br />
===Colored output===<br />
Even though a number of applications have built-in color capabilities, using a general-purpose, colorizing wrapper such as cope is another route. Install {{package AUR|cope}} or {{package AUR|cope-git}}, the more often updated [[Git]] version, from the [[AUR]]. {{Package AUR|acoc}} and {{Package AUR|cw}} are similar alternatives.<br />
<br />
====Console prompt====<br />
The console prompt (PS1) can be customized to a great extent. See the [http://bbs.archlinux.org/viewtopic.php?id=50885 What's your PS1?] forum thread for ideas. Also see [[Color Bash Prompt]] or [[Zsh#Prompts]] if using Bash or Zsh, respectively.<br />
<br />
====Core utilities====<br />
Colorizing the output of specific core utilities such as '''grep''' and '''ls''' is covered in the [[Core Utilities]] article.<br />
<br />
====Emacs shell====<br />
Emacs is known for featuring options beyond the duties of regular text editing, one of these being a full shell replacement. Consult [[Emacs#Colored output issues]] for a fix regarding garbled characters that may result from enabling colored output.<br />
<br />
====Man pages====<br />
Man pages (or manual pages) are one of the most useful resources available to GNU/Linux users. To aid readability, the pager can be configured to render colored text as explained in [[Man Page#Colored man pages]].<br />
<br />
===Fonts===<br />
A plethora of information on the subject can be found in the [[Fonts]] and [[Font Configuration]] articles.<br />
<br />
====Console fonts====<br />
If spending a significant amount of time working from the virtual console (i.e. outside an X server), users may wish to change the console font to improve readability; see [[Fonts#Console fonts]].<br />
<br />
====LCD filtered fonts====<br />
Font rendering software can be patched to provide smoother fonts on LCD monitors by taking advantage of sub-pixel elements; see [[Font Configuration#LCD filter patched packages]].<br />
<br />
==Booting==<br />
''This section contains information pertaining to the boot process. An overview of the Arch boot process can be found at [[Arch Boot Process]]. For more, please see [[:Category:Boot process (English)]].''<br />
<br />
===Backgrounding daemons===<br />
Daemons are programs that run in the background, and are typically started during boot. In order to speed up the boot process, certain daemons can be ''backgrounded'', allowing the boot process to continue whilst the daemon loads. See [[Daemon]] for a complete explanation.<br />
<br />
===Hardware auto-recognition===<br />
Hardware should be auto-detected by [[udev]] during the boot process by default. A potential improvement in boot time can be achieved by disabling module auto-loading and specifying required modules manually, as described in [[rc.conf#Hardware]]. Additionally [[Xorg]] should be able to auto-detect required drivers using [[HAL]], but users have the option to configure the X server manually, too; see [[Xorg Input Hotplugging]].<br />
<br />
===LILO speed improvement===<br />
Besides [[GRUB]], LILO is the most widely known Linux boot loader, legacy or not. Follow instructions shown in [[LILO#Sample setup]] for making the most out of its features.<br />
<br />
===Num Lock activation at boot===<br />
Num Lock is a toggle key found in most keyboards. For activating Num Lock's number key-assignment during startup, see [[Activating Numlock on Bootup]].<br />
<br />
===Retaining boot messages===<br />
Once it concludes, the screen is cleared and the login prompt appears, leaving users unable to gather feedback from the boot process. [[Disable clearing of boot messages]] to overcome this limitation.<br />
<br />
===Start X at boot===<br />
If utilizing an [[X]] server to provide a graphical user interface, users may wish to start this server during the boot process rather than starting it manually after login. See [[Display Manager]] if desiring a graphical login or [[Start X at boot]] for methods that do not involve a display manager.<br />
<br />
==Console improvements==<br />
''This section applies to small modifications that better console programs' practicality. For more, please see [[:Category:Command shells (English)]] and [[:Category:Utilities (English)]].''<br />
<br />
===Aliases===<br />
Users can define shortcuts for frequently-used commands using a built-in shell command. Common time-saving aliases can be found in [[Core Utilities#alias]].<br />
<br />
===Bash additions===<br />
A list of miscellaneous Bash settings, including completion enhancements, history search and readline macros is available in [[Bash#Tips and tricks]].<br />
<br />
===Compressed files===<br />
Compressed files, or archives, are frequently encountered on a GNU/Linux system. [[Tar]] is one of the most commonly used archiving tools, and users should be familiar with its syntax (Arch Linux packages, for example, are simply gzipped tarballs). See [[Core Utilities#extract]] for other helpful commands.<br />
<br />
===Mouse support===<br />
Using a mouse with the console for copy-paste operations can be preferred over GNU [[screen]]'s traditional copy mode. Refer to [[Console Mouse Support]] for comprehensive directions.<br />
<br />
==Input==<br />
''This section contains popular input device configuration tips. For more, please see [[:Category:Input devices (English)]].''<br />
<br />
===Configure all mouse buttons===<br />
Owners of advanced or unusual mice may find that not all mouse buttons are recognized by default, or may wish to assign different actions for extra buttons. Instructions can be found in [[Get All Mouse Buttons Working]].<br />
<br />
===Keyboard layouts===<br />
Non-English or otherwise non-standard keyboards may not function as expected by default. To define the keymap in virtual consoles, the [[KEYMAP]] variable must be set in [[rc.conf]]. For [[Xorg]] users, the required changes are described in [[Xorg#Keyboard layout]].<br />
<br />
===Laptop touchpads===<br />
Many laptops use [http://www.synaptics.com/ Synaptics] or [http://www.alps.com/ ALPS] "touchpad" pointing devices. These, and several other touchpad models, use the Synaptics input driver; see [[Touchpad Synaptics]] for installation and configuration details.<br />
<br />
==Networking==<br />
''This section is confined to small networking procedures. Head over to [[Network]] for a full guide. For more, please see [[:Category:Networking (English)]].''<br />
<br />
===Disable IPv6===<br />
Not only does the IPv6 module take around 250k of memory, it has also been reported that disabling the feature notoriously speeds up network access for programs that erroneously try to query servers with this newer version. Incidentally, [[Firefox]] is listed among the affected applications. So until the widespread adoption of IPv6, one may benefit by [[IPv6 - Disabling the Module|disabling the module]].<br />
<br />
===DNS speed improvement===<br />
To improve load time by caching queries, use [[pdnsd]], a very simple DNS server that does not attempt to fill every need. Or install [[dnsmasq]], a broader choice which also supports turning the system into a DHCP server.<br />
<br />
===DNSSEC validation===<br />
For better security while browsing web, paying online, connecting to [[SSH]] services and similar tasks you should consider using [[DNSSEC]] enabled client software which can validate signed [[DNS]] records...<br />
<br />
==Optimization==<br />
''This section aims to summarize tweaks, tools and available options useful to improve system and application performance.<br />
<br />
===Benchmarking===<br />
[[Benchmarking]] is the act of measuring performance and comparing the results to another system's results or a widely accepted standard through a unified procedure.<br />
<br />
===Maximizing Performance===<br />
The [[Maximizing Performance]] article gathers information and is a basic rundown about gaining performance in Arch Linux.<br />
<br />
==Package management==<br />
''This section contains helpful information related to package management. All users should at least be familiar with the [[pacman]] package manager. For more, please see [[:Category:Package management (English)]].''<br />
<br />
===Aliases for pacman===<br />
Aliasing a command, or a group thereof, is a way of saving time when using the console. This is specially helpful for repetitive tasks that don't need significant alteration to their parameters between executions. Various time saving pacman aliases are organized in [[pacman Tips]], besides other suggested tools.<br />
<br />
===Arch Build System===<br />
''Ports'' is a system initially used by BSD distributions consisting of build scripts that reside in a directory tree on the local system. Simply put, each port contains a script within a directory intuitively named after the installable third-party application.<br />
<br />
The [[ABS]] tree offers the same functionality by providing build scripts called [[PKGBUILD]]s, which are populated with information for a given piece of software; integrity hashes, project URL, version, license and build instructions. These PKGBUILDs are later parsed by [[makepkg]], the actual program that generates packages cleanly manageable by pacman.<br />
<br />
Every package in the repositories along with those present in the AUR are subject to recompilation with makepkg.<br />
<br />
===Arch User Repository===<br />
While the [[ABS]] tree allows the ability of building software available in the official repositories, the [[AUR]] is the equivalent for user submitted packages. It is an unsupported repository of build scripts accessible through the [http://aur.archlinux.org/index.php web interface] or by an [[AUR helper]].<br />
<br />
An [[AUR helper]] can add seamless access to the [[AUR]]. They may vary in features, but all ease in searching, fetching, building, and installing from over 20,000 PKGBUILDs found in the unofficial repository.<br />
<br />
===Mirrors===<br />
Visit [[Mirrors]] for steps on taking full advantage of using the fastest and most up to date pacman mirrors. As explained in the article, a particularly good advice is to routinely check [http://users.archlinux.de/~gerbra/mirrorcheck.html Mirrorcheck] and/or [http://www.archlinux.de/?page=MirrorStatus Mirror status] for a list of mirrors that have been recently synced.<br />
<br />
==Power management==<br />
''This section may be of use to laptop owners or users otherwise seeking power management controls. For more, please see [[:Category:Power management (English)]].''<br />
<br />
===acpid===<br />
Users can configure how the system reacts to ACPI events such as pressing the power button or closing a laptop's lid using [[acpid]].<br />
<br />
===CPU frequency scaling===<br />
Modern processors can decrease their frequency and voltage to reduce heat and power consumption. Less heat leads to a quieter system and prolongs the life of hardware. [[cpufrequtils]] is a set of utilities designed to assist CPU frequency scaling.<br />
<br />
===Laptops===<br />
For articles related to portable computing along with model-specific installation guides, please see [[:Category:Laptops (English)]]. For a general overview of laptop-related articles and recommendations, see [[Laptop]].<br />
<br />
===Suspending and hibernation===<br />
Several options are available to users desiring suspend-to-RAM (sleep/stand-by) and suspend-to-disk (hibernate) functionality. [[pm-utils]] describes one popular method, while [[hibernate-script]] is an older alternative that does not depend on Xorg packages. [[Tuxonice]] is an option growing in popularity and, while it claims to have more features than the other two options, requires kernel patching or the use of [http://aur.archlinux.org/packages.php?ID=15224 kernel26-ice] available in AUR.<br />
<br />
==System administration==<br />
''This section deals with administrative tasks and system management. For more, please see [[:Category:System administration (English)]].''<br />
<br />
===Log maintenance===<br />
By default, log files are rotated using [[logrotate]], which rotates existing log files to an alternatively named file (suffixed with a number) and empties the original log files. Logrotate is typically executed via [[cron]] job; users must ensure the cron daemon is running in order to initiate log rotation.<br />
<br />
Users of the {{Package Official|syslog-ng}} ''syslog'' daemon may wish to configure [[Syslog-ng#ISO 8601 timestamps|ISO 8601 timestamps]] (yyyy-mm-ddThh:mm:ss-zz:zz) in log files.<br />
<br />
===Privilege escalation===<br />
A new installation leaves users with only the super user account, better known as root. Logging in as root for prolonged periods of time is widely considered to be foolish and insecure. Instead, users should [[User Management|create]] and use unprivileged user accounts for most tasks, only using the root account for system administration. The [[su]] (substitute user) command allows assuming the identity of another user on the system (usually root) from an existing login, whereas the [[sudo]] command grants temporary privilege escalation for a specific command.<br />
<br />
===Users and groups===<br />
[[User Management|Users]] and [[groups]] are used on GNU/Linux for ''access control''; administrators may fine-tune group membership and ownership to grant or deny users and services access to system resources. Access to peripheral devices such as optical (CD/DVD) drives and sound hardware often requires membership in an appropriate group.<br />
<br />
===Windows networking===<br />
To enable communication between Windows and Arch Linux machines across a network, users can use [[Samba]]; a re-implementation of the SMB/CIFS networking protocol.<br />
<br />
==System services==<br />
''This section relates to [[daemons]]. For more, please see [[:Category:Daemons and system services (English)]].''<br />
<br />
===HAL===<br />
After having installed a desktop environment or window manager, installing [[HAL]] seems like a natural follow-up since it enables plug-and-play functionality for mobile phones, MP3 players, external HDDs, and other hardware. Often, HAL is used to mount the device and make an icon on a convenient place, like the desktop or in 'My Computer', allowing access to the peripheral soon after it has been plugged in. Altogether, this avoids manual [[fstab]] configuration or making [[udev]] rules for each and every new device.<br />
<br />
[[KDE]], [[GNOME]] and [[Xfce]] all use [[HAL]].<br />
<br />
===Local mail delivery===<br />
A default base setup bestows no means for mail syncing. To configure Postfix for simple local mailbox delivery, see [[Local Mail Delivery with Postfix]]. Other options are [[SSMTP]], [[MSMTP]] and [[fdm]].<br />
<br />
==X Window System==<br />
''[[Xorg]] is the public, open-source implementation of the X Window System version 11. If a graphical user interface is desired, the majority of users will use Xorg. See [[:Category:X Server (English)]] for additional resources.''<br />
<br />
===Desktop environments===<br />
Whilst [[Xorg]] provides the basic framework for building a graphical environment, there are additional components that may be considered necessary for a complete user experience. [[Desktop environment]]s such as [[GNOME]], [[KDE]], [[LXDE]], and [[Xfce]] bundle together a wide range of ''X clients'', such as a window manager, panel, file manager, terminal emulator, text editor, icons, and other utilities. See [[:Category:Desktop environments (English)]] for a complete list and additional resources.<br />
<br />
===Display drivers===<br />
The default ''vesa'' display driver will work with most video cards, but performance can be significantly improved and additional features harnessed by installing the appropriate driver for [[ATI]], [[Intel]], or [[NVIDIA]] products.<br />
<br />
===Window managers===<br />
A full-fledged [[desktop environment]] provides a complete and consistent graphical user interface, but tends to consume a considerable amount of system resources. Users seeking to maximize performance or otherwise simplify their environment may opt to install a [[window manager]] instead and hand-pick desired extras. An alternative window manager can also be used with most desktop environments. [[:Category:Dynamic WMs (English)|Dynamic]], [[:Category:Stacking WMs (English)|stacking]], and [[:Category:Tiling WMs (English)|tiling]] window managers differ in their handling of window placement.<br />
<br />
==Related Links==<br />
<br />
[http://www.unbeatable.co.uk/pages/Electronics/TV-and-Video/Flat-Panel-Televisions/ '''lcd tv''']</div>Xehozhttps://wiki.archlinux.org/index.php?title=Cpufrequtils&diff=116672Cpufrequtils2010-09-09T23:37:48Z<p>Xehoz: /* Closing notes */</p>
<hr />
<div>[[Category:Power management (English)]]<br />
[[Category:CPU (English)]]<br />
[[Category:Daemons and system services (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|cpufrequtils}}<br />
[[de:Cpufrequtils]]<br />
{{Article summary start}} {{DISPLAYTITLE:cpufrequtils}}<br />
{{Article summary text|An overview of the popular userspace tools for the kernel [http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufreq.html CPUfreq] subsystem.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Laptop Mode Tools|Laptop_Mode_Tools}}<br />
{{Article summary wiki|pm-utils}}<br />
{{Article summary wiki|powernowd}}<br />
{{Article summary end}}<br />
<br />
{{Package Official|cpufrequtils}} is a set of utilities designed to assist ''CPU frequency scaling'', a technology used primarily by notebooks that enables the operating system to scale the CPU speed up or down, depending on the current system load and/or power scheme. For instance, CPU frequency scaling can run a 2GHz processor at 1GHz when a notebook is on battery power, thereby conserving battery life and lowering core temperatures.<br />
<br />
When used in conjunction with [[pm-utils]], notebook owners are provided with a complete power management suite.<br />
<br />
Note that <tt>cpufrequtils</tt> is not the only way one can manage/throttle one's CPU. [[powernowd]] is a simple alternative for adjusting the speed of your CPU depending on system load.<br />
<br />
This article covers installation and basic configuration of the <tt>cpufrequtils</tt> package.<br />
<br />
'''Note:''' <tt>cpufrequtils</tt> is not the same as <tt>cpufreqd</tt>. Never run both <tt>cpufreq'''d'''</tt> and <tt>cpufreq</tt> daemons.<br />
<br />
== Installation ==<br />
<br />
The {{Package Official|cpufrequtils}} package is available in the [extra] repository:<br />
# pacman -S cpufrequtils<br />
<br />
== Configuration ==<br />
<br />
Configuring CPU scaling is a 3-part process:<br />
# Load appropriate CPU frequency driver<br />
# Load desired scaling governor(s)<br />
# Configure and load frequency scaling daemon (optional)<br />
<br />
=== CPU frequency driver ===<br />
In order for frequency scaling to work properly, the operating system must first know the limits of the CPU(s). To accomplish this, a kernel module is loaded that can read and manage the specifications of the CPU(s).<br />
<br />
Most modern notebooks and desktops can simply use the '''<tt>acpi-cpufreq</tt>''' driver. However, other options include the <tt>p4-clockmod</tt>, <tt>powernow-k6</tt>, <tt>powernow-k7</tt>, <tt>powernow-k8</tt>, and <tt>speedstep-centrino</tt> drivers. To see a full list of available drivers, run the following:<br />
<br />
$ ls /lib/modules/*/kernel/arch/*/kernel/cpu/cpufreq<br />
<br />
{{Tip|For an AMD "K10" CPU like Phenom X4, use the <tt>powernow-k8</tt> driver.}}<br />
<br />
To load the CPU frequency driver manually:<br />
<br />
==== Intel ====<br />
# modprobe acpi-cpufreq<br />
<br />
For older Intel CPUs, the command above may return with: <br />
FATAL: Error inserting acpi_cpufreq ([...]/acpi-cpufreq.ko): No such device<br />
<br />
In this case, replace the kernel module <tt>acpi-cpufreq</tt> with <tt>speedstep-centrino</tt>, <tt>p4-clockmod</tt> or <tt>speedstep-ich</tt>.<br />
<br />
Notice that the speedstep-centrino module is deprecated.<br />
<br />
There is a kernel with the speedstep-centrino module patched on the AUR, it is the '''<tt>kernel26-pentium-m</tt>''' package which is located here: http://aur.archlinux.org/packages.php?ID=33104<br />
<br />
==== AMD ====<br />
# modprobe powernow-k{6,7,8}<br />
<br />
Not all of the <tt>powernow-k*</tt> drivers may be available or necessary. If loading one of them fails, try loading them individually.<br />
<br />
=== Closing notes ===<br />
To load the driver automatically at startup, add the appropriate driver to the MODULES array within {{Filename|/etc/rc.conf}}. For example:<br />
MODULES=( '''acpi-cpufreq''' vboxdrv fuse fglrx iwl3945 ... )<br />
<br />
Once the appropriate cpufreq driver is loaded, detailed information about the CPU(s) can be displayed by running: <br />
$ cpufreq-info<br />
<br />
The output should appear similar to the following:<br />
<br />
{{Command<br />
|name=cpufreq-info<br />
|output=<nowiki><br />
analyzing CPU 0:<br />
driver: acpi-cpufreq<br />
CPUs which need to switch frequency at the same time: 0 1<br />
hardware limits: 1000 MHz - 2.00 GHz<br />
available frequency steps: 2.00 GHz, 1.67 GHz, 1.33 GHz, 1000 MHz<br />
available cpufreq governors: ondemand, performance<br />
current policy: frequency should be within 1000 MHz and 2.00 GHz.<br />
The governor "performance" may decide which speed to use<br />
within this range.<br />
current CPU frequency is 2.00 GHz.<br />
analyzing CPU 1:<br />
driver: acpi-cpufreq<br />
CPUs which need to switch frequency at the same time: 0 1<br />
hardware limits: 1000 MHz - 2.00 GHz<br />
available frequency steps: 2.00 GHz, 1.67 GHz, 1.33 GHz, 1000 MHz<br />
available cpufreq governors: ondemand, performance<br />
current policy: frequency should be within 1000 MHz and 2.00 GHz.<br />
The governor "performance" may decide which speed to use<br />
within this range.<br />
current CPU frequency is 2.00 GHz.<br />
</nowiki>}}<br />
<br />
To simply see which governs are available:<br />
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors<br />
<br />
Monitoring the CPU speed in real-time can be achieved by running:<br />
watch grep \"cpu MHz\" /proc/cpuinfo<br />
<br />
=== Cpufrequtils and Laptop Mode Tools ===<br />
<br />
If you are already using or plan to use [[Laptop Mode Tools]] for other power saving solutions, you may want to let it manage also CPU frequency scaling. <br />
In that case you just have to insert the <tt>acpi-cpufreq</tt> module to the MODULES array in {{Filename|/etc/rc.conf}}:<br />
MODULES=( '''acpi-cpufreq''' vboxdrv ... )<br />
<br />
And then go through the {{Filename|/etc/laptop-mode/conf.d/cpufreq.conf}} to define governors, frequencies and policies. <br />
<br />
If you use <tt>laptop-mode-tools</tt> to manage <tt>cpufrequtils</tt>, then you won't need to load other modules and daemons or to set up scaling governors and interaction with ACPI events. Please refer to [[Laptop Mode Tools]] to know how to install and configure <tt>laptop-mode-tools</tt>.<br />
<br />
=== Scaling governors ===<br />
<br />
Governors can be thought of as pre-configured power schemes for the CPU. These governors must be loaded as kernel modules in order to be seen by such programs as ''kpowersave'' and ''gnome-power-manager''. One may load as many governors as desired (only one will be active at any given time).<br />
<br />
Available governors:<br />
<br />
;{{Codeline|cpufreq_performance}} ''(default)'': The performance governor is built into the kernel and runs the CPU(s) at maximum clock speed<br />
;{{Codeline|cpufreq_ondemand}} ''(recommended)'': Dynamically increases/decreases the CPU(s) clock speed based on system load<br />
;{{Codeline|cpufreq_conservative}}: Similar to {{Codeline|ondemand}}, but more conservative (clock speed changes are more graceful)<br />
;{{Codeline|cpufreq_powersave}}: Runs the CPU at minimum speed<br />
;{{Codeline|cpufreq_userspace}}: Manually configured clock speeds by user<br />
<br />
Add the desired governor(s) to the MODULES array in {{Filename|/etc/rc.conf}}:<br />
MODULES=(acpi-cpufreq '''cpufreq_ondemand''' '''cpufreq_powersave''' vboxdrv fuse fglrx iwl3945 ... )<br />
<br />
Alternatively, manually set the governor by running the {{Codeline|cpufreq-set}} command (as root). However, this setting will not be saved after a reboot/shutdown. For example:<br />
# cpufreq-set -g ondemand<br />
<br />
Run {{Codeline|cpufreq-set --help}} or {{Codeline|man cpufreq-set}} for more information.<br />
<br />
==== Interaction with ACPI events ====<br />
<br />
Users may configure scaling governors to switch automatically based on different ACPI events such as connecting the AC adapter or closing a laptop lid. Events are defined in {{Filename|/etc/acpi/handler.sh}}. If the {{Package Official|acpid}} package is installed, the file should already exist and be executable. For example, to change the scaling governor from {{Codeline|performance}} to {{Codeline|conservative}} when the AC adapter is disconnected and change it back if reconnected:<br />
<br />
{{File<br />
|name=/etc/acpi/handler.sh<br />
|content=<nowiki><br />
[...]<br />
<br />
ac_adapter)<br />
case "$2" in<br />
AC*)<br />
case "$4" in<br />
00000000)<br />
echo "conservative" >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor <br />
echo -n $minspeed >$setspeed<br />
#/etc/laptop-mode/laptop-mode start<br />
;;<br />
00000001)<br />
echo "performance" >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo -n $maxspeed >$setspeed<br />
#/etc/laptop-mode/laptop-mode stop<br />
;;<br />
esac<br />
;;<br />
*) logger "ACPI action undefined: $2" ;;<br />
esac<br />
;;<br />
<br />
[...]<br />
</nowiki>}}<br />
<br />
==== Changing the {{Codeline|ondemand}} governor's threshold ====<br />
<!-- ln from [[Browser Plugins#Flash Performance]] --><br />
To change when the {{Codeline|ondemand}} governor switches to a higher multiplier, one can manipulate {{Filename|/sys/devices/system/cpu/cpu'''#'''/cpufreq/ondemand/up_threshold}}. Determine the current setting by issuing the following command as root:<br />
# cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold<br />
<br />
The value returned should be <tt>80</tt>, the default setting as of kernel version 2.6.31. This means that the {{Codeline|ondemand}} governor currently increases the clock rate if a core reaches 80% utilization. The can be changed, for example:<br />
# echo 50 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold<br />
<br />
The governor will now switch to a higher clock rate if a core reaches 50% utilization. <br />
<br />
To re-apply this setting during boot, add the command to {{Filename|/etc/rc.local}}.<br />
<br />
{{Tip|One user found it necessary to use {{Codeline|1=(sleep 2 && echo 50 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold) &}} or the command would fail with a "path not found" message during boot.}}<br />
<br />
{{Note|Adjusting only {{Codeline|cpu0}} should work fine on multi-core systems, as other entries that belong to the same physical processor are adjusted automatically.}}<br />
<br />
{{Note|Starting with 2.6.33 adjusting only one core is deprecated and will produce a warning message: {{Codeline|CPUFREQ: Per core ondemand sysfs interface is deprecated - up_threshold<br />
}} The command should be used instead: {{Codeline|echo "50" > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold}} }}<br />
<br />
=== Daemon ===<br />
<br />
<tt>cpufrequtils</tt> also includes a daemon which allows users to set the desired scaling governor and min/max clock speeds for all processor cores at boot-time, without the need for additional tools such as ''kpowersave''.<br />
<br />
Before starting the daemon, edit {{Filename|/etc/conf.d/cpufreq}} as root, selecting the desired governor and setting the min/max speed for your CPU(s), for example:<br />
<br />
{{File<br />
|name=/etc/conf.d/cpufreq<br />
|content=<nowiki><br />
#configuration for cpufreq control<br />
<br />
# valid governors:<br />
# ondemand, performance, powersave,<br />
# conservative, userspace<br />
governor="ondemand"<br />
<br />
# valid suffixes: Hz, kHz (default), MHz, GHz, THz<br />
min_freq="1GHz"<br />
max_freq="2GHz"<br />
</nowiki>}}<br />
<br />
{{Note|The exact min/max values of the CPU(s) can be determined by running {{Codeline|cpufreq-info}} after loading the CPU driver (e.g. {{Codeline|modprobe acpi-cpufreq}}). However, these values are ''optional''. Users may omit them entirely by deleting or commenting out the min/max_freq lines; scaling will work automatically.}}<br />
<br />
With the appropriate configuration, start the daemon with the following command:<br />
# /etc/rc.d/cpufreq start<br />
<br />
To start the daemon automatically at startup, add {{Codeline|cpufreq}} to the DAEMONS array in {{Filename|/etc/rc.conf}}, for example:<br />
DAEMONS=(syslog-ng hal '''cpufreq''' dhcdbd networkmanager !network !netfs @alsa @crond @cups @fam @ntpd @sshd)<br />
<br />
== Troubleshooting ==<br />
<br />
* Some applications, like [[ntop]], do not respond well to automatic frequency scaling. In the case of ntop it can result in segmentation faults and lots of lost information as even the {{Codeline|ondemand}} governor cannot change the frequency quickly enough when a lot of packages suddenly arrive at the monitored network interface that cannot be handled by the current processor speed.<br />
<br />
* Some CPUs may suffer from poor performance with the default settings of the {{Codeline|ondemand}} governor (e.g. flash videos not playing smoothly or stuttering window animations). Instead of completely disabling frequency scaling to resolve these issues, the aggressiveness of frequency scaling can be increased by lowering the ''up_threshold'' sysctl variable for each CPU. See [[#Changing the ondemand governor's threshold]].<br />
<br />
* Sometimes the deamon may not throttle to the maximum frequence but one step below. This can be solved by setting max_freq value slightly higher than the real maximum. For example, if frequence range of the CPU is from 2.00GHz to 3.00GHz, setting max_freq to 3.01GHz can be a good idea.<br />
<br />
* Some cpu/bios configurations may have difficulties to scale to the maximum frequencies or scale to highter frequencies at all. Sadly there is only a workaround right now. Add "processor.ignore_ppc=1" to your kernel boot line and/or edit the value in /sys/module/processor/parameters/ignore_ppcfrom 0 to 1.</div>Xehozhttps://wiki.archlinux.org/index.php?title=Dropbox&diff=116671Dropbox2010-09-09T23:12:29Z<p>Xehoz: Added an Alternatives section, including Ubuntu One and Spideroak</p>
<hr />
<div>[[Category:HOWTOs (English)]]<br />
[https://www.dropbox.com Dropbox] is a file sharing system that recently introduced a GNU/Linux client. Use it to transparently sync files across computers and architectures. Simply drop files into your "~/Dropbox" folder, and they will automatically sync to your centralized repository.<br />
<br />
==Installation==<br />
<br />
[http://aur.archlinux.org/packages.php?ID=23363 dropbox] can be installed from the [[AUR]]. Alternatively, [http://aur.archlinux.org/packages.php?ID=29432 dropbox-experimental] is also available.<br />
<br />
# After installing the package, you can start Dropbox from your application menu or run "dropboxd" from the command-line. The client icon will appear in the system tray.<br />
# Eventually a popup will ask you to login to your Dropbox account, or start a new one. Enter your credentials.<br />
# After some time you will see a "Welcome to Dropbox" popup, which will give you the opportunity to view a short tour of Dropbox.<br />
# Press the "Finish and go to My Dropbox".<br />
<br />
To use it, simply drag and drop files into your "Dropbox" folder.<br />
<br />
===Optional packages===<br />
<br />
*For a command-line interface, install [http://aur.archlinux.org/packages.php?ID=34310 dropbox-cli] from the [[AUR]].<br />
*For integration with nautilus, install [http://aur.archlinux.org/packages.php?ID=19615 nautilus-dropbox] from the [[AUR]]. The nautilus plugin will start dropbox automatically.<br />
*For integration with thunar, install [http://aur.archlinux.org/packages.php?ID=39214 thunar-dropbox] from the [[AUR]].<br />
<br />
===Autostart===<br />
<br />
Dropbox can be autostarted by adding dropboxd to .xinitrc (or autostart.sh, depending on your setup). Alternatively, you can [[#Daemon|use the daemon script]].<br />
<br />
== Alternative to install: use the web interface ==<br />
<br />
If all you need is basic access to the files in a dropbox, you can use the web interface at http://dropbox.com to upload and download files to your dropbox. This can be a viable alternative to running a dropbox daemon and mirroring all the files on your own machine.<br />
<br />
==Daemon==<br />
<br />
If you would rather dropbox run as a daemon like sshd or vsftpd, simply do the following:<br />
<br />
As root, copy this into a file called /etc/rc.d/dropboxd; replace all occurrences of USER, obviously.<br />
<br />
Note: When I originally wrote this daemon script, I included [http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall instructions] for a text based linux install direct from the dropbox site as a way to use dropbox without a specific filemanager (or even without X entirely). This install method places everything in ~/.dropbox-dist which is what the below script expects. This daemon script will likely '''not work''' if you've installed via the AUR. I'm not sure how to convert the below to work in that case.<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
PID=`pidof -o %PPID /home/USER/.dropbox-dist/dropbox`<br />
<br />
case "$1" in<br />
start)<br />
stat_busy "Starting Dropbox Service"<br />
[ -z "$PID" ] && su -c "/home/USER/.dropbox-dist/dropboxd &" USER<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
add_daemon dropboxd<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping Dropbox Service"<br />
[ ! -z "$PID" ] && kill $PID > /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
rm_daemon dropboxd<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
sleep 3<br />
$0 start<br />
;;<br />
*)<br />
echo "usage: $0 {start|stop|restart}"<br />
;;<br />
esac<br />
exit 0<br />
</pre><br />
<br />
Make the file executable with<br />
# chmod +x /etc/rc.d/dropboxd<br />
<br />
This allows you to start or stop dropboxd just like any other service. place it in the daemons array in rc.conf for it to start at boot.<br />
<br />
# /etc/rc.d/dropboxd start<br />
# /etc/rc.d/dropboxd stop<br />
# /etc/rc.d/dropboxd restart<br />
<br />
And in rc.conf:<br />
DAEMONS=(... '''@dropboxd''' ...)<br />
<br />
==Without Nautilus (Another Way)==<br />
<br />
Another way to use Dropbox without Nautilus but with another file manager like Thunar is described below:<br />
<br />
1. Download and install the [http://aur.archlinux.org/packages.php?ID=23363 dropbox] package from the AUR.<br />
$ aurget dropbox<br />
<br />
2. Create a fake Nautilus script that will launch Thunar:<br />
$ sudo touch /usr/bin/nautilus && sudo chmod +x /usr/bin/nautilus && sudo nano /usr/bin/nautilus<br />
<br />
3. Insert this text into the file, then save and exit:<br />
#!/bin/bash<br />
exec thunar $@<br />
exit 0<br />
<br />
4. Launch Dropbox<br />
$ dropboxd<br />
<br />
5. Click on the dropbox tray icon to open your dropbox folder in Thunar.<br />
<br />
'''Note:''' in this way there is no need to create a dropbox daemon in /etc/rc.d and to start it at boot via /etc/rc.conf or to make it start via your session manager: just leave the "Start dropbox on system startup" option flagged in the Preferences window.<br />
<br />
'''Note:''' If you already have nautilus instaled but don't want to use it, neither modify the existing file under /usr/bin, just change the /usr/bin for /opt/dropbox in the step 2 above, like this: $ sudo touch /opt/dropbox/nautilus && sudo chmod +x /opt/dropbox/nautilus && sudo nano /opt/dropbox/nautilus. Dropbox will look this path first!<br />
<br />
==Securing your Dropbox==<br />
<br />
If you want to store sensitive data in your Dropbox, you should encrypt it before. Syncing to Dropbox is encrypted, but all files are (for the time being) stored on the server just as you put them in your Dropbox.<br />
<br />
* Dropbox works with [[Truecrypt]], and after you initially uploaded the Truecrypt volume to Dropbox, performance is quite ok, because of Dropbox has a working binary diff.<br />
<br />
* Another possibility is to use [[EncFS]], which has the advantage that all files are encrypted separately, i.e. you don't have to determine in advance the size of the content you want to encrypt and your encrypted directory grows and shrinks while you add/delete/modify files in it. You can also mount an encrypted volume at startup using the -S option of encfs to avoid having to input the passphrase, but note that your encrypted files are not secure from someone who has direct access to your computer.<br />
<br />
==Multiple dropbox instances==<br />
<br />
If you need to separate or distinguish your data, personal and work usage for example, you can subscribe to dropbox with different email addresses and have multiple directories synced to different instances.<br />
<br />
The basic principle and general howto are described in the [http://wiki.dropbox.com/TipsAndTricks/MultipleInstancesOnUnix Dropbox Wiki].<br />
<br />
'''Only thing to keep in mind: when dealing with multiple instances you have to select the dropbox destination folder, which the dropbox installer asks in the last step; usage examples may be /home/dropbox-personal, /home/dropbox-work and so on.'''<br />
<br />
For convenience, here is a script that I use to accomplish the task: just add a dir in the "dropboxes" list to have another instance of dropbox, referring to the dir, loaded at script startup.<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
#*******************************<br />
# Multiple dropbox instances<br />
#*******************************<br />
<br />
dropboxes=".dropbox-personal .dropbox-work"<br />
<br />
for dropbox in $dropboxes<br />
do<br />
if ! [ -d $HOME/$dropbox ];then<br />
mkdir $HOME/$dropbox<br />
fi<br />
HOME=$HOME/$dropbox /usr/bin/dropbox start -i<br />
done<br />
</pre><br />
<br />
==Alternatives==<br />
[https://one.ubuntu.com/ Ubuntu One], available in [http://aur.archlinux.org/packages.php?ID=30081 AUR]. [https://spideroak.com/ Spideroak], available in [http://aur.archlinux.org/packages.php?ID=24401 AUR].</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=116670ASUS N82JV2010-09-09T23:04:00Z<p>Xehoz: /* Webcam */</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci_hcd<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|}<br />
<br />
==Hardware==<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
==Configuration==<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
===CPU===<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
===Video===<br />
=====Intel=====<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
=====Nvidia=====<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
=====Switching graphic cards=====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change with kernel 2.6.35[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
=====Disabling the Nvidia card=====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing<br />
the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in<br />
a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
If you want run it on every startup add these lines to /etc/rc.local<br />
<br />
<pre># shutdown Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with:<br />
<pre><br />
grep rate /proc/acpi/battery/BAT0/state</pre><br />
There should be a difference of about 7500 mW in battery usage.<br />
<br />
===Audio===<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
Note: From my experience [[OSS]] doesn't work.<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
Note: Realtek's ALSA drivers currently 1.0.23-5.15rc5 aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)<br />
<br />
2. Type<br />
<pre>nano /etc/modprobe.d/modprobe.conf</pre><br />
and add:<br />
<pre>options snd-hda-intel index=0 model=auto</pre><br />
<br />
<br />
Not sure if this part is needed:<br />
Type<br />
<pre>nano /etc/modprobe.d/sound.conf</pre><br />
and add <br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
HDMI<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
===Touchpad===<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type:<br />
<pre>xinput list |grep pointer</pre><br />
<br />
What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using a Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, press Alt+F2 and enter:<br />
<br />
<pre>gksu gedit /etc/X11/xorg.conf.d/10-synaptics.conf</pre><br />
<br />
A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
Please do note that, while I settled with these coordinates, they may require tuning. [http://wiki.archlinux.org/index.php/Touchpad_Synaptics#Fine-tuning_with_synclient]<br />
<br />
=====Working 10-synaptics.conf=====<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection</pre><br />
<br />
===Webcam===<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions the picture was upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
===Function Keys===<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad).</div>Xehozhttps://wiki.archlinux.org/index.php?title=General_recommendations&diff=116669General recommendations2010-09-09T22:53:15Z<p>Xehoz: /* Suspending and hibernation */ added reference to Tuxonice</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|General Recommendations}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|An annotated index of recommended readings. Covers a wide variety of subjects relevant to both new and experienced users alike. See [[Common Applications]] and [[Lightweight Applications]] for lists of frequently-used software.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|FAQ}}<br />
{{Article summary end}}<br />
<br />
This document is an annotated index of other popular articles and important information. Various pages listed here will require using [[pacman]] to install additional packages present in the [[Official Repositories]], and those in the unofficial [[Arch User Repository]] by employing [[makepkg]] with the optional aid of an [[AUR helper]]. As such, the concept of package management should be fully understood before continuing.<br />
<br />
Readers are assumed to have read and followed the [[Beginners' Guide]] or [[Official Arch Linux Install Guide]] to obtain a basic Arch Linux installation. Furthermore, there exist several software packages normally considered crucial requirements for a functional system. For example, if a graphical interface is desired, please read [[Xorg]] first, whereas those interested in printing should make reviewing [[CUPS]] a priority. All users can familiarize themselves with the file system by reading [[Filesystem Hierarchy Standard]]. <br />
<br />
==Appearance==<br />
''This section contains frequently-sought "eye candy" tweaks for an aesthetically pleasing Arch experience. For more, please see [[:Category:Eye candy (English)]].''<br />
<br />
===Colored output===<br />
Even though a number of applications have built-in color capabilities, using a general-purpose, colorizing wrapper such as cope is another route. Install {{package AUR|cope}} or {{package AUR|cope-git}}, the more often updated [[Git]] version, from the [[AUR]]. {{Package AUR|acoc}} and {{Package AUR|cw}} are similar alternatives.<br />
<br />
====Console prompt====<br />
The console prompt (PS1) can be customized to a great extent. See the [http://bbs.archlinux.org/viewtopic.php?id=50885 What's your PS1?] forum thread for ideas. Also see [[Color Bash Prompt]] or [[Zsh#Prompts]] if using Bash or Zsh, respectively.<br />
<br />
====Core utilities====<br />
Colorizing the output of specific core utilities such as '''grep''' and '''ls''' is covered in the [[Core Utilities]] article.<br />
<br />
====Emacs shell====<br />
Emacs is known for featuring options beyond the duties of regular text editing, one of these being a full shell replacement. Consult [[Emacs#Colored output issues]] for a fix regarding garbled characters that may result from enabling colored output.<br />
<br />
====Man pages====<br />
Man pages (or manual pages) are one of the most useful resources available to GNU/Linux users. To aid readability, the pager can be configured to render colored text as explained in [[Man Page#Colored man pages]].<br />
<br />
===Fonts===<br />
A plethora of information on the subject can be found in the [[Fonts]] and [[Font Configuration]] articles.<br />
<br />
====Console fonts====<br />
If spending a significant amount of time working from the virtual console (i.e. outside an X server), users may wish to change the console font to improve readability; see [[Fonts#Console fonts]].<br />
<br />
====LCD filtered fonts====<br />
Font rendering software can be patched to provide smoother fonts on LCD monitors by taking advantage of sub-pixel elements; see [[Font Configuration#LCD filter patched packages]].<br />
<br />
==Booting==<br />
''This section contains information pertaining to the boot process. An overview of the Arch boot process can be found at [[Arch Boot Process]]. For more, please see [[:Category:Boot process (English)]].''<br />
<br />
===Backgrounding daemons===<br />
Daemons are programs that run in the background, and are typically started during boot. In order to speed up the boot process, certain daemons can be ''backgrounded'', allowing the boot process to continue whilst the daemon loads. See [[Daemon]] for a complete explanation.<br />
<br />
===Hardware auto-recognition===<br />
Hardware should be auto-detected by [[udev]] during the boot process by default. A potential improvement in boot time can be achieved by disabling module auto-loading and specifying required modules manually, as described in [[rc.conf#Hardware]]. Additionally [[Xorg]] should be able to auto-detect required drivers using [[HAL]], but users have the option to configure the X server manually, too; see [[Xorg Input Hotplugging]].<br />
<br />
===LILO speed improvement===<br />
Besides [[GRUB]], LILO is the most widely known Linux boot loader, legacy or not. Follow instructions shown in [[LILO#Sample setup]] for making the most out of its features.<br />
<br />
===Num Lock activation at boot===<br />
Num Lock is a toggle key found in most keyboards. For activating Num Lock's number key-assignment during startup, see [[Activating Numlock on Bootup]].<br />
<br />
===Retaining boot messages===<br />
Once it concludes, the screen is cleared and the login prompt appears, leaving users unable to gather feedback from the boot process. [[Disable clearing of boot messages]] to overcome this limitation.<br />
<br />
===Start X at boot===<br />
If utilizing an [[X]] server to provide a graphical user interface, users may wish to start this server during the boot process rather than starting it manually after login. See [[Display Manager]] if desiring a graphical login or [[Start X at boot]] for methods that do not involve a display manager.<br />
<br />
==Console improvements==<br />
''This section applies to small modifications that better console programs' practicality. For more, please see [[:Category:Command shells (English)]] and [[:Category:Utilities (English)]].''<br />
<br />
===Aliases===<br />
Users can define shortcuts for frequently-used commands using a built-in shell command. Common time-saving aliases can be found in [[Core Utilities#alias]].<br />
<br />
===Bash additions===<br />
A list of miscellaneous Bash settings, including completion enhancements, history search and readline macros is available in [[Bash#Tips and tricks]].<br />
<br />
===Compressed files===<br />
Compressed files, or archives, are frequently encountered on a GNU/Linux system. [[Tar]] is one of the most commonly used archiving tools, and users should be familiar with its syntax (Arch Linux packages, for example, are simply gzipped tarballs). See [[Core Utilities#extract]] for other helpful commands.<br />
<br />
===Mouse support===<br />
Using a mouse with the console for copy-paste operations can be preferred over GNU [[screen]]'s traditional copy mode. Refer to [[Console Mouse Support]] for comprehensive directions.<br />
<br />
==Input==<br />
''This section contains popular input device configuration tips. For more, please see [[:Category:Input devices (English)]].''<br />
<br />
===Configure all mouse buttons===<br />
Owners of advanced or unusual mice may find that not all mouse buttons are recognized by default, or may wish to assign different actions for extra buttons. Instructions can be found in [[Get All Mouse Buttons Working]].<br />
<br />
===Keyboard layouts===<br />
Non-English or otherwise non-standard keyboards may not function as expected by default. To define the keymap in virtual consoles, the [[KEYMAP]] variable must be set in [[rc.conf]]. For [[Xorg]] users, the required changes are described in [[Xorg#Keyboard layout]].<br />
<br />
===Laptop touchpads===<br />
Many laptops use [http://www.synaptics.com/ Synaptics] or [http://www.alps.com/ ALPS] "touchpad" pointing devices. These, and several other touchpad models, use the Synaptics input driver; see [[Touchpad Synaptics]] for installation and configuration details.<br />
<br />
==Networking==<br />
''This section is confined to small networking procedures. Head over to [[Network]] for a full guide. For more, please see [[:Category:Networking (English)]].''<br />
<br />
===Disable IPv6===<br />
Not only does the IPv6 module take around 250k of memory, it has also been reported that disabling the feature notoriously speeds up network access for programs that erroneously try to query servers with this newer version. Incidentally, [[Firefox]] is listed among the affected applications. So until the widespread adoption of IPv6, one may benefit by [[IPv6 - Disabling the Module|disabling the module]].<br />
<br />
===DNS speed improvement===<br />
To improve load time by caching queries, use [[pdnsd]], a very simple DNS server that does not attempt to fill every need. Or install [[dnsmasq]], a broader choice which also supports turning the system into a DHCP server.<br />
<br />
===DNSSEC validation===<br />
For better security while browsing web, paying online, connecting to [[SSH]] services and similar tasks you should consider using [[DNSSEC]] enabled client software which can validate signed [[DNS]] records...<br />
<br />
==Optimization==<br />
''This section aims to summarize tweaks, tools and available options useful to improve system and application performance.<br />
<br />
===Benchmarking===<br />
[[Benchmarking]] is the act of measuring performance and comparing the results to another system's results or a widely accepted standard through a unified procedure.<br />
<br />
===Maximizing Performance===<br />
The [[Maximizing Performance]] article gathers information and is a basic rundown about gaining performance in Arch Linux.<br />
<br />
==Package management==<br />
''This section contains helpful information related to package management. All users should at least be familiar with the [[pacman]] package manager. For more, please see [[:Category:Package management (English)]].''<br />
<br />
===Aliases for pacman===<br />
Aliasing a command, or a group thereof, is a way of saving time when using the console. This is specially helpful for repetitive tasks that don't need significant alteration to their parameters between executions. Various time saving pacman aliases are organized in [[pacman Tips]], besides other suggested tools.<br />
<br />
===Arch Build System===<br />
''Ports'' is a system initially used by BSD distributions consisting of build scripts that reside in a directory tree on the local system. Simply put, each port contains a script within a directory intuitively named after the installable third-party application.<br />
<br />
The [[ABS]] tree offers the same functionality by providing build scripts called [[PKGBUILD]]s, which are populated with information for a given piece of software; integrity hashes, project URL, version, license and build instructions. These PKGBUILDs are later parsed by [[makepkg]], the actual program that generates packages cleanly manageable by pacman.<br />
<br />
Every package in the repositories along with those present in the AUR are subject to recompilation with makepkg.<br />
<br />
===Arch User Repository===<br />
While the [[ABS]] tree allows the ability of building software available in the official repositories, the [[AUR]] is the equivalent for user submitted packages. It is an unsupported repository of build scripts accessible through the [http://aur.archlinux.org/index.php web interface] or by an [[AUR helper]].<br />
<br />
An [[AUR helper]] can add seamless access to the [[AUR]]. They may vary in features, but all ease in searching, fetching, building, and installing from over 20,000 PKGBUILDs found in the unofficial repository.<br />
<br />
===Mirrors===<br />
Visit [[Mirrors]] for steps on taking full advantage of using the fastest and most up to date pacman mirrors. As explained in the article, a particularly good advice is to routinely check [http://users.archlinux.de/~gerbra/mirrorcheck.html Mirrorcheck] and/or [http://www.archlinux.de/?page=MirrorStatus Mirror status] for a list of mirrors that have been recently synced.<br />
<br />
==Power management==<br />
''This section may be of use to laptop owners or users otherwise seeking power management controls. For more, please see [[:Category:Power management (English)]].''<br />
<br />
===acpid===<br />
Users can configure how the system reacts to ACPI events such as pressing the power button or closing a laptop's lid using [[acpid]].<br />
<br />
===CPU frequency scaling===<br />
Modern processors can decrease their frequency and voltage to reduce heat and power consumption. Less heat leads to a quieter system and prolongs the life of hardware. [[cpufrequtils]] is a set of utilities designed to assist CPU frequency scaling.<br />
<br />
===Laptops===<br />
For articles related to portable computing along with model-specific installation guides, please see [[:Category:Laptops (English)]]. For a general overview of laptop-related articles and recommendations, see [[Laptop]].<br />
<br />
===Suspending and hibernation===<br />
Several options are available to users desiring suspend-to-RAM (sleep/stand-by) and suspend-to-disk (hibernate) functionality. [[pm-utils]] describes one popular method, while [[hibernate-script]] is an older alternative that does not depend on Xorg packages. [[Tuxonice]] is an option growing in popularity and, while it claims to have more features than the other two options, requires kernel patching or the use of [http://aur.archlinux.org/packages.php?ID=15224 kernel26-ice] available in AUR.<br />
<br />
==System administration==<br />
''This section deals with administrative tasks and system management. For more, please see [[:Category:System administration (English)]].''<br />
<br />
===Log maintenance===<br />
By default, log files are rotated using [[logrotate]], which rotates existing log files to an alternatively named file (suffixed with a number) and empties the original log files. Logrotate is typically executed via [[cron]] job; users must ensure the cron daemon is running in order to initiate log rotation.<br />
<br />
Users of the {{Package Official|syslog-ng}} ''syslog'' daemon may wish to configure [[Syslog-ng#ISO 8601 timestamps|ISO 8601 timestamps]] (yyyy-mm-ddThh:mm:ss-zz:zz) in log files.<br />
<br />
===Privilege escalation===<br />
A new installation leaves users with only the super user account, better known as root. Logging in as root for prolonged periods of time is widely considered to be foolish and insecure. Instead, users should [[User Management|create]] and use unprivileged user accounts for most tasks, only using the root account for system administration. The [[su]] (substitute user) command allows assuming the identity of another user on the system (usually root) from an existing login, whereas the [[sudo]] command grants temporary privilege escalation for a specific command.<br />
<br />
===Users and groups===<br />
[[User Management|Users]] and [[groups]] are used on GNU/Linux for ''access control''; administrators may fine-tune group membership and ownership to grant or deny users and services access to system resources. Access to peripheral devices such as optical (CD/DVD) drives and sound hardware often requires membership in an appropriate group.<br />
<br />
===Windows networking===<br />
To enable communication between Windows and Arch Linux machines across a network, users can use [[Samba]]; a re-implementation of the SMB/CIFS networking protocol.<br />
<br />
==System services==<br />
''This section relates to [[daemons]]. For more, please see [[:Category:Daemons and system services (English)]].''<br />
<br />
===HAL===<br />
After having installed a desktop environment or window manager, installing [[HAL]] seems like a natural follow-up since it enables plug-and-play functionality for mobile phones, MP3 players, external HDDs, and other hardware. Often, HAL is used to mount the device and make an icon on a convenient place, like the desktop or in 'My Computer', allowing access to the peripheral soon after it has been plugged in. Altogether, this avoids manual [[fstab]] configuration or making [[udev]] rules for each and every new device.<br />
<br />
[[KDE]], [[GNOME]] and [[Xfce]] all use [[HAL]].<br />
<br />
===Local mail delivery===<br />
A default base setup bestows no means for mail syncing. To configure Postfix for simple local mailbox delivery, see [[Local Mail Delivery with Postfix]]. Other options are [[SSMTP]], [[MSMTP]] and [[fdm]].<br />
<br />
==X Window System==<br />
''[[Xorg]] is the public, open-source implementation of the X Window System version 11. If a graphical user interface is desired, the majority of users will use Xorg. See [[:Category:X Server (English)]] for additional resources.''<br />
<br />
===Desktop environments===<br />
Whilst [[Xorg]] provides the basic framework for building a graphical environment, there are additional components that may be considered necessary for a complete user experience. [[Desktop environment]]s such as [[GNOME]], [[KDE]], [[LXDE]], and [[Xfce]] bundle together a wide range of ''X clients'', such as a window manager, panel, file manager, terminal emulator, text editor, icons, and other utilities. See [[:Category:Desktop environments (English)]] for a complete list and additional resources.<br />
<br />
===Display drivers===<br />
The default ''vesa'' display driver will work with most video cards, but performance can be significantly improved and additional features harnessed by installing the appropriate driver for [[ATI]], [[Intel]], or [[NVIDIA]] products.<br />
<br />
===Window managers===<br />
A full-fledged [[desktop environment]] provides a complete and consistent graphical user interface, but tends to consume a considerable amount of system resources. Users seeking to maximize performance or otherwise simplify their environment may opt to install a [[window manager]] instead and hand-pick desired extras. An alternative window manager can also be used with most desktop environments. [[:Category:Dynamic WMs (English)|Dynamic]], [[:Category:Stacking WMs (English)|stacking]], and [[:Category:Tiling WMs (English)|tiling]] window managers differ in their handling of window placement.</div>Xehozhttps://wiki.archlinux.org/index.php?title=General_recommendations&diff=116668General recommendations2010-09-09T22:44:06Z<p>Xehoz: Added Optimization section and reordered the Networking section to reinstate alphabetical order.</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|General Recommendations}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|An annotated index of recommended readings. Covers a wide variety of subjects relevant to both new and experienced users alike. See [[Common Applications]] and [[Lightweight Applications]] for lists of frequently-used software.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|FAQ}}<br />
{{Article summary end}}<br />
<br />
This document is an annotated index of other popular articles and important information. Various pages listed here will require using [[pacman]] to install additional packages present in the [[Official Repositories]], and those in the unofficial [[Arch User Repository]] by employing [[makepkg]] with the optional aid of an [[AUR helper]]. As such, the concept of package management should be fully understood before continuing.<br />
<br />
Readers are assumed to have read and followed the [[Beginners' Guide]] or [[Official Arch Linux Install Guide]] to obtain a basic Arch Linux installation. Furthermore, there exist several software packages normally considered crucial requirements for a functional system. For example, if a graphical interface is desired, please read [[Xorg]] first, whereas those interested in printing should make reviewing [[CUPS]] a priority. All users can familiarize themselves with the file system by reading [[Filesystem Hierarchy Standard]]. <br />
<br />
==Appearance==<br />
''This section contains frequently-sought "eye candy" tweaks for an aesthetically pleasing Arch experience. For more, please see [[:Category:Eye candy (English)]].''<br />
<br />
===Colored output===<br />
Even though a number of applications have built-in color capabilities, using a general-purpose, colorizing wrapper such as cope is another route. Install {{package AUR|cope}} or {{package AUR|cope-git}}, the more often updated [[Git]] version, from the [[AUR]]. {{Package AUR|acoc}} and {{Package AUR|cw}} are similar alternatives.<br />
<br />
====Console prompt====<br />
The console prompt (PS1) can be customized to a great extent. See the [http://bbs.archlinux.org/viewtopic.php?id=50885 What's your PS1?] forum thread for ideas. Also see [[Color Bash Prompt]] or [[Zsh#Prompts]] if using Bash or Zsh, respectively.<br />
<br />
====Core utilities====<br />
Colorizing the output of specific core utilities such as '''grep''' and '''ls''' is covered in the [[Core Utilities]] article.<br />
<br />
====Emacs shell====<br />
Emacs is known for featuring options beyond the duties of regular text editing, one of these being a full shell replacement. Consult [[Emacs#Colored output issues]] for a fix regarding garbled characters that may result from enabling colored output.<br />
<br />
====Man pages====<br />
Man pages (or manual pages) are one of the most useful resources available to GNU/Linux users. To aid readability, the pager can be configured to render colored text as explained in [[Man Page#Colored man pages]].<br />
<br />
===Fonts===<br />
A plethora of information on the subject can be found in the [[Fonts]] and [[Font Configuration]] articles.<br />
<br />
====Console fonts====<br />
If spending a significant amount of time working from the virtual console (i.e. outside an X server), users may wish to change the console font to improve readability; see [[Fonts#Console fonts]].<br />
<br />
====LCD filtered fonts====<br />
Font rendering software can be patched to provide smoother fonts on LCD monitors by taking advantage of sub-pixel elements; see [[Font Configuration#LCD filter patched packages]].<br />
<br />
==Booting==<br />
''This section contains information pertaining to the boot process. An overview of the Arch boot process can be found at [[Arch Boot Process]]. For more, please see [[:Category:Boot process (English)]].''<br />
<br />
===Backgrounding daemons===<br />
Daemons are programs that run in the background, and are typically started during boot. In order to speed up the boot process, certain daemons can be ''backgrounded'', allowing the boot process to continue whilst the daemon loads. See [[Daemon]] for a complete explanation.<br />
<br />
===Hardware auto-recognition===<br />
Hardware should be auto-detected by [[udev]] during the boot process by default. A potential improvement in boot time can be achieved by disabling module auto-loading and specifying required modules manually, as described in [[rc.conf#Hardware]]. Additionally [[Xorg]] should be able to auto-detect required drivers using [[HAL]], but users have the option to configure the X server manually, too; see [[Xorg Input Hotplugging]].<br />
<br />
===LILO speed improvement===<br />
Besides [[GRUB]], LILO is the most widely known Linux boot loader, legacy or not. Follow instructions shown in [[LILO#Sample setup]] for making the most out of its features.<br />
<br />
===Num Lock activation at boot===<br />
Num Lock is a toggle key found in most keyboards. For activating Num Lock's number key-assignment during startup, see [[Activating Numlock on Bootup]].<br />
<br />
===Retaining boot messages===<br />
Once it concludes, the screen is cleared and the login prompt appears, leaving users unable to gather feedback from the boot process. [[Disable clearing of boot messages]] to overcome this limitation.<br />
<br />
===Start X at boot===<br />
If utilizing an [[X]] server to provide a graphical user interface, users may wish to start this server during the boot process rather than starting it manually after login. See [[Display Manager]] if desiring a graphical login or [[Start X at boot]] for methods that do not involve a display manager.<br />
<br />
==Console improvements==<br />
''This section applies to small modifications that better console programs' practicality. For more, please see [[:Category:Command shells (English)]] and [[:Category:Utilities (English)]].''<br />
<br />
===Aliases===<br />
Users can define shortcuts for frequently-used commands using a built-in shell command. Common time-saving aliases can be found in [[Core Utilities#alias]].<br />
<br />
===Bash additions===<br />
A list of miscellaneous Bash settings, including completion enhancements, history search and readline macros is available in [[Bash#Tips and tricks]].<br />
<br />
===Compressed files===<br />
Compressed files, or archives, are frequently encountered on a GNU/Linux system. [[Tar]] is one of the most commonly used archiving tools, and users should be familiar with its syntax (Arch Linux packages, for example, are simply gzipped tarballs). See [[Core Utilities#extract]] for other helpful commands.<br />
<br />
===Mouse support===<br />
Using a mouse with the console for copy-paste operations can be preferred over GNU [[screen]]'s traditional copy mode. Refer to [[Console Mouse Support]] for comprehensive directions.<br />
<br />
==Input==<br />
''This section contains popular input device configuration tips. For more, please see [[:Category:Input devices (English)]].''<br />
<br />
===Configure all mouse buttons===<br />
Owners of advanced or unusual mice may find that not all mouse buttons are recognized by default, or may wish to assign different actions for extra buttons. Instructions can be found in [[Get All Mouse Buttons Working]].<br />
<br />
===Keyboard layouts===<br />
Non-English or otherwise non-standard keyboards may not function as expected by default. To define the keymap in virtual consoles, the [[KEYMAP]] variable must be set in [[rc.conf]]. For [[Xorg]] users, the required changes are described in [[Xorg#Keyboard layout]].<br />
<br />
===Laptop touchpads===<br />
Many laptops use [http://www.synaptics.com/ Synaptics] or [http://www.alps.com/ ALPS] "touchpad" pointing devices. These, and several other touchpad models, use the Synaptics input driver; see [[Touchpad Synaptics]] for installation and configuration details.<br />
<br />
==Networking==<br />
''This section is confined to small networking procedures. Head over to [[Network]] for a full guide. For more, please see [[:Category:Networking (English)]].''<br />
<br />
===Disable IPv6===<br />
Not only does the IPv6 module take around 250k of memory, it has also been reported that disabling the feature notoriously speeds up network access for programs that erroneously try to query servers with this newer version. Incidentally, [[Firefox]] is listed among the affected applications. So until the widespread adoption of IPv6, one may benefit by [[IPv6 - Disabling the Module|disabling the module]].<br />
<br />
===DNS speed improvement===<br />
To improve load time by caching queries, use [[pdnsd]], a very simple DNS server that does not attempt to fill every need. Or install [[dnsmasq]], a broader choice which also supports turning the system into a DHCP server.<br />
<br />
===DNSSEC validation===<br />
For better security while browsing web, paying online, connecting to [[SSH]] services and similar tasks you should consider using [[DNSSEC]] enabled client software which can validate signed [[DNS]] records...<br />
<br />
==Optimization==<br />
''This section aims to summarize tweaks, tools and available options useful to improve system and application performance.<br />
<br />
===Benchmarking===<br />
[[Benchmarking]] is the act of measuring performance and comparing the results to another system's results or a widely accepted standard through a unified procedure.<br />
<br />
===Maximizing Performance===<br />
The [[Maximizing Performance]] article gathers information and is a basic rundown about gaining performance in Arch Linux.<br />
<br />
==Package management==<br />
''This section contains helpful information related to package management. All users should at least be familiar with the [[pacman]] package manager. For more, please see [[:Category:Package management (English)]].''<br />
<br />
===Aliases for pacman===<br />
Aliasing a command, or a group thereof, is a way of saving time when using the console. This is specially helpful for repetitive tasks that don't need significant alteration to their parameters between executions. Various time saving pacman aliases are organized in [[pacman Tips]], besides other suggested tools.<br />
<br />
===Arch Build System===<br />
''Ports'' is a system initially used by BSD distributions consisting of build scripts that reside in a directory tree on the local system. Simply put, each port contains a script within a directory intuitively named after the installable third-party application.<br />
<br />
The [[ABS]] tree offers the same functionality by providing build scripts called [[PKGBUILD]]s, which are populated with information for a given piece of software; integrity hashes, project URL, version, license and build instructions. These PKGBUILDs are later parsed by [[makepkg]], the actual program that generates packages cleanly manageable by pacman.<br />
<br />
Every package in the repositories along with those present in the AUR are subject to recompilation with makepkg.<br />
<br />
===Arch User Repository===<br />
While the [[ABS]] tree allows the ability of building software available in the official repositories, the [[AUR]] is the equivalent for user submitted packages. It is an unsupported repository of build scripts accessible through the [http://aur.archlinux.org/index.php web interface] or by an [[AUR helper]].<br />
<br />
An [[AUR helper]] can add seamless access to the [[AUR]]. They may vary in features, but all ease in searching, fetching, building, and installing from over 20,000 PKGBUILDs found in the unofficial repository.<br />
<br />
===Mirrors===<br />
Visit [[Mirrors]] for steps on taking full advantage of using the fastest and most up to date pacman mirrors. As explained in the article, a particularly good advice is to routinely check [http://users.archlinux.de/~gerbra/mirrorcheck.html Mirrorcheck] and/or [http://www.archlinux.de/?page=MirrorStatus Mirror status] for a list of mirrors that have been recently synced.<br />
<br />
==Power management==<br />
''This section may be of use to laptop owners or users otherwise seeking power management controls. For more, please see [[:Category:Power management (English)]].''<br />
<br />
===acpid===<br />
Users can configure how the system reacts to ACPI events such as pressing the power button or closing a laptop's lid using [[acpid]].<br />
<br />
===CPU frequency scaling===<br />
Modern processors can decrease their frequency and voltage to reduce heat and power consumption. Less heat leads to a quieter system and prolongs the life of hardware. [[cpufrequtils]] is a set of utilities designed to assist CPU frequency scaling.<br />
<br />
===Laptops===<br />
For articles related to portable computing along with model-specific installation guides, please see [[:Category:Laptops (English)]]. For a general overview of laptop-related articles and recommendations, see [[Laptop]].<br />
<br />
===Suspending and hibernation===<br />
Several options are available to users desiring suspend-to-RAM (sleep/stand-by) and suspend-to-disk (hibernate) functionality. [[pm-utils]] describes one popular method, while [[hibernate-script]] is an older alternative that does not depend on Xorg packages.<br />
<br />
==System administration==<br />
''This section deals with administrative tasks and system management. For more, please see [[:Category:System administration (English)]].''<br />
<br />
===Log maintenance===<br />
By default, log files are rotated using [[logrotate]], which rotates existing log files to an alternatively named file (suffixed with a number) and empties the original log files. Logrotate is typically executed via [[cron]] job; users must ensure the cron daemon is running in order to initiate log rotation.<br />
<br />
Users of the {{Package Official|syslog-ng}} ''syslog'' daemon may wish to configure [[Syslog-ng#ISO 8601 timestamps|ISO 8601 timestamps]] (yyyy-mm-ddThh:mm:ss-zz:zz) in log files.<br />
<br />
===Privilege escalation===<br />
A new installation leaves users with only the super user account, better known as root. Logging in as root for prolonged periods of time is widely considered to be foolish and insecure. Instead, users should [[User Management|create]] and use unprivileged user accounts for most tasks, only using the root account for system administration. The [[su]] (substitute user) command allows assuming the identity of another user on the system (usually root) from an existing login, whereas the [[sudo]] command grants temporary privilege escalation for a specific command.<br />
<br />
===Users and groups===<br />
[[User Management|Users]] and [[groups]] are used on GNU/Linux for ''access control''; administrators may fine-tune group membership and ownership to grant or deny users and services access to system resources. Access to peripheral devices such as optical (CD/DVD) drives and sound hardware often requires membership in an appropriate group.<br />
<br />
===Windows networking===<br />
To enable communication between Windows and Arch Linux machines across a network, users can use [[Samba]]; a re-implementation of the SMB/CIFS networking protocol.<br />
<br />
==System services==<br />
''This section relates to [[daemons]]. For more, please see [[:Category:Daemons and system services (English)]].''<br />
<br />
===HAL===<br />
After having installed a desktop environment or window manager, installing [[HAL]] seems like a natural follow-up since it enables plug-and-play functionality for mobile phones, MP3 players, external HDDs, and other hardware. Often, HAL is used to mount the device and make an icon on a convenient place, like the desktop or in 'My Computer', allowing access to the peripheral soon after it has been plugged in. Altogether, this avoids manual [[fstab]] configuration or making [[udev]] rules for each and every new device.<br />
<br />
[[KDE]], [[GNOME]] and [[Xfce]] all use [[HAL]].<br />
<br />
===Local mail delivery===<br />
A default base setup bestows no means for mail syncing. To configure Postfix for simple local mailbox delivery, see [[Local Mail Delivery with Postfix]]. Other options are [[SSMTP]], [[MSMTP]] and [[fdm]].<br />
<br />
==X Window System==<br />
''[[Xorg]] is the public, open-source implementation of the X Window System version 11. If a graphical user interface is desired, the majority of users will use Xorg. See [[:Category:X Server (English)]] for additional resources.''<br />
<br />
===Desktop environments===<br />
Whilst [[Xorg]] provides the basic framework for building a graphical environment, there are additional components that may be considered necessary for a complete user experience. [[Desktop environment]]s such as [[GNOME]], [[KDE]], [[LXDE]], and [[Xfce]] bundle together a wide range of ''X clients'', such as a window manager, panel, file manager, terminal emulator, text editor, icons, and other utilities. See [[:Category:Desktop environments (English)]] for a complete list and additional resources.<br />
<br />
===Display drivers===<br />
The default ''vesa'' display driver will work with most video cards, but performance can be significantly improved and additional features harnessed by installing the appropriate driver for [[ATI]], [[Intel]], or [[NVIDIA]] products.<br />
<br />
===Window managers===<br />
A full-fledged [[desktop environment]] provides a complete and consistent graphical user interface, but tends to consume a considerable amount of system resources. Users seeking to maximize performance or otherwise simplify their environment may opt to install a [[window manager]] instead and hand-pick desired extras. An alternative window manager can also be used with most desktop environments. [[:Category:Dynamic WMs (English)|Dynamic]], [[:Category:Stacking WMs (English)|stacking]], and [[:Category:Tiling WMs (English)|tiling]] window managers differ in their handling of window placement.</div>Xehozhttps://wiki.archlinux.org/index.php?title=Apache_OpenOffice&diff=116600Apache OpenOffice2010-09-08T03:02:11Z<p>Xehoz: /* KDE4 look and feel for OpenOffice */</p>
<hr />
<div>[[Category:Office (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|OpenOffice}}<br />
[http://www.openoffice.org/ OpenOffice] is a leading open-source office software suite for word processing, spreadsheets, presentations, graphics, databases and more.<br />
<br />
==OpenOffice in Arch Linux==<br />
Arch offers 4 trees of binary packages for OpenOffice with different package names:<br />
<br />
'''openoffice-base'''<br />
<br />
This will always be the last released stable version of OpenOffice. <br><br />
Current version: 3.2.0 <br><br />
Start it with "soffice" or from a desktop menu.<br><br />
<br />
'''openoffice-base-beta'''<br />
<br />
This package will be only present when a new release is not far away. It will be the alpha, beta, and release candidates packages for the next stable release. <br><br />
Current version: 3.2.0_ooo320_m12-1 (way to=3.1.1rcX) (versions branched from DEV320_m12 that will lead to next stable 3.2.x release) <br><br />
Start it with "soffice-beta" or from a desktop menu <br><br />
It is safe to install it together with the stable and devel version. <br><br />
Please test it carefully and report upstream bugs to OpenOffice and packaging bugs in our flyspray. <br><br />
See http://wiki.services.openoffice.org/wiki/OOoRelease311 for roadmap<br />
<br />
'''openoffice-base-devel'''<br />
<br />
This packages will be updated from time to time and is a playground for the packager and for testing latest features. Please test and file upstream issues at http://www.openoffice.org/issues/query.cgi <br><br />
Current version: 3.3_dev300_m70-1 / snapshot DEV300_m70 (snapshots past branching the 3.2 stable tree that will lead to 3.3 release and beyond) <br><br />
Start it with "soffice-dev" or from a desktop menu <br><br />
It is safe to install it together with the stable and beta version. <br><br />
See http://wiki.services.openoffice.org/wiki/OOoRelease33 for roadmap<br />
<br />
'''go-openoffice'''<br />
<br />
In addition, there is a package for go-openoffice also called ooo-build - the "Novell fork" in the extra repository, which includes enhancements and features found in versions of openoffice.org available in Ubuntu, OpenSuSE and other distributions. For users of Arch switching from other distributions go-openoffice may be more familiar to them. It will always be the latest stable release in extra based on the source of openoffice-base pkg. Future beta/devel versions will go to the testing repo. <br><br />
Right now go-openoffice cannot be installed along any other openoffice branch; consider it a replacement.<br />
<br />
{{Note|If you play with more than one openoffice-base version it is highly recommended to always backup your configuration directory, ~/.openoffice{2,3}.}}<br />
<br />
==Installation==<br />
* First, install a Java Runtime Environment (optional, highly recommended). See: [[Java]]<br />
<br />
* Also, make sure that fonts are installed, otherwise you will see only rectangles:<br />
# pacman -S ttf-dejavu artwiz-fonts ttf-ms-fonts (and additionally any other needed for your language)<br />
<br />
* Download the base for stable and/or beta and/or devel and/or go-oo:<br />
# pacman -S openoffice-base openoffice-base-beta openoffice-base-devel go-openoffice<br />
<br />
* Download a language package. The main package contains only en_US files, yet the repository offer every shipped upstream langpack, except for go-openoffice.<br />
# pacman -S openoffice-en-GB openoffice-de ....<br />
<br />
===Extension management and spell checking for OpenOffice 3.x===<br />
The Arch package is now shipped with some dictionaries. Check Extension manager if your language is already there simply by loading up any OO program (Writer for example) and access the Extension Manager from the Tools menu. From there enter the following location to install a spell check dictionary:<br />
<br />
/usr/lib/openoffice/share/extension/install/<br />
<br />
{{Note | If you installed go-openoffice, the path will be /usr/lib/go-openoffice/share/extension/install/ instead. }}<br />
<br />
Alternatively, there are several ways to accomplish this:<br />
<br />
* 1) Use the Extension manager from OOo menu for download and installation - installs only for the user into his ~/.openoffice.org/3/user/uno_packages/cache<br />
* 2) Download the extension and install it using "/usr/lib/openoffice/program/unopkg add extension" for the user or<br />
* 3) Download the extension and install it using "/usr/lib/openoffice/program/unopkg add --shared extension" for every user on the system (requires root permission)<br />
<br />
=====Other extensions installed by default=====<br />
(This list is valid for go-openoffice)<br />
* pdfimport.oxt: ability to import PDF files in Draw and Impress<br />
* presenter-screen.oxt: when using two displays this plugin provides more control over slideshow<br />
* sun-presentation-minimizer.oxt: reduce file size of current presentation<br />
* wiki-publisher.oxt: allows to create Wiki articles on MediaWiki servers without having to know the synthax of the MediaWiki markup language<br />
<br />
===Set OOo environment variable===<br />
OpenOffice supports to use several toolkits for drawing and integrates into different desktop environments in a clean way. To choose by hand, you need to set the OOO_FORCE_DESKTOP environment variable.<br />
<br />
To run OpenOffice.org in GTK2 mode(this is default and already preset), you can issue (using bash):<br />
# OOO_FORCE_DESKTOP=gnome soffice<br />
To run OpenOffice.org in QT/KDE3 mode, you can issue (using bash):<br />
# OOO_FORCE_DESKTOP=kde soffice<br />
To run OpenOffice.org in QT4/KDE4 mode, you can issue (using bash):<br />
# OOO_FORCE_DESKTOP=kde4 soffice<br />
<br />
{{Note | As KDE look was removed in Openoffice3 it is highly recommended to use the GTK mode for all users. KDE4 integration is in experimental state in go-openoffice and in openoffice-base-devel (starting from m56)}}<br />
<br />
====Configure OOo environment globally====<br />
To configure the look for anytime OpenOffice gets started, you can export the '''<tt>OOO_FORCE_DESKTOP</tt>''' variable in /etc/profile.d/openoffice.sh, or in /usr/bin/soffice, with the value '''<tt>gnome</tt>''', '''<tt>kde</tt>''', or '''<tt>kde4</tt>'''.<br />
<br />
====Environment variable scripts====<br />
If for whatever reason you do not want to configure the look globaly, as a non-GNOME/KDE user you may run into problems when trying to add the environment variable to the command in a *box menu, as such menus do not seem to like environment variables.<br />
<br />
This script will run openoffice using the GTK look while still accepting command line options like -writer.<br />
#!/bin/sh<br />
<br />
#### openoffice-gtk - A script to start openoffice with the GNOME/GTK environment<br />
<br />
OOO_FORCE_DESKTOP=gnome /usr/bin/soffice "$@"<br />
<br />
Just use this script as a command (e.g, /usr/bin/openoffice-gtk) for your menu or whatever other sort of launcher you use.<br />
<br />
{{Note | If you open a file in a filemanager, for example Thunar, the default look will be used, as the file association will not use your personal script. }}<br />
<br />
===KDE4 look and feel for OpenOffice===<br />
<br />
Check [[Uniform Look for QT and GTK Applications]] for a broad application, general tips and other methods to achieve it.<br />
<br />
'''Method 1:'''<br />
<br />
Open the menu editor, select Office and insert OOO_FORCE_DESKTOP=kde4 before /usr/bin/soffice -(writer/calc/base/etc.) for each OpenOffice application in the general tab/Command field. For example, change /usr/bin/soffice -writer to <br />
OOO_FORCE_DESKTOP=kde4 /usr/bin/soffice -writer<br />
<br />
Save (i.e. update system configuration), open an OpenOffice application and do a CTRL+O to check whether it worked.<br />
<br />
'''Method 2:'''<br />
<br />
OOO_FORCE_DESKTOP=gnome never did the trick for me. A good workaround is to set (as root):<br />
export SAL_GTK_USE_PIXMAPPAINT=1<br />
into /etc/profile.d/openoffice.sh. In KDE4 systemsettings, make sure "use my KDE style in GTK applications" is selected in Appearance > GTK styles and fonts (you must install gtk-qt-engine first).<br />
<br />
'''Method 3:'''<br />
<br />
[[Uniform_Look_for_QT_and_GTK_Applications#KDE4_Oxygen]]. <br />
<br />
Although by default it applies a KDE look to all GTK+ applications, it can be made to apply only to specific applications. Check the documentation in the package available at [http://kde-look.org/content/show.php?content=103741 kde-look's project page].<br />
<br />
'''Method 4:'''<br />
<br />
[[Uniform_Look_for_QT_and_GTK_Applications#GTK-QT-Engine]] (applies to all GTK+ applications).<br />
<br />
====Alternative configuration====<br />
You may wish to set the Xorg server dots-per-inch in the [[KDM]] configuration.<br />
<br />
Do not select "use my KDE style in GTK applications". Instead choose a native syle and font for GTK2 applications.<br />
# pacman -S gtk-chtheme<br />
# pacman -S gtk-engines<br />
<br />
Use gtk-chtheme to select a style (in general different from KDE) and a font (may be the same as your KDE general system font). There are also other GTK engine packages available.<br />
<br />
There are two relevant parts of the OOo options dialog, View and Fonts:<br />
*View<br />
**set scale to 100%<br />
**set use system font OFF (otherwise replacement table will not be used)<br />
**set antialiasing OFF<br />
<br />
*Fonts<br />
**select "Use replacement table"<br />
**replace "Andale Sans UI" (you ''must'' type this in -- it is not in the drop down list) with another font (your KDE system font or another if this looks bad)<br />
**Press the tick symbol to update the list<br />
**Select "always" and "screen only"<br />
**Press OK<br />
<br />
When choosing fonts for OpenOffice note that the poor font rendering engine included in the package may not render a particular font in the same way as other apps on the desktop. Use the {{Filename|kmag}} magnifying glass to examine shape of each letter.<br />
<br />
==Running OpenOffice==<br />
<br />
If you want to run a specific module of OpenOffice.org (instead of the soffice default Startcenter), for example the word processor (Write), spreadsheet application (Calc) or presentation program (Impress), check for the following script front-ends:<br />
<br />
Writer<br />
/usr/bin/soffice -writer<br />
<br />
Calc<br />
/usr/bin/soffice -calc<br />
<br />
Impress<br />
/usr/bin/soffice -impress<br />
<br />
Draw<br />
/usr/bin/soffice -draw<br />
<br />
Math (Formula Editor)<br />
/usr/bin/soffice -math<br />
<br />
Base (Database frontend)<br />
/usr/bin/soffice -base<br />
<br />
Printer Administration (Recommended to run as root)<br />
/usr/bin/spadmin<br />
<br />
==Speed up OpenOffice==<br />
Some settings may improve OpenOffice's loading time and responsiveness. However, some also increase RAM usage, so use them carefully. They can all be accessed under ''Tools > Options''.<br />
*Under ''Memory'':<br />
**Reduce the number of Undo steps to a figure lower than 100, to something like 20 or 30 steps.<br />
**Under Graphics cache, set Use for OpenOffice.org to 128 MB (up from the original 20MB).<br />
**Set Memory per object to 20MB (up from the default 5MB).<br />
**If you use OpenOffice often, check OpenOffice.org Quickstarter.<br />
*Under ''Java'', uncheck Use a Java runtime environment.<br />
==Trouble-shooting==<br />
=== Font substitution ===<br />
These settings can be changed in the OpenOffice.org options. From the drop-down menu, select ''Tools > Options > OpenOffice.org > Fonts''. Check the box that says ''Apply Replacement Table''. Type {{Codeline|Andale Sans UI}} in the font box and choose your desired font for the ''Replace with'' option. When done, click the ''checkmark''. Then choose the ''Always'' and ''Screen only'' options in the box below. Click OK.<br />
You will then need to go to ''Tools > Options > OpenOffice.org > View'', and uncheck "Use system font for user interface". If you use a non-antialised font, such as Arial, you will also need to uncheck "Screen font antialiasing" before menu fonts render correctly.<br />
<br />
=== Anti-aliasing ===<br />
Execute<br />
$ echo "Xft.lcdfilter: lcddefault" | xrdb -merge<br />
<br />
To make the change persistent, add "{{Codeline|Xft.lcdfilter: lcddefault}}" to your {{Filename|~/.Xresources}} file. [https://bugs.launchpad.net/ubuntu/+source/openoffice.org/+bug/271283/comments/19].<br />
<br />
If this doesn't work you can also try adding "{{Codeline|Xft.lcdfilter: lcddefault}}" to your {{Filename|~/.Xdefaults}}. If you do not have this file, you will have to create it.<br />
<br />
=== TrueType font detection ===<br />
See [[Font Configuration#Programs can no longer access TrueType fonts]]. To add fonts to those already available in OpenOffice, run {{Codeline|spadmin}}.<br />
<br />
===Qt looks with KDE >4===<br />
OpenOffice has transitioned to Qt 4, and as such the look of the applications can not be set with Qt 3 tools.<br />
<br />
===French dictionary===<br />
As of openoffice 3.0.0-2 the french dictionary is buggy due to a character encoding problem. To solve this problem, first execute the following commands (you will need '''zip''' and '''unzip''' packages):<br />
$ cp /usr/lib/openoffice/share/extension/install/dict-fr.oxt dict-fr.oxt<br />
$ unzip dict-fr.oxt -d dict-fr<br />
$ cd dict-fr<br />
$ iconv -f ISO-8859-15 -t UTF-8 dictionaries.xcu > dictionaries.xcu.utf<br />
$ mv dictionaries.xcu.utf dictionaries.xcu<br />
$ zip ../dict-fr.oxt *<br />
$ cd ../<br />
$ rm -r dict-fr<br />
then go in the openoffice extension manager (Tools menu) and install the dictionary from the new dict-fr.oxt file.<br />
<br />
===Dark GTK themes and gtk-qt-engine===<br />
For a quick fix, see [http://aur.archlinux.org/packages.php?ID=22383 openoffice-dark-gtk-fix] or if you have go-openoffice see [http://aur.archlinux.org/packages.php?ID=28879 go-openoffice-dark-gtk-fix] on the AUR. This also sets 'OOO_FORCE_DESKTOP=gnome'. Another fix is to export SAL_USE_VCLPLUGIN=gen (generic X11). See [http://user.services.openoffice.org/en/forum/viewtopic.php?f=16&t=27216#p123942 for more info]<br />
<br />
In 3.2.0 (OOO320m12), the fixes mentioned above do not seem to work. The colors can be configured manually in ''Options -> Appearance'', but Impress and Calc (maybe others too) will stay dark unless you disable automatic detection of high contrast themes first.<br><br />
This can be done by going to ''Options -> Accesibility'' and setting ''Automatically detect high contrast mode of operating system'' to off.<br>Now the colors can be configured in ''Options -> Appearance''.<br />
<br />
=== Hanging when using NFS shares ===<br />
If OpenOffice hangs when trying to open/save a document located on a NFS share, try prepending the following lines with a "#" in /usr/lib/openoffice/program/soffice (/usr/bin/soffice if using go-openoffice):<br />
# file locking now enabled by default<br />
SAL_ENABLE_FILE_LOCKING=1<br />
export SAL_ENABLE_FILE_LOCKING<br />
Original post [http://www.crazysquirrel.com/computing/debian/bugs/openoffice-over-nfs.jspx here]<br />
<br>note: only NFSv3 is affected. NFSv4 works well with OpenOffice.</div>Xehozhttps://wiki.archlinux.org/index.php?title=Uniform_look_for_Qt_and_GTK_applications&diff=116594Uniform look for Qt and GTK applications2010-09-08T02:21:47Z<p>Xehoz: /* KDE4 Oxygen */</p>
<hr />
<div>[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
[[Category:Eye candy (English)]]<br />
{{i18n|Uniform Look for QT and GTK Applications}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|This articles details theme configuration of GTK+ at QT applications to ensure a uniform style. This article will cover configuration, theme engines, tricks and troubleshooting.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|GTK+}}<br />
{{Article summary end}}<br />
<br />
= Introduction =<br />
<br />
[http://en.wikipedia.org/wiki/Qt_(toolkit) Qt]- and [[GTK+]] -based programs both use a different widget toolkit to render the graphical user interface. Each come with different themes, styles and icon sets by default, among other things, so the "look and feel" differ significantly. This article will help you make your Qt and GTK+ applications look similar for a more streamlined and "integrated" desktop experience.<br />
<br />
''"Qt (pronounced "cute") is a cross-platform application development framework, widely used for the development of GUI programs (in which case it is known as a Widget toolkit), and also used for developing non-GUI programs such as console tools and servers."''<br />
<br />
*'''Theme''' - Collection of a style, an icon theme and a colour theme.<br />
*'''Style''' - Graphical layout; look.<br />
*'''Icon Theme''' - Set of global icons.<br />
*'''Colour Theme''' - Set of global colours that are used in conjunction with the style.<br />
<br />
= Styles =<br />
<br />
There are widget style sets available for the purpose of integration, where builds are written and provided for both Qt and GTK+, all major versions included. With these, you can have one look for all applications regardless of the toolkit they had been written with.<br />
<br />
== Changing Styles ==<br />
<br />
To change the style of Qt3 and KDE3 applications in KDE3:<br />
:''Control Center (kcontrol) --> Appearance & Themes --> Style''<br />
<br />
To change the style of Qt3 applications outside of KDE3<br />
:''Qt Configuration (qt3config) --> Appearance --> Select GUI Style''<br />
<br />
To change the style of Qt4 and KDE4 applications in KDE4:<br />
:''System Settings (systemsettings) --> Appearance --> Style''<br />
<br />
To change the style of Qt4 applications outside of KDE4<br />
:''Qt Configuration (qtconfig) --> Appearance --> Select GUI Style''<br />
<br />
To change the GTK+ version 2 style in KDE3:<br />
# pacman -S gtk-chtheme<br />
<br />
Run it and you will be able to make your choice. You can also change the fonts. Please note that any open application must be restarted in order to view the changes. Alternatively, you can do the same with an engine, mentioned further below.<br />
<br />
== KDE4 Oxygen ==<br />
<br />
The QT4 version installs with KDE.<br />
<br />
There's also a GTK+ version called [http://kde-look.org/content/show.php?content=103741 oxygen-molecule] and it's available via [http://aur.archlinux.org/packages.php?ID=26138 AUR]. It's goal is to provide a uniform look for GTK+ applications when used under the KDE desktop environment, by using gtk-engine-pixbuf, a dependency, which is also available via [http://aur.archlinux.org/packages.php?ID=16862 AUR].<br />
<br />
While the AUR package provides some quick and enough instructions to finish the installation, download [http://kde-look.org/content/show.php?content=103741 oxygen-molecule] from KDE-look for further documentation and variations.<br />
<br />
== QtCurve ==<br />
<br />
Available for ''qt4'' (kde4), ''qt3'' (kde3), and ''gtk2'' (gnome) in the '''[extra]''' repository, this highly-configurable style is the most popular all-rounder. It has many controls for various options, ranging from the appearance of buttons to the shape of sliders. You can install all of them using pacman.<br />
# pacman -S qtcurve-gtk2 qtcurve-kde3 qtcurve-kde4<br />
<br />
== Others ==<br />
<br />
Similar style sets are those that look like each other - written and provided for both Qt and GTK+ - but are not necessarily from the same developers. You may have to do some minor tweaking to make them look the same. Below is a list:<br />
<br />
*klearlooks (qt3); clearlooks (gtk2)<br />
<br />
= Theme Engines =<br />
<br />
A Theme Engine can be thought of as a thin layer API which translates themes (excluding icons) between one or more toolkits. These engines add some extra code in the process and it is arguable that this kind of a solution is not as elegant and optimal as using native styles.<br />
<br />
== GTK-QT-Engine ==<br />
<br />
This one is for use by GTK+ applications running in KDE, which basically means this is for KDE. It applies all Qt settings (styles, fonts, not icons though) to the GTK+ applications and uses the style plug-ins directly. Please note that there are rendering issues with some Qt styles.<br />
<br />
# pacman -S gtk-qt-engine<br />
<br />
You can access it from:<br />
:''Control Center (kcontrol) --> Appearance & Themes --> GTK Styles and Fonts''<br />
<br />
If you want to remove it entirely and every trace of it, you should delete the following files:<br />
<br />
*~/.gtkrc2.0-kde<br />
*~/.kde/env/gtk-qt-engine.rc.sh<br />
*~/gtk-qt-engine.rc<br />
<br />
=== Make it work with OpenOffice ===<br />
Set (as root):<br />
export SAL_GTK_USE_PIXMAPPAINT=1<br />
into /etc/profile. In KDE4 systemsettings, make sure "use my KDE style in GTK applications" is selected in Appearance > GTK styles and fonts.<br />
<br />
== QGtkStyle ==<br />
<br />
This is a Qt style which intends to make applications blend perfectly into the GNOME desktop environment by using GTK to render all components. To use this style you must have at least GTK+ 2.0 and Qt 4.3, although Qt 4.4 or higher is preferred.<br />
<br />
{{Note|Beginning with version 4.5 this style is included in Qt. You don't have to install this package yourself, but there is an entry in the AUR for those still interested: [[http://aur.archlinux.org/packages.php?ID=16964 qgtkstyle-svn]].}}<br />
<br />
===Having trouble making your Qt applications use QGtkStyle?===<br />
<br />
Qt won't apply QGtkStyle correctly if GTK is using the [[Uniform Look for QT and GTK Applications#GTK-QT-Engine|GTK-QT-Engine]]. Qt determines whether the [[Uniform Look for QT and GTK Applications#GTK-QT-Engine|GTK-QT-Engine]] is in use by reading the GTK configuration files listed in the environmental variable '''GTK2_RC_FILES'''. If the environmental variable is not set properly, Qt assumes you are using the [[Uniform Look for QT and GTK Applications#GTK-QT-Engine|GTK-QT-Engine]], sets QGtkStyle to use the style GTK style ''Clearlooks'', and outputs an error message:<br />
<br />
QGtkStyle cannot be used together with the GTK_Qt engine.<br />
<br />
Users of [[Openbox]] and other non-GNOME environments may encounter this probem. Here is a solution:<br />
<br />
*Tell Qt where to look for your GTK configuration file by adding the following to your {{Filename|.xinitrc}} file:<br />
**To add multiple paths, separate them with colons.<br />
**The $HOME part will expand to be path to your user's home directory. Using the ~ shortcut won't work.<br />
{{File|name=.xinitrc|content=...<br />
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"<br />
...}}<br />
<br />
*In {{Filename|.gtkrc-2.0}} you must specify a GTK theme. For example:<br />
**This is usually done for you by an [[Uniform Look for QT and GTK Applications#GTK2_styles|application which sets GTK2 Styles]]<br />
{{File|name=.gtkrc-2.0|content=...<br />
gtk-theme-name="Crux"<br />
...}}<br />
However it seems in sume cases those tools insert only an include directive like<br />
{{File|name=.gtkrc-2.0|content=...<br />
include "/usr/share/themes/SomeTheme/gtk-2.0/gtkrc"<br />
...}} which apparently is not recognized by all versions of QGtkStyle. You can hotfix this problem by inserting the gtk-theme-name manually in your .gtkrc-2.0 like above, note however that Gtk2-style-change applications might overwrite that change when you use them.<br />
<br />
To choose your GTK theme for QT apps you must run:<br />
<br />
qtconfig<br />
<br />
= Other Tricks =<br />
== KDE file dialogs for GTK2 apps ==<br />
KGtk is a wrapper script that LD_PRELOAD to force KDE file dialogs (open, save, etc) in GTK2 apps. If you use KDE and prefer its file dialogs over GTK's then you can install kgtk from AUR. Once installed you can run GTK2 applications with kgtk-wrapper in 2 ways (using gimp in the examples).<br />
<br />
Calling kgtk-wrapper directly and using the GTK2 binary as an arguement<br />
/usr/local/bin/kgtk-wrapper gimp<br />
<br />
OR<br />
<br />
Creating a symbolic link to kgtk using the name of the GTK2 binary. Then you can run /usr/local/bin/gimp when you want to run gimp with KDE dialogs.<br />
ln -s /usr/local/bin/kgtk-wrapper /usr/local/bin/gimp<br />
/usr/local/bin/gimp<br />
<br />
== aMSN GTK or KDE dialogs ==<br />
aMSN's TK file dialogs are plain looking but no fear there is a plugin that will allow you to use GTK or KDE file dialogs to match your desktop. You can find the plugin on [http://www.amsn-project.net/plugins.php aMSN's Plugin Page]<br />
<br />
== Using custom GTK style ==<br />
You can use custom styles for specific GTK2 applications. For this, use GTK2_RC_FILES=/path/to/theme/gtk-2.0/gtkrc appname<br />
<br />
For example:<br />
GTK2_RC_FILES=/usr/share/themes/QtCurve/qtk-2.0/gtkrc firefox<br />
It will launch firefox with QtCurve theme.<br />
<br />
= Troubleshooting =<br />
<br />
== How do I set styles for each toolkit? ==<br />
<br />
You can use the following methods to change the theme used in each environment.<br />
<br />
==== KDE3 and QT3 styles ====<br />
* Control Center (kcontrol) --> Appearance & Themes --> Style --> Widget Style<br />
* kde-config --style [name of style]<br />
* /opt/qt/bin/qtconfig<br />
<br />
==== QT4 styles ====<br />
* /usr/bin/qtconfig<br />
<br />
==== GTK2 styles ====<br />
* {{Package Official|lxappearance}}<br />
* {{Package Official|gtk-chtheme}}<br />
* {{Package Official|gtk-theme-switch2}}<br />
* {{Package Official|gtk2_prefs}}<br />
* [[GTK%2B#GTK.2B_2.x|Manual configuration]]<br />
<br />
==== GTK1 styles ====<br />
* switch (gtk-theme-switch package)<br />
<br />
== Themes not working in GTK apps ==<br />
<br />
If the style or theme engine you setup isn't showing in your GTK apps then it's likely your GTK settings files aren't being loaded for some reason. You can check where your system expects to find these files by doing the following..<br />
$ export | grep gtk<br />
<br />
Usually the expected files should be ~/.gtkrc for GTK1, ~/.gtkrc2.0 or ~/.gtkrc2.0-kde for GTK2<br />
<br />
Newer versions of gtk-qt-engine use ~/.gtkrc2.0-kde and set the export variable in ~/.kde/env/gtk-qt-engine.rc.sh<br />
If you recently removed gtk-qt-engine and are trying to set a GTK theme then you must remove ~/.kde/env/gtk-qt-engine.rc.sh and reboot. Doing this will ensure that GTK looks for it's settings in the standard ~/.gtkrc2.0 instead of ~/.gtkrc2.0-kde</div>Xehozhttps://wiki.archlinux.org/index.php?title=Touchpad_Synaptics&diff=116555Touchpad Synaptics2010-09-07T10:09:08Z<p>Xehoz: /* Using {{Filename|.xinitrc}} */</p>
<hr />
<div>{{i18n|Touchpad Synaptics}}<br />
[[de:Synaptics Touchpad Treiber]]<br />
[[Category:Input devices (English)]][[Category:HOWTOs (English)]]<br />
This article details the installation and configuration process of the '''''Synaptics input driver''''' for Synaptics (and ALPS) touchpads found on most notebooks.<br />
<br />
==Installation==<br />
<br />
The Synaptics driver is now bundled as ''xf86-input-synaptics'', and is available in the [[Official_Repositories|[extra] repository]]:<br />
<br />
# pacman -S xf86-input-synaptics<br />
<br />
== Configuration ==<br />
<br />
Configuration for the touchpad should done by an Xorg server configuration file. As of Xorg server 1.8 configuration by HAL policy is deprecated.<br />
<br />
=== Xorg method ===<br />
<br />
Edit ''/etc/X11/xorg.conf'' or ''/etc/xorg.conf'' as root and add '''InputDevice "SynapticsTouchpad" "SendCoreEvents"''' to the ''ServerLayout'':<br />
<br />
Section "ServerLayout"<br />
...<br />
InputDevice "USB Mouse" "CorePointer"<br />
'''''InputDevice "SynapticsTouchpad" "SendCoreEvents"<br />
EndSection<br />
<br />
Add '''Load "synaptics"''' to the ''Module'' section:<br />
Section "Module"<br />
...<br />
Load "glx"<br />
Load "freetype"<br />
'''''Load "synaptics"'''''<br />
...<br />
EndSection<br />
<br />
Lastly, add a new ''InputDevice'' section for the touchpad itself. For example:<br />
<br />
Section "InputDevice"<br />
Identifier "SynapticsTouchpad"<br />
Driver "synaptics"<br />
Option "AlwaysCore" "true" # send events to CorePointer<br />
#Option "Device" "/dev/input/mice"<br />
Option "Device" "/dev/psaux"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "false" # configurable at runtime? security risk<br />
Option "LeftEdge" "1700" # x coord left<br />
Option "RightEdge" "5300" # x coord right<br />
Option "TopEdge" "1700" # y coord top<br />
Option "BottomEdge" "4200" # y coord bottom<br />
Option "FingerLow" "25" # pressure below this level triggers release<br />
Option "FingerHigh" "30" # pressure above this level triggers touch<br />
Option "MaxTapTime" "180" # max time in ms for detecting tap<br />
''Option "VertEdgeScroll" "true" # enable vertical scroll zone''<br />
''Option "HorizEdgeScroll" "true" # enable horizontal scroll zone''<br />
Option "CornerCoasting" "true" # enable continuous scroll with finger in corner<br />
Option "CoastingSpeed" "0.30" # corner coasting speed<br />
Option "VertScrollDelta" "100" # edge-to-edge scroll distance of the vertical scroll<br />
Option "HorizScrollDelta" "100" # edge-to-edge scroll distance of the horizontal scroll<br />
Option "MinSpeed" "0.10" # speed factor for low pointer movement<br />
Option "MaxSpeed" "0.60" # maximum speed factor for fast pointer movement<br />
Option "AccelFactor" "0.0020" # acceleration factor for normal pointer movements<br />
Option "VertTwoFingerScroll" "true" # vertical scroll anywhere with two fingers<br />
Option "HorizTwoFingerScroll" "true" # horizontal scroll anywhere with two fingers<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
EndSection<br />
<br />
The ''italic'' lines are important because users must now explicitly enable the side and bottom scroll zones of the touchpad. If you already had an InputDevice section configured for the old touchpad driver, you'll still need to add these two lines if you wish to use the scroll zones.<br />
<br />
To list '''all''' options in {{Filename|xorg.conf}} format, and their current values use this line:<br />
<br />
synclient -l | awk '/=/{printf "Option \"%s\" \"%s\"\n",$1,$3}'<br />
<br />
Save, exit and restart X. The touchpad should now have working scroll zones. You can further tweak the ''InputDevice'' settings if desired. See [[#Advanced_Configuration | Advanced Configuration]] for more information.<br />
<br />
Note that Xorg will automatically load the '''evdev''' and '''psmouse''' kernel modules required by Synaptics, however you may also add them explicitly to the MODULES array in the /etc/rc.conf file if desired.<br />
<br />
The syntax is similar to the HAL method, for instance:<br />
<br />
<merge key="input.x11_options.RightEdge" type="string">5300</merge><br />
<br />
equates to this Xorg configuration line:<br />
<br />
Option "RightEdge" "5300"<br />
<br />
For more read the man page and look at [[#Fine-tuning_with_synclient]]<br />
<br />
=== HAL policy (deprecated in favor of udev, /etc/X11/xorg.conf.d/10-synaptics.conf) ===<br />
<br />
With [[Xorg input hotplugging|hotplugging]] (enabled by default) and HAL installed and running, your Synaptics should work "out-of-the-box".<br />
<br />
If it doesn't or you want to tweak the configuration, you will need to edit the appropriate HAL policy file (XML format).<br />
Note that in this case.<br />
<br />
Copy '''/usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi''' into '''/etc/hal/fdi/policy/'''<br />
cp /usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi /etc/hal/fdi/policy/<br />
<br />
Now you can modify the new file appending new options.<br />
<br />
Here's a simple template to begin with, covering the more common features:<br />
<br />
<?xml version="1.0" encoding="UTF-8"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.product" contains="Synaptics TouchPad"><br />
<!-- <match key="info.product" contains="AlpsPS/2 ALPS GlidePoint"> #ALPS users may need to use this instead of the above --><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.AlwaysCore" type="string">true</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<merge key="input.x11_options.protocol" type="string">event</merge><br />
<merge key="input.x11_options.touchpadoff" type="string">0</merge><br />
<merge key="input.x11_options.shmconfig" type="string">on</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
<br />
{{Box Note| In the .fdi file, every type must be "string" instead of "float" or "int" as per xorg.conf.}}<br />
{{Box Note| You might need to run '''/etc/rc.d/hal restart''' in order for the changes to take place.}}<br />
<br />
Here is a complete {{Filename|11-x11-synaptics.fdi}} configuration example. Do not use this example blindly. It is best practice to work from the default values ({{Codeline|synclient -l}}) and work from there. For more read the man page and look at [[#Fine-tuning_with_synclient]]:<br />
<br />
<pre><?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<br />
<!-- Type --><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<match key="info.product" contains="Synaptics TouchPad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<br />
<!-- Values --><br />
<br />
<!-- Enable --><br />
<merge key="input.x11_options.TouchpadOff" type="string">0</merge><br />
<br />
<!-- Run-time Configuration Allow --><br />
<merge key="input.x11_options.SHMConfig" type="string">on</merge><br />
<br />
<!-- Edge Limits --><br />
<merge key="input.x11_options.LeftEdge" type="string">1478</merge><br />
<merge key="input.x11_options.RightEdge" type="string">5640</merge><br />
<merge key="input.x11_options.TopEdge" type="string">1274</merge><br />
<merge key="input.x11_options.ButtonEdge" type="string">4752</merge><br />
<br />
<!-- Speed --><br />
<merge key="input.x11_options.MinSpeed" type="string">0.4</merge><br />
<merge key="input.x11_options.MaxSpeed" type="string">0.7</merge><br />
<merge key="input.x11_options.AccelFactor" type="string">0.00995223</merge><br />
<br />
<!-- Pressure --><br />
<merge key="input.x11_options.FingerLow" type="string">24</merge><br />
<merge key="input.x11_options.FingerHigh" type="string">29</merge><br />
<merge key="input.x11_options.FingerPress" type="string">255</merge><br />
<br />
<!-- Tapping --><br />
<!-- Disable --><br />
<merge key="input.x11_options.MaxTapTime" type="string">0</merge><br />
<!-- Detect --><br />
<merge key="input.x11_options.MaxTapMove" type="string">29</merge><br />
<merge key="input.x11_options.MaxDoubleTapTime" type="string">255</merge><br />
<merge key="input.x11_options.SingleTapTimeout" type="string">180</merge><br />
<merge key="input.x11_options.ClickTime" type="string">100</merge><br />
<merge key="input.x11_options.FastTaps" type="string">0</merge><br />
<!-- Buttons (number of fingers) --><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<!-- Tap Dragging --><br />
<merge key="input.x11_options.LockedDrags" type="string">0</merge><br />
<merge key="input.x11_options.LockedDragTimeout" type="string">5000</merge><br />
<!-- Tap Gesture Dragging --><br />
<merge key="input.x11_options.TapAndDragGesture" type="string">0</merge><br />
<!-- Corner Tap Buttons --><br />
<merge key="input.x11_options.RTCornerButton" type="string">0</merge><br />
<merge key="input.x11_options.RBCornerButton" type="string">0</merge><br />
<merge key="input.x11_options.LTCornerButton" type="string">0</merge><br />
<merge key="input.x11_options.LBCornerButton" type="string">0</merge><br />
<br />
<!-- Scrolling --><br />
<!-- Vertical (Right Edge)--><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">true</merge><br />
<merge key="input.x11_options.VerteScrollDelta" type="string">100</merge><br />
<!-- Horizontal (Bottom Edge)--><br />
<merge key="input.x11_options.HorizEdgeScroll" type="string">false</merge><br />
<merge key="input.x11_options.HorizScrollDelta" type="string">100</merge><br />
<!-- Circular Scrolling --><br />
<merge key="input.x11_options.CircularScrolling" type="string">false</merge><br />
<merge key="input.x11_options.CircScrollDelta" type="string">0.1</merge><br />
<merge key="input.x11_options.CircScrollTrigger" type="string">0</merge><br />
<!-- Two Finger --><br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">false</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">false</merge><br />
<!-- Corner Coasting --><br />
<merge key="input.x11_options.CornerCoasting" type="string">false</merge><br />
<merge key="input.x11_options.CoastingSpeed" type="string">0</merge><br />
<br />
<!-- Other --><br />
<!-- Kernel Event Protocol --><br />
<merge key="input.x11_options.GrabEventDevice" type="string">1</merge><br />
<!-- Edge Ignore Boundaries --><br />
<merge key="input.x11_options.AreaLeftEdge" type="string">0</merge><br />
<merge key="input.x11_options.AreaRightEdge" type="string">0</merge><br />
<merge key="input.x11_options.AreaTopEdge" type="string">0</merge><br />
<merge key="input.x11_options.AreaBottomEdge" type="string">0</merge><br />
<!-- Trackstick --><br />
<merge key="input.x11_options.TrackstickSpeed" type="string">40</merge><br />
<!-- Circular Trackpad --><br />
<merge key="input.x11_options.CircularPad" type="string">0</merge><br />
<!-- Trackpad w/ Scroll Buttons --><br />
<merge key="input.x11_options.UpDownScrolling" type="string">1</merge><br />
<merge key="input.x11_options.LeftRightScrolling" type="string">1</merge><br />
<merge key="input.x11_options.UpDownScrollRepeat" type="string">1</merge><br />
<merge key="input.x11_options.LeftRightScrollRepeat" type="string">1</merge><br />
<merge key="input.x11_options.ScrollButtonRepeat" type="string">100</merge><br />
<!-- Multi-function Buttons --><br />
<merge key="input.x11_options.ClickFinger1" type="string">1</merge><br />
<merge key="input.x11_options.ClickFinger2" type="string">1</merge><br />
<merge key="input.x11_options.ClickFinger3" type="string">1</merge><br />
<!-- Edge Movements (Pressure and Speed) --><br />
<merge key="input.x11_options.EdgeMotionMinZ" type="string">29</merge><br />
<merge key="input.x11_options.EdgeMotionMaxZ" type="string">159</merge><br />
<merge key="input.x11_options.EdgeMotionMinSpeed" type="string">1</merge><br />
<merge key="input.x11_options.EdgeMotionMaxSpeed" type="string">401</merge><br />
<merge key="input.x11_options.EdgeMotionUseAlways" type="string">0</merge><br />
<!-- Pressure Motion --><br />
<merge key="input.x11_options.PressureMotionMinZ" type="string">29</merge><br />
<merge key="input.x11_options.PressureMotionMaxZ" type="string">159</merge><br />
<merge key="input.x11_options.PressureMotionMinFactor" type="string">1</merge><br />
<merge key="input.x11_options.PressureMotionMaxFactor" type="string">1</merge><br />
<!-- Emulations --><br />
<merge key="input.x11_options.EmulateMidButtonTime" type="string">75</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">280</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinW" type="string">7</merge><br />
<!-- Palm Detection --><br />
<merge key="input.x11_options.PalmDetect" type="string">0</merge><br />
<merge key="input.x11_options.PalmMinWidth" type="string">10</merge><br />
<merge key="input.x11_options.PalmMinZ" type="string">199</merge><br />
<!-- Guest Mouse --><br />
<merge key="input.x11_options.GuestMouseOff" type="string">0</merge><br />
<br />
</match><br />
</device><br />
</deviceinfo></pre><br />
<br />
=== udev ===<br />
Same as HAL, but settings go in /etc/X11/xorg.conf.d/10-synaptics.conf instead of /etc/hal/fdi/policy/11-x11-synaptics.fdi. See http://andreascarpino.it/2010/04/xorg-1-8-synaptics-touchpad-configuration/.<br />
<br />
=== Advanced policy configuration ===<br />
<br />
The Synaptics driver allows for a vast amount of options to be tweaked. Luckily, all of them are consistently named and well documented in Synaptic's manpage.<br />
<br />
man synaptics<br />
<br />
==== Other products ====<br />
<br />
* ALPS users may try the following if the above does not work:<br />
<br />
<match key="info.product" contains="AlpsPS/2 ALPS"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<br />
* Apple users with MacBook (1,1 2,1 etc...)<br />
<br />
<match key="info.product" contains="appletouch"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<br />
* Apple users with latest MacBook (5,1)<br />
<br />
<match key="info.product" contains="bcm5974"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<br />
{{Box Note| You can find the exact information for your touchpad in /proc/bus/input/devices.}}<br />
<br />
Or, if you find HAL is not loading your settings, try this template (the "append" child is necessary for some setups):<br />
<br />
<pre><br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.product" contains="SynPS/2 Synaptics TouchPad"><br />
<append key="info.capabilities" type="strlist">input.touchpad</append><br />
</match><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
[...]<br />
</match><br />
</device><br />
</deviceinfo><br />
</pre><br />
<br />
==== ALPS Touchpads ====<br />
<br />
For ALPS Touchpads, if the above configuration does not provide the desired results, try the following configuration instead:<br />
<br />
Section "ServerLayout"<br />
...<br />
InputDevice "USB Mouse" "CorePointer"<br />
InputDevice "Touchpad" "SendCoreEvents"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "FingerLow" "7"<br />
Option "FingerHigh" "8"<br />
Option "MaxTapTime" "180"<br />
Option "MaxTapMove" "110"<br />
Option "EmulateMidButtonTime" "75"<br />
Option "VertScrollDelta" "20"<br />
Option "HorizScrollDelta" "20"<br />
Option "MinSpeed" "0.25"<br />
Option "MaxSpeed" "0.50"<br />
Option "AccelFactor" "0.010"<br />
Option "EdgeMotionMinSpeed" "200"<br />
Option "EdgeMotionMaxSpeed" "200"<br />
Option "UpDownScrolling" "1"<br />
Option "CircularScrolling" "1"<br />
Option "CircScrollDelta" "0.1"<br />
Option "CircScrollTrigger" "2"<br />
Option "SHMConfig" "on"<br />
Option "Emulate3Buttons" "on"<br />
EndSection<br />
<br />
==Advanced Configuration==<br />
<br />
===Input device options===<br />
<br />
There are a number of arbitrary parameters that can be tweaked for Synaptics touchpads. The following is a brief list of some of these options--see '''man synaptics''' for full details:<br />
<br />
{| class="wikitable" <br />
|-align="left"<br />
!+Option+<br />
!width=400|+Description+<br />
!width=200|+Type+<br />
|-<br />
|'''Device'''<br />
|Input device location. See [[#Troubleshooting | Troubleshooting]] to find your device handler if it isn't /dev/input/mouse0<br />
|String<br />
|-<br />
|'''MinSpeed'''<br />
|Minimum cursor speed<br />
|Decimal(float)<br />
|-<br />
|'''MaxSpeed'''<br />
|Maximum cursor speed<br />
|Decimal(float)<br />
|-<br />
|'''AccelFactor'''<br />
|Cursor Acceleration Factor<br />
|Decimal(float)<br />
|-<br />
|'''HorizScrollDelta'''<br />
|Horizontal [edge] scrolling speed(lower means faster)<br />
|Integer<br />
|-<br />
|'''VertScrollDelta'''<br />
|Vertical [edge] scrolling speed(lower means faster)<br />
|Integer<br />
|-<br />
|'''SHMConfig'''<br />
|height=100|Activation of shared memory(must be enabled for real-time configuration or [Disable touchpad upon external mouse detection| udev-based disabling]<br />
|Boolean<br />
|}<br />
<br />
===Gsynaptics===<br />
<br />
Once the touchpad is configured, users can also install the '''gsynaptics''' package from [community] to provide a GUI-based configuration solution for the device (note that it depends on libgnomeui):<br />
# pacman -S gsynaptics<br />
<br />
'''''Note:''' The '''gsynaptics''' web page [http://gsynaptics.sourceforge.jp/] indicates that it is becoming obsolete and users should consider '''GPointingDeviceSettings''' [http://live.gnome.org/GPointingDeviceSettings], currently available in AUR and as source code.''<br />
<br />
With hotplugging enabled(default), append this the match section of your 99-x11-synaptics.fdi or 11-x11-synaptics.fdi:<br />
<merge key="input.x11_options.SHMConfig" type="string">on</merge><br />
<br />
=== Fine-tuning with synclient ===<br />
<br />
{{ Box Note|In recent versions of synaptics monitoring the touchpad via synclient -m is broken. You can still change options with synclient.}}<br />
<br />
The synclient monitor can display pressure and placement on the touchpad in real-time, allowing further refinement of the default Synaptics settings. In order for synclient to work properly, the '''SHMConfig''' option must be set to '''on''' or '''true'''.<br />
<br />
You can start the Synaptics monitor with the following command:<br />
$ synclient -m 100<br />
Where -m activates the monitor and the following number specifies the update interval in milliseconds.<br />
<br />
This monitor provides information about the current state of your touchpad. For example, if you move the mouse with the touchpad, the x and y values in the monitor will change. Therewith you can easy figure out your touchpad's dimension which is defined in the LeftEdge-, RightEdge-, BottomEdge- and TopEdge-Options.<br />
<br />
The abbreviations for the parameters are as follow:<br />
<br />
{| class="wikitable"<br />
|- align="left"<br />
!width="200"|+Abbreviation+<br />
!width="400|+Description+<br />
|-<br />
|'''time'''<br />
|Time in seconds since the logging was started.<br />
|-<br />
|'''x, y'''<br />
|The x/y coordinates of the finger on the touchpad. The origin is in the upper left corner.<br />
|-<br />
|'''z'''<br />
|The pressure value. It represents the pressure you are using to navigate on your touchpad.<br />
|-<br />
|'''f'''<br />
|Number of fingers currently touching the touchpad.<br />
|-<br />
|'''w'''<br />
|Value that represents the finger width.<br />
|-<br />
|'''l,r,u,d,m,multi'''<br />
|Those values represent the state of the left, right, up, down, middle and multi buttons pressed where zero means not pressed and one means pressed.<br />
|-<br />
|'''gl,gm,gr'''<br />
|For touchpads which have a guest device, this are the associated button states for guest left, guest middle and guest right pressed (1) and not pressed (0).<br />
|-<br />
|'''gdx, gdy'''<br />
|x/y coordinates of the guest device.<br />
|}<br />
If a value constantly is zero, it implies that this option is not supported by your device.<br />
<br />
Now use {{Codeline|synclient}} to test new values (SHMConfig will first need to be enabled to allow this). For example, to adjust minimum pointer speed:<br />
<br />
synclient MinSpeed=0.5<br />
<br />
The changes will not be permanent, they will need to be put in your HAL policy file or {{Filename|xorg.conf}} to make them so.<br />
<br />
===Edge scrolling===<br />
<br />
To enable the scroll zones found along the edges of the touchpad, add one or both of the following options to the touchpad device section in /etc/X11/xorg.conf:<br />
<br />
Section "InputDevice"<br />
...<br />
Option "VertEdgeScroll" "true" #vertical scrolling when dragging along the right edge.<br />
Option "HorizEdgeScroll" "true" #horizontal scrolling when dragging along the bottom edge.<br />
...<br />
EndSection<br />
<br />
In ''/etc/hal/fdi/policy/11-x11-synaptics.fdi''(or if that doesn't work, ''/etc/hal/fdi/policy/99-x11-synaptics.fdi) for [[#Configuration_via_HAL_policies_.28hotplugging_enabled.29 | Hotplugging]]:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
...<br />
<merge key="input.x11_options.HorizEdgeScroll" type="string">1</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">1</merge><br />
...<br />
</match><br />
<br />
===Two-Finger scrolling===<br />
<br />
Recent Synaptics touchpads support two-finger scrolling. This allows you to use two fingers together anywhere on the touchpad, similar to the behaviour of Macbooks.<br />
<br />
If your hardware supports this feature, you can enable it by inserting the following lines into the touchpad device section of /etc/X11/xorg.conf:<br />
Section "InputDevice"<br />
...<br />
Option "VertTwoFingerScroll" "true" # vertical scroll anywhere with two fingers<br />
Option "HorizTwoFingerScroll" "true" # horizontal scroll anywhere with two fingers<br />
Option "EmulateTwoFingerMinZ" "120" # this may vary between different machines<br />
...<br />
EndSection<br />
<br />
''EmulateTwoFingerMinZ'' is only necessary for the ALPS Touchpad, which several Dell machines have. ([http://ubuntuforums.org/showthread.php?t=516798&page=2#19 from Ubuntu forums]) <br />
<br />
'''Firefox users:''' You might find the default behaviour of Firefox pretty annoying relating to the horizontal scrolling. Just see ''Firefox and special touchpad events'' below to find out how to disable it.<br />
<br />
In '''/etc/hal/fdi/policy/11-x11-synaptics.fdi'''(or '''/etc/hal/fdi/policy/99-x11-synaptics.fdi''') for [[#Configuration_via_HAL_policies_.28hotplugging_enabled.29 | hotplugging]]:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
...<br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">120</merge><br />
...<br />
</match><br />
<br />
Some users might need to modify the ''EmulateTwoFingerMinW'' parameter, as their touch pads sense two fingers as one wide finger. You can check which parameters you need to modify by running '''synclient -m 150''' -- when you touch two fingers to the touch pad, observe which parameters (z, w, or f) change. Those will determine the minimum threshold values you must set (if f changes, don't bother with ''EmulateTwoFingerMin[W,Z]'' since you do not need to emulate two fingers, your touch pad can simply sense two different fingers). Depending on your touchpad, these parameters can take relatively high values or ones close to zero.<br />
<br />
===Circular scrolling===<br />
<br />
Circular scrolling is a feature that Synaptics offers which closely resembles the behaviour of iPods. Instead of (or additional to) scrolling horizontally or vertically, you can scroll circularly. Some users find this faster and more precise.<br />
To enable circular scrolling, add the following options to the touchpad device section of '''/etc/X11/xorg.conf''':<br />
Section "InputDevice"<br />
...<br />
Option "CircularScrolling" "on"<br />
Option "CircScrollTrigger" "0"<br />
...<br />
EndSection<br />
<br />
In '''/etc/hal/fdi/policy/11-x11-synaptics.fdi';'(or '''/etc/hal/fdi/policy/99-x11-synaptics.fdi''') for [[#Configuration_via_HAL_policies_.28hotplugging_enabled.29 | Hotplugging]]:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
...<br />
<merge key="input.x11_options.CircularScrolling" type="string">on</merge><br />
<merge key="input.x11_options.CircScrollTrigger" type="string">0</merge><br />
...<br />
</match><br />
<br />
The option '''CircScrollTrigger''' may be one of the following values, determining which edge circular scrolling should start:<br />
0 All Edges<br />
1 Top Edge<br />
2 Top Right Corner<br />
3 Right Edge<br />
4 Bottom Right Corner<br />
5 Bottom Edge<br />
6 Bottom Left Corner<br />
7 Left Edge<br />
8 Top Left Corner<br />
<br />
Specifying something different from zero may be useful if you want to use circular scrolling in conjunction with horizontal and/or vertical scrolling. If you do so, the type of scrolling is determined by the edge you start from.<br />
<br />
To scroll fast, draw small circles in the center of your touchpad. To scroll slowly and more precise, draw large circles.<br />
<br />
===Software Toggle===<br />
<br />
You may find it useful to have a software toggle that will turn on or off your touchpad, esplicially if it's extremely sensitive and your doing a lot of typing. Please also see [[#Disable touchpad upon external mouse detection]] and [[#Stopping the mouse from clicking while typing]] as those may be better solutions, again a matter of choice. The advantage here is you have the control, while the other solutions have daemons determine when to turn off the trackpad.<br />
<br />
You will want to grab [[xbindkeys]] if you don't already have key binding software.<br />
<br />
Then save this script to something such as /sbin/trackpad-toggle.sh:<br />
<br />
#!/bin/bash<br />
<br />
if [ `synclient -l | grep TouchpadOff | gawk -F '= ' '{ print $2 }'` -eq 0 ]; then<br />
synclient TouchpadOff=1<br />
else<br />
synclient TouchpadOff=0<br />
fi<br />
<br />
Then finally add a key binding to use the script. It is best to call with xbindkeys like so (file ''~/.xbindkeysrc''):<br />
<br />
"/sbin/trackpad-toggle.sh"<br />
m:0x5 + c:65<br />
Control+Shift + space<br />
<br />
Now just (re)start xbindkeys and ctrl+Shift+Space will now toggle your trackpad !<br />
<br />
Of course you could easily use any other keybinding software, such as the ones provided by Xfce4 and Gnome.<br />
<br />
==Troubleshooting==<br />
<br />
===Touchpad not working properly in Gnome (No tap zones, scrolling etc.)===<br />
<br />
Settings in /etc/hal/fdi/policy/11-x11-synaptics.fdi are not respected by Gnome. Gnome uses its own inferior mouse control plugin in the gnome-settings-daemon. <br />
<br />
If you only need to enable tapping, edge scrolling or two finger scrolling, you can use the settings tool in ''System->Preferences->Mouse->Touchpad'' to enable this in Gnome, but this will not allow you to define touchpad size, tap zones, tap sensitivity, etc.<br />
<br />
If you need or want more control of the touchpad settings, you are out of luck using the built-in settings apps in ''System->Preferences->Mouse->Touchpad'', as it is only good for setting a fraction of the availibe options. There is no other way of controlling the gnome mouse plugin either (at least that I know of).If you need more control over the touchpad settings, the best solution is probably to disable the plugin alltogether. The system will then use the settings in /etc/hal/fdi/policy/11-x11-synaptics.fdi correctly.<br />
<br />
To disble the gnome settings daemons mouse plugin, you launch gconf-editor, navigate to apps/gnome_settings_daemon/plugins/mouse/ and un-tick the "activate" box. Changes takes affect after a restart of gdm.<br />
<br />
===Synaptics Special Ability===<br />
<br />
By default, Synaptics touchpads are able to detect the number of fingers on the touchpad; ALPS touchpads are not. If the touchpad is tapped with two fingers, it will emulate a middle click. If the touchpad is typed with three fingers, a right click will be emulated.<br />
<br />
===Disable touchpad upon external mouse detection===<br />
<br />
In assistance to [[udev]], it is possible to automatically disable the touchpad if an external mouse has been plugged in. To achieve this, add the following udev rule to '''/etc/udev/rules.d/01-touchpad.rules''':<br />
ACTION=="add", SUBSYSTEM=="input", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=1"<br />
ACTION=="remove", SUBSYSTEM=="input", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=0"<br />
<br />
SHMConfig must be enabled (see the '''Configuration''' section for details)<br />
<br />
===Cursor Jump===<br />
<br />
Some users have their cursor inexplicably ''jump'' around the screen. There currently no patch for this, but the developers are aware of the problem and are working on it.<br />
<br />
===Multitouch===<br />
<br />
Multitouch gesture like in Mac OS X will be in future version of the driver.<br />
<br />
===Touchpad device isn't located at /dev/input/mouse0===<br />
<br />
If that's the case, you can use this command to display information about your input devices:<br />
cat /proc/bus/input/devices<br />
Search for an input device which has the name "SynPS/2 Synaptics TouchPad". The "Handlers" section of the output specifies what device you need to specify.<br />
<br />
'''Example output:'''<br />
I: Bus=0011 Vendor=0002 Product=0007 Version=0000<br />
N: Name="SynPS/2 Synaptics TouchPad"<br />
P: Phys=isa0060/serio4/input0<br />
S: Sysfs=/class/input/input1<br />
H: Handlers=mouse0 event1<br />
B: EV=b<br />
B: KEY=6420 0 7000f 0<br />
<br />
In this case, the Handlers are mouse0 and event1, so /dev/input/mouse0 would be used.<br />
<br />
=== Disable Trackpad while Typing ===<br />
<br />
There are two approaches on how run this command depending on your setup. But first you will need to have SHMConfig enable in your HAL policy ({{Filename|/etc/hal/fdi/policy/11-x11-synaptics.fdi}}), or {{Filename|/etc/xorg.conf}}. Some users may need to specify touchpad preferences in {{Filename|/etc/hal/fdi/policy/99-x11-synaptics.fdi}} instead.<br />
<br />
==== Using {{Filename|.xinitrc}} ====<br />
<br />
To have the touchpad disabled automatically when you begin typing, add the following line to your .xinitrc before you run your window manager (if not using a login manager):<br />
<br />
syndaemon -i 2 &<br />
<br />
The '''-i 2''' switch sets the idle time to 2 seconds. The idle time specifies how many seconds to wait after the last key-press before enabling the touchpad again.<br />
<br />
If you wish, you can add the '''-t''' switch that tells the daemon not to disable mouse movement when typing and only disable tapping and scrolling and also the '''-k''' switch which, in turn, tells the daemon to ignore modifier keys when monitoring keyboard activity (allows ctrl+left click, for example):<br />
<br />
syndaemon -t -k -i 2 &<br />
<br />
More details are available in the man page:<br />
<br />
$ man syndaemon<br />
<br />
If you are using a login manager, you will need to specify the command where your DE allows you to do so.<br />
<br />
==== Using a Login Manager ====<br />
<br />
The "-d" option is necessary to start syndaemon as a background process for post Login instructions.<br />
<br />
'''For GNOME: (GDM)'''<br />
<br />
To start syndaemon you need to use Gnome's Startup Applications Preferences program. Login to Gnome and go to '''System > Preferences > Startup Applications'''. In the Startup Programs tab click the '''Add''' button. Name the Startup Program whatever you like and input any comments you like (or leave this field blank). In the command field add:<br />
<br />
syndaemon -i 2 -d<br />
<br />
When you're done click the Add button in the Add Startup Program dialogue. Make sure the check box next to the startup program you've created is checked, in the list of additional startup programs. Close the Startup Applications Preferences window and you're done.<br />
<br />
'''For KDE: (KDM)'''<br />
<br />
Goto '''System Settings > Advanced Tab > Autostart''', then click '''Add Program''', enter:<br />
<br />
syndaemon -i 2 -d<br />
<br />
Then check 'Run in terminal'.<br />
<br />
===Firefox and special touchpad events===<br />
<br />
By default, Firefox is set up to do special events upon tapping or scrolling certain parts of your touchpad.<br />
You can edit the settings of those actions by typing '''about:config''' in your Firefox address bar.<br />
To alter these options, double-click on the line in question, changing "true" to "false" and vise versa.<br />
<br />
To prevent Firefox from scrolling (backward/forward) through browser history and instead scroll through pages, edit these settings as shown:<br />
mousewheel.horizscroll.withnokey.action = 1<br />
mousewheel.horizscroll.withnokey.sysnumlines = true<br />
<br />
To prevent Firefox from redirecting you to URLs formed from your clipboard content upon tapping the upper-right corner of your touchpad (or middle mouse button), set the following option to "false":<br />
middlemouse.contentLoadURL = false<br />
<br />
===Opera: horizontal scrolling issues===<br />
<br />
Same as above.<br />
To fix it, go to Tools -> Preferences -> Advanced -> Shortcuts. There you edit the mouse preferences: Delete the entries with "Button 5" and "Button 6".<br />
<br />
===Scrolling and multiple actions with Synaptics on LG Laptops===<br />
<br />
These problems seem to be occurring on several models of LG laptops.<br />
Symptoms include: when pressing Mouse Button 1, Synaptics interprets it as ScrollUP and a regular button 1 click; same goes for button 2.<br />
<br />
The scrolling issue can be resolved by entering in xorg.conf:<br />
Option "UpDownScrolling" "0"<br />
<br />
NOTE that this will make Synaptics interpret one button push as three. There is a patch written by Oskar Sandberg[http://www.math.chalmers.se/~ossa/linux/lg_tx_express.html] that removes these clicks.<br />
<br />
Apparently, when trying to compile this against the latest version of Synaptics it fails. The solution to this is using the GIT repository for Synaptics[http://web.telia.com/~u89404340/touchpad/synaptics/.git] .<br />
<br />
There is also a package build file in the AUR to automate this: [http://aur.archlinux.org/packages.php?ID=15983].<br />
<br />
To build the package after downloading the tarball and unpacking it, execute:<br />
cd synaptics-git<br />
makepkg<br />
<br />
If you want it to be automatically installed after being built, just add '-i' after makepkg.<br />
<br />
===Other external mouse issues===<br />
<br />
First, make sure your section describing the external mouse contains this line (or that the line looks like this):<br />
<br />
Option "Device" "/dev/input/mice"<br />
<br />
If the "Device" line is different, change it to the above and try to restart X. If this doesn't solve your problem, make your '''touchpad''' the CorePointer in the "Server Layout" section:<br />
<br />
InputDevice "Touchpad" "CorePointer"<br />
<br />
and make your external device "SendCoreEvents":<br />
<br />
InputDevice "USB Mouse" "SendCoreEvents"<br />
<br />
finally add this to your external device's section:<br />
<br />
Option "SendCoreEvents" "true"<br />
<br />
If all of the above doesn't work for you, please check relevant bug trackers for possible bugs, or go through the forums to see if anyone has found a better solution.<br />
<br />
===Touchpad synchronization issues===<br />
<br />
Sometimes the cursor may freeze for several seconds or start acting on its own for no apparent reason. This behavior is accompanied by records in /var/log/messages.log<br />
<br />
psmouse.c: TouchPad at isa0060/serio1/input0 lost synchronization, throwing 3 bytes away<br />
<br />
This problem has no general solution, but there are several possible workarounds.<br />
*If you use CPU frequency scaling, avoid using the "ondemand" governor and use the "performance" governor when possible, as the touchpad may lose sync when the CPU frequency changes.<br />
*Avoid using an ACPI battery monitor.<br />
*Attempt to load psmouse with "proto=imps" option. To do that, add this line to your /etc/modprobe.conf:<br />
<br />
options psmouse proto=imps<br />
<br />
*Try another desktop environment. Some users report that this problem only occurs when using XFCE or GNOME, for whatever reason<br />
<br />
===Tapping issues===<br />
<br />
If you are not using [[Xorg input hotplugging]], you should know that Xorg v7.4 does not enable tapping by default. To enable it, add the following line to the touchpad's InputDevice section in <tt>/etc/X11/xorg.conf</tt>:<br />
<br />
Section "InputDevice"<br />
...<br />
Option "TapButton1" "''integer''"<br />
Option "TapButton2" "''integer''"<br />
Option "TapButton3" "''integer''"<br />
...<br />
EndSection<br />
The ''integer'' of option "TapButton1" means which mouse button is reported on a non-corner one-finger tap. Usually it is 1.<br />
The ''integer'' of option "TapButton2" means which mouse button is reported on a non-corner two-finger tap. Usually it is 2.<br />
The ''integer'' of option "TapButton3" means which mouse button is reported on a non-corner three-finger tap. Usually it is 3.<br />
<br />
===Delay between a button tap and the actual click===<br />
<br />
If you experience a delay between the tap on the touchpad and the actual click that is registered you need to enable FastTaps:<br />
<br />
If you're using input hotplugging(default behavior), change your 11-x11-synaptics.fdi(or 99-x11-synaptics.fdi, in some cases) so that it contains:<br />
<br />
<merge key="input.x11_options.FastTaps" type="string">1</merge><br />
<br />
If you're using xorg-server with disabled input hotplugging change xorg.conf so that you have:<br />
<br />
Section "InputDevice"<br />
Identifier "Synaptics Touchpad"<br />
Driver "synaptics"<br />
...<br />
Option "FastTaps" "1"<br />
...<br />
EndSection<br />
<br />
===SynPS/2 Synaptics TouchPad can't grab event device, errno=16===<br />
<br />
If you are using Xorg 7.4, you may get a warning like this from /var/log/Xorg.0.log, thais is because the driver will grab the event device for exclusive use when using the Linux 2.6 event protocol. When it fails, X will return this error message.<br />
<br />
Grabbing the event device means that no other user space or kernel space program sees the touchpad events. This is desirable if the X config file includes /dev/input/mice as an input device, but is undesirable if you want to monitor the device from user space.<br />
<br />
If you want to control it, add or modify the "GrabEventDevice" option in you touchpad section in xorg.conf:<br />
<br />
...<br />
Option "GrabEventDevice" "''boolean''"<br />
...<br />
<br />
This will come into effect when X is restarted, though you can also change it by using synclient. When changing this parameter with the synclient program, the change will not take effect until the Synaptics driver is disabled and re-enabled. This can be achieved by switching to a text console and then switching back to X.<br />
<br />
==External Resources==<br />
<br />
Synaptics TouchPad driver: [http://cgit.freedesktop.org/xorg/driver/xf86-input-synaptics/]<br />
<!-- vim: set ft=Wikipedia: --></div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=116508ASUS N82JV2010-09-06T07:38:27Z<p>Xehoz: /* Webcam */</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci_hcd<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|}<br />
<br />
==Hardware==<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
==Configuration==<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
===CPU===<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
===Video===<br />
=====Intel=====<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
=====Nvidia=====<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
=====Switching graphic cards=====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change with kernel 2.6.35[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
=====Disabling the Nvidia card=====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing<br />
the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in<br />
a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
If you want run it on every startup add these lines to /etc/rc.local<br />
<br />
<pre># shutdown Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with:<br />
<pre><br />
grep rate /proc/acpi/battery/BAT0/state</pre><br />
There should be a difference of about 7500 mW in battery usage.<br />
<br />
===Audio===<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
Note: From my experience [[OSS]] doesn't work.<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
Note: Realtek's ALSA drivers currently 1.0.23-5.15rc5 aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)<br />
<br />
2. Type<br />
<pre>nano /etc/modprobe.d/modprobe.conf</pre><br />
and add:<br />
<pre>options snd-hda-intel index=0 model=auto</pre><br />
<br />
<br />
Not sure if this part is needed:<br />
Type<br />
<pre>nano /etc/modprobe.d/sound.conf</pre><br />
and add <br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
HDMI<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
===Touchpad===<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type:<br />
<pre>xinput list |grep pointer</pre><br />
<br />
What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using a Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, press Alt+F2 and enter:<br />
<br />
<pre>gksu gedit /etc/X11/xorg.conf.d/10-synaptics.conf</pre><br />
<br />
A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
Please do note that, while I settled with these coordinates, they may require tuning. [http://wiki.archlinux.org/index.php/Touchpad_Synaptics#Fine-tuning_with_synclient]<br />
<br />
=====Working 10-synaptics.conf=====<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection</pre><br />
<br />
===Webcam===<br />
<br />
Working, since version v4l-utils 0.8.1-1 (in previous versions it was showing the picture upside down).<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
===Function Keys===<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad).</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=116210ASUS N82JV2010-09-01T18:20:08Z<p>Xehoz: /* Disabling the Nvidia card */</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci_hcd<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|}<br />
<br />
==Hardware==<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
==Configuration==<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
===CPU===<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
===Video===<br />
=====Intel=====<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
=====Nvidia=====<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
=====Switching graphic cards=====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change with kernel 2.6.35[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
=====Disabling the Nvidia card=====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing<br />
the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in<br />
a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
If you want run it on every startup add these lines to /etc/rc.local<br />
<br />
<pre># shutdown Nvidia<br />
insmod <path to acpi_call dir>/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with:<br />
<pre><br />
grep rate /proc/acpi/battery/BAT0/state</pre><br />
There should be a difference of about 7500 mW in battery usage.<br />
<br />
===Audio===<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
Note: From my experience [[OSS]] doesn't work.<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
Note: Realtek's ALSA drivers currently 1.0.23-5.15rc5 aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)<br />
<br />
2. Type<br />
<pre>nano /etc/modprobe.d/modprobe.conf</pre><br />
and add:<br />
<pre>options snd-hda-intel index=0 model=auto</pre><br />
<br />
<br />
Not sure if this part is needed:<br />
Type<br />
<pre>nano /etc/modprobe.d/sound.conf</pre><br />
and add <br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
HDMI<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
===Touchpad===<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type:<br />
<pre>xinput list |grep pointer</pre><br />
<br />
What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using a Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, press Alt+F2 and enter:<br />
<br />
<pre>gksu gedit /etc/X11/xorg.conf.d/10-synaptics.conf</pre><br />
<br />
A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
Please do note that, while I settled with these coordinates, they may require tuning. [http://wiki.archlinux.org/index.php/Touchpad_Synaptics#Fine-tuning_with_synclient]<br />
<br />
=====Working 10-synaptics.conf=====<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection</pre><br />
<br />
===Webcam===<br />
<br />
Working, but showing the picture upside down.<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
<br />
This device as already been reported and will be fixed in future v4l-utils releases. Follow these instructions, handed out by one of the devs, for a temporary fix.<br />
<br />
<pre>You can download this new version here:<br />
[http://people.fedoraproject.org/~jwrdegoede/v4l-utils-0.8.1-test.tar.gz]<br />
<br />
Install<br />
-----------------------------------<br />
Howto install and test v4l-utils depends on your system. There are<br />
different instructions for if you have a 32 bit system or a 64 bit system.<br />
which is using multilib. A 64 bit system without multilib is the same as<br />
a 32 bit system.<br />
<br />
To find out what you have do:<br />
ls -d /usr/lib64<br />
<br />
If this command gives a "No such file or directory" error, use the<br />
Non multilib instructions, if the second command is successfull, you have multilib,<br />
to find out which version (dubbed Fedora and Ubuntu multilib, because those are<br />
the most well known examples, do):<br />
<br />
ls -d /usr/lib32<br />
If this command gives a "No such file or directory" error, use the Fedora multilib<br />
instructions. If this command succeeds use the Ubuntu multilib instructions. Note<br />
the ubuntu multilib instructions also apply to gentoo.<br />
<br />
Non multilib instructions:<br />
-------------------------------<br />
tar xvfz v4l-utils-<version>.tar.gz<br />
cd v4l-utils-<version>/lib<br />
make PREFIX=/usr<br />
sudo make install PREFIX=/usr<br />
<br />
Fedora Multilib instructions:<br />
-----------------------------------<br />
Basic 64 bit install:<br />
tar xvfz v4l-utils-<version>.tar.gz<br />
cd v4l-utils-<version>/lib<br />
make PREFIX=/usr LIBDIR=/usr/lib64<br />
sudo make install PREFIX=/usr LIBDIR=/usr/lib64<br />
<br />
If you also want to use 32 bit apps (such as skype), you<br />
will need to have the 32 bit libc headers installed, on Fedora<br />
this can be done like this:<br />
Fedora 10-: "sudo yum install glibc-devel.i386"<br />
Fedora 11: "sudo yum install glibc-devel.i586"<br />
Fedora 12+: "sudo yum install glibc-devel.i686"<br />
Then do:<br />
make clean<br />
make PREFIX=/usr CFLAGS=-m32 LDFLAGS=-m32<br />
sudo make install PREFIX=/usr<br />
<br />
Ubuntu Multilib instructions:<br />
-----------------------------------<br />
tar xvfz v4l-utils-<version>.tar.gz<br />
cd v4l-utils-<version>/lib<br />
make PREFIX=/usr<br />
sudo make install PREFIX=/usr<br />
<br />
If you also want to use 32 bit apps (such as skype), you<br />
will need to have the 32 bit libc headers installed, on Ubuntu<br />
this can be done like this:<br />
sudo apt-get install libc6-dev-i386<br />
On gentoo this can be done like this:<br />
sudo emerge -v app-emulation/emul-linux-x86-compat<br />
Then do:<br />
make clean<br />
make PREFIX=/usr CFLAGS=-m32 LDFLAGS=-m32 LIBDIR=/usr/lib32<br />
sudo make install PREFIX=/usr LIBDIR=/usr/lib32</pre><br />
<br />
===Function Keys===<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad).</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=116207ASUS N82JV2010-09-01T18:14:03Z<p>Xehoz: /* Audio */</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci_hcd<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|}<br />
<br />
==Hardware==<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
==Configuration==<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
===CPU===<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
===Video===<br />
=====Intel=====<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
=====Nvidia=====<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
=====Switching graphic cards=====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change with kernel 2.6.35[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
=====Disabling the Nvidia card=====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing<br />
the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in<br />
a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
If you want run it on every startup add these lines to /etc/rc.local<br />
<br />
<pre># shutdown Nvidia<br />
insmod /home/xehoz/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with:<br />
<pre><br />
grep rate /proc/acpi/battery/BAT0/state</pre><br />
There should be a difference of about 7500 mW in battery usage.<br />
<br />
===Audio===<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
Note: From my experience [[OSS]] doesn't work.<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
Note: Realtek's ALSA drivers currently 1.0.23-5.15rc5 aren't compiling properly in kernel 2.6.35. As an alternative, download the latest alsa-driver snapshot from here[http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-snapshot.tar.gz] (tested with 01/09/2010 snapshot)<br />
<br />
2. Type<br />
<pre>nano /etc/modprobe.d/modprobe.conf</pre><br />
and add:<br />
<pre>options snd-hda-intel index=0 model=auto</pre><br />
<br />
<br />
Not sure if this part is needed:<br />
Type<br />
<pre>nano /etc/modprobe.d/sound.conf</pre><br />
and add <br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
HDMI<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
===Touchpad===<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type:<br />
<pre>xinput list |grep pointer</pre><br />
<br />
What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using a Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, press Alt+F2 and enter:<br />
<br />
<pre>gksu gedit /etc/X11/xorg.conf.d/10-synaptics.conf</pre><br />
<br />
A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
Please do note that, while I settled with these coordinates, they may require tuning. [http://wiki.archlinux.org/index.php/Touchpad_Synaptics#Fine-tuning_with_synclient]<br />
<br />
=====Working 10-synaptics.conf=====<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection</pre><br />
<br />
===Webcam===<br />
<br />
Working, but showing the picture upside down.<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
<br />
This device as already been reported and will be fixed in future v4l-utils releases. Follow these instructions, handed out by one of the devs, for a temporary fix.<br />
<br />
<pre>You can download this new version here:<br />
[http://people.fedoraproject.org/~jwrdegoede/v4l-utils-0.8.1-test.tar.gz]<br />
<br />
Install<br />
-----------------------------------<br />
Howto install and test v4l-utils depends on your system. There are<br />
different instructions for if you have a 32 bit system or a 64 bit system.<br />
which is using multilib. A 64 bit system without multilib is the same as<br />
a 32 bit system.<br />
<br />
To find out what you have do:<br />
ls -d /usr/lib64<br />
<br />
If this command gives a "No such file or directory" error, use the<br />
Non multilib instructions, if the second command is successfull, you have multilib,<br />
to find out which version (dubbed Fedora and Ubuntu multilib, because those are<br />
the most well known examples, do):<br />
<br />
ls -d /usr/lib32<br />
If this command gives a "No such file or directory" error, use the Fedora multilib<br />
instructions. If this command succeeds use the Ubuntu multilib instructions. Note<br />
the ubuntu multilib instructions also apply to gentoo.<br />
<br />
Non multilib instructions:<br />
-------------------------------<br />
tar xvfz v4l-utils-<version>.tar.gz<br />
cd v4l-utils-<version>/lib<br />
make PREFIX=/usr<br />
sudo make install PREFIX=/usr<br />
<br />
Fedora Multilib instructions:<br />
-----------------------------------<br />
Basic 64 bit install:<br />
tar xvfz v4l-utils-<version>.tar.gz<br />
cd v4l-utils-<version>/lib<br />
make PREFIX=/usr LIBDIR=/usr/lib64<br />
sudo make install PREFIX=/usr LIBDIR=/usr/lib64<br />
<br />
If you also want to use 32 bit apps (such as skype), you<br />
will need to have the 32 bit libc headers installed, on Fedora<br />
this can be done like this:<br />
Fedora 10-: "sudo yum install glibc-devel.i386"<br />
Fedora 11: "sudo yum install glibc-devel.i586"<br />
Fedora 12+: "sudo yum install glibc-devel.i686"<br />
Then do:<br />
make clean<br />
make PREFIX=/usr CFLAGS=-m32 LDFLAGS=-m32<br />
sudo make install PREFIX=/usr<br />
<br />
Ubuntu Multilib instructions:<br />
-----------------------------------<br />
tar xvfz v4l-utils-<version>.tar.gz<br />
cd v4l-utils-<version>/lib<br />
make PREFIX=/usr<br />
sudo make install PREFIX=/usr<br />
<br />
If you also want to use 32 bit apps (such as skype), you<br />
will need to have the 32 bit libc headers installed, on Ubuntu<br />
this can be done like this:<br />
sudo apt-get install libc6-dev-i386<br />
On gentoo this can be done like this:<br />
sudo emerge -v app-emulation/emul-linux-x86-compat<br />
Then do:<br />
make clean<br />
make PREFIX=/usr CFLAGS=-m32 LDFLAGS=-m32 LIBDIR=/usr/lib32<br />
sudo make install PREFIX=/usr LIBDIR=/usr/lib32</pre><br />
<br />
===Function Keys===<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad).</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=114105ASUS N82JV2010-08-14T14:31:28Z<p>Xehoz: /* Configuration */</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci_hcd<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|}<br />
<br />
==Hardware==<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
==Configuration==<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV[http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html] model.<br />
<br />
===CPU===<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
===Video===<br />
=====Intel=====<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
=====Nvidia=====<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
=====Switching graphic cards=====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change with kernel 2.6.35[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
=====Disabling the Nvidia card=====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing<br />
the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in<br />
a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
If you want run it on every startup add these lines to /etc/rc.local<br />
<br />
<pre># shutdown Nvidia<br />
insmod /home/xehoz/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with:<br />
<pre><br />
grep rate /proc/acpi/battery/BAT0/state</pre><br />
There should be a difference of about 7500 mW in battery usage.<br />
<br />
===Audio===<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
Note: From my experience [[OSS]] doesn't work.<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
2. Type<br />
<pre>nano /etc/modprobe.d/modprobe.conf</pre><br />
and add:<br />
<pre>options snd-hda-intel index=0 model=auto</pre><br />
<br />
<br />
Not sure if this part is needed:<br />
Type<br />
<pre>nano /etc/modprobe.d/sound.conf</pre><br />
and add <br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
HDMI<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
===Touchpad===<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type:<br />
<pre>xinput list |grep pointer</pre><br />
<br />
What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using a Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, press Alt+F2 and enter:<br />
<br />
<pre>gksu gedit /etc/X11/xorg.conf.d/10-synaptics.conf</pre><br />
<br />
A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
Please do note that, while I settled with these coordinates, they may require tuning. [http://wiki.archlinux.org/index.php/Touchpad_Synaptics#Fine-tuning_with_synclient]<br />
<br />
=====Working 10-synaptics.conf=====<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection</pre><br />
<br />
===Webcam===<br />
<br />
Working, but showing the picture upside down.<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
<br />
This device as already been reported and will be fixed in future v4l-utils releases. Follow these instructions, handed out by one of the devs, for a temporary fix.<br />
<br />
<pre>You can download this new version here:<br />
[http://people.fedoraproject.org/~jwrdegoede/v4l-utils-0.8.1-test.tar.gz]<br />
<br />
Install<br />
-----------------------------------<br />
Howto install and test v4l-utils depends on your system. There are<br />
different instructions for if you have a 32 bit system or a 64 bit system.<br />
which is using multilib. A 64 bit system without multilib is the same as<br />
a 32 bit system.<br />
<br />
To find out what you have do:<br />
ls -d /usr/lib64<br />
<br />
If this command gives a "No such file or directory" error, use the<br />
Non multilib instructions, if the second command is successfull, you have multilib,<br />
to find out which version (dubbed Fedora and Ubuntu multilib, because those are<br />
the most well known examples, do):<br />
<br />
ls -d /usr/lib32<br />
If this command gives a "No such file or directory" error, use the Fedora multilib<br />
instructions. If this command succeeds use the Ubuntu multilib instructions. Note<br />
the ubuntu multilib instructions also apply to gentoo.<br />
<br />
Non multilib instructions:<br />
-------------------------------<br />
tar xvfz v4l-utils-<version>.tar.gz<br />
cd v4l-utils-<version>/lib<br />
make PREFIX=/usr<br />
sudo make install PREFIX=/usr<br />
<br />
Fedora Multilib instructions:<br />
-----------------------------------<br />
Basic 64 bit install:<br />
tar xvfz v4l-utils-<version>.tar.gz<br />
cd v4l-utils-<version>/lib<br />
make PREFIX=/usr LIBDIR=/usr/lib64<br />
sudo make install PREFIX=/usr LIBDIR=/usr/lib64<br />
<br />
If you also want to use 32 bit apps (such as skype), you<br />
will need to have the 32 bit libc headers installed, on Fedora<br />
this can be done like this:<br />
Fedora 10-: "sudo yum install glibc-devel.i386"<br />
Fedora 11: "sudo yum install glibc-devel.i586"<br />
Fedora 12+: "sudo yum install glibc-devel.i686"<br />
Then do:<br />
make clean<br />
make PREFIX=/usr CFLAGS=-m32 LDFLAGS=-m32<br />
sudo make install PREFIX=/usr<br />
<br />
Ubuntu Multilib instructions:<br />
-----------------------------------<br />
tar xvfz v4l-utils-<version>.tar.gz<br />
cd v4l-utils-<version>/lib<br />
make PREFIX=/usr<br />
sudo make install PREFIX=/usr<br />
<br />
If you also want to use 32 bit apps (such as skype), you<br />
will need to have the 32 bit libc headers installed, on Ubuntu<br />
this can be done like this:<br />
sudo apt-get install libc6-dev-i386<br />
On gentoo this can be done like this:<br />
sudo emerge -v app-emulation/emul-linux-x86-compat<br />
Then do:<br />
make clean<br />
make PREFIX=/usr CFLAGS=-m32 LDFLAGS=-m32 LIBDIR=/usr/lib32<br />
sudo make install PREFIX=/usr LIBDIR=/usr/lib32</pre><br />
<br />
===Function Keys===<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad).</div>Xehozhttps://wiki.archlinux.org/index.php?title=ASUS_N82JV&diff=114104ASUS N82JV2010-08-14T14:29:26Z<p>Xehoz: Created page with "Category:ASUS (English) {| style="float:right; border: 1px solid #000;" | '''Device''' || '''Status''' || '''Modules''' |- | Intel || style="color:green" | '''Working''' |..."</p>
<hr />
<div>[[Category:ASUS (English)]]<br />
<br />
{| style="float:right; border: 1px solid #000;" <br />
| '''Device''' || '''Status''' || '''Modules'''<br />
|- <br />
| Intel || style="color:green" | '''Working''' || xf86-video-intel <br />
|-<br />
| Nvidia || style="color:orange" | '''Partially Working''' || nouveau<br />
|-<br />
| Ethernet || style="color:green" | '''Working''' || atl1c<br />
|-<br />
| Wireless || style="color:green" | '''Working''' || ath9k<br />
|-<br />
| Audio || style="color:green" | '''Working''' || snd_hda_intel<br />
|-<br />
| Touchpad || style="color:green" | '''Working''' ||<br />
|-<br />
| Camera || style="color:green" | '''Working''' || uvcvideo <br />
|-<br />
| USB 3.0 || style="color:green" | '''Working''' || xhci_hcd<br />
|-<br />
| Card Reader || style="color:green" | '''Working''' || <br />
|-<br />
| Function Keys || style="color:orange" | '''Partially Working''' || <br />
|}<br />
<br />
==Hardware==<br />
''CPU'' Intel Core i5 430M<br />
<br />
''Mainboard'' | Intel HM55<br />
<br />
''RAM'' 4096 MB, 2x 2048 MByte DDR3-10700 (1066 MHz)<br />
<br />
''Display'' 14" HD LED (1366x768)<br />
<br />
''Graphics adapter'' NVIDIA GeForce GT 335M - 1024 MB, Core: 450 MHz, Memory: 790 MHz, Shader rate: 1080 MHz<br />
<br />
''Soundcard'' Realtek ALC269 @ Intel Ibex Peak PCH<br />
<br />
''Network'' Atheros AR8131 PCI-E Gigabit Ethernet Controller (10MBit), Atheros AR9285 Wireless Network <br />
<br />
''Hard disk'' 320GB 5400rpm SATA<br />
<br />
''Webcam'' Chicony Electronics<br />
<br />
''Touchpad'' Elantech <br />
<br />
==Configuration==<br />
<br />
http://www.notebookcheck.net/Review-Asus-N82JV-Notebook.29437.0.html<br />
<br />
My particular model is Asus N82JV-VX038V but the contents of the page should remain valid for every N82JV model.<br />
<br />
===CPU===<br />
Works out of the box.<br />
<br />
Follow the [[SpeedStep]] guide to enable speed-stepping.<br />
<br />
===Video===<br />
=====Intel=====<br />
Follow these guides: [[Xorg]] and [[Intel]]<br />
<br />
No problems detected. VGA out and HDMI working.<br />
<br />
=====Nvidia=====<br />
The official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Should be possible to disable the Intel card and boot up with the nouveau drivers (which the system auto-detects and uses) but haven't tested it.<br />
<br />
=====Switching graphic cards=====<br />
This laptop sports two gpus. The Intel GMA HD (Core ix integrated) and the Nvidia Geforce GT 335M, with the ability to swith granted by Nvidia Optimus technology.<br />
<br />
However, the official proprietary nvidia drivers for linux don't support Nvidia Optimus yet. Some experimental work is being done with [[Nouveau]] and hybrid graphics [http://linux-hybrid-graphics.blogspot.com/]<br />
<br />
Kernel 2.6.34 includes vgaswitcheroo which, in theory, makes it possible to switch between graphic cards. Despite working with Intel/Ati[http://asusm51ta-with-linux.blogspot.com/], it is still not working with Intel/Nvidia. That should change with kernel 2.6.35[http://linux-hybrid-graphics.blogspot.com/2010/07/how-to-test-nouveau-nvidia-hybrid.html] [https://lists.launchpad.net/hybrid-graphics-linux/msg00143.html].<br />
<br />
=====Disabling the Nvidia card=====<br />
While the "normal" method isn't working (or if you aren't interested in using the Nvidia card in Linux, in order to disable it, so that it doesn't consume power, the following hack is available[http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html][http://github.com/mkottman/acpi_call].<br />
<br />
''What it is'': A kernel module that enables you to call parameterless ACPI methods by writing<br />
the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in<br />
a dual graphics environment (like NVIDIA Optimus).<br />
<br />
Instalation:<br />
<br />
<pre>git clone http://github.com/mkottman/acpi_call.git<br />
cd acpi_call<br />
make<br />
sudo insmod acpi_call.ko<br />
./test_off.sh</pre><br />
<br />
Usage:<br />
<br />
<pre># turn off discrete graphics card<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call<br />
# turn it back on<br />
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call</pre><br />
<br />
If you want run it on every startup add these lines to /etc/rc.local<br />
<br />
<pre># shutdown Nvidia<br />
insmod /home/xehoz/acpi_call/acpi_call.ko<br />
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call</pre><br />
<br />
If want, you may verify the power usage, on battery, with:<br />
<pre><br />
grep rate /proc/acpi/battery/BAT0/state</pre><br />
There should be a difference of about 7500 mW in battery usage.<br />
<br />
===Audio===<br />
Follow the official documentation: [[ALSA]] and [[Pulseaudio]]<br />
<br />
Note: From my experience [[OSS]] doesn't work.<br />
<br />
While it outputs sound to the speakers, the headphone jack won't work, and the speakers won't mute when a headphone is plugged in and the integrated mic won't work either. <br />
<br />
In order to fix this, follow these steps.<br />
<br />
1. Install ALSA drivers available at Realtek [http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false]<br />
<br />
<pre>tar xvf LinuxPkg_x.x<br />
tar xvf alsa-driver-1.0.xx<br />
cd alsa-driver-1.0.xx<br />
./configure --with-cards=hda-intel<br />
make<br />
make install</pre><br />
<br />
2. Type<br />
<pre>nano /etc/modprobe.d/modprobe.conf</pre><br />
and add:<br />
<pre>options snd-hda-intel index=0 model=auto</pre><br />
<br />
<br />
Not sure if this part is needed:<br />
Type<br />
<pre>nano /etc/modprobe.d/sound.conf</pre><br />
and add <br />
<pre>alias snd-card-0 snd-hda-intel<br />
alias sound-slot-0 snd-hda-intel</pre><br />
<br />
HDMI<br />
<br />
Sound through HDMI works, but requires that the sound profile (mixer) be changed manually (not really an issue).<br />
<br />
===Touchpad===<br />
<br />
1. Follow the [[Synaptics]] guide.<br />
<br />
Type:<br />
<pre>xinput list |grep pointer</pre><br />
<br />
What you want to see:<br />
<pre>⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]</pre><br />
<br />
However, you'll see that the system is misinterpreting the touchpad for a wheel mouse. This is because this laptop (and so many others recently) is using a Elantech Touchpad. In order to fix it, enter this in the command line:<br />
<br />
<pre>echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf<br />
sudo rmmod psmouse && sudo modprobe psmouse</pre><br />
<br />
Then, press Alt+F2 and enter:<br />
<br />
<pre>gksu gedit /etc/X11/xorg.conf.d/10-synaptics.conf</pre><br />
<br />
A bare minimum configuration requires this text:<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
EndSection</pre><br />
<br />
Please do note that, while I settled with these coordinates, they may require tuning. [http://wiki.archlinux.org/index.php/Touchpad_Synaptics#Fine-tuning_with_synclient]<br />
<br />
=====Working 10-synaptics.conf=====<br />
<br />
Here's a fully working 10-synaptics.conf with Edge Scrolling, Two Finger Scrolling and with middle mouse click (LTCornerButton and RTCornerButton) on the top corners activated. Circular Scrolling works, but it's deactivated.<br />
<br />
<pre>Section "InputClass"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "on"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "VertEdgeScroll" "on"<br />
Option "HorizEdgeScroll" "on"<br />
Option "CornerCoasting" "on"<br />
Option "CoastingSpeed" "0.30"<br />
Option "VertTwoFingerScroll" "on"<br />
Option "HorizTwoFingerScroll" "on"<br />
Option "CircularScrolling" "off"<br />
Option "CricularTrigger" "0"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
Option "LTCornerButton" "2"<br />
Option "RTCornerButton" "2"<br />
EndSection</pre><br />
<br />
===Webcam===<br />
<br />
Working, but showing the picture upside down.<br />
<br />
<pre>$ lsusb |grep Chicony<br />
Bus 002 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd</pre><br />
<br />
<br />
This device as already been reported and will be fixed in future v4l-utils releases. Follow these instructions, handed out by one of the devs, for a temporary fix.<br />
<br />
<pre>You can download this new version here:<br />
[http://people.fedoraproject.org/~jwrdegoede/v4l-utils-0.8.1-test.tar.gz]<br />
<br />
Install<br />
-----------------------------------<br />
Howto install and test v4l-utils depends on your system. There are<br />
different instructions for if you have a 32 bit system or a 64 bit system.<br />
which is using multilib. A 64 bit system without multilib is the same as<br />
a 32 bit system.<br />
<br />
To find out what you have do:<br />
ls -d /usr/lib64<br />
<br />
If this command gives a "No such file or directory" error, use the<br />
Non multilib instructions, if the second command is successfull, you have multilib,<br />
to find out which version (dubbed Fedora and Ubuntu multilib, because those are<br />
the most well known examples, do):<br />
<br />
ls -d /usr/lib32<br />
If this command gives a "No such file or directory" error, use the Fedora multilib<br />
instructions. If this command succeeds use the Ubuntu multilib instructions. Note<br />
the ubuntu multilib instructions also apply to gentoo.<br />
<br />
Non multilib instructions:<br />
-------------------------------<br />
tar xvfz v4l-utils-<version>.tar.gz<br />
cd v4l-utils-<version>/lib<br />
make PREFIX=/usr<br />
sudo make install PREFIX=/usr<br />
<br />
Fedora Multilib instructions:<br />
-----------------------------------<br />
Basic 64 bit install:<br />
tar xvfz v4l-utils-<version>.tar.gz<br />
cd v4l-utils-<version>/lib<br />
make PREFIX=/usr LIBDIR=/usr/lib64<br />
sudo make install PREFIX=/usr LIBDIR=/usr/lib64<br />
<br />
If you also want to use 32 bit apps (such as skype), you<br />
will need to have the 32 bit libc headers installed, on Fedora<br />
this can be done like this:<br />
Fedora 10-: "sudo yum install glibc-devel.i386"<br />
Fedora 11: "sudo yum install glibc-devel.i586"<br />
Fedora 12+: "sudo yum install glibc-devel.i686"<br />
Then do:<br />
make clean<br />
make PREFIX=/usr CFLAGS=-m32 LDFLAGS=-m32<br />
sudo make install PREFIX=/usr<br />
<br />
Ubuntu Multilib instructions:<br />
-----------------------------------<br />
tar xvfz v4l-utils-<version>.tar.gz<br />
cd v4l-utils-<version>/lib<br />
make PREFIX=/usr<br />
sudo make install PREFIX=/usr<br />
<br />
If you also want to use 32 bit apps (such as skype), you<br />
will need to have the 32 bit libc headers installed, on Ubuntu<br />
this can be done like this:<br />
sudo apt-get install libc6-dev-i386<br />
On gentoo this can be done like this:<br />
sudo emerge -v app-emulation/emul-linux-x86-compat<br />
Then do:<br />
make clean<br />
make PREFIX=/usr CFLAGS=-m32 LDFLAGS=-m32 LIBDIR=/usr/lib32<br />
sudo make install PREFIX=/usr LIBDIR=/usr/lib32</pre><br />
<br />
===Function Keys===<br />
<br />
Most of them do work. Exceptions are the multimedia player commands (fn+arrows), fn+c, fn+v and fn+F9 (which should disable the touchpad).</div>Xehozhttps://wiki.archlinux.org/index.php?title=Benchmarking&diff=113504Benchmarking2010-08-08T06:04:18Z<p>Xehoz: /* unigine (Heavens, Tropics and Sanctuary OpenGL Benchmark) */</p>
<hr />
<div>{{expansion}}<br />
[[Category:Hardware (English)]][[Category:HOWTOs (English)]]<br />
Benchmarking is the act of measuring performance and comparing the results to another system's results or a widely accepted standard through a unified procedure. This unified method of evaluating system performance can help answer questions such as:<br />
<br />
* Is the system performing as it should?<br />
* What driver version should be used to get optimal performance?<br />
* Is the system capable of doing task x?<br />
<br />
== Software ==<br />
Many tools can be used to determine system performance, the following provides a list of tools available.<br />
=== Stand alone tools ===<br />
==== glxgears (and why not to use this as a benchmark) ====<br />
Glxgears is a popular OpenGL test that renders a very simple OpenGL performance and outputs the framerate. Though glxgears can be usefull as a test of direct rendering capabillities of the graphics driver, glxgears is an outdated tool that is not representative of the current state of linux graphics and overall OpenGL possibilities.<br />
<br />
So to summarize, glxgears only tests a small part of what you typically see in a 3D game. You could have glxgears FPS performance increase, but your 3D game performance decrease. Likewise, you could have glxgears performance decrease and your 3D game performance increase. [http://wiki.cchtml.com/index.php/Glxgears_is_not_a_Benchmark source]<br />
<br />
==== superpi ====<br />
http://myownlittleworld.com/miscellaneous/computers/pilargetable.html<br />
<br />
==== interbench ====<br />
This benchmark application is designed to benchmark interactivity in Linux. <br />
<br />
It is designed to measure the effect of changes in Linux kernel design or systemnconfiguration changes such as cpu, I/O scheduler and filesystem changes and options. With careful benchmarking, different hardware can be compared.<br />
<br />
interbench is available in the AUR: http://aur.archlinux.org/packages.php?ID=2093<br />
<br />
==== (n)ttcp ====<br />
(n)ttcp measures point-to-point bandwidth over any network connection, the binary must be provided on both nodes between wich you want to determine bandwidth. nttcp is a a much more convenient rewrite of ttcp.<br />
<br />
nttcp is available on the AUR: http://aur.archlinux.org/packages.php?ID=11469<br />
==== time ====<br />
The time command provides timing statistics about the command run by displaying the time that passed between invocation and termination. Time is available on most basic linux systems.<br />
time tar -zxvf archive.tar.gz<br />
==== times ====<br />
<br />
==== unigine (Heavens, Tropics and Sanctuary OpenGL Benchmark) ====<br />
Unigine[http://www.unigine.com/] has produced several modern OpenGL benchmarks based on their graphics engine with features as:<br />
* Per-pixel dynamic lighting<br />
* Normal & parallax occlusion mapping<br />
* 64-bit HDR rendering<br />
* Volumetric fog and light<br />
* Powerful particle systems: fire, smoke, explosions<br />
* Extensible set of shaders (GLSL / HLSL)<br />
* Postprocessing: depth of field, refraction, glow, blurring, color correction and much more.<br />
<br />
unigine-heavens is available in the AUR: http://aur.archlinux.org/packages.php?ID=35901<br />
<br />
unigine-tropics is available in the AUR: http://aur.archlinux.org/packages.php?ID=25420<br />
<br />
'''TODO''' AUR package for unigine-sanctuary<br />
<br />
=== Software suites ===<br />
==== Bonnie++ ====<br />
This C++ rewrite of the original Bonnie benchmarking suite is aimed at performing several tests of hard drive and filesystem performance.<br />
<br />
Bonnie++ is available in the AUR: http://aur.archlinux.org/packages.php?ID=24114<br />
==== Hardinfo ====<br />
HardInfo can gather information about your system's hardware and operating system, perform benchmarks, and generate printable reports either in HTML or in plain text formats. Hardinfo performs CPU and FPU benchmarks and has a very clean GTK UI.<br />
<br />
hardinfo is available in [http://www.archlinux.org/packages/community/i686/hardinfo/ community]<br />
<br />
==== Phoronix Test Suite ====<br />
The Phoronix Test Suite is the most comprehensive testing and benchmarking platform available for the Linux operating system. This software is designed to effectively carry out both qualitative and quantitative benchmarks in a clean, reproducible, and easy-to-use manner. This software is based upon the extensive Linux benchmarking work and internal tools developed by Phoronix.com since 2004 along with input from leading tier-one computer hardware vendors. This software is open-source and licensed under the GNU GPLv3. The Phoronix Test Suite consists of a lightweight processing core (pts-core) with each benchmark consisting of an XML-based profile with related resource scripts. The process from the benchmark installation, to the actual benchmarking, to the parsing of important hardware and software components is heavily automated and completely repeatable, asking users only for confirmation of actions.<br />
<br />
source: http://www.phoronix-test-suite.com/?k=home<br />
<br />
This suite is available in [community] and can be installed through your favorite package manager<br />
pacman -S phoronix-test-suite<br />
<br />
To enable the GUI<br />
phoronix-test-suite gui<br />
<br />
You need "php-gtk" from AUR for the GUI: [http://aur.archlinux.org/packages.php?ID=20658 php-gtk]<br />
<br />
Add the following line to ''/etc/php/php.ini'':<br />
extension=php_gtk2.so<br />
<br />
== Arch Linux Standardized Testing ==<br />
To be able to compare results within the Arch Linux community in a standardized manner, the following standards have been set.<br />
=== General System Information Script ===<br />
When comparing results, it is essential to include a complete overview of your hardware configuration and such things as driver and versions thereof. To simplify this, a system information script will be written wich output all the basic information to a humenly readable format.<br />
<br />
In the future, a script will be provided that invokes the installed benchmarking applications of your choise and compiles a list of results along with system information.<br />
=== CPU ===<br />
'''proposal:''' superpi with 1M digits (20 bit number) --[[User:Stefanwilkens|stefanwilkens]] 22:27, 25 October 2009 (EDT)<br />
=== Graphics ===<br />
'''proposal:''' phoronix-test-suite with a selection of tests aimed at graphics, preferably without having to provide a large number of dependencies.--[[User:Stefanwilkens|stefanwilkens]] 06:40, 26 October 2009 (EDT)<br />
<br />
list of tests:<br />
* smokin-guns (req: openal)--[[User:Stefanwilkens|stefanwilkens]] 06:40, 26 October 2009 (EDT)<br />
* ..<br />
* ..<br />
<br />
=== Storage ===<br />
==== Hard Drive ====<br />
'''proposal:''' <br />
==== CD / DVD ====<br />
'''proposal:''' <br />
==== RAM ====<br />
'''proposal:''' <br />
=== Network ===<br />
'''proposal:''' a combination of nttcp and ping should do the job here--[[User:Stefanwilkens|stefanwilkens]] 06:43, 26 October 2009 (EDT)<br />
==== Internet ====<br />
'''proposal:'''<br />
<br />
== Related Links ==<br />
* [http://bbs.archlinux.org/viewtopic.php?pid=643939 Forum Topic: Benchmarking Let's organise and standardize]<br />
* [http://lbs.sourceforge.net/ Linux Benchmarking Homepage]<br />
* [http://www.phoronix.com/scan.php?page=home Phoronix.com]<br />
* [http://users.on.net/~ckolivas/interbench/ Interbench Homepage]<br />
* [http://unigine.com/download/ Unigine.com]</div>Xehoz