https://wiki.archlinux.org/api.php?action=feedcontributions&user=Billy&feedformat=atom
ArchWiki - User contributions [en]
2024-03-28T19:16:14Z
User contributions
MediaWiki 1.41.0
https://wiki.archlinux.org/index.php?title=Steam/Game-specific_troubleshooting&diff=380209
Steam/Game-specific troubleshooting
2015-06-27T09:57:02Z
<p>Billy: /* Dota 2 */ added a dependenciy for dota 2 reborn (there are probably more though)</p>
<hr />
<div>[[Category:Gaming]]<br />
[[ja:Steam/ゲーム別のトラブルシューティング]]<br />
{{Poor writing|Lots of content duplication, highly dubious "solutions"}}<br />
{{Note|[[Steam]] installs library dependencies of a game to a library directory, but some are missing at the moment. Report bugs involving missing libraries on Valve's bug tracker on their [https://github.com/ValveSoftware/steam-for-linux GitHub page] before adding workarounds here, and then provide a link to the bug so it can be removed as the problems are fixed.}}<br />
{{Tip|If a game fails to start, a possible reason is that it is missing required libraries. You can find out what libraries it requests by running {{ic|ldd ''game_executable''}}. {{ic|''game_executable''}} is likely located somewhere in {{ic|~/.steam/root/SteamApps/common/}}. Please note that most of these "missing" libraries are actually already included with Steam, and do not need to be installed globally.}}<br />
<br />
==Air Brawl==<br />
===Dependencies===<br />
* {{pkg|gnu-free-fonts}}<br />
<br />
===Menus are missing text/blacked out===<br />
Air Brawl seems to require some fonts that are missing, installing the package {{pkg|gnu-free-fonts}} may fix it.<br />
<br />
==Amnesia: The Dark Descent==<br />
===Dependencies===<br />
* {{AUR|lib32-freealut}}<br />
* {{pkg|lib32-glu}}<br />
* {{pkg|lib32-libxmu}}<br />
* {{pkg|lib32-sdl_ttf}}<br />
<br />
==And Yet It Moves==<br />
===Dependencies===<br />
* {{AUR|lib32-libtheora}}<br />
* {{AUR|lib32-libjpeg6}}<br />
* {{AUR|lib32-libtiff4}}<br />
* {{AUR|lib32-libpng12}}<br />
<br />
===Compatibility===<br />
Game refuses to launch and one of the following messages can be observed on console<br />
readlink: extra operand ‘Yet’<br />
Try 'readlink --help' for more information.<br />
OR<br />
This script must be run as a user with write priviledges to game directory<br />
To fix this, use:<br />
{{hc|~/.steam/root/SteamApps/common/And Yet It Moves/AndYetItMovesSteam.sh|<nowiki><br />
#ayim_dir="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"<br />
ayim_dir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"<br />
</nowiki>}}<br />
<br />
==Anodyne==<br />
===Dependencies===<br />
* {{AUR|adobe-air-sdk}}<br />
* {{pkg|xterm}} (probably not actually required)<br />
<br />
===Compatibility===<br />
Follow the same steps as [[#Defender.27s_Quest:_Valley_of_the_Forgotten|Defender's Quest]]<br />
<br />
==Aquaria==<br />
<br />
=== Mouse pointer gets stuck in one direction ===<br />
If the mouse pointer gets stuck in any one direction, the game becomes unplayable. You may try:<br />
{{hc|~/.local/share/Steam/SteamApps/common/Aquaria/usersettings.xml|<nowiki><br />
#<JoystickEnabled on=”1″ /><br />
<JoystickEnabled on=”0″ /></nowiki>}}<br />
<br />
If that does not fix the issue, unplug any joystick or joystick adapter devices you may have plugged in.<br />
<br />
==Binding of Isaac: Rebirth==<br />
===Troubleshooting===<br />
====No sound====<br />
Right click on {{ic|Binding of Isaac: Rebirth}} on your game list, click on {{ic|Properties}}, click on {{ic|SET LAUNCH OPTIONS}}, then add this: <br />
LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" %command%<br />
<br />
In the game, go to the options and set all audio to the proper volume.<br />
<br />
==Borderlands 2==<br />
<br />
===Syncing save games===<br />
<br />
Steam Cloud syncing does not (intentionally) work between platforms. With that said gave save files can be manually moved between systems. Save locations can be found here: http://pcgamingwiki.com/wiki/Borderlands_2#Game_data. Once backed up to a FAT32 or other cross-compatible file-system thumbdrive (or the cloud), move the saved files to your GNU/Linux system, locate your saved file location, and move into the 17-digit long numeric file name. If previous saves on your GNU/Linux system can be deleted you can do so now. The key fix that I found was a need to change the ownership, group, and permissions. I used {{ic|chown steam:steam *}} and then {{ic|chmod 0660 *}} to get my moved saved files to work.<br />
<br />
===Using Ctrl Key===<br />
Borderlands 2 does not allow the Ctrl key to be used by default. The game seems to be accessing keycodes and not keysyms, therefore xmodmap has no affect. A workaround is using ''setkeycodes'' to map the Ctrl-scancode to some other key, as described in [[Map scancodes to keycodes#Using setkeycodes]]. I use {{ic|setkeycodes 0x1d 56}} (as root) to map Ctrl to Alt before starting the game and {{ic|setkeycodes 0x1d 29}} to restore the default.<br />
<br />
==Borderlands the Pre-Sequel==<br />
Borderlands the Pre-Sequle (and maybe Borderlands 2) might not be able to connect to the Gearbox SHIFT-service, this is related to a wrong path to the available SSL certificates. This can be solved by creating a symbolic link from {{ic|/etc/ssl}} to {{ic|/usr/lib/ssl}}. See [http://steamcommunity.com/app/49520/discussions/0/616189742722687689/#c616189742811551908 this comment on the steam dissuscion forum].<br />
<br />
==Cities in Motion 2==<br />
<br />
=== Dialog boxes fail to display properly ===<br />
<br />
You will not be able to read or see anything, and you will have this in your logs:<br />
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 69: non-double matrix element<br />
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 69: wrong number of matrix elements<br />
<br />
Workaround for the bug {{Bug|35039}} is available [http://bpaste.net/show/167019/ here] (replace {{ic|/etc/fonts/conf.d/10-scale-bitmap-fonts.conf}}).<br />
<br />
==Cities Skylines==<br />
<br />
===Textures not rendering properly===<br />
<br />
In Steam client set launch properties for game:<br />
<br />
UNITY_DISABLE_GRAPHICS_DRIVER_WORKAROUNDS=yes %command%<br />
<br />
== Civilization V==<br />
<br />
=== Stuttering sound with PulseAudio ===<br />
<br />
See [[PulseAudio/Troubleshooting#Laggy sound]].<br />
<br />
== Counter-Strike: Global Offensive ==<br />
<br />
=== Game runs on the wrong screen ===<br />
<br />
[https://github.com/ValveSoftware/Counter-Strike-Global-Offensive/issues/60 GitHub Counter-Strike: Global Offensive issue #60]<br />
<br />
If it happens, you can fix it by going into fullscreen windowed or windowed mode and then dragging the game onto the correct monitor. After you go back in fullscreen, the game should be on the correct monitor.<br />
<br />
=== Audio is not synced ===<br />
<br />
[https://github.com/ValveSoftware/Counter-Strike-Global-Offensive/issues/45 GitHub Counter-Strike: Global Offensive issue #45]<br />
<br />
See [[PulseAudio/Troubleshooting#Laggy sound]] for a possible solution.<br />
<br />
=== Unable to aim when in game ===<br />
<br />
Unable to aim when in game. However, the mouse cursor does works in GUI such as main menu, game menu, etc.<br />
Add this line to your {{ic|.bash_profile}} and relogin:<br />
<br />
export SDL_VIDEO_X11_DGAMOUSE=0<br />
<br />
See also [https://bbs.archlinux.org/viewtopic.php?id=184905].<br />
<br />
=== Mouse Deadzone ===<br />
Small mouse movements (less than under 5 pixels per second) does not register on X or an OpenGL games. <br />
<br />
Solution[https://bbs.archlinux.org/viewtopic.php?pid=1519944#p1519944]:<br />
<br />
sudo pacman -R x86-input-libinput libinput<br />
<br />
==Crusader Kings II==<br />
Game is installed into {{ic|$HOME/Steam/SteamApps/common/Crusader Kings II}}.<br />
Game can be started directly, without need of running Steam on background, using command {{ic|$HOME/Steam/SteamApps/common/Crusader Kings II/ck2}}.<br />
<br />
Saves are stored in {{ic|$HOME/Documents/Paradox Interactive/Crusader Kings II/save games/}}.<br />
In the newest version (2.03), save-game files seem to be stored to {{ic|$HOME/.paradoxinteractive/Crusader Kings II/}}. If your documents folder is empty, try looking there.<br />
<br />
===Troubleshooting===<br />
====No audio====<br />
The default audio driver used by Crusader Kings 2 is for [[PulseAudio]], so an override is necessary:<br />
<br />
{{hc|~/.pam_environment|2=SDL_AUDIODRIVER=alsa}}<br />
====Odd Sized Starting Window====<br />
Enable full screen mode as the default. In {{ic|~/.paradoxinteractive/Crusader Kings II/settings.txt}} change fullscreen=no to fullscreen=yes.<br />
<br />
==Defender's Quest: Valley of the Forgotten==<br />
===Dependencies===<br />
* {{AUR|adobe-air-sdk}}<br />
* {{pkg|xterm}}<br />
* {{pkg|lib32-libcanberra}}<br />
<br />
===Troubleshooting===<br />
====Game does not start====<br />
* Package {{AUR|adobe-air-sdk}} installs Adobe Air not in the place where the game expects it to be, fix this by creating a symlink (requires root permissions):<br />
{{bc|$ ln -s /opt/adobe-air-sdk/runtimes/air/linux/Adobe\ AIR /opt/Adobe\ AIR}}<br />
<br />
* Adobe AIR will want to check whether the EULA was accepeted and fail in doing so. To fix it, issue the following commands (from under your user, not under root):<br />
{{bc|$ mkdir -p ~/.appdata/Adobe/AIR<br />
$ echo 2 > ~/.appdata/Adobe/AIR/eulaAccepted}}<br />
{{Note|By issuing these commands you're accepting Adobe Air's EULA.}}<br />
<br />
==Don't Starve==<br />
===Dependencies (x86_64)===<br />
* {{pkg|lib32-flashplugin}}<br />
* {{pkg|lib32-alsa-plugins}} (Looks like it fixes sound in some cases. See [https://github.com/ValveSoftware/steam-for-linux/issues/2968 this github issue] for details)<br />
* {{AUR|lib32-libcurl-compat}} (Requires further commands after installation as described [http://steamcommunity.com/app/219740/discussions/2/620700960796078576/#c611704730329482542 here])<br />
<br />
===Troubleshooting===<br />
====No sound====<br />
Right click on Don't Starve on your game list, click on Properties, click on SET LAUNCH OPTIONS, then add this: <br />
LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" %command%<br />
<br />
On the game, go to the option and set all audio to the proper volume.<br />
<br />
==Dota 2==<br />
===Dependencies (x86_64)===<br />
* {{pkg|lib32-openal}}<br />
* {{pkg|lib32-libpulse}} (if you use PulseAudio)<br />
* {{pkg|lib32-fontconfig}}<br />
<br />
===Dependencies (Dota 2 reborn)===<br />
* {{AUR|libudev0}} or {{AUR|libudev.so.0}}<br />
<br />
===Troubleshooting===<br />
====In-game font is unreadable====<br />
Start Steam (or Dota 2) with the environment variable:<br />
MESA_GL_VERSION_OVERRIDE=2.1<br />
<br />
====Everything seems OK but the game doesn't start====<br />
If you run the game from the terminal and, although no error is shown, the '''disabling''': ''Steam > Settings > In-Game > Enable Steam Community In-Game''.<br />
Apparently the game [[#The Book of Unwritten Tales|The Book of Unwritten Tales]] has the same problem. It also describes a workaround that is untested in Dota 2.<br />
<br />
====Game runs on the wrong screen====<br />
:[https://github.com/ValveSoftware/Dota-2/issues/11 GitHub Dota 2 issue #11]<br />
<br />
==== Game does not start with libxcb-dri3 error message ====<br />
After a recent Mesa update, Dota 2 stopped working. The error message is:<br />
SDL_GL_LoadLibrary(NULL) failed: Failed loading libGL.so.1: /usr/lib32/libxcb-dri3.so.0: undefined symbol: xcb_send_fd<br />
Simply remove the bundled libxcb to force Steam to use the system-wide version. Restart Steam to apply.<br />
$ find ~/.local/share/Steam -name 'libxcb*' -type f | grep -v installed | xargs rm<br />
:[https://github.com/ValveSoftware/steam-for-linux/issues/3204 GitHub Steam issue #3204]<br />
<br />
==== Steam overlay ====<br />
Steam distributes a copy of libxcb which is incompatible with the latest xorg libxcb. If you're having issues with steam overlay and on recent xorg try removing the bundled lib.<br />
mv ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1 /tmp/libxcb.so.1.bak<br />
See more information here:<br />
:[https://github.com/ValveSoftware/steam-for-linux/issues/3199]<br />
:[https://github.com/ValveSoftware/steam-for-linux/issues/3093]<br />
<br />
====Chinese Tips and player's name display problem====<br />
The Chinese characters in the Tips and player's name display block character.<br />
<br />
The problem caused by some fonts package. It is known that the 'ttf-dejave', 'ttf-liberation' and 'ttf-ms-fonts' will cause the prolem, and the 'wqy-*', 'ttf-ubuntu-font-family', 'ttf-arphic-uming', 'ttf-linux-libertine' are safe. The other fonts family are not checked.<br />
:[https://github.com/ValveSoftware/Dota-2/issues/1688 GitHub Steam issue #1688]<br />
<br />
====Chinese input method problem====<br />
Dota2 is not compatible with CJK IME(Input Method Editor/Enhancer), such as Ibus and Fcitx.<br />
Chinese characters can't be typed in Dota2.[https://github.com/ValveSoftware/Dota-2/issues/493 GitHub Steam issue 493]<br />
<br />
The possible solution<br />
<br />
Compile the `libSDL` with fcitx or ibus support, then replace `Game Folder/dota 2 beta/bin/libSDL2-2.0.so.0` with your version.<br />
:[http://forum.ubuntu.org.cn/viewtopic.php?f=34&t=460195 LibSDL+Ibus]<br />
:[http://forum.ubuntu.org.cn/viewtopic.php?f=34&t=466879&sid=1664abac47d8f639ed9b7f3abf94c675 LibSDL+Fcitx]<br />
:[https://github.com/timxx/SDL-fcitx LibSDL+Fcitx Source]<br />
:[https://github.com/ValveSoftware/Dota-2/issues/1650 The solutions issues]<br />
<br />
==Dwarfs F2P==<br />
===Dependencies===<br />
* {{AUR|lib32-libgdiplus}}<br />
<br />
===Troubleshooting===<br />
====Game does not start====<br />
There was a bug that stopped Steam from fetching all the needed files. It should be resolved, if you still bump into this problem, try verifying integrity of game cache from game properties, local files tab.<br />
<br />
If the game still crashes at startup, edit {{ic|~/.local/share/Steam/SteamApps/common/Dwarfs - F2P/Run.sh}} and change<br />
export LD_LIBRARY_PATH=.:${LD_LIBRARY_PATH}<br />
to<br />
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:.<br />
{{Note|This file may be overwritten by updates or by verifying integrity of game cache. You may need to modify it again.}}<br />
<br />
If these do not help, you may have outdated libraries in the game installation folder that are crashing the game on startup. Try moving/removing the following files out of {{ic|~/.local/share/Steam/SteamApps/common/Dwarfs - F2P/}} to fix it:<br />
<br />
libX11.so.6, libsteam.so libtier0_s.so, libvstdlib_s.so, steamclient.so<br />
<br />
====Game crashes====<br />
In some cases, the game crashes about 2 minutes before the end of every arcade. This bug has been reported, but there's no known solution to it.<br />
<br />
==Dynamite Jack==<br />
===Dependencies===<br />
* {{pkg|lib32-sdl}}<br />
<br />
===Troubleshooting===<br />
====Sound Issues====<br />
When running on 64-bit Arch Linux, there may be "pops and hisses" when running Dynamite Jack. This could be caused by not having {{ic|1=STEAM_RUNTIME=0}} set. (However, even with {{ic|1=STEAM_RUNTIME=0}} set, the game may still sometimes start with this issue. Exiting and restarting the game seems to make the problem go away.)<br />
<br />
====Game does not start====<br />
If running steam with the {{ic|1=STEAM_RUNTIME=0}}, Dynamite Jack may have a problem starting. Check the steam error messages for this message:<br />
/home/<USER>/.local/share/Steam/SteamApps/common/Dynamite Jack/bin/main: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory<br />
Install {{pkg|lib32-sdl}} from [[multilib]] and Dynamite Jack should start up.<br />
<br />
==Football Manager 2014==<br />
This game will not run when installed on an XFS or reiserfs filesystem. Workaround is to install on an ext4 filesystem.<br />
<br />
==FORCED==<br />
This game has 32-bit and 64-bit binaries. For unknown reason, steam will launch the 32-bit binary even on 64-bit Arch Linux.<br />
When manually launching the 64-bit binary, the game starts, but cannot connect to Steam account, so you cannot play.<br />
So install 32-bits dependencies, and launch the game from Steam.<br />
<br />
===Dependencies===<br />
* {{pkg|lib32-alsa-plugins}}<br />
* {{pkg|lib32-glu}}<br />
<br />
==FTL: Faster than Light==<br />
===Dependencies===<br />
Libraries are downloaded and and placed in the game's data directory for both architectures. As long as you run FTL by the launcher script (or via the shortcut in Steam) you should not need to download any further libraries.<br />
<br />
===Compatibility===<br />
After installation, FTL may fail to run due to a 'Text file busy' error (characterised in Steam by your portrait border going green then blue again). The easiest way to mend this is to just reboot your system. Upon logging back in FTL should run.<br />
<br />
The Steam overlay in FTL does not function as it is not a 3D accelerated game. Because of this the desktop notifications will be visible. If playing in fullscreen, therefore, these notifications in some systems may steal focus and revert you back to windowed mode with no way of going back to fullscreen without relaunching. The binaries for FTL on Steam have no DRM and it is possible to run the game ''without'' Steam running, so in some cases that may be optimum - just ensure that you launch FTL via the launcher script in {{ic|~/.steam/root/SteamApps/common/FTL Faster than Light/data/}} rather than the FTL binary in the $arch directory.<br />
<br />
===Problems with open-source video driver===<br />
FTL may fail to run if you are using an opensource driver for your video card. There are two solutions: install a proprietary video driver or delete (rename if you are unsure) the library "libstdc++.so.6" inside {{ic|~/.steam/root/SteamApps/common/FTL\ Faster\ Than\ Light/data/amd64/lib}}. This is if you are using a 64bit system. In case you are using a 32bit system you have to remove (rename) the same library located into {{ic|~/.steam/root/SteamApps/common/FTL\ Faster\ Than\ Light/data/x86/lib}}.<br />
<br />
==Game Dev Tycoon==<br />
===Troubleshooting===<br />
====Game does not start====<br />
Error about missing libudev.so.0 might appear, solution:<br />
# ln -s /lib/libudev.so /lib/libudev.so.0<br />
<br />
==Garry's Mod==<br />
===Troubleshooting===<br />
====Game does not start====<br />
Error about missing client.so might appear, solution:<br />
cd SteamLibrary/SteamApps/common/GarrysMod/bin/<br />
ln -s libawesomium-1-7.so.0 libawesomium-1-7.so.2<br />
ln -s ../garrysmod/bin/client.so ./<br />
====Opening some menus causes the game to crash====<br />
Most menus work fine, but ones with checkboxes (LAN multiplayer, mounted games list) do not work at all. This is a bug in the menu code.<br />
<br />
If you prefer the default menu style and do not mind a hacky solution: [https://github.com/Facepunch/garrysmod-issues/issues/86#issuecomment-30935491 Simon311] has written code with instructions to fix it.<br />
<br />
If you do not care for the default menu style and want a more stable but feature-incomplete solution, Facepunch developer [https://github.com/robotboy655/gmod-lua-menu robotboy655] has written a new menu.<br />
<br />
==Half-Life 2 & episodes==<br />
===Cyrillic fonts problem===<br />
This problem can be solved by deleting "Helvetica" font.<br />
<br />
==Hammerwatch==<br />
===Troubleshooting===<br />
====The game not starting from Steam GUI====<br />
Right click on Hammerwatch on your game list, click on Properties, click on SET LAUNCH OPTIONS, then add this: <br />
LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" %command%<br />
====No sound====<br />
Hammerwatch opens with a popup: "Sound Error" -- "Could not initialize OpenAL, no sounds will be played. Try updating your OpenAL drivers."<br />
<br />
OpenAL, which Hammerwatch uses, defaults to PulseAudio. To change that, add the following line to {{ic|/etc/openal/alsoft.conf}}:<br />
<br />
drivers=alsa,pulse<br />
<br />
This way, Hammerwatch will use ALSA. This solution was found [https://stackoverflow.com/questions/9547396/what-does-al-lib-pulseaudio-c612-context-did-not-connect-access-denied-me here].<br />
<br />
==Harvest: Massive Encounter==<br />
===Dependencies===<br />
* {{pkg|lib32-gtk2}}<br />
* {{pkg|lib32-libvorbis}}<br />
* {{pkg|lib32-openal}}<br />
* {{Pkg|lib32-nvidia-cg-toolkit}}<br />
* {{AUR|lib32-libjpeg6}}<br />
* {{AUR|lib32-sfml}}<br />
<br />
===Compatibility===<br />
Game refuses to launch and throws you to library installer loop. Just edit {{ic| ~/.steam/root/SteamApps/common/Harvest Massive Encounter/run_harvest}} and remove everything but<br />
#!/bin/bash<br />
exec ./Harvest<br />
<br />
==Invisible Apartment==<br />
===Dependencies===<br />
* {{pkg|qt5-multimedia}}<br />
<br />
===Game does not run===<br />
Game does not run if you try to launch it via Steam, but you can run it directly if you run the following in terminal<br />
/home/<username>/.steam/steam/SteamApps/common/Invisible\ Apartment/ia1<br />
where for <username> you put your Linux username.<br />
<br />
==Joe Danger 2: The Movie==<br />
===Dependencies===<br />
* {{pkg|lib32-libpulse}}<br />
* {{pkg|lib32-alsa-plugins}}<br />
<br />
===Compatibility===<br />
Game only worked after obtaining from the [https://www.humblebundle.com/ Humble Bundle] directly and {{pkg|lib32-libpulse}} was installed.<br />
<br />
==[[Kerbal Space Program]]==<br />
===Troubleshooting===<br />
=== Game never progresses past initial loading ===<br />
To fix this, set:<br />
LC_ALL=C<br />
<br />
=== No text display ===<br />
The game requires Arial and Arial Black fonts, provided by the {{AUR|ttf-ms-fonts}} package.<br />
<br />
Another alternative is to try to install the {{Pkg|ttf-freefont}} package. This worked using KSP 0.90.0 on x86_64 Arch Linux.<br />
<br />
=== Graphics flickering when using primusrun ===<br />
Run with PRIMUS_SYNC=2 (but you will get reduced frame rate this way)<br />
<br />
=== Game crashes when accessing settings or saves on 64 bit systems on Steam ===<br />
In the properties for Kerbal Space program, set a launch option of:<br />
LC_ALL=C %command%_64<br />
<br />
=== Locale settings ===<br />
See https://bugs.kerbalspaceprogram.com/issues/504 if you have troubles with building Ships.<br />
<br />
=== No audio on 64-bit systems ===<br />
<br />
Run the 64-bit executable.<br />
<br />
Steam launches the KSP.x86 executable vs. the KSP.x86_64 executable. <br />
Navigate to:<br />
/home/$USER/.local/share/Steam/SteamApps/common/Kerbal\ Space\ Program/ <br />
Launch with:<br />
./KSP.x86_64<br />
<br />
Or you can simply right click on "Kerbal Space Program" in your game list, click ''Properties'', click ''SET LAUNCH OPTIONS'', then add this: <br />
LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" LC_ALL=C %command%_64<br />
<br />
=== Black ingame textures ===<br />
<br />
Disable "Edge Highlighting (PPFX)" in graphics settings ingame.<br />
<br />
=== See also ===<br />
* [[Kerbal Space Program]]<br />
* http://forum.kerbalspaceprogram.com/showthread.php/24529-The-Linux-compatibility-thread!<br />
<br />
==Killing Floor==<br />
===Troubleshooting===<br />
====Screen resolution====<br />
Killing Floor runs pretty much from scratch, although you might have to change in-game resolution screen as the default one is '''800x600''' and a '''4:3''' screen format.<br />
If you try to modify screen resolution in-game, it might crash your desktop enviroment.<br />
To fix this, please set the desired resolution screen size by modifing your {{ic|~/.killingfloor/System/KillingFloor.ini}} with your prefered editor.<br />
{{hc|~/.killingfloor/System/KillingFloor.ini|<nowiki><br />
...<br />
<br />
[WinDrv.WindowsClient]<br />
WindowedViewportX=????<br />
WindowedViewportY=????<br />
FullscreenViewportX=????<br />
FullscreenViewportY=????<br />
MenuViewportX=???<br />
MenuViewportY=???<br />
<br />
...<br />
<br />
[SDLDrv.SDLClient]<br />
WindowedViewportX=????<br />
WindowedViewportY=????<br />
FullscreenViewportX=????<br />
FullscreenViewportY=????<br />
MenuViewportX=????<br />
MenuViewportY=????<br />
<br />
...<br />
</nowiki>}}<br />
{{Note|Replace all the {{ic|????}} with the corresponding numbers according the desired resolution. If you have an 1366x768 screen and want to use it at it's fullest, change all the Viewport fields to something like {{ic|ViewportX&#61;1366}} and {{ic|ViewportY&#61;768}} in the corresponding areas.}}<br />
{{Note| The dots in the middle indicate that there are more fields in that .ini file. But for screen resolution troubleshooting, you do not need to modify anything else.}}<br />
<br />
Save the file and restart the game, it should work now.<br />
<br />
====Windowed mode====<br />
Uncheck fullscreen in the options menu, and use {{ic|Ctrl+g}} to stop mouse capturing (that was non-obvious to discover..). This way you can easily minimize it and do other other things..and let your WM handle things.<br />
<br />
====Stuttering Sound====<br />
KillingFloor comes with its own libopenal.so (called openal.so). To use system lib instead install {{pkg|openal}} or {{pkg|lib32-openal }} (if using 64bit system).<br />
Then go to {{ic|$HOME/Steam/SteamApps/common/KillingFloor/System}}. and rename openal.so to openal.so.bak<br />
Then create symlink to /usr/lib32/libopenal.so.1 or /usr/lib/libopenal.so.1 called openal.so<br />
<br />
==Metro: Last Light==<br />
This game is not allowing to change its resolution on a multimonitor setup on GNOME with Catalyst drivers. <br />
===Attempted fixes===<br />
Various changes to the games config file was tried without success.<br />
{{ic|wmctrl}} was not able to force the games resolution.<br />
<br />
===Hacky solution===<br />
Disabled the side monitors.<br />
<br />
===Possible solutions===<br />
Jason over at [http://unencumberedbyfacts.com/2013/11/20/multiple-monitor-gaming-on-linux/ unencumbered by fact] is using Nvidia drivers on his multimonitor setup. However he notes he is using a single display server setup. This is being explored.<br />
<br />
==Multiwinia==<br />
===Dependencies===<br />
* {{pkg|lib32-openal}}<br />
<br />
==Natural Selection 2==<br />
Game mostly works out of the box.<br />
===No Sound===<br />
If there is no sound in-game. Try installing {{pkg|lib32-sdl}}, {{AUR|lib32-sdl2}}, and {{pkg|lib32-alsa-plugins}}<br />
<br />
If this fails, try setting the game's launch options in Steam to:<br />
LD_LIBRARY_PATH="/usr/lib32:$LD_LIBRARY_PATH" %command%<br />
<br />
==Penumbra: Overture==<br />
===Dependencies===<br />
(Taken from {{AUR|penumbra-collection}} and {{AUR|penumbra-overture-ep1-demo}})<br />
* {{pkg|lib32-glu}}<br />
* {{pkg|lib32-libxft}}<br />
* {{pkg|lib32-libvorbis}}<br />
* {{pkg|lib32-openal}}<br />
* {{pkg|lib32-sdl_ttf}}<br />
* {{pkg|lib32-sdl_image}}<br />
<br />
===Troubleshooting===<br />
====Windowed mode====<br />
There is no in-game option to change to the windowed mode, you will have to edit {{ic|~/.frictionalgames/Penumbra/Overture/settings.cfg}} to activate it.<br />
Find {{ic|FullScreen&#61;"true"}} and change it to {{ic|FullScreen&#61;"false"}}, after this the game should start in windowed mode.<br />
<br />
==Portal 2==<br />
===Troubleshooting===<br />
====Game does not start====<br />
If you get the error {{ic|PROBLEM: You appear to have OpenGL 1.4.0, but we need at least 2.0.0!}},<br />
<br />
Re/move {{ic|~/.local/share/Steam/SteamApps/common/Portal\ 2/bin/libstdc++.so.6}}.<br />
<br />
==Prison Architect==<br />
===Troubleshooting===<br />
====ALSA error when using PulseAudio====<br />
The error:<br />
{{ic|ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave}}<br />
was resolved by installing:<br />
* {{pkg|pulseaudio-alsa}} <br />
* {{pkg|lib32-alsa-plugins}}<br />
* {{pkg|lib32-libpulse}}<br />
per [[PulseAudio#ALSA]]<br />
<br />
==Project Zomboid==<br />
===Dependencies===<br />
* {{pkg|jre7-openjdk}}<br />
<br />
==Redshirt==<br />
===Dependencies (x86_64)===<br />
* {{pkg|lib32-libpulse}} (if you use PulseAudio)<br />
<br />
==Revenge of the Titans==<br />
===Dependencies===<br />
* {{pkg|libxtst}} and {{pkg|lib32-libxtst}}<br />
<br />
==Serious Sam 3: BFE==<br />
===Dependencies===<br />
* {{pkg|lib32-alsa-plugins}}<br />
<br />
===Troubleshooting===<br />
====No audio====<br />
Try running:<br />
# mkdir -p /usr/lib/i386-linux-gnu/alsa-lib/<br />
# ln -s /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so /usr/lib/i386-linux-gnu/alsa-lib/<br />
<br />
If that does not work, try tweaking {{ic|~/.alsoftrc}} as proposed by the [http://steamcommunity.com/app/221410/discussions/3/846940248238406974/ Steam community] (Serious Sam 3: BFE uses OpenAL to output sound). If you are not using Pulse Audio, you may want to write the following configuration:<br />
<br />
{{hc|~/.alsoftrc|<nowiki><br />
[general]<br />
drivers = alsa<br />
[alsa]<br />
device = default<br />
capture = default<br />
mmap = true<br />
</nowiki>}}<br />
<br />
==Sir, you are being hunted==<br />
===Dependencies===<br />
* {{pkg|lib32-alsa-plugins}}<br />
<br />
==Spacechem==<br />
===Dependencies===<br />
* {{pkg|lib32-sqlite}}<br />
* {{pkg|lib32-sdl_image}}<br />
* {{AUR|lib32-sdl_mixer}}<br />
<br />
===Troubleshooting===<br />
====Game crash====<br />
The shipped x86 version of Spacechem does not work on x64 with the game's own libSDL* files, and crashes with some strange output.<br />
<br />
To solve this just remove or move the three files {{ic|libSDL-1.2.so.0}}, {{ic|libSDL_image-1.2.so.0}}, {{ic|libSDL_mixer-1.2.so.0}} from {{ic|~/.steam/root/SteamApps/common/SpaceChem}}<br />
<br />
==Space Pirates and Zombies==<br />
===Dependencies===<br />
* {{pkg|lib32-alsa-plugins}}<br />
* {{pkg|lib32-openal}}<br />
<br />
===Troubleshooting===<br />
====No audio====<br />
Try running:<br />
# mkdir -p /usr/lib/i386-linux-gnu/alsa-lib/<br />
# ln -s /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so /usr/lib/i386-linux-gnu/alsa-lib/<br />
<br />
If that does not work, try tweaking {{ic|~/.alsoftrc}} as proposed by the Steam community (Serious Sam 3: BFE uses OpenAL to output sound). If you are not using Pulse Audio, you may want to write the following configuration:<br />
{{hc|~/.alsoftrc|<nowiki><br />
[general]<br />
drivers = alsa<br />
[alsa]<br />
device = default<br />
capture = default<br />
mmap = true<br />
</nowiki>}}<br />
<br />
==Splice==<br />
Splice comes with both x86 and x64 binaries. Steam does not have to be running to launch this game.<br />
===Dependencies===<br />
* {{pkg|glu}}<br />
<br />
==Steel Storm: Burning Retribution==<br />
===Troubleshooting===<br />
====Start with black screen====<br />
The game tries to launch in 1024x768 resolution with fullscreen mode by default. It is impossible on some devices.<br />
(for example laptop Samsung Series9 with intel hd4000 video).<br />
<br />
You can launch the game in windowed mode. To do this open game Properties in Steam, in General tab select "Set launch options..." and type "-window".<br />
<br />
Now you can change the resolution in game.<br />
<br />
====No English fonts====<br />
If you use Intel video card, just disable S3TC in DriConf.<br />
<br />
==Strike Suite Zero==<br />
===Dependencies===<br />
* {{pkg|lib32-alsa-plugins}}<br />
<br />
==Superbrothers: Sword & Sworcery EP==<br />
===Dependencies===<br />
* {{pkg|lib32-glu}}<br />
* {{pkg|lib32-alsa-plugins}}<br />
* {{pkg|lib32-libpulse}} (if you use PulseAudio)<br />
<br />
==Team Fortress 2 ==<br />
===Dependencies===<br />
* {{AUR|lib32-libpng12}}<br />
<br />
===Making HRTF work===<br />
Assuming HRTF has been set up properly in the operating system, hrtf won't be enabled unless you disable the original processing. To do so, use<br />
dsp_slow_cpu 1<br />
For best results, also change the following:<br />
snd_spatialize_roundrobin 1<br />
dsp_enhance_stereo 0<br />
snd_pitchquality 1<br />
<br />
===Troubleshooting===<br />
====Loading screen freeze====<br />
If you are a non-english (speaking) user, you have to enable "en_US.UTF-8" in the locale.gen! Generate a new locale after that.<br />
<br />
====No audio====<br />
It happens if there is no PulseAudio in your system.<br />
If you want to use [[ALSA]], you need to launch Steam or the game directly with {{ic|1=SDL_AUDIODRIVER=alsa}} <br />
(From [http://steamcommunity.com/app/221410/discussions/0/882966056462819091/#c882966056470753683 SteamCommunity]).<br />
<br />
If it still does not work, you may also need to set the environment variable AUDIODEV. For instance {{ic|1=AUDIODEV=Live}}. Use {{ic|aplay -l}} to list the available sound cards.<br />
<br />
====Slow loading textures====<br />
If you are using Chris' FPS Configs or any other FPS config, you may have set {{ic|mat_picmip}} to {{ic|2}}. This spawns multiple threads for texture loading, which may cause more jittering and lag on Linux, especially on alternative kernels. Try setting it to {{ic|-1}}, the default.<br />
<br />
==The Book of Unwritten Tales==<br />
If the game does not start, uncheck: ''Properties > Enable Steam Community In-Game''.<br />
<br />
The game may segfault upon clicking the Setting menu and possibly during or before gameplay. This is a known problem and you will unfortunately have to wait for a fix from the developer. A workaround (taken from the [http://steamcommunity.com/app/221410/discussions/3/846939071081758230/#p2 Steam forums]) is to replace the game's RenderSystem_GL.so with one from Debian's repositories. To do that download this [https://launchpad.net/ubuntu/+archive/primary/+files/libogre-1.7.4_1.7.4-3_i386.deb deb file], extract it (with {{ic|{{AUR|dpkg}} -x libogre-*.deb outdir}}) and replace {{ic|~/.local/share/Steam/SteamApps/common/The Book of Unwritten Tales/lib/32/RenderSystem_GL.so}} with the one that comes with the {{ic|.deb}} package.<br />
<br />
===Dependencies===<br />
* {{AUR|lib32-libxaw}}<br />
* {{AUR|lib32-jasper}}<br />
<br />
==The Book of Unwritten Tales: The Critter Chronicles==<br />
Because it's based on the same engine, the things that apply to ''The Book of Unwritten Tales'' also apply for this game.<br />
<br />
To prevent the game from crashing at the very end when the credits are shown, change the size of the credits image as described here: http://steamcommunity.com/app/221830/discussions/0/828925849276110960/#c810921273836530791<br />
<br />
==The Clockwork Man==<br />
===Dependencies===<br />
* {{pkg|lib32-libidn}}<br />
<br />
==The Polynomial==<br />
===Dependencies===<br />
* {{AUR|ilmbase102-libs}}<br />
* {{AUR|openexr170-libs}}<br />
[https://github.com/ValveSoftware/steam-for-linux/issues/2721 Steam for Linux issue #2721]<br />
<br />
===Troubleshooting===<br />
====Segfaults during program start on 64-bit systems====<br />
The game segfaults during program start because of the {{ic|LD_LIBRARY_PATH}} setting in the launcher script. Edit {{ic|~/.local/share/Steam/SteamApps/common/ThePolynomial/Polynomial64}}, and comment out the {{ic|LD_LIBRARY_PATH}} variable. Make sure to put the {{ic|./bin/Polynomial64 "$@"}} command on a new line.<br />
<br />
==Towns / Towns Demo==<br />
===Crash on launch===<br />
Ensure you have [[Java]] installed.<br />
<br />
==Trine 2==<br />
===Dependencies===<br />
* {{pkg|lib32-glu}}<br />
* {{pkg|lib32-libxxf86vm}}<br />
* {{pkg|lib32-openal}}<br />
* {{pkg|xorg-xwininfo}}<br />
<br />
===Troubleshooting===<br />
* If colors are wrong with FOSS drivers (r600g at least), try to run the game in windowed mode, rendering will be corrected. ([https://bugs.freedesktop.org/show_bug.cgi?id=60553 bugreport])<br />
* If sound plays choppy, try:<br />
{{hc|/etc/openal/alsoft.conf|<nowiki><br />
drivers=pulse,alsa<br />
frequency=48000<br />
</nowiki>}}<br />
<br />
* If the game resolution is wrong when using a dual monitor setup and you can't see the whole window edit {{ic|~/.frozenbyte/Trine2/options.txt}} and change the options {{ic|ForceFullscreenWidth}} and {{ic|ForceFullscreenHeight}} to the resolution of your monitor on which you want to play the game.<br />
<br />
==Unity3D==<br />
<br />
Games based on the Unity3D engine, like ''War For The Overworld'' or ''Pixel Piracy'' may need the package {{pkg|lsb-release}} to understand that they run on linux and work properly.<br />
<br />
==Unity of Command==<br />
===Dependencies===<br />
* {{pkg|lib32-pango}}<br />
* {{pkg|lib32-alsa-plugins}}<br />
<br />
===Troubleshooting===<br />
* If squares are shown instead of text, try removing {{ic|$HOME/Steam/SteamApps/common/Unity of Command/bin/libpangoft2-1.0.so.0}}.<br />
<br />
====No audio====<br />
If you get this error:<br />
ALSA lib dlmisc.c:254:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/i386-linux-gnu/alsa-lib/libasound_module_pcm_pulse.so<br />
<br />
Try running:<br />
# mkdir -p /usr/lib/i386-linux-gnu/alsa-lib/<br />
# ln -s /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so /usr/lib/i386-linux-gnu/alsa-lib/<br />
<br />
==Unrest==<br />
===Dependencies===<br />
* {{pkg|fluidsynth}}<br />
<br />
== Witcher 2: Assassin of Kings ==<br />
<br />
=== Dependencies ===<br />
<br />
* {{Pkg|lib32-freetype2}}<br />
* {{AUR|lib32-libcurl-compat}}<br />
* {{Pkg|lib32-gnutls}}<br />
<br />
* {{AUR|lib32-sdl2}}<br />
* {{AUR|lib32-sdl2_image}}<br />
* {{AUR|lib32-libcurl-gnutls}}<br />
<br />
=== Troubleshooting ===<br />
<br />
If the game does not run, enable error messages:<br />
<br />
cd "${HOME}/.local/share/Steam/SteamApps/common/the witcher 2"<br />
LIBGL_DEBUG=verbose ./witcher2<br />
<br />
==Wizardry 6: Bane of the Cosmic Forge==<br />
===Dependencies===<br />
* {{pkg|dosbox}}<br />
<br />
To fix the crash at start, edit {{ic|~/.local/share/Steam/SteamApps/common/Wizardry6/dosbox_linux/launch_wizardry6.sh}} and change<br />
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./libs<br />
exec ./dosbox -conf dosbox_wiz6.conf -conf dosbox_wiz6_launch_linux.conf -noconsole "$@"<br />
to<br />
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./libs<br />
exec dosbox -conf dosbox_wiz6.conf -conf dosbox_wiz6_launch_linux.conf -noconsole "$@"<br />
<br />
==World of Goo==<br />
===Changing resolution===<br />
* To change the game resolution edit the section "Graphics display" in the configuration file {{ic|$HOME/Steam/SteamApps/common/World of Goo/properties/config.txt}}. For example, see below:<br />
<!-- Graphics display --><br />
<param name="screen_width" value="1680" /><br />
<param name="screen_height" value="1050" /><br />
<param name="color_depth" value="0" /><br />
<param name="fullscreen" value="true" /><br />
<param name="ui_inset" value="10" /><br />
<br />
==Worms Reloaded==<br />
===Dependencies===<br />
* {{pkg|lib32-alsa-plugins}}<br />
<br />
==XCOM==<br />
===Hangs on startup===<br />
Steam ships its own versions of some libraries, and they sometimes are too old to work with archlinux system libraries.<br />
Removing the library supplied by Steam means Steam has to use the newer arch-specific version. [https://bbs.archlinux.org/viewtopic.php?pid=1428375#p1428375].<br />
<br />
{{bc|rm ~.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1<br />
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6}}</div>
Billy
https://wiki.archlinux.org/index.php?title=Talk:Plymouth&diff=319312
Talk:Plymouth
2014-06-12T06:23:46Z
<p>Billy: </p>
<hr />
<div>== Headline text ==<br />
We need to add a session under == Configuration == for systemd. Does anyone know what is the best way to use playmouth with systemd?<br />
I know about yourdm-plymouth.service<br />
<br />
== encrypt hook==<br />
<br />
Plymouth doesn't currently work with the encrypt hook: https://bbs.archlinux.org/viewtopic.php?pid=672262#p672262<br />
<br />
== black square ==<br />
Troubleshooting: Small black squares is still an issue using plymouth 0.8.3, linux 3.0 and AMD catalyst 11.7. The solution provided in the Troubleshooting section works fine. [[User:Mclaud2000|Mclaud2000]] 10:26, 8 August 2011 (EDT)<br />
<br />
== GDM ==<br />
Wiki page says that the GDM users should use {{ic|--enable-gdm-transition}} flag in their PKGBUILDs. But on this link [http://comments.gmane.org/gmane.comp.freedesktop.plymouth/718 Plymouth mailing list] it is explained that the flag enables deprecated code and is not needed in newer versions of GDM.</div>
Billy
https://wiki.archlinux.org/index.php?title=Flashing_BIOS_from_Linux&diff=175849
Flashing BIOS from Linux
2011-12-25T10:34:40Z
<p>Billy: /* Usage */ flashrom does not support multiple actions at once</p>
<hr />
<div>[[Category:Mainboards and BIOS (English)]]<br />
This article aims on providing information on flashing your system BIOS under Linux. Most manufacturers provide a Windows executable or a BIOS executable that can only be run under Windows. However, there are a few utilities, that allow you to upgrade your system BIOS under Linux.<br />
<br />
{{Warning|Flashing motherboard BIOS is a dangerous activity that can render your motherboard inoperable! While the author of this article has successfully run this procedure many times, your mileage may vary. Be careful!}}<br />
<br />
==Introduction==<br />
There are a few ways that you can use to flash the system BIOS under Linux.<br />
<br />
==BiosDisk==<br />
[http://linux.dell.com/biosdisk/ BiosDisk] BiosDisk simplifies the process of flashing your system BIOS under Linux<br />
===Installation===<br />
====Method 1: AUR (Recommended)====<br />
[http://aur.archlinux.org/packages.php?ID=38248 BiosDisk] is available from the Arch User Community Repositories.<br />
<br />
====Method 2: From Source====<br />
Grab the source from the [http://linux.dell.com/biosdisk/ biosdisk] web page. Extract the source from the tar ball, cd into the directory and run <br />
sudo sh install.sh<br />
<br />
===Usage===<br />
To use the biosdisk utility to create a BIOS flash image, first download the latest raw BIOS image for your system from your manufacturer's website. Make sure however, that you always get the BIOS executable and NOT the Windows executable. You then have one of several options: create a floppy, create a dd floppy image, create a user-installable distribution-specific package (e.g. RPM), or actually install the image for your bootloader.<br />
<br />
* The mkfloppy action will create the biosdisk image and write it directly to a floppy disk. Usage is the following:<br />
<br />
biosdisk mkfloppy [-o option] [-d device] [-k baseimage] /path/to/.exe <br />
<br />
* The mkimage action will create a floppy image on the user's hard drive. Usage is the following: <br />
<br />
biosdisk mkimage [-o option] [-i destination] [-k baseimage] /path/to/.exe <br />
<br />
* The mkpkg action will create the floppy image, and use it to create a user-installable package specific to the distribution (example: RPM). When the package is installed, it will use the distribution's built-in tools to update the system's bootloader so that the user can boot to the image from the hard drive to flash the BIOS, without needing a floppy drive. Currently only Red Hat/Fedora RPM packages are supported. Usage is as follows:<br />
<br />
biosdisk mkpkg [-o option] [--install] [--distro=] [--name=] [--version=] [--release=] /path/to/{.exe | .img}<br />
<br />
* The install action will create the biosdisk image, copy the image file to /boot, and then update the bootloader with an entry for the image. Then all the user has to do is boot the system and select the image to flash the BIOS; this will load the biosdisk image directly from the hard drive and flash the BIOS.<br />
<br />
biosdisk install [-o option] [--name=] /path/to/{.exe | .img}<br />
<br />
==Flashrom==<br />
[http://www.flashrom.org/Flashrom Flashrom]is a utility for identifying, reading, writing, verifying and erasing flash chips. It is designed to flash BIOS/EFI/coreboot/firmware/optionROM images on mainboards, network/graphics/storage controller cards, and various programmer devices.<br />
<br />
===Installation===<br />
====Method 1: Community Repo (Recommended)====<br />
sudo pacman -S flashrom<br />
<br />
====Method 2: AUR====<br />
[http://aur.archlinux.org/packages.php?ID=30391 Flashrom] <br />
[http://aur.archlinux.org/packages.php?ID=23390 Flashrom] <br />
[http://aur.archlinux.org/packages.php?ID=36865 Flashrom] is also available from the Arch User Community Repositories.<br />
<br />
====Method 2: From Source====<br />
Grab the source from the [http://www.flashrom.org/Flashrom Flashrom] web page. Extract the source from the tar ball, cd into the directory and run<br />
make <br />
make install<br />
<br />
===Usage===<br />
Find out if your motherboard and chipset is supported by flashrom at this website. [http://www.flashrom.org/Supported_hardware Supported Hardware]<br />
You can also find out if your hardware is supported by issuing the following command<br />
sudo flashrom<br />
The above command will tell you your motherboard and chipset. You can then find out if your's is supported by issuing this command<br />
flashrom -L | grep whatevernameyougotfromthefirstcommand<br />
<br />
Read the BIOS image into a file:<br />
$ flashrom -r backup.bin<br />
Write a BIOS image (proprietary or LinuxBIOS) on the ROM chip:<br />
$ flashrom -w newbios.bin<br />
$ flashrom -v newbios.bin<br />
<br />
==FreeDOS==<br />
[http://www.freedos.org/ FreeDOS] a free DOS-compatible operating system, is up to the challenge, no need for proprietary DOS versions. So, all you need is a bootable floppy disk image with FreeDOS kernel on it.<br />
<br />
===Unetbootin===<br />
By far the easiest way to make a bootable FreeDOS USB Stick is using {{Package AUR|unetbootin}}.<br />
<br />
You should format a pendrive with FAT16 and flag it as "boot" (you may do this through a GUI with {{Package Official|gparted}}, {{Package AUR|qtparted}} or {{Package AUR|partitionmanager}}). Then, after mounting the flash drive, select under distribution '''FreeDOS''' and your mounted stick. The app will automatically download the image for you and copy it to the drive. Finally, you may copy everything you want to flash there (BIOS, firmwares, etc).<br />
<br />
If you want to do it the hard way, keep reading. ;)<br />
<br />
===Gentoo===<br />
Check out [http://en.gentoo-wiki.com/wiki/FreeDOS_Flash_Drive FreeDOS Flash Drive] on the Gentoo Wiki if you want to create a bootable FreeDOS Flash drive.<br />
<br />
===Usage===<br />
'''Step 1: Download FreeDOS boot disk floppy image'''<br />
We are fortunate that guys at FDOS site have prepared one suitable for us. Use the OEM Bootdisk version, the one with just kernel and command.com, because it leaves more free space on disk for the flash utility and new BIOS image. After you download the image, you need to decompress it. In other words:<br />
wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz<br />
gunzip FDOEM.144.gz<br />
<br />
'''Step 2: Copy your BIOS flash utility and new BIOS image to the mounted floppy disk image'''<br />
<br />
Requirement for this step is that you have support for the vfat and loop file systems in the kernel. Or you can have those features compiled as modules. In the latter case, load the modules before the next step, like this.<br />
modprobe vfat<br />
modprobe loop<br />
<br />
Consult {{Filename|/proc/fileystems}} to see if you have the needed file systems supported. If you do, you should be able to "loop mount" the floppy disk image to some temporary path:<br />
mkdir /tmp/floppy<br />
mount -t vfat -o loop FDOEM.144 /tmp/floppy<br />
<br />
If the mount went without errors, copy BIOS flash utility and new BIOS image to the mounted floppy disk image. You'll probably have to unzip the archive you downloaded from your motherboard vendor site, to get to those two files. Here's just an example for my motherboard (in your case, files will have different names, of course):<br />
<br />
# unzip 775Dual-VSTA\(2.60\).zip<br />
Archive: 775Dual-VSTA(2.60).zip<br />
inflating: 75DVSTA2.60<br />
inflating: ASRflash.exe<br />
# cp 75DVSTA2.60 ASRflash.exe /tmp/floppy<br />
<br />
Doublecheck that everything went OK, that those two files weren't too big for the floppy:<br />
<br />
Filesystem 1K-blocks Used Available Use% Mounted on<br />
/tmp/FDOEM.144<br />
1424 990 434 70% /tmp/floppy<br />
Finally, unmount the floppy disk image:<br />
umount /tmp/floppy<br />
<br />
'''Step 3: Burn a bootable CD which will emulate floppy device for us'''<br />
<br />
Next step is to burn the floppy image to a CD/DVD-RW media, but in a way that it can be booted afterwards. First we need to make a bootable CD image, and then burn it. Notice that on some modern distributions, cdrecord is renamed to wodim, and mkisofs to genisoimage, but the parameters below should be the same.<br />
mkisofs -o bootcd.iso -b FDOEM.144 FDOEM.144<br />
cdrecord -v bootcd.iso<br />
<br />
'''Alternative Step 3: Add your image to Grub's menu.<br />
You will need to install syslinux and copy memdisk to {{Filename|/boot}}, and put your image there as well.<br />
<br />
cp /usr/lib/syslinux/memdisk /boot<br />
cp FDOEM.144 /boot/flashbios.img<br />
<br />
Now add an entry to your {{Filename|/boot/grub/menu.lst}}:<br />
<br />
title Flash BIOS<br />
kernel /memdisk<br />
initrd /flashbios.img<br />
<br />
Or for GRUB2 in {{Filename|/boot/grub/grub.cfg}}:<br />
<br />
menuentry "Flash BIOS" {<br />
linux16 /boot/memdisk<br />
initrd16 /boot/flashbios.img<br />
}<br />
<br />
'''Step 4: Reboot, flash, reboot, enjoy your new BIOS'''<br />
<br />
Finally reboot your machine, make sure that your CD drive is first in the boot sequence, and then run your BIOS upgrade procedure when the CD boots. If using the GRUB method, just choose the new entry on the list, and it should boot into FreeDOS.</div>
Billy
https://wiki.archlinux.org/index.php?title=Laptop_Mode_Tools&diff=124858
Laptop Mode Tools
2010-12-11T14:02:44Z
<p>Billy: /* CPU frequency */ fix typo</p>
<hr />
<div>[[Category:Laptops (English)]]<br />
[[Category:Power management (English)]]<br />
{{Expansion}}<br />
{{Article summary start}}<br />
{{Article summary text|Overview of the Laptop Mode Tools power management suite for notebooks.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|acpid}}<br />
{{Article summary wiki|cpufrequtils}}<br />
{{Article summary wiki|pm-utils}}<br />
{{Article summary heading|Resources}}<br />
{{Article summary link|Laptop Mode Tools|http://samwel.tk/laptop_mode/}}<br />
{{Article summary link|Mailing List Archives|http://mailman.samwel.tk/pipermail/laptop-mode/ }}<br />
{{Article summary link|Less Watts - Official Site|http://www.lesswatts.org/index.php}}<br />
{{Article summary link|Laptop - ArchWiki|http://wiki.archlinux.org/index.php/Laptop|lll}}<br />
<br />
<br />
{{Article summary end}}<br />
<br />
==Preface==<br />
The Linux kernel, starting from version 2.6.6, contains a feature called ''laptop mode''. This feature is also present in the Linux 2.4 series starting from version 2.4.23. When enabled, the kernel allows the hard drive to spin down more often, resulting in significant power savings. Laptop Mode Tools (LTM) evolved from a simple program that controlled the hard drives to a centralized power saving solution providing a wide selection of options and can perform a number of varying power saving functions across separate subsystems simultaneously. Combined with [[acpid]], [[cpufrequtils]] and [[pm-utils]], LTM provides most users with a complete notebook power management suite.<br />
<br />
==Installation==<br />
{{Package Official|laptop-mode-tools}} is part of the official [[Official Repositories|Arch Linux [extra] repository]].<br />
# pacman -S laptop-mode-tools<br />
<br />
==Configuration==<br />
Add {{Codeline|laptop-mode}} to the {{Codeline|DAEMONS}} array in {{Filename|/etc/rc.conf}}:<br />
DAEMONS=(...laptop-mode...)<br />
<br />
Configuration is handled through the primary configuration file {{Filename|/etc/laptop-mode/laptop-mode.conf}} and through the configuration of dozens of feature-specific files in {{Filename|/etc/laptop-mode/conf.d/*}}. Recent versions of LTM are able to automatically enable commonly used {{Filename|conf.d/*}} settings by way of the {{Codeline|ENABLE_AUTO_MODULES}} variable in {{Filename|/etc/laptop-mode/laptop-mode.conf}}.<br />
<br />
===Disks===<br />
====Hard disks====<br />
Spinning down the hard drive through {{codeline|hdparm -S}} valuessaves power and makes everything a lot more quiet. By using the readahead function you can allow the drives to spin down more often even though you are using the computer. LTM can also establish {{codeline|hdparm -B}} values. 1 is maximum hard drive power saving and 254 is minimum. Set this value to 254 when on AC and 1 when on battery. If you move around a lot when on battery it might be a good idea to set it higher (eg. 128). {{codeline|hdparm -S}} and {{codeline|hdparm -B}} values are configured in {{Filename|/etc/laptop-mode/laptop-mode.conf}}.<br />
<br />
====HAL polling====<br />
<br />
# hal-polling.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_HAL_POLLING=1<br />
BATT_DISABLE_HAL_POLLING=1<br />
AC_DISABLE_HAL_POLLING=1<br />
HAL_POLLING_DEVICES="/dev/scd?"<br />
<br />
===Processor===<br />
====CPU frequency====<br />
<br />
# cpufreq.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
CONTROL_CPU_FREQUENCY=1<br />
BATT_CPU_MAXFREQ=fastest<br />
BATT_CPU_MINFREQ=slowest<br />
BATT_CPU_GOVERNOR=ondemand<br />
BATT_CPU_IGNORE_NICE_LOAD=1<br />
LM_AC_CPU_MAXFREQ=fastest<br />
LM_AC_CPU_MINFREQ=slowest<br />
LM_AC_CPU_GOVERNOR=ondemand<br />
LM_AC_CPU_IGNORE_NICE_LOAD=1<br />
NOLM_AC_CPU_MAXFREQ=fastest<br />
NOLM_AC_CPU_MINFREQ=slowest<br />
NOLM_AC_CPU_GOVERNOR=ondemand<br />
NOLM_AC_CPU_IGNORE_NICE_LOAD=0<br />
CONTROL_CPU_THROTTLING=0<br />
<br />
* See [[cpufrequtils]] for details on how to install and configure the {{Package Official|cpufrequtil}} package for use with LMT.<br />
<br />
===Device and bus===<br />
====Intel SATA====<br />
* Enable the Intel SATA AHCI controller Aggressive Link Power Management feature to set the disk link into a very low power mode in the absence of disk IO.<br />
# intel-sata-powermgmt.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_INTEL_SATA_POWER=1<br />
BATT_ACTIVATE_SATA_POWER=1<br />
LM_AC_ACTIVATE_SATA_POWER=1<br />
NOLM_AC_ACTIVATE_SATA_POWER=0<br />
<br />
{{Note|Review the well-documented {{Filename|/etc/laptop-mode/conf.d/intel-sata-powermgmt.conf}} file for additional configuration details.}}<br />
<br />
====USB autosuspend====<br />
# usb-autosuspend.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_USB_AUTOSUSPEND=1<br />
BATT_SUSPEND_USB=1<br />
LM_AC_SUSPEND_USB=1<br />
NOLM_AC_SUSPEND_USB=0<br />
AUTOSUSPEND_TIMEOUT=2<br />
<br />
{{Note|Review the well-documented {{Filename|/etc/laptop-mode/conf.d/usb-autosuspend.conf}} file for additional configuration details.}}<br />
<br />
===Display and graphics===<br />
====LCD brightness====<br />
* Available brightness values for certain laptops can can be obtained by running following two commands:<br />
$ cat /proc/acpi/video/VID/LCD/brightness<br />
<br />
For [http://en.wikipedia.org/wiki/ThinkPad ThinkPad] notebooks, minimum brightness values can be obtained by running one of the following two commands:<br />
$ cat /sys/class/backlight/acpi_video0/brightness<br />
<br />
$ cat /sys/class/backlight/thinkpad_screen/brightness<br />
<br />
* For [http://en.wikipedia.org/wiki/ThinkPad ThinkPad] notebooks, maximum brightness values can be obtained by running one of the following two commands:<br />
$ cat /sys/class/backlight/acpi_video0/max_brightness<br />
<br />
$ cat /sys/class/backlight/thinkpad_screen/max_brightness<br />
<br />
# lcd-brightness.conf<br />
# ThinkPad T40/T42 Example<br />
#<br />
DEBUG=0<br />
CONTROL_BRIGHTNESS=1<br />
BATT_BRIGHTNESS_COMMAND="echo 0"<br />
LM_AC_BRIGHTNESS_COMMAND="echo 7"<br />
NOLM_AC_BRIGHTNESS_COMMAND="echo 7"<br />
BRIGHTNESS_OUTPUT="/sys/class/backlight/thinkpad_screen/brightness"<br />
<br />
# lcd-brightness.conf<br />
# ThinkPad T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_BRIGHTNESS=1<br />
BATT_BRIGHTNESS_COMMAND="echo 0"<br />
LM_AC_BRIGHTNESS_COMMAND="echo 7"<br />
NOLM_AC_BRIGHTNESS_COMMAND="echo 7"<br />
BRIGHTNESS_OUTPUT="/sys/class/backlight/acpi_video0/brightness"<br />
<br />
{{Note|Review the well-documented {{Filename|/etc/laptop-mode/conf.d/lcd-brightness.conf}} file for additional configuration details.}}<br />
<br />
====Terminal blanking====<br />
<br />
# terminal-blanking.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_TERMINAL=1<br />
TERMINALS="/dev/tty1"<br />
BATT_TERMINAL_BLANK_MINUTES=1<br />
BATT_TERMINAL_POWERDOWN_MINUTES=2<br />
LM_AC_TERMINAL_BLANK_MINUTES=10<br />
LM_AC_TERMINAL_POWERDOWN_MINUTES=10<br />
NOLM_AC_TERMINAL_BLANK_MINUTES=10<br />
NOLM_AC_TERMINAL_POWERDOWN_MINUTES=10<br />
<br />
{{Note|Review the well-documented {{Filename|/etc/laptop-mode/conf.d/terminal-blanking.conf}} file for additional configuration details.}}<br />
<br />
===Networking===<br />
====Ethernet====<br />
# ethernet.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_ETHERNET=1<br />
LM_AC_THROTTLE_ETHERNET=0<br />
NOLM_AC_THROTTLE_ETHERNET=0<br />
DISABLE_WAKEUP_ON_LAN=1<br />
DISABLE_ETHERNET_ON_BATTERY=1<br />
ETHERNET_DEVICES="eth0"<br />
<br />
====Wireless LAN====<br />
Wireless interface power management settings are hardware-dependent, and thus a bit trickier to configure. Depending on the wireless chipset, the settings are managed in one of the following three files:<br />
#{{Filename|/etc/laptop-mode/conf.d/wireless-power.conf}} for a generic method of saving power (using "iwconfig wlan0 power on/off"). This applies to most chipsets (that is, anything but Intel chipsets listed below).<br />
#{{Filename|/etc/laptop-mode/conf.d/wireless-ipw-power.conf}} for Intel chipsets driven by the old ipw driver. This apply to IPW3945, IPW2200 and IPW2100. It currently (as of LMT 1.55-1) uses iwpriv for IPW3945, and a combination of iwconfig and iwpriv settings for IPW2100 and IPW220. See {{Filename|/usr/share/laptop-mode-tools/modules/wireless-ipw-power}} for details. (note that the ipw3945 isn't used anymore, see below)<br />
#{{Filename|/etc/laptop-mode/conf.d/wireless-iwl-power.conf}} for Intel chipsets driven by modules iwl4965, iwl3945 and iwlagn (this latter supports chipsets 4965, 5100, 5300, 5350, 5150, 1000, and 6000)<br />
Note that activating the three of them shouldn't be much of a problem, since LTM detects the module used by the interface and acts accordingly.<br />
<br />
The supported modules for each config file, indicated above, are taken directly from LTM. However, this seems to be a bit out-of-date, since the current 2.6.34 kernel doesn't provide the ipw3945 and iwl4965 modules anymore (3945 chipset uses iwl3945 instead, and 4965 uses the generic module iwlagn). This is only brought here for information, as this doesn't (or shouldn't) affect the way LTM works.<br />
<br />
There is a known issue with some chipsets running with the iwlagn module (namely, the 5300 chipset, and maybe others). On those chipsets, the following settings of {{Filename|/etc/laptop-mode/conf.d/wireless-iwl-power.conf}} :<br />
IWL_AC_POWER<br />
IWL_BATT_POWER<br />
are ignored, because the {{Filename|/sys/class/net/wlan*/device/power_level}} file doesn't exist. Instead, the standard method (with "iwconfig wlan0 power on/off") is automatically used.<br />
<br />
===Audio===<br />
====AC97====<br />
<br />
# ac97-powersave.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_AC97_POWER=1<br />
<br />
====Intel HDA====<br />
<br />
# intel-hda-powersave.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_INTEL_HDA_POWER=1<br />
BATT_INTEL_HDA_POWERSAVE=1<br />
LM_AC_INTEL_HDA_POWERSAVE=1<br />
NOLM_AC_INTEL_HDA_POWERSAVE=0<br />
INTEL_HDA_DEVICE_TIMEOUT=10<br />
INTEL_HDA_DEVICE_CONTROLLER=0<br />
<br />
==Tips and tricks==<br />
===Aliases===<br />
===lm-profiler===<br />
===Disabling===<br />
<br />
==Troubleshooting==</div>
Billy
https://wiki.archlinux.org/index.php?title=LVM&diff=116445
LVM
2010-09-05T08:47:26Z
<p>Billy: added info to load proper module first</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:File systems (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|LVM}}<br />
<br />
=Introduction=<br />
<br />
LVM is a Logical Volume Manager for the Linux kernel. With LVM you can abstract your storage space and have "virtual partitions" which are easier to modify. The basic building blocks of LVM are:<br />
<br />
* '''Physical volume (PV)''': Partition on hard disk (or even hard disk itself or loopback file) on which you can have volume groups. It has a special header and is divided into physical extents. Think of physical volumes as big building blocks which can be used to build your hard drive.<br />
* '''Volume group (VG)''': Group of physical volumes that are used as storage volume (as one disk). They contain logical volumes. Think of volume groups as hard drives.<br />
* '''Logical volume (LV)''': A "virtual/logical partition" that resides in a volume group and is composed of physical extents. Think of logical volumes as normal partitions.<br />
* '''Physical extent (PE)''': A small part of a disk (usually 4MB) that can be assigned to a logical Volume. Think of physical extents as parts of disks that can be allocated to any partition.<br />
<br />
With LVM you can more easily handle your partitions (logical volumes) than normal hard drive partitions. For example, you can:<br />
<br />
* Use ''any number'' of disks as one big disk(VG)<br />
* Have partitions(LV) stretched ''over'' several disks (they can be as big as all of your disk storage together)<br />
* Resize/create/delete partitions(LV) and disks(VG) ''as you like'' (it doesn't depend on position of the logical volumes within volume groups as with normal partitions)<br />
* Resize/create/delete partitions(LV) and disks(VG) ''online'' (filesystems on them still need to be resized, but some support online resizing)<br />
* ''Name'' your disks(VG) and partitions(LV) as you like<br />
* Create small partitions(LV) and resize them "''dynamically''" as they get more filled (growing must be still done by hand, but you can do it online with some filesystems)<br />
* ...<br />
<br />
Example: <br />
'''Physical disks'''<br />
<br />
Disk1 (/dev/sda):<br />
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _<br />
|Partition1 50GB (Physical volume) |Partition2 80GB (Physical volume) |<br />
|/dev/sda1 |/dev/sda2 |<br />
|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |<br />
<br />
Disk2 (/dev/sdb):<br />
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _<br />
|Partition1 120GB (Physical volume) |<br />
|/dev/sdb1 |<br />
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _|<br />
<br />
'''LVM logical volumes'''<br />
<br />
Volume Group1 (/dev/MyStorage/ = /dev/sda1 + /dev/sda2 + /dev/sdb1):<br />
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <br />
|Logical volume1 15GB |Logical volume2 35GB |Logical volume3 200GB |<br />
|/dev/MyStorage/rootvol|/dev/MyStorage/homevol |/dev/MyStorage/mediavol |<br />
|_ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |<br />
<br />
To sum it all up: With LVM you can use all your storage space as one big disk (volume group) and have more flexibility over your partitions (logical volumes).<br />
<br />
=Installation=<br />
<br />
Before doing anything we need to load the appropriate module:<br />
# modprobe dm-mod<br />
If you already have Arch Linux installed and you just want to add/try a partition with LVM, jump to [[Lvm#Partition_disks|partition disks]].<br />
<br />
====Installing Arch Linux on LVM====<br />
Prior to running Arch Linux install scripts (/arch/setup) to install Arch Linux, you need to partition your disk with {{Codeline|cfdisk}} (or any other tool of your liking). Because grub legacy (grub with version less than 1.0) can't boot from LVM logical volumes you can't have {{Filename|/boot}} in LVM, so you need to create a boot partition. 100MB should be enough. The other solution would be to use lilo or grub with version 1.95 or newer.<br />
<br />
====Partition disks====<br />
Next you need to create a partition for LVM. Its filesystem type should be 'Linux LVM', so use a partition id 0x8e (filesystem type: 8e). You need to create only one LVM partition on each disk you want to use with LVM. Your logical volumes will reside inside these partitions so size them accordingly. If you will use only LVM and no other external partitions, use all the free space on each disk.<br />
<br />
{{Warning|/boot can't reside in an LVM partition because grub (version<1.95) does not support LVM.}}<br />
<br />
{{Tip|All LVM partitions on all disks can be configured to appear as one big disk.}}<br />
<br />
====Create Physical volumes====<br />
<br />
Now you need to initialize these partitions so they can be used by LVM. Use {{Codeline|fdisk -l}} to find out which partitions have filesystem type 'Linux LVM' and create a physical volume on them:<br />
# pvcreate /dev/sda2<br />
Substitute {{Filename|/dev/sda2}} with all your partitions to create physical volumes on all of them. This command creates a header on each partition so it can be used for LVM.<br />
You can track created physical volumes with:<br />
# pvdisplay<br />
<br />
====Create Volume group(s)====<br />
Next step is to create a volume group on this physical volume. First you need to create a volume group on one of the new partitions and then add to it all other physical volumes you want to have in it:<br />
# vgcreate VolGroup00 /dev/sda2<br />
# vgextend VolGroup00 /dev/sdb1<br />
Also you can use any other name you like instead of VolGroup00 for a volume group when creating it. You can track how your volume group grows with:<br />
# vgdisplay<br />
<br />
{{Note|You can create more than one volume group if you need to, but then you won't have all your storage presented as one disk.}}<br />
<br />
====Create Logical Volumes====<br />
Now we need to create logical volumes on this volume group. You create a logical volume with the next command by giving the name of a new logical volume, its size, and the volume group it will live on:<br />
# lvcreate -L 10G VolGroup00 -n lvolhome<br />
This will create a logical volume that you can access later with {{Filename|/dev/mapper/Volgroup00-lvolhome}} or {{Filename|/dev/VolGroup00/lvolhome}}. Same as with the volume groups, you can use any name you want for your logical volume when creating it.<br />
<br />
To create swap on a logical volume, an additional argument is needed:<br />
# lvcreate -C y -L 10G VolGroup00 -n lvolswap<br />
The {{Codeline|-C y}} is used to create a contiguous partition, which means that your swap space doesn't get partitioned over one or more disks nor over non-contiguous physical extents.<br />
<br />
If you want to fill all the free space left on a volume group, use the next command:<br />
# lvcreate -l +100%FREE VolGroup00 -n lvolmedia<br />
<br />
You can track created logical volumes with:<br />
# lvdisplay<br />
<br />
{{Note|You may need to load the ''device-mapper'' kernel module ('''modprobe dm-mod''') for the above commands to succeed:}}<br />
<br />
{{Tip|You can start out with relatively small logical volumes and expand them later if needed. For simplicity, leave some free space in the volume group so there is room for expansion.}}<br />
<br />
====Create filesystem and mount logical volumes====<br />
Your logical volumes should now be located in {{Filename|/dev/mapper/}} and {{Filename|/dev/YourVolumeGroupName}}. If you can't find them, use the next commands to bring up the module for creating device nodes and to make volume groups available:<br />
# modprobe dm-mod<br />
# vgchange -ay<br />
Now you can create filesystems on logical volumes and mount them as normal partitions (if you are installing Arch linux, skip this step. Use the arch installer to pick the LVM partitions that you have created):<br />
# mkfs.ext3 /dev/mapper/VolGroup00-lvolhome<br />
# mount /dev/mapper/VolGroup00-lvolhome /home<br />
If you are installing Arch linux, start /arch/setup, go to ''Prepare Hard Drive'' directly to step 3 ''Set Filesystem Mountpoints'' and '''''read the [[Lvm#Important|Important]] section below before proceeding with installation!'''''<br />
<br />
===Important===<br />
There are just a few things you need to be careful with while using/installing Arch Linux with LVM (in brackets are the corresponding menus during installation):<br />
# When choosing mountpoints, just select your newly created logical volumes (use: {{Filename|/dev/mapper/Volgroup00-lvolhome}}).<br>Do NOT select the actual partitions on which logical volumes were created (don't use: {{Filename|/dev/sda2}}). (''Set Filesystem Mountpoints'')<br />
# Make sure you change ''USELVM="no"'' to ''USELVM="yes"'' in {{Filename|/etc/rc.conf}} (''Configure System'')<br />
# Make sure that ''lvm2'' is in the HOOKS section of {{Filename|/etc/mkinitcpio.conf}} just before the ''filesystems'' so that your kernel will find LVM volumes at boot time. Also, if you wish to use LVM snapshots, add ''dm-snapshot'' to the MODULES variable. (''Configure System'')<br />
# Make sure {{Filename|/boot/grub/menu.lst}} uses the right volumes for root. It should look something like this: (''Install Bootloader'')<br />
...<br />
# (0) Arch Linux<br />
title Arch Linux<br />
root (hd0,0)<br />
kernel /vmlinuz26 '''root=/dev/mapper/VolGroup00-lvolroot''' resume=/dev/mapper/VolGroup00-lvolswap ro<br />
initrd /kernel26.img<br />
...<br />
If you are using LILO check {{Filename|/etc/lilo.conf}}:<br />
image=/boot/vmlinuz26<br />
label=arch<br />
append="'''root=/dev/mapper/VolGroup00-lvolroot''' resume=/dev/mapper/VolGroup00-lvolswap ro"<br />
initrd=/boot/kernel26.img<br />
<br />
= Configuration =<br />
<br />
== Grow logical volume ==<br />
To grow a logical volume you first need to grow the logical volume and then the filesystem to use the newly created free space. Let's say we have a logical volume of 15GB with ext3 on it and we want to grow it to 20G. We need to do the following steps: <br />
# lvextend -L 20G VolGroup00/lvolhome (or lvresize -L +5G VolGroup00/lvolhome)<br />
# resize2fs /dev/VolGroup00/lvolhome<br />
You may use {{Codeline|lvresize}} instead of {{Codeline|lvextend}}.<br />
<br />
If you want to fill all the free space on a volume group, use the next command:<br />
# lvextend -l +100%FREE VolGroup00/lvolhome<br />
<br />
{{Warning|Not all filesystems support growing without loss of data and/or growing online.}}<br />
<br />
{{Note|If you don't resize your filesystem, you will still have a volume with the same size as before (volume will be bigger but partly unused).}}<br />
<br />
== Shrink logical volume ==<br />
Because your filesystem is probably as big as the logical volume it resides on, you need to shrink the filesystem first and then shrink the logical volume. Depending on your filesystem, you may need to unmount it first. Let's say we have a logical volume of 15GB with ext3 on it and we want to shrink it to 10G. We need to do the following steps: <br />
# resize2fs /dev/VolGroup00/lvolhome 9G<br />
# lvreduce -L 10G VolGroup00/lvolhome (or lvresize -L -5G VolGroup00/lvolhome)<br />
# resize2fs /dev/VolGroup00/lvolhome<br />
Here we shrunk the filesystem more than needed so that when we shrunk the logical volume we didn't accidentally cut off the end of the filesystem. After that we normally grow the filesystem to fill all free space left on logical volume. You may use {{Codeline|lvresize}} instead of {{Codeline|lvreduce}}.<br />
<br />
{{Warning|Don't reduce the filesystem size to less than the amount of space occupied by data or you risk data loss.}}<br />
<br />
{{Warning|Not all filesystems support shrinking without loss of data and/or shrinking online.}}<br />
<br />
{{Note|It is better to reduce the filesystem to a smaller size than the logical volume, so that after resizing the logical volume, we don't accidentally cut off some data from the end of the filesystem.}}<br />
<br />
== Add partition to a volume group ==<br />
To add a partition to your volume group you must first make its type 'Linux LVM' (for example with {{Codeline|cfdisk}}). Then you need to create a physical volume on it and extend the volume group over it:<br />
# pvcreate /dev/sdb1<br />
# vgextend VolGroup00 /dev/sdb1<br />
Now you have free space in your volume group that can be used by logical volumes in this group.<br />
<br />
{{Tip|You can add partitions from any disks to volume groups.}}<br />
<br />
== Remove partition from a volume group ==<br />
All of the data on that partition needs to be moved to another partition. Fortunately, LVM makes this easy:<br />
# pvmove /dev/mapper/myvg-mypv<br />
If you want to have the data on a specific physical volume, specify that as the second argument to {{Codeline|pvmove}}.<br />
<br />
Then the physical volume needs to be removed from the volume group:<br />
# vgreduce myVg /dev/mapper/myvg-mypv<br />
Or remove all empty physical volumes:<br />
# vgreduce --all vg0<br />
<br />
And lastly, if you want to use the partition for something else, and want to avoid LVM thinking that the partition is a physical volume:<br />
# pvremove /dev/mapper/myvg-removedpv<br />
<br />
== Snapshots ==<br />
====Introduction====<br />
LVM allows you to take a snapshot of your system in a much more efficient way than a traditional backup. It does this efficiently by using a COW (copy-on-write) policy. The initial snapshot you take simply contains hard-links to the inodes of your actual data. So long as your data remains unchanged, the snapshot merely contains its inode pointers and not the data itself. Whenever you modify a file or directory that the snapshot points to, LVM automatically clones the data, the old copy referenced by the snapshot, and the new copy referenced by your active system. Thus, you can snapshot a system with 35GB of data using just 2GB of free space so long as you modify less than 2GB (on both the original and snapshot).<br />
<br />
====Configuration====<br />
You create snapshot logical volumes just like normal ones.<br />
<br />
# lvcreate --size 100M --snapshot --name snap01 /dev/mapper/vg0-pv<br />
With that volume, you may modify less than 100M of data, before the snapshot volume fills up.<br />
<br />
It is important to have the ''dm-snapshot'' module listed in the MODULES variable of {{Filename|/etc/mkinitcpio.conf}}, otherwise the system will not boot. If you do this on an already installed system, make sure to rebuild the image with<br />
# mkinitcpio -g /boot/kernel26.img<br />
<br />
Todo: scripts to automate snapshots of root before updates, to rollback... updating {{Filename|menu.lst}} to boot snapshots (separate article?)<br />
<br />
snapshots are primarily used to provide a frozen copy of a filesystem to make backups; a backup taking two hours provides a more consistent image of the filesystem than directly backing up the partition.<br />
<br />
= Troubleshooting =<br />
====LVM commands don't work====<br />
*Load proper module:<br />
# modprobe dm-mod<br />
*Try preceding commands with ''lvm'' like this:<br />
# lvm pvdisplay<br />
<br />
==== Set Filesystem Mountpoints page doesn't show logical volumes ====<br />
If you are installing on a system where there is an existing volume group, you may find that even after doing "modprobe dm-mod" you don't see the list of logical volumes.<br />
<br />
In this case, you may also need to do:<br />
# vgchange -ay <volgroup><br />
<br />
in order to activate the volume group and make the logical volumes available.<br />
<br />
= Tips & Tricks =<br />
Todo<br />
<br />
= More Resources =<br />
Other LVM articles on the Archwiki:<br />
* [[Installing_with_Software_RAID_or_LVM|Installing with software RAID or LVM]]<br />
* [[RAID_Encryption_LVM|RAID encryption LVM]]<br />
External resources:<br />
* [http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux) LVM on wikipedia]<br />
* [http://sunoano.name/ws/public_xhtml/lvm.html LVM on sunoano.name] A very accessible guide to LVM <br />
* [http://tldp.org/HOWTO/LVM-HOWTO/ LVM HOWTO on tldp.org ]<br />
* [http://www.gentoo.org/doc/en/lvm2.xml Gentoo LVM2 installation at gentoo.org ]<br />
* [http://en.gentoo-wiki.com/wiki/LVM LVM at en.gentoo-wiki.com]</div>
Billy
https://wiki.archlinux.org/index.php?title=Talk:LVM&diff=116444
Talk:LVM
2010-09-05T08:46:42Z
<p>Billy: /* Templates */</p>
<hr />
<div>Hi, i'd like to link the italian translation of this article, how can i do that?[[User:Dav2dev|dav2dev]] 19:18, 16 February 2009 (EST)<br />
<br />
<br />
<br />
== Addition for /arch/setup LVM install ==<br />
<br />
It is possible, as of Arch 2009.08, to set up and install on LVM directly from /arch/setup. Here is how I did it - probably this info could be merged into the main article somehow? [[User:Redlever|Redlever]] 01:11, 17 November 2009 (EST)<br />
<br />
<br />
=== (2) Manually Partition Hard Drives ===<br />
<br />
* Type 82, 100M, for /boot partition<br />
* Type 8E, the rest, for LVM physical volume<br />
<br />
=== (3) Manage Filesystems ===<br />
<br />
82 partition gets EXT2 fs, mount at /boot<br />
<br />
8E partition gets lvm-pv fs.<br />
This adds a new entry to the "Manage Filesystems", showing "/dev/sda3+".<br />
<br />
Select that entry, say "YES", it has only one possible value, "lvm-vg", and you can label your volume group (e.g., "vg0").<br />
This adds a new entry to "Manage Filesystems", showing "/dev/mapper/vg0".<br />
<br />
Select that entry, which brings up a new "Manage LV's on this VG" menu. Be careful here, as it is confusing to try to edit / delete logical volumes.<br />
<br />
Select "empty NEW", then select "YES" to creat the filesystem. It will select lvm-lv for you, and then you can enter a label (e.g., "root", "home", "whatever").<br />
<br />
Repeat these steps (select "/dev/mapper/vg0", then "empty NEW", etc.) for each logical volume you want.<br />
<br />
Each logical volume you create will be added to the "Manage Filesystems" menu, like "/dev/mapper/vg0-LABEL". Select each one of those, and create a filesystem on it as desired. Probably you want to choose mount points and labels that match each other (e.g., mount /dev/mapper/vg0-root on /), but this is up to you. You should have at least "/" and "swap" logical volumes.<br />
<br />
<br />
Here is a complete example from my recent simple setup. I have one disk, /dev/sda. sda1 is an NTFS partition, sda2 is /boot, and sda3 is my LVM physical volume. I have a single volume group, called vg0. On that volume group, i have logical volumes for root, swap, var and home. This is what I see on "Manage filesystems" (copied from the screen, so I can't see the end of the lines):<br />
<br />
/dev/sda1 raw->no_fs<br />
/dev/sda2 raw->ext2;yes;/boot;no_opts;no_label;no_params<br />
/dev/sda3 raw->lvm-pv;yes;no_mountpoint;no_opts;no_label;no_<br />
/dev/sda3+ lvm-pv->lvm-vg;yes;no_mountpoint;no_opts;vg0;/dev/<br />
/dev/mapper/vg0 lvm-vg(vg0)->lvm-lv;yes;no_mountpoint;no_opts;root<br />
/dev/mapper/vg0-root lvm-lv(root)->ext4;yes;/;no_opts;no_label;no_param<br />
/dev/mapper/vg0-swap lvm-lv(swap)->swap;yes;no_mountpoint;no_opts;no_la<br />
/dev/mapper/vg0-var lvm-lv(var)->ext4;yes;/var;no_opts;no_label;no_par<br />
/dev/mapper/vg0-home lvm-lv(home)->ext4;yes;/home;no_opts_no_label;no_p<br />
<br />
== Templates ==<br />
<br />
I notice this article has several areas marked with '''Attention:''', '''Information:''', '''Hint:''', etc. Before I go on an editing frenzy, are templates (like <nowiki>{{Warning|...}}</nowiki>) the preferred format? If so, I will quite happily go through and change all of them. I'm new to this wiki, so I thought I'd ask before stirring up dust. :-) [[User:Infiniteh|Infiniteh]] 16:56, 27 August 2010 (EDT)<br />
<br />
:I went ahead and added templates to the first few sections and did some minor restructuring. However, I may revert my changes (or rethink them). All these colored text boxes seem to make the page less readable... Any thoughts? [[User:Infiniteh|Infiniteh]] 21:11, 28 August 2010 (EDT)<br />
<br />
::The page looks nicer with new templates :). I think a few colored text boxes could be removed. For example: "Note: You may need to load the device-mapper kernel module (modprobe dm-mod) for the above commands to succeed" could be easily removed, because that info is stated at the begining of the article. I think that warnings should stay though. [[User:Billy|billy]] 04:46, 5 September 2010 (EDT)</div>
Billy
https://wiki.archlinux.org/index.php?title=Lighttpd&diff=72847
Lighttpd
2009-07-28T08:31:45Z
<p>Billy: fixed error</p>
<hr />
<div>[[Category:HOWTOs (English)]]<br />
=Introduction=<br />
<blockquote>lighttpd is a secure, fast, compliant, and very flexible web-server that has been optimized for high-performance environments. It has a very low memory footprint compared to other webservers and takes care of cpu-load. Its advanced feature-set (FastCGI, CGI, Auth, Output-Compression, URL-Rewriting and many more) make lighttpd the perfect webserver-software for every server that suffers load problems.</blockquote> Source: [http://trac.lighttpd.net/ The lighttpd website].<br />
<br />
=Step 1: Installation=<br />
Lighttpd is available in the extra repository so:<br />
# pacman -S lighttpd<br />
<br />
=Step 2: Configuration=<br />
==Basic Setup==<br />
The lighttpd configuration file is: {{Filename|/etc/lighttpd/lighttpd.conf}}. By default it should produce a working test page.<br />
<br />
The default configuration file specifies {{Filename|/srv/http/}} as the document directory served.<br />
<br />
It may be necessary to add a user and group for http if you don't already have one. That user seems to need to have permissions to write to the {{Filename|/var/log/lighttpd}} as well, so we'll make it the owner of that folder.<br />
# groupadd http<br />
# adduser http<br />
# chown -R http /var/log/lighttpd<br />
<br />
To test the install<br />
# /etc/rc.d/lighttpd start<br />
# touch /srv/http/index.html<br />
# chmod 755 /srv/http/index.html<br />
# echo 'TestMe!' >> /srv/http/index.html<br />
<br />
Then point your browser to localhost, and you should see the test page.<br />
<br />
You may want to add lighttpd to the daemons list in {{Filename|/etc/rc.conf}} to start the server on boot.<br />
<br />
==FastCGI, PHP, Ruby on Rails, etc==<br />
For additional setup and configuration of additional lighttpd components, please see the following articles:<br />
*[[Lighttpd_For_Both_SSL_And_Non-SSL]]<br />
*[[Fastcgi_and_lighttpd]]</div>
Billy
https://wiki.archlinux.org/index.php?title=Arch_is_the_best&diff=53478
Arch is the best
2008-11-14T20:05:06Z
<p>Billy: /* Translations */</p>
<hr />
<div>[[Category:About Arch (English)]]<br />
<br />
==Purpose==<br />
The '''Arch is the best''' project is a very sophisticated and exquisite, ego-boosting and mind-blowing (albeit perhaps a bit over-engineered) project which aims to prove Arch's superiority.<br />
<br />
==History==<br />
The project was initiated in April 2008 by long time Arch community member [http://bbs.archlinux.org/profile.php?id=2529 lucke] as a simple shell script which provided irrefutable proof that "Arch is the best". Over the following weeks, this project gathered momentum and was ported to multiple different languages, both programming and verbal.<br />
<br />
==The Code==<br />
The "Arch is the best" project is ported to many programming languages.<br />
<br />
'''Bash''' - the original program, should be compatible with any shell<br />
#!/bin/sh<br />
<br />
echo "Arch is the best!"<br />
<br />
'''Bash (Alternate)''' - handy for piping the output to your favourite IRC/email/IM client. Should work with any shell.<br />
#!/bin/sh<br />
yes Arch is the best!<br />
<br />
'''C''' - note the three space indenting used in this project, much like that used by other superior beings.<br />
#include <stdio.h><br />
<br />
int main (int argc, char **argv)<br />
{<br />
fputs("Arch is the best!\n",stdout);<br />
}<br />
<br />
'''Python''' - a python version<br />
#!/usr/bin/env python<br />
<br />
print 'Arch is the best!'<br />
<br />
'''Ruby''' - a Ruby version<br />
#!/usr/bin/ruby -w<br />
<br />
puts 'Arch is the best!'<br />
<br />
'''Common Lisp''' - should run on any implementation (Clisp, Allegro, SBCL...)<br />
(format t "Arch is the best!")<br />
<br />
'''brainf*ck''' - doesn't the language name exaplain it?<br />
++>++++++>+++++<+[>[->+<]<->++++++++++<]>>.<[-]>[-<++>]<br />
<----------------.---------------.+++++.<+++[-<++++++++++>]<.<br />
>>+.++++++++++.<<.>>+.------------.---.<<.>>---.<br />
+++.++++++++++++++.+.<<+.[-]++++++++++.<br />
<br />
'''Befunge''' - believed to be the first two-dimensional, ASCII-based, general-purpose (in the sense of "you could plausibly write Hunt the Wumpus in it") programming language<br />
<v"Arch is the best!"0<br />
<,_@#:<br />
<br />
'''PHP''' - a PHP version<br />
<?<br />
print 'Arch is the best!'<br />
?><br />
<br />
'''JavaScript''' - a JavaScript version<br />
<script type="text/javascript><br />
alert('Arch is the best!');<br />
</script><br />
<br />
==Translations==<br />
'''Australian'''<br />
Arch is fair dinkum, mate!<br />
<br />
'''Bahasa Indonesia'''<br />
Arch terbaik!<br />
<br />
'''Basque'''<br />
Arch onena da!<br />
<br />
'''British'''<br />
Arch is simply spiffing.<br />
<br />
'''Bulgarian'''<br />
Арч е най-добрия!<br />
<br />
'''Chinese (Simplified)'''<br />
Arch 是最牛逼的!<br />
<br />
'''Czech'''<br />
Arch je nejlepší!<br />
<br />
'''Danish'''<br />
Arch er bedst!<br />
<br />
'''Deutsch'''<br />
Arch ist das Beste!<br />
<br />
'''Filipino'''<br />
Mabuhay ang Arch!<br />
<br />
'''French'''<br />
Arch est le meilleur!<br />
<br />
'''Greek'''<br />
Το Arch είναι το καλύτερο!<br />
<br />
'''h4x0r'''<br />
arhc 51 7he be57!<br />
<br />
'''Hantec'''<br />
Arch je nejbetélnější!<br />
<br />
'''Norwegian'''<br />
Arch er best!<br />
<br />
'''Polish'''<br />
Arch jest najlepszy!<br />
<br />
'''Portuguese'''<br />
Arch é o melhor!<br />
<br />
'''Russian'''<br />
Арч - лучший!<br />
<br />
'''Serbian'''<br />
Arch je najbolji!<br />
<br />
'''Slovenian'''<br />
Arch je najboljši!<br />
<br />
'''Spanish'''<br />
¡Arch es la mejor!<br />
<br />
'''Swedish'''<br />
Arch är bäst!<br />
<br />
==Links==<br />
* [http://bbs.archlinux.org/viewtopic.php?id=47306 forum Thread]<br />
* [http://arch.yarrt.com Unofficially Official Project Website]</div>
Billy
https://wiki.archlinux.org/index.php?title=LVM&diff=40751
LVM
2008-05-05T19:18:38Z
<p>Billy: /* More Resources */ removed redundant link</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:Storage (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
=Introduction=<br />
<br />
LVM is a Logical Volume Manager for the Linux kernel. <br />
With LVM you can abstract your storage space and have "virtual partitions" which are easier to modify. The basic building block of LVM are:<br />
<br />
* '''Physical volume (PV)''': Partition on hard disk (or even hard disk itself or loopback file) on which you can have virtual groups. It has a special header and is divided into physical extents. Think of physical volumes as big building blocks which can be used to build your hard drive.<br />
* '''Volume group (VG)''': Group of physical volumes that are used as storage volume (as one disk). They contain logical volumes. Think of volume groups as hard drives.<br />
* '''Logical volume(LV)''': A "virtual/logical partition" that resignes in a volume group and is composed of physical extents. Think of logical volumes as normal partitions.<br />
* '''Physical extent (PE)''': A small part of a disk (usually 4MB) that can be assigned to a logical Volume. Think of physical extents as parts of disks that can be allocated to any partition.<br />
<br />
With LVM you can more easily handle your partitions (logical volumes) than normal hard drive partitions. For example, you can:<br />
<br />
* Use ''any number'' of disks as one big disk(VG)<br />
* Have partitions(LV) streched ''over'' several disks (they can be as big as all of your disk storage together)<br />
* Resize/create/delete partitions(LV) and disks(VG) ''as you like'' (it doesn't depend on position of the logical volumes within volume groups as with normal partitions)<br />
* Resize/create/delete partitions(LV) and disks(VG) ''online'' (filesystems on them still need to be resized, but some support online resizing)<br />
* ''Name'' your disks(VG) and partitions(LV) as you like<br />
* Create small partitions(LV) and resize them "''dynamically''" as they get more filled (growing must be still done by hand, but you can do it online with some filesystems)<br />
* ...<br />
<br />
Example: <br />
'''Physical disks'''<br />
<br />
Disk1 (/dev/sda):<br />
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _<br />
|Partition1 50GB (Physical volume) |Partition2 80GB (Physical volume) |<br />
|/dev/sda1 |/dev/sda2 |<br />
|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |<br />
<br />
Disk2 (/dev/sdb):<br />
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _<br />
|Partition1 120GB (Physical volume) |<br />
|/dev/sdb1 |<br />
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _|<br />
<br />
'''LVM logical volumes'''<br />
<br />
Volume Group1 (/dev/MyStorage/ = /dev/sda1 + /dev/sda2 + /dev/sdb1):<br />
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <br />
|Logical volume1 15GB |Logical volume2 35GB |Logical volume3 200GB |<br />
|/dev/MyStorage/rootvol|/dev/MyStorage/homevol |/dev/MyStorage/mediavol |<br />
|_ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |<br />
<br />
To sum it all up: With LVM you can use all your storage space as one big disk (volume group) and have more flexibility over your partitions (logical volumes).<br />
<br />
=Installation=<br />
<br />
Before doing anything we need to load the appropriate module:<br />
# modprobe dm-mod<br />
If you already have Archlinux installed and just you want to add/try a partition with LVM jump to [[Lvm_another_article#Partition_disks|partition disks]].<br />
<br />
====Installing Archlinux on LVM====<br />
Prior to running Archlinux install scripts (/arch/setup) to install Archlinux, you need to partition your disk with cfdisk (or any other tool of your liking). Because grub legacy (grub with version less than 1.0) can't boot from LVM logical volumes you can't have /boot in LVM, so you need to create a boot partition. 100MB should be enough. The other solution would be to use lilo or grub with version 1.95 or newer.<br />
<br />
====Partition disks====<br />
Next you need to create a partition for LVM. Its filesystem type should be 'Linux LVM', so use a partition id 0x8e. You need to create only one LVM partition on each disk you want to use with LVM. Your logical volumes will reside inside these partitions so size them accordingly. If you will use only LVM and no other external partitions, use all of free space on each disk.<br />
<br />
'''Attention''': /boot can't reside in LVM partition because grub (version<1.95) can't boot from it. <br />
<br />
'''Information''': All LVM partitions on all disks can be set to be seen as one big disk.<br />
<br />
====Create Physical volumes====<br />
Now you need to initialize this partitions so they can be used by LVM. Use 'fdisk -l' to find out which partitions have filesystem type 'Linux LVM' and create a physical volume on them:<br />
# pvcreate /dev/sda2<br />
Substitute /dev/sda2 with all your partitions to create physical volumes on all of them. This command creates a header on each partition so it can be used for LVM.<br />
You can track created physical volumes with:<br />
# pvdisplay<br />
<br />
====Create Volume group(s)====<br />
Next step is to create a volume group on this physical volumes. First you need to create a volume group on one of the new partitions and then add to it all other physical volumes you want to have in it:<br />
# vgcreate VolGroup00 /dev/sda2<br />
# vgextend VolGroup00 /dev/sdb1<br />
Also you can use any other name you like instead of VolGroup00 for a volume group when creating it. You can track how your volume group grows with:<br />
# vgdisplay<br />
<br />
'''Information''': You can create more than one volume group if you need to, but then you wont have all your storage presented as one diks.<br />
<br />
====Create Logical Volumes====<br />
Now we need to create logical volumes on this volume group. You create them with the next command by giving them the name of a new logical volume, its size and volume group they will live on:<br />
# lvcreate -L 10G VolGroup00 -n lvolhome<br />
This will create a logical volume that you can access later with /dev/mapper/Volgroup00-lvolhome or /dev/VolGroup00/lvolhome. Same as with the volume groups you can use any name you want for your logical volume when creating it.<br />
You can track created physical volumes with:<br />
# lvdisplay<br />
<br />
'''Attention''': When creating swap on logical volume use the next command instead of previous one:<br />
# lvcreate -C y -L 10G VolGroup00 -n lvolswap<br />
The '-C y' is used to create a contiguous partition, that means that your swap space doesn't get partitioned over one or more disks nor over non-contiguous physical extents.<br />
<br />
'''Information''': you can create logical volumes smaller if you don't know how much data will end on them and leave some free space in volume group. you can then grow volumes that will be more filled.<br />
<br />
'''Hint''': If you want to fill all the free space left on a volume group use the next command:<br />
# lvcreate -l +100%FREE VolGroup00 -n lvolmedia<br />
<br />
====Create filesystem and mount logical volumes====<br />
Your logical volumes should now be located in '''/dev/mapper/''' and '''/dev/YourVolumeGroupName'''. If you can't find them use the next commands to bring up the module for creating device nodes and to make virtual groups availabile:<br />
# modprobe dm-mod<br />
# vgchange -a y<br />
Now you can create filesystems on logical volumes and mount them as normal partitions (if you are installing Arch linux, skip this step):<br />
# mkfs.ext3 /dev/VolGroup00/home<br />
# mount /dev/VolGroup00/lvolhome /home<br />
If you are installing Arch linux, start /arch/setup, go to ''Prepare Hard Drive'' directly to step 3 ''Set Filesystem Mountpoints'' and '''''read the [[Lvm_another_article#Important|important]] section below before proceeding with installation!'''''<br />
<br />
===Important===<br />
There are just a few things you need to be careful while using/installing Archlinux with LVM (in brackets are the corresponding menus at installation):<br />
# Don't use any of the partitions on which you have created a physical volume for mountpoints (example: /dev/sda2). Use only logical volumes on them (example: /dev/mapper/Volgroup00-lvolhome). (''Set Filesystem Mountpoints'')<br />
# Make sure you change ''USELVM="no"'' to ''USELVM="yes"'' in '''/etc/rc.conf''' if you are using a logical volume for your root partition. (''Configure System'')<br />
# Add ''lvm2'' to '''/etc/mkinitcpio.conf''' in HOOKS section just before the ''filesystems'' so that your kernel will find LVM volumes at boot time. (''Configure System'')<br />
# Make sure '''/boot/grub/menu.lst''' uses the right volumes for root. It should look something like this: (''Install Bootloader'')<br />
...<br />
# (0) Arch Linux<br />
title Arch Linux<br />
root (hd0,0)<br />
kernel /vmlinuz26 '''root=/dev/mapper/VolGroup00-lvolroot''' resume=/dev/mapper/VolGroup00-lvolswap ro<br />
initrd /kernel26.img<br />
...<br />
<br />
= Configuration =<br />
<br />
== Grow logical volume ==<br />
To grow a logical volume you first need to grow the logical volume and then the filesystem to use the newly created free space. Let's say we have a logical volume of 15GB with ext3 on it and we want to grow it to 20G. We need to do the following steps: <br />
# lvextend -L 20G VolGroup00/lvolhome (or lvextend -L +5G VolGroup00/lvolhome)<br />
# resize2fs /dev/VolGroup00/lvolhome<br />
You may use lvresize insted of lvextend.<br />
<br />
'''Attention''': Not all filesystem support growing without loss of data and/or growing online.<br />
<br />
'''Information''': If you don't resize your filesystem, you will still have a volume with the same size as before (volume will be bigger but partly unused).<br />
<br />
'''Hint''': If you want to fill all the free space on a volume group use the next command:<br />
# lvextend -l +100%FREE VolGroup00/lvolhome<br />
<br />
== Shrink logical volume ==<br />
Because your filesystem is probably as big as logical volume it resides on, you need to shrink the filesystem first and then shrink the logical volume. Depending on your filesystem, you may need to unmount it first. Let's say we have a logical volume of 15GB with ext3 on it and we want to shrink it to 10G. We need to do the following steps: <br />
# resize2fs /dev/VolGroup00/lvolhome 9G<br />
# lvreduce -L 10G VolGroup00/lvolhome (or lvreduce -L -5G VolGroup00/lvolhome)<br />
# resize2fs /dev/VolGroup00/lvolhome<br />
Here we shrunk the filesystem more than needed so that when we shrunk the logical volume we didn't accidentally cut of the end of the filesystem. After that we normally grow the filesystem to fill all free space left on logical volume. You may use lvresize insted of lvreduce.<br />
<br />
'''Attention''': Don't reduce the filesystem size to less than it is used by data on it or you can lose your data.<br />
<br />
'''Attention''': Not all filesystems support shrinking without loss of data and/or shrinking online.<br />
<br />
'''Attention''': It is better to reduce the filesystem to lower size than the logical volume, so that after a resizing logical volume, we don't accidentally cut off some data from the end of the filesystem.<br />
<br />
== Add partition to a volume group ==<br />
To add partition to you volume group you must first make its type 'Linux LVM' (for example with cfdisk). Then you need to create physical volume on it and extend volume group over it:<br />
# pvcreate /dev/sdb1<br />
# vgextend VolGroup00 /dev/sdb1<br />
Now you have free space in your volume group that can be used by logical volumes in this group.<br />
<br />
'''Information''': You can add partitions from any disks to volume groups.<br />
<br />
== Remove partition from a volume group ==<br />
All of the data on that partition needs to be moved to another partition. Fortunately, lvm makes this easy:<br />
# pvmove /dev/mapper/myvg-mypv<br />
If you want to have the data on a specific physical volume, specify that as the second argument to pvmove.<br />
<br />
Then the physical volume needs to be removed from the volume group:<br />
# vgreduce myVg /dev/mapper/myvg-mypv<br />
Or remove all empty physical volumes:<br />
# vgreduce --all vg0<br />
<br />
And lastly, if you want to use the partition for something else, and want to avoid lvm thinking that the partition is a physical volume:<br />
# pvremove /dev/mapper/myvg-removedpv<br />
<br />
== Snapshots ==<br />
====Introduction====<br />
LVM allows you to take a snapshot of your system in a much more efficient way than a traditional backup. It does this efficiently by using a COW (copy-on-write) policy. The initial snapshot you take simply contains hard-links to the inodes of your actual data. So long as your data remains unchanged, the snapshot merely contains there inode pointers and not the data itself. Whenever you modify a file or directory that the snapshot points to, LVM automatically clones the data, the old copy referenced by the snapshot, and the new copy referenced by your active system. Thus, you can snapshot a system with 35GB of data using just 2GB of free space so long as you modify less than 2GB (on both the original and snapshot).<br />
<br />
====Configuration====<br />
You create snapshot logical volumes just like normal ones.<br />
<br />
# lvcreate --size 100M --snapshot --name snap01 /dev/mapper/vg0-pv<br />
With that volume, you may modify less than 100M of data, before the snapshot volume fills up.<br />
<br />
Todo: scripts to automate snapshots of root before updates, to rollback... updating menu.lst to boot snapshots (separate article?)<br />
<br />
snapshots are primarily used to provide a frozen copy of a filesystem to make backups; a backup taking two hours provides a more consistent image of the filesystem than directly backing up the partition.<br />
<br />
= Troubleshooting =<br />
====LVM commands don't work====<br />
try preceeding commands with ''lvm'' like this:<br />
# lvm pvdisplay<br />
<br />
= Tips & Tricks =<br />
Todo<br />
<br />
= More Resources =<br />
Other LVM articles on the Archwiki:<br />
* [[Installing_with_Software_RAID_or_LVM|Installing with software RAID or LVM]]<br />
* [[RAID_Encryption_LVM|RAID encryption LVM]]<br />
External resources:<br />
* [http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux) LVM on wikipedia]<br />
* [http://tldp.org/HOWTO/LVM-HOWTO/ LVM HOWTO]</div>
Billy
https://wiki.archlinux.org/index.php?title=LVM&diff=40332
LVM
2008-04-26T21:17:55Z
<p>Billy: /* Introduction */</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:Storage (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
=Introduction=<br />
<br />
LVM is a Logical Volume Manager for the Linux kernel. <br />
With LVM you can abstract your storage space and have "virtual partitions" which are easier to modify. The basic building block of LVM are:<br />
<br />
* '''Physical volume (PV)''': Partition on hard disk (or even hard disk itself or loopback file) on which you can have virtual groups. It has a special header and is divided into physical extents. Think of physical volumes as big building blocks which can be used to build your hard drive.<br />
* '''Volume group (VG)''': Group of physical volumes that are used as storage volume (as one disk). They contain logical volumes. Think of volume groups as hard drives.<br />
* '''Logical volume(LV)''': A "virtual/logical partition" that resignes in a volume group and is composed of physical extents. Think of logical volumes as normal partitions.<br />
* '''Physical extent (PE)''': A small part of a disk (usually 4MB) that can be assigned to a logical Volume. Think of physical extents as parts of disks that can be allocated to any partition.<br />
<br />
With LVM you can more easily handle your partitions (logical volumes) than normal hard drive partitions. For example, you can:<br />
<br />
* Use ''any number'' of disks as one big disk(VG)<br />
* Have partitions(LV) streched ''over'' several disks (they can be as big as all of your disk storage together)<br />
* Resize/create/delete partitions(LV) and disks(VG) ''as you like'' (it doesn't depend on position of the logical volumes within volume groups as with normal partitions)<br />
* Resize/create/delete partitions(LV) and disks(VG) ''online'' (filesystems on them still need to be resized, but some support online resizing)<br />
* ''Name'' your disks(VG) and partitions(LV) as you like<br />
* Create small partitions(LV) and resize them "''dynamically''" as they get more filled (growing must be still done by hand, but you can do it online with some filesystems)<br />
* ...<br />
<br />
Example: <br />
'''Physical disks'''<br />
<br />
Disk1 (/dev/sda):<br />
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _<br />
|Partition1 50GB (Physical volume) |Partition2 80GB (Physical volume) |<br />
|/dev/sda1 |/dev/sda2 |<br />
|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |<br />
<br />
Disk2 (/dev/sdb):<br />
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _<br />
|Partition1 120GB (Physical volume) |<br />
|/dev/sdb1 |<br />
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _|<br />
<br />
'''LVM logical volumes'''<br />
<br />
Volume Group1 (/dev/MyStorage/ = /dev/sda1 + /dev/sda2 + /dev/sdb1):<br />
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <br />
|Logical volume1 15GB |Logical volume2 35GB |Logical volume3 200GB |<br />
|/dev/MyStorage/rootvol|/dev/MyStorage/homevol |/dev/MyStorage/mediavol |<br />
|_ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |<br />
<br />
To sum it all up: With LVM you can use all your storage space as one big disk (volume group) and have more flexibility over your partitions (logical volumes).<br />
<br />
=Installation=<br />
<br />
Before doing anything we need to load the appropriate module:<br />
# modprobe dm-mod<br />
If you already have Archlinux installed and just you want to add/try a partition with LVM jump to [[Lvm_another_article#Partition_disks|partition disks]].<br />
<br />
====Installing Archlinux on LVM====<br />
Prior to running Archlinux install scripts (/arch/setup) to install Archlinux, you need to partition your disk with cfdisk (or any other tool of your liking). Because grub legacy (grub with version less than 1.0) can't boot from LVM logical volumes you can't have /boot in LVM, so you need to create a boot partition. 100MB should be enough. The other solution would be to use lilo or grub with version 1.95 or newer.<br />
<br />
====Partition disks====<br />
Next you need to create a partition for LVM. Its filesystem type should be 'Linux LVM', so use a partition id 0x8e. You need to create only one LVM partition on each disk you want to use with LVM. Your logical volumes will reside inside these partitions so size them accordingly. If you will use only LVM and no other external partitions, use all of free space on each disk.<br />
<br />
'''Attention''': /boot can't reside in LVM partition because grub (version<1.95) can't boot from it. <br />
<br />
'''Information''': All LVM partitions on all disks can be set to be seen as one big disk.<br />
<br />
====Create Physical volumes====<br />
Now you need to initialize this partitions so they can be used by LVM. Use 'fdisk -l' to find out which partitions have filesystem type 'Linux LVM' and create a physical volume on them:<br />
# pvcreate /dev/sda2<br />
Substitute /dev/sda2 with all your partitions to create physical volumes on all of them. This command creates a header on each partition so it can be used for LVM.<br />
You can track created physical volumes with:<br />
# pvdisplay<br />
<br />
====Create Volume group(s)====<br />
Next step is to create a volume group on this physical volumes. First you need to create a volume group on one of the new partitions and then add to it all other physical volumes you want to have in it:<br />
# vgcreate VolGroup00 /dev/sda2<br />
# vgextend VolGroup00 /dev/sdb1<br />
Also you can use any other name you like instead of VolGroup00 for a volume group when creating it. You can track how your volume group grows with:<br />
# vgdisplay<br />
<br />
'''Information''': You can create more than one volume group if you need to, but then you wont have all your storage presented as one diks.<br />
<br />
====Create Logical Volumes====<br />
Now we need to create logical volumes on this volume group. You create them with the next command by giving them the name of a new logical volume, its size and volume group they will live on:<br />
# lvcreate -L 10G VolGroup00 -n lvolhome<br />
This will create a logical volume that you can access later with /dev/mapper/Volgroup00-lvolhome or /dev/VolGroup00/lvolhome. Same as with the volume groups you can use any name you want for your logical volume when creating it.<br />
You can track created physical volumes with:<br />
# lvdisplay<br />
<br />
'''Attention''': When creating swap on logical volume use the next command insted of previous one:<br />
# lvcreate -C y -L 10G VolGroup00 -n lvolhome<br />
The '-C y' is used to create a contigous partition, that means that your swap space doesn't get partitioned over one or more disks nor over non-contigous physical extents.<br />
<br />
'''Information''': you can create logical volumes smaller if you don't know how much data will end on them and leave some free space in volume group. you can then grow volumes that will be more filled.<br />
<br />
'''Hint''': If you want to fill all the free space left on a volume group use the next command:<br />
# lvcreate -l +100%FREE VolGroup00 -n lvolmedia<br />
<br />
====Create filesystem and mount logical volumes====<br />
Your logical volumes should now be located in '''/dev/mapper/''' and '''/dev/YourVolumeGroupName'''. If you can't find them use the next commands to bring up the module for creating device nodes and to make virtual groups availabile:<br />
# modprobe dm-mod<br />
# vgchange -a y<br />
Now you can create filesystems on logical volumes and mount them as normal partitions (if you are installing Arch linux, skip this step):<br />
# mkfs.ext3 /dev/VolGroup00/home<br />
# mount /dev/VolGroup00/lvolhome /home<br />
If you are installing Arch linux, start /arch/setup, go to ''Prepare Hard Drive'' directly to step 3 ''Set Filesystem Mountpoints'' and '''''read the [[Lvm_another_article#Important|important]] section below before proceeding with installation!'''''<br />
<br />
===Important===<br />
There are just a few things you need to be careful while using/installing Archlinux with LVM (in brackets are the corresponding menus at installation):<br />
# Don't use any of the partitions on which you have created a physical volume for mountpoints (example: /dev/sda2). Use only logical volumes on them (example: /dev/mapper/Volgroup00-lvolhome). (''Set Filesystem Mountpoints'')<br />
# Make sure you change ''USELVM="no"'' to ''USELVM="yes"'' in '''/etc/rc.conf''' if you are using a logical volume for your root partition. (''Configure System'')<br />
# Add ''lvm2'' to '''/etc/mkinitcpio.conf''' in HOOKS section just before the ''filesystems'' so that your kernel will find LVM volumes at boot time. (''Configure System'')<br />
# Make sure '''/boot/grub/menu.lst''' uses the right volumes for root. It should look something like this: (''Install Bootloader'')<br />
...<br />
# (0) Arch Linux<br />
title Arch Linux<br />
root (hd0,0)<br />
kernel /vmlinuz26 '''root=/dev/mapper/VolGroup00-lvolroot''' resume=/dev/mapper/VolGroup00-lvolswap ro<br />
initrd /kernel26.img<br />
...<br />
<br />
= Configuration =<br />
<br />
== Grow logical volume ==<br />
To grow a logical volume you first need to grow the logical volume and then the filesystem to use the newly created free space. Let's say we have a logical volume of 15GB with ext3 on it and we want to grow it to 20G. We need to do the following steps: <br />
# lvextend -L 20G VolGroup00/lvolhome (or lvextend -L +5G VolGroup00/lvolhome)<br />
# resize2fs /dev/VolGroup00/lvolhome<br />
You may use lvresize insted of lvextend.<br />
<br />
'''Attention''': Not all filesystem support growing without loss of data and/or growing online.<br />
<br />
'''Information''': If you don't resize your filesystem, you will still have a volume with the same size as before (volume will be bigger but partly unused).<br />
<br />
'''Hint''': If you want to fill all the free space on a volume group use the next command:<br />
# lvextend -l +100%FREE VolGroup00/lvolhome<br />
<br />
== Shrink logical volume ==<br />
Because your filesystem is probably as big as logical volume it resides on, you need to shrink the filesystem first and then shrink the logical volume. Depending on your filesystem, you may need to unmount it first. Let's say we have a logical volume of 15GB with ext3 on it and we want to shrink it to 10G. We need to do the following steps: <br />
# resize2fs /dev/VolGroup00/lvolhome 9G<br />
# lvreduce -L 10G VolGroup00/lvolhome (or lvreduce -L -5G VolGroup00/lvolhome)<br />
# resize2fs /dev/VolGroup00/lvolhome<br />
Here we shrunk the filesystem more than needed so that when we shrunk the logical volume we didn't accidentally cut of the end of the filesystem. After that we normally grow the filesystem to fill all free space left on logical volume. You may use lvresize insted of lvreduce.<br />
<br />
'''Attention''': Don't reduce the filesystem size to less than it is used by data on it or you can lose your data.<br />
<br />
'''Attention''': Not all filesystems support shrinking without loss of data and/or shrinking online.<br />
<br />
'''Attention''': It is better to reduce the filesystem to lower size than the logical volume, so that after a resizing logical volume, we don't accidentally cut off some data from the end of the filesystem.<br />
<br />
== Add partition to a volume group ==<br />
To add partition to you volume group you must first make its type 'Linux LVM' (for example with cfdisk). Then you need to create physical volume on it and extend volume group over it:<br />
# pvcreate /dev/sdb1<br />
# vgextend VolGroup00 /dev/sdb1<br />
Now you have free space in your volume group that can be used by logical volumes in this group.<br />
<br />
'''Information''': You can add partitions from any disks to volume groups.<br />
<br />
== Remove partition from a volume group ==<br />
All of the data on that partition needs to be moved to another partition. Fortunately, lvm makes this easy:<br />
# pvmove /dev/mapper/myvg-mypv<br />
If you want to have the data on a specific physical volume, specify that as the second argument to pvmove.<br />
<br />
Then the physical volume needs to be removed from the volume group:<br />
# vgreduce myVg /dev/mapper/myvg-mypv<br />
Or remove all empty physical volumes:<br />
# vgreduce --all vg0<br />
<br />
And lastly, if you want to use the partition for something else, and want to avoid lvm thinking that the partition is a physical volume:<br />
# pvremove /dev/mapper/myvg-removedpv<br />
<br />
== Snapshots ==<br />
====Introduction====<br />
LVM allows you to take a snapshot of your system in a much more efficient way than a traditional backup. It does this efficiently by using a COW (copy-on-write) policy. The initial snapshot you take simply contains hard-links to the inodes of your actual data. So long as your data remains unchanged, the snapshot merely contains there inode pointers and not the data itself. Whenever you modify a file or directory that the snapshot points to, LVM automatically clones the data, the old copy referenced by the snapshot, and the new copy referenced by your active system. Thus, you can snapshot a system with 35GB of data using just 2GB of free space so long as you modify less than 2GB (on both the original and snapshot).<br />
<br />
====Configuration====<br />
You create snapshot logical volumes just like normal ones.<br />
<br />
# lvcreate --size 100M --snapshot --name snap01 /dev/mapper/vg0-pv<br />
With that volume, you may modify less than 100M of data, before the snapshot volume fills up.<br />
<br />
Todo: scripts to automate snapshots of root before updates, to rollback... updating menu.lst to boot snapshots (separate article?)<br />
<br />
snapshots are primarily used to provide a frozen copy of a filesystem to make backups; a backup taking two hours provides a more consistent image of the filesystem than directly backing up the partition.<br />
<br />
= Troubleshooting =<br />
====LVM commands don't work====<br />
try preceeding commands with ''lvm'' like this:<br />
# lvm pvdisplay<br />
<br />
= Tips & Tricks =<br />
Todo<br />
= More Resources =<br />
Other LVM articles on the Archwiki:<br />
* [[LVM2]]<br />
* [[Installing_with_Software_RAID_or_LVM|Installing with software RAID or LVM]]<br />
* [[RAID_Encryption_LVM|RAID encryption LVM]]<br />
External resources:<br />
* [http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux) LVM on wikipedia]<br />
* [http://tldp.org/HOWTO/LVM-HOWTO/ LVM HOWTO]</div>
Billy
https://wiki.archlinux.org/index.php?title=LVM2&diff=40270
LVM2
2008-04-26T10:44:14Z
<p>Billy: content merged with Lvm</p>
<hr />
<div>#REDIRECT [[Lvm]]</div>
Billy
https://wiki.archlinux.org/index.php?title=LVM&diff=40269
LVM
2008-04-26T10:42:07Z
<p>Billy: Copied text from "Lvm another article"</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:Storage (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
=Introduction=<br />
<br />
LVM is a Logical Volume Manager for the Linux kernel. <br />
With LVM you can abstract your storage space and have "virtual partitions" which are easier to modify. The basic building block of LVM are:<br />
<br />
* '''Physical volume (PV)''': Partition on hard disk (or even hard disk itself or loopback file) on which you can have virtual groups. It has a special header and is divided into physical extents. Think of physical volumes as big building blocks which can be used to build your hard drive.<br />
* '''Volume group (VG)''': Group of physical volumes that are used as storage volume (as one disk). They contain logical volumes. Think of volume groups as hard drives.<br />
* '''Logical volume(LV)''': A "virtual/logical partition" that resignes in a volume group and is composed of physical extents. Think of logical volumes as normal partitions.<br />
* '''Physical extent (PE)''': A small part of a disk (usually 4MB) that can be assigned to a logical Volume. Think of physical extents as parts of disks that can be allocated to any partition.<br />
<br />
With LVM you can more easily handle your partitions (logical volumes) than normal hard drive partitions. For example, you can:<br />
<br />
* Use ''any number'' of disks as one big disk(VG)<br />
* Have partitions(LV) streched ''over'' several disks (they can be as big as all of your disk storage together)<br />
* Resize/create/delete partitions(LV) and disks(VG) ''as you like'' (it doesn't depend on position of the logical volumes within volume groups as with normal partitions)<br />
* Resize/create/delete partitions(LV) and disks(VG) ''online'' (filesystems on them still need to be resized, but some support online resizing)<br />
* ''Name'' your disks(VG) and partitions(LV) as you like<br />
* Create small partitions(LV) and resize them "''dynamically''" as they get more filled (growing must be still done by hand, but you can do it online with some filesystems)<br />
* ...<br />
<br />
Example: <br />
'''Physical disks'''<br />
<br />
Disk1 (/dev/sda):<br />
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _<br />
|Partition1 50GB (Physical volume) |Partition2 80GB (Physical volume) |<br />
|/dev/sda1 |/dev/sda2 |<br />
|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |<br />
<br />
Disk2 (/dev/sdb):<br />
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _<br />
|Partition1 120GB (Physical volume) |<br />
|/dev/sdb1 |<br />
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _|<br />
<br />
'''LVM logical volumes'''<br />
<br />
Volume Group1 (/dev/MyStorage/ = /dev/sda1 + /dev/sda2 + /dev/sdb1):<br />
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <br />
|Logical volume1 15GB |Logical volume2 35GB |Logical volume3 200GB |<br />
|/dev/MyStorage/rootvol|/dev/MyStorage/homevol |/dev/MyStorage/mediavol |<br />
|_ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |<br />
<br />
To sum it all up: With LVM you can use all you storage space as one big disk (volume group) and have more flexibility over your partitions (logical volumes).<br />
<br />
=Installation=<br />
<br />
Before doing anything we need to load the appropriate module:<br />
# modprobe dm-mod<br />
If you already have Archlinux installed and just you want to add/try a partition with LVM jump to [[Lvm_another_article#Partition_disks|partition disks]].<br />
<br />
====Installing Archlinux on LVM====<br />
Prior to running Archlinux install scripts (/arch/setup) to install Archlinux, you need to partition your disk with cfdisk (or any other tool of your liking). Because grub legacy (grub with version less than 1.0) can't boot from LVM logical volumes you can't have /boot in LVM, so you need to create a boot partition. 100MB should be enough. The other solution would be to use lilo or grub with version 1.95 or newer.<br />
<br />
====Partition disks====<br />
Next you need to create a partition for LVM. Its filesystem type should be 'Linux LVM', so use a partition id 0x8e. You need to create one LVM partition on all disks you want to use with LVM. Your logical volumes will reside inside this partitions so make them as big as possible. You dont need to create one LVM partition for each logical volume that you intend to create, they co-exist in one partition. If you will use only LVM and no other external partitions, use all of free space on each disk.<br />
<br />
'''Attention''': /boot can't reside in LVM partition because grub (version<1.95) can't boot from it. <br />
<br />
'''Information''': All LVM partitions on all disks can be set to be seen as one big disk. <br />
<br />
====Create Physical volumes====<br />
Now you need to initialize this partitions so they can be used by LVM. Use 'fdisk -l' to find out which partitions have filesystem type 'Linux LVM' and create a physical volume on them:<br />
# pvcreate /dev/sda2<br />
Substitute /dev/sda2 with all your partitions to create physical volumes on all of them. This command creates a header on each partition so it can be used for LVM.<br />
You can track created physical volumes with:<br />
# pvdisplay<br />
<br />
====Create Volume group(s)====<br />
Next step is to create a volume group on this physical volumes. First you need to create a volume group on one of the new partitions and then add to it all other physical volumes you want to have in it:<br />
# vgcreate VolGroup00 /dev/sda2<br />
# vgextend VolGroup00 /dev/sdb1<br />
Also you can use any other name you like instead of VolGroup00 for a volume group when creating it. You can track how your volume group grows with:<br />
# vgdisplay<br />
<br />
'''Information''': You can create more than one volume group if you need to, but then you wont have all your storage presented as one diks.<br />
<br />
====Create Logical Volumes====<br />
Now we need to create logical volumes on this volume group. You create them with the next command by giving them the name of a new logical volume, its size and volume group they will live on:<br />
# lvcreate -L 10G VolGroup00 -n lvolhome<br />
This will create a logical volume that you can access later with /dev/mapper/Volgroup00-lvolhome or /dev/VolGroup00/lvolhome. Same as with the volume groups you can use any name you want for your logical volume when creating it.<br />
You can track created physical volumes with:<br />
# lvdisplay<br />
<br />
'''Attention''': When creating swap on logical volume use the next command insted of previous one:<br />
# lvcreate -C y -L 10G VolGroup00 -n lvolhome<br />
The '-C y' is used to create a contigous partition, that means that your swap space doesn't get partitioned over one or more disks nor over non-contigous physical extents.<br />
<br />
'''Information''': you can create logical volumes smaller if you don't know how much data will end on them and leave some free space in volume group. you can then grow volumes that will be more filled.<br />
<br />
'''Hint''': If you want to fill all the free space left on a volume group use the next command:<br />
# lvcreate -l +100%FREE VolGroup00 -n lvolmedia<br />
<br />
====Create filesystem and mount logical volumes====<br />
Your logical volumes should now be located in '''/dev/mapper/''' and '''/dev/YourVolumeGroupName'''. If you can't find them use the next commands to bring up the module for creating device nodes and to make virtual groups availabile:<br />
# modprobe dm-mod<br />
# vgchange -a y<br />
Now you can create filesystems on logical volumes and mount them as normal partitions (if you are installing Arch linux, skip this step):<br />
# mkfs.ext3 /dev/VolGroup00/home<br />
# mount /dev/VolGroup00/lvolhome /home<br />
If you are installing Arch linux, start /arch/setup, go to ''Prepare Hard Drive'' directly to step 3 ''Set Filesystem Mountpoints'' and '''''read the [[Lvm_another_article#Important|important]] section below before proceeding with installation!'''''<br />
<br />
===Important===<br />
There are just a few things you need to be careful while using/installing Archlinux with LVM (in brackets are the corresponding menus at installation):<br />
# Don't use any of the partitions on which you have created a physical volume for mountpoints (example: /dev/sda2). Use only logical volumes on them (example: /dev/mapper/Volgroup00-lvolhome). (''Set Filesystem Mountpoints'')<br />
# Make sure you change ''USELVM="no"'' to ''USELVM="yes"'' in '''/etc/rc.conf''' if you are using a logical volume for your root partition. (''Configure System'')<br />
# Add ''lvm2'' to '''/etc/mkinitcpio.conf''' in HOOKS section just before the ''filesystems'' so that your kernel will find LVM volumes at boot time. (''Configure System'')<br />
# Make sure '''/boot/grub/menu.lst''' uses the right volumes for root. It should look something like this: (''Install Bootloader'')<br />
...<br />
# (0) Arch Linux<br />
title Arch Linux<br />
root (hd0,0)<br />
kernel /vmlinuz26 '''root=/dev/mapper/VolGroup00-lvolroot''' resume=/dev/mapper/VolGroup00-lvolswap ro<br />
initrd /kernel26.img<br />
...<br />
<br />
= Configuration =<br />
<br />
== Grow logical volume ==<br />
To grow a logical volume you first need to grow the logical volume and then the filesystem to use the newly created free space. Let's say we have a logical volume of 15GB with ext3 on it and we want to grow it to 20G. We need to do the following steps: <br />
# lvextend -L 20G VolGroup00/lvolhome (or lvextend -L +5G VolGroup00/lvolhome)<br />
# resize2fs /dev/VolGroup00/lvolhome<br />
You may use lvresize insted of lvextend.<br />
<br />
'''Attention''': Not all filesystem support growing without loss of data and/or growing online.<br />
<br />
'''Information''': If you don't resize your filesystem, you will still have a volume with the same size as before (volume will be bigger but partly unused).<br />
<br />
'''Hint''': If you want to fill all the free space on a volume group use the next command:<br />
# lvextend -l +100%FREE VolGroup00/lvolhome<br />
<br />
== Shrink logical volume ==<br />
Because your filesystem is probably as big as logical volume it resides on, you need to shrink the filesystem first and then shrink the logical volume. Depending on your filesystem, you may need to unmount it first. Let's say we have a logical volume of 15GB with ext3 on it and we want to shrink it to 10G. We need to do the following steps: <br />
# resize2fs /dev/VolGroup00/lvolhome 9G<br />
# lvreduce -L 10G VolGroup00/lvolhome (or lvreduce -L -5G VolGroup00/lvolhome)<br />
# resize2fs /dev/VolGroup00/lvolhome<br />
Here we shrunk the filesystem more than needed so that when we shrunk the logical volume we didn't accidentally cut of the end of the filesystem. After that we normally grow the filesystem to fill all free space left on logical volume. You may use lvresize insted of lvreduce.<br />
<br />
'''Attention''': Don't reduce the filesystem size to less than it is used by data on it or you can lose your data.<br />
<br />
'''Attention''': Not all filesystems support shrinking without loss of data and/or shrinking online.<br />
<br />
'''Attention''': It is better to reduce the filesystem to lower size than the logical volume, so that after a resizing logical volume, we don't accidentally cut off some data from the end of the filesystem.<br />
<br />
== Add partition to a volume group ==<br />
To add partition to you volume group you must first make its type 'Linux LVM' (for example with cfdisk). Then you need to create physical volume on it and extend volume group over it:<br />
# pvcreate /dev/sdb1<br />
# vgextend VolGroup00 /dev/sdb1<br />
Now you have free space in your volume group that can be used by logical volumes in this group.<br />
<br />
'''Information''': You can add partitions from any disks to volume groups.<br />
<br />
== Remove partition from a volume group ==<br />
Todo<br />
== Snapshots ==<br />
====Introduction====<br />
LVM allows you to take a snapshot of your system in a much more efficient way than a traditional backup. It does this efficiently by using a COW (copy-on-write) policy. The initial snapshot you take simply contains hard-links to the inodes of your actual data. So long as your data remains unchanged, the snapshot merely contains there inode pointers and not the data itself. Whenever you modify a file or directory that the snapshot points to, LVM automatically clones the data, the old copy referenced by the snapshot, and the new copy referenced by your active system. Thus, you can snapshot a system with 35GB of data using just 2GB of free space so long as you modify less than 2GB of data. <br />
====Configuration====<br />
Todo<br />
<br />
= Troubleshooting =<br />
====LVM commands don't work====<br />
try preceeding commands with ''lvm'' like this:<br />
# lvm pvdisplay<br />
<br />
= Tips & Tricks =<br />
Todo<br />
= More Resources =<br />
Other LVM articles on the Archwiki:<br />
* [[LVM2]]<br />
* [[Installing_with_Software_RAID_or_LVM|Installing with software RAID or LVM]]<br />
* [[RAID_Encryption_LVM|RAID encryption LVM]]<br />
External resources:<br />
* [http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux) LVM on wikipedia]<br />
* [http://tldp.org/HOWTO/LVM-HOWTO/ LVM HOWTO]</div>
Billy
https://wiki.archlinux.org/index.php?title=Talk:LVM2&diff=40152
Talk:LVM2
2008-04-23T16:59:43Z
<p>Billy: Possible merge?</p>
<hr />
<div>Maybe we could merge this article and the one on: http://wiki.archlinux.org/index.php/Lvm_another_article?</div>
Billy
https://wiki.archlinux.org/index.php?title=CPU_frequency_scaling&diff=23853
CPU frequency scaling
2007-05-08T18:21:39Z
<p>Billy: /* cpufreqd */</p>
<hr />
<div>[[Category:Power management (English)]]<br />
[[Category:CPU (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|SpeedStep}}<br />
{{i18n_entry|Deutsch|SpeedStep (Deutsch)}}<br />
{{i18n_entry|Français|SpeedStep (Français)}}<br />
{{i18n_links_end}}<br />
<br />
'''SpeedStep''' is a technology primarily for notebooks that enables the OS to scale the CPU speed to system and/or power use. For instance, using SpeedStep the system can slow down the CPU when a notebook is on battery power, thereby saving battery life. <br />
<br />
The equivalent AMD technology is called [[PowerNow]] or [[PowerNow|Cool'n'Quiet]]. To use it, modprobe <tt>powernow-k8</tt> instead of <tt>speedstep_centrino</tt> in step 2.<br />
<br />
== Setting up SpeedStep ==<br />
<br />
The daemon used to scale the CPU ''automatically'' is called <tt>cpudyn</tt>. The system also needs <tt>acpid</tt> to scale according to battery/AC information.<br />
<br />
1. Use [[Pacman]] to get the <tt>cpudyn</tt> and <tt>acpid</tt> daemons: <br />
# pacman -Sy cpudyn acpid<br />
<br />
2. Load the <tt>speedstep_centrino</tt> (from kernel 2.6.21 on don't load speedstep_centrino - load acpi_cpufreq !), <tt>cpufreq_powersave</tt>, <tt>cpufreq_userspace</tt> and <tt>freq_table</tt> modules using <tt>modprobe</tt>. Alternatively, you can add these modules to the modules list in <tt>/etc/rc.conf</tt> to load them at boot time. '''Addition:''' As of kernel 2.6.20, the speedstep_centrino module is redundant. Load acpi_cpufreq instead.<br />
<br />
3. Start the <tt>cpudyn</tt> and <tt>acpid</tt> deamons:<br />
# /etc/rc.d/cpudyn start<br />
# /etc/rc.d/acpid start<br />
Alternatively, you can add <tt>cpudyn</tt> and <tt>acpid</tt> to the daemons list in <tt>/etc/rc.conf</tt>.<br />
<br />
'''Note:''' If you don't want Linux to automatically scale your CPU speed, ''don't'' start <tt>cpudyn</tt>.<br />
<br />
4. You can now use a GUI application (e.g. a GNOME applet) to monitor (and manually scale, if you don't use <tt>cpudyn</tt>) the CPU speed. Visit [http://web.ics.purdue.edu/~nino/Linux/cpudyn.html this site] for a "how to" on <tt>cpudyn</tt>.<br />
<br />
5. To check if the scaling works, execute one the those two commands:<br />
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq<br />
Or<br />
cpufreq-info<br />
<br />
(Summarized from [http://bbs.archlinux.org/viewtopic.php?t=7209 Forum Discussion])<br />
<br />
'''Notes for Dual/MultiCore processors:'''<br />
<br />
1. Scaling will only work for the primary cpu0 core. Add these lines to your /etc/rc.local to make all cores scaling.<br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
...more if needed<br />
<br />
2. If the second CPU does not follow the frequency rules after suspend to ram, edit /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux and add the respective line, e.g.<br />
echo "ondemand">/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
'''before''' the final line ("exit $RET").<br />
<br />
== Alternative Methods ==<br />
=== cpufrequtils ===<br />
This is a much easier and straight-forward method of setting this up.<br />
<br />
1. Install cpufrequtils<br />
pacman -S cpufrequtils<br />
<br />
2. Edit /etc/conf.d/cpufreq for your requested settings<br />
# valid governors:<br />
# ondemand, performance, powersave, conservative, userspace<br />
governor="ondemand"<br />
<br />
# valid freq suffixes: Hz, kHz (default), MHz, GHz, THz<br />
min_freq="2.25GHz"<br />
max_freq="3GHz"<br />
<br />
3. Add your cpufreq module for your processor (i.e. acpi_cpufreq) to the MODULES array in /etc/rc.conf - it is NOT autoloaded by default.<br />
<br />
4. Add 'cpufreq' to the DAEMONS array in /etc/rc.conf to have it start on startup. To start it right now, run:<br />
/etc/rc.d/cpufreq start<br />
<br />
=== cpufreqd ===<br />
Cpufreqd is a daemon that automatically changes CPU governors (and availabile frequency range) using cpufrequtils.<br />
<br />
1. Install cpufreqd<br />
pacman -S cpufreqd<br />
<br />
2. Edit /etc/cpufreqd.conf to set rules for cpufreqd for which governor to use when running on AC, Battery at XX%,... The defaults should work just fine for most of the users.<br />
<br />
3. Add your cpufreq module for your processor (i.e. acpi-cpufreq) and ''cpufreq_stats'' to the MODULES array in /etc/rc.conf - cpufreq module is NOT autoloaded by default. You must also load '' cpufreq_powersave'' ''cpufreq_conservative'' ''cpufreq_ondemand'' ''cpufreq_userspace'' depending on your cpufreqd configuration. You can load all of them even if you don't use them. Here is an example:<br />
MODULES=(acpi-cpufreq cpufreq_stats cpufreq_powersave<br />
cpufreq_conservative cpufreq_ondemand cpufreq_userspace)<br />
'''Important:''' As of kernel 2.6.20, the speedstep_centrino has merged into acpi_cpufreq module, therefore load acpi_cpufreq instead.<br />
<br />
4. Add 'cpufreqd' to the DAEMONS array in /etc/rc.conf to have it start on startup. To start it right now, run:<br />
/etc/rc.d/cpufreqd start<br />
<br />
You can still use cpufrequtils to "manually" change your cpu governor and frequency but first you must stop the cpufreqd daemon:<br />
/etc/rc.d/cpufreqd stop</div>
Billy
https://wiki.archlinux.org/index.php?title=CPU_frequency_scaling&diff=23493
CPU frequency scaling
2007-04-27T19:42:13Z
<p>Billy: /* cpufreqd */</p>
<hr />
<div>[[Category:Power management (English)]]<br />
[[Category:CPU (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|SpeedStep}}<br />
{{i18n_entry|Deutsch|SpeedStep (Deutsch)}}<br />
{{i18n_entry|Français|SpeedStep (Français)}}<br />
{{i18n_links_end}}<br />
<br />
'''SpeedStep''' is a technology primarily for notebooks that enables the OS to scale the CPU speed to system and/or power use. For instance, using SpeedStep the system can slow down the CPU when a notebook is on battery power, thereby saving battery life. <br />
<br />
The equivalent AMD technology is called [[PowerNow]] or [[PowerNow|Cool'n'Quiet]]. To use it, modprobe <tt>powernow-k8</tt> instead of <tt>speedstep_centrino</tt> in step 2.<br />
<br />
== Setting up SpeedStep ==<br />
<br />
The daemon used to scale the CPU ''automatically'' is called <tt>cpudyn</tt>. The system also needs <tt>acpid</tt> to scale according to battery/AC information.<br />
<br />
1. Use [[Pacman]] to get the <tt>cpudyn</tt> and <tt>acpid</tt> daemons: <br />
# pacman -Sy cpudyn acpid<br />
<br />
2. Load the <tt>speedstep_centrino</tt>, <tt>cpufreq_powersave</tt>, <tt>cpufreq_userspace</tt> and <tt>freq_table</tt> modules using <tt>modprobe</tt>. Alternatively, you can add these modules to the modules list in <tt>/etc/rc.conf</tt> to load them at boot time. '''Addition:''' As of kernel 2.6.20, the speedstep_centrino module is redundant. Load acpi_cpufreq instead.<br />
<br />
3. Start the <tt>cpudyn</tt> and <tt>acpid</tt> deamons:<br />
# /etc/rc.d/cpudyn start<br />
# /etc/rc.d/acpid start<br />
Alternatively, you can add <tt>cpudyn</tt> and <tt>acpid</tt> to the daemons list in <tt>/etc/rc.conf</tt>.<br />
<br />
'''Note:''' If you don't want Linux to automatically scale your CPU speed, ''don't'' start <tt>cpudyn</tt>.<br />
<br />
4. You can now use a GUI application (e.g. a GNOME applet) to monitor (and manually scale, if you don't use <tt>cpudyn</tt>) the CPU speed. Visit [http://web.ics.purdue.edu/~nino/Linux/cpudyn.html this site] for a "how to" on <tt>cpudyn</tt>.<br />
<br />
5. To check if the scaling works, execute one the those two commands:<br />
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq<br />
Or<br />
cpufreq-info<br />
<br />
(Summarized from [http://bbs.archlinux.org/viewtopic.php?t=7209 Forum Discussion])<br />
<br />
'''Notes for Dual/MultiCore processors:'''<br />
<br />
1. Scaling will only work for the primary cpu0 core. Add these lines to your /etc/rc.local to make all cores scaling.<br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
...more if needed<br />
<br />
2. If the second CPU does not follow the frequency rules after suspend to ram, edit /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux and add the respective line, e.g.<br />
echo "ondemand">/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
'''before''' the final line ("exit $RET").<br />
<br />
== Alternative Methods ==<br />
=== cpufrequtils ===<br />
This is a much easier and straight-forward method of setting this up.<br />
<br />
1. Install cpufrequtils<br />
pacman -S cpufrequtils<br />
<br />
2. Edit /etc/conf.d/cpufreq for your requested settings<br />
# valid governors:<br />
# ondemand, performance, powersave, conservative, userspace<br />
governor="ondemand"<br />
<br />
# valid freq suffixes: Hz, kHz (default), MHz, GHz, THz<br />
min_freq="2.25GHz"<br />
max_freq="3GHz"<br />
<br />
3. Add your cpufreq module for your processor (i.e. speedstep_centrino) to the MODULES array in /etc/rc.conf - it is NOT autoloaded by default.<br />
<br />
4. Add 'cpufreq' to the DAEMONS array in /etc/rc.conf to have it start on startup. To start it right now, run:<br />
/etc/rc.d/cpufreq start<br />
=== cpufreqd ===<br />
Cpufreqd is a daemon that automatically changes CPU governors (and availabile frequency range) using cpufrequtils.<br />
<br />
1. Install cpufreqd<br />
pacman -S cpufreqd<br />
<br />
2. Edit /etc/cpufreqd.conf to set rules for cpufreqd for which governor to use when running on AC, Battery at XX%,... The defaults should work just fine for most of the users.<br />
<br />
3. Add your cpufreq module for your processor (i.e. acpi-cpufreq) and ''cpufreq_stats'' to the MODULES array in /etc/rc.conf - cpufreq module is NOT autoloaded by default. You must also load '' cpufreq_powersave'' ''cpufreq_conservative'' ''cpufreq_ondemand'' ''cpufreq_userspace'' depending on your cpufreqd configuration. You can load all of them even if you don't use them. Here is an example:<br />
MODULES=(acpi-cpufreq cpufreq_stats cpufreq_powersave<br />
cpufreq_conservative cpufreq_ondemand cpufreq_userspace)<br />
<br />
4. Add 'cpufreqd' to the DAEMONS array in /etc/rc.conf to have it start on startup. To start it right now, run:<br />
/etc/rc.d/cpufreqd start<br />
<br />
You can still use cpufrequtils to "manually" change your cpu governor and frequency but first you must stop the cpufreqd daemon:<br />
/etc/rc.d/cpufreqd stop</div>
Billy
https://wiki.archlinux.org/index.php?title=SLiM&diff=21183
SLiM
2007-02-17T17:33:19Z
<p>Billy: SLiM moved to SLIM: if you typed slim it opened the search page instead of this page</p>
<hr />
<div>#REDIRECT [[Adding_a_login_manager_(KDM,_GDM,_or_XDM)_to_automatically_boot_on_startup]]</div>
Billy
https://wiki.archlinux.org/index.php?title=SLiM&diff=21172
SLiM
2007-02-17T12:15:03Z
<p>Billy: Redirecting to Adding a login manager (KDM, GDM, or XDM) to automatically boot on startup</p>
<hr />
<div>#REDIRECT [[Adding_a_login_manager_(KDM,_GDM,_or_XDM)_to_automatically_boot_on_startup]]</div>
Billy
https://wiki.archlinux.org/index.php?title=CPU_frequency_scaling&diff=21171
CPU frequency scaling
2007-02-17T11:41:50Z
<p>Billy: </p>
<hr />
<div>[[Category:Power management (English)]]<br />
[[Category:CPU (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|SpeedStep}}<br />
{{i18n_entry|Deutsch|SpeedStep (Deutsch)}}<br />
{{i18n_entry|Français|SpeedStep (Français)}}<br />
{{i18n_links_end}}<br />
<br />
'''SpeedStep''' is a technology primarily for notebooks that enables the OS to scale the CPU speed to system and/or power use. For instance, using SpeedStep the system can slow down the CPU when a notebook is on battery power, thereby saving battery life. <br />
<br />
The equivalent AMD technology is called [[PowerNow]] or [[PowerNow|Cool'n'Quiet]]. To use it, modprobe <tt>powernow-k8</tt> instead of <tt>speedstep_centrino</tt> in step 2.<br />
<br />
== Setting up SpeedStep ==<br />
<br />
The daemon used to scale the CPU ''automatically'' is called <tt>cpudyn</tt>. The system also needs <tt>acpid</tt> to scale according to battery/AC information.<br />
<br />
1. Use [[Pacman]] to get the <tt>cpudyn</tt> and <tt>acpid</tt> daemons: <br />
# pacman -Sy cpudyn acpid<br />
<br />
2. Load the <tt>speedstep_centrino</tt>, <tt>cpufreq_powersave</tt>, <tt>cpufreq_userspace</tt> and <tt>freq_table</tt> modules using <tt>modprobe</tt>. Alternatively, you can add these modules to the modules list in <tt>/etc/rc.conf</tt> to load them at boot time.<br />
<br />
3. Start the <tt>cpudyn</tt> and <tt>acpid</tt> deamons:<br />
# /etc/rc.d/cpudyn start<br />
# /etc/rc.d/acpid start<br />
Alternatively, you can add <tt>cpudyn</tt> and <tt>acpid</tt> to the daemons list in <tt>/etc/rc.conf</tt>.<br />
<br />
'''Note:''' If you don't want Linux to automatically scale your CPU speed, ''don't'' start <tt>cpudyn</tt>.<br />
<br />
4. You can now use a GUI application (e.g. a GNOME applet) to monitor (and manually scale, if you don't use <tt>cpudyn</tt>) the CPU speed. Visit [http://web.ics.purdue.edu/~nino/Linux/cpudyn.html this site] for a "how to" on <tt>cpudyn</tt>.<br />
<br />
5. To check if the scaling works, execute one the those two commands:<br />
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq<br />
Or<br />
cpufreq-info<br />
<br />
(Summarized from [http://bbs.archlinux.org/viewtopic.php?t=7209 Forum Discussion])<br />
<br />
'''Notes for Dual/MultiCore processors:'''<br />
<br />
1. Scaling will only work for the primary cpu0 core. Add these lines to your /etc/rc.local to make all cores scaling.<br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
...more if needed<br />
<br />
2. If the second CPU does not follow the frequency rules after suspend to ram, edit /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux and add the respective line, e.g.<br />
echo "ondemand">/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
'''before''' the final line ("exit $RET").<br />
<br />
== Alternative Methods ==<br />
=== cpufrequtils ===<br />
This is a much easier and straight-forward method of setting this up.<br />
<br />
1. Install cpufrequtils<br />
pacman -S cpufrequtils<br />
<br />
2. Edit /etc/conf.d/cpufreq for your requested settings<br />
# valid governors:<br />
# ondemand, performance, powersave, conservative, userspace<br />
governor="ondemand"<br />
<br />
# valid freq suffixes: Hz, kHz (default), MHz, GHz, THz<br />
min_freq="2.25GHz"<br />
max_freq="3GHz"<br />
<br />
3. Add your cpufreq module for your processor (i.e. speedstep_centrino) to the MODULES array in /etc/rc.conf - it is NOT autoloaded by default.<br />
<br />
4. Add 'cpufreq' to the DAEMONS array in /etc/rc.conf to have it start on startup. To start it right now, run:<br />
/etc/rc.d/cpufreq start<br />
=== cpufreqd ===<br />
Cpufreqd is a daemon that automatically changes CPU governors and availabile frequencies using cpufrequtils.<br />
<br />
1. Install cpufreqd<br />
pacman -S cpufreqd<br />
<br />
2. Edit /etc/cpufreqd.conf to your liking when running at different states (AC, Battery at XX%,...). The defaults should work just fine for most of the users.<br />
<br />
3. Add your cpufreq module for your processor (i.e. speedstep_centrino) and ''cpufreq_stats'' to the MODULES array in /etc/rc.conf - cpufreq module is NOT autoloaded by default. You must also load '' cpufreq_powersave'' ''cpufreq_conservative'' ''cpufreq_ondemand'' ''cpufreq_performance'' ''cpufreq_userspace'' depending on your cpufreqd configuration. You can load all of them even if you don't use them. Here is an example:<br />
MODULES=(speedstep-centrino cpufreq_stats cpufreq_powersave<br />
cpufreq_conservative cpufreq_ondemand cpufreq_performance cpufreq_userspace)<br />
<br />
4. Add 'cpufreqd' to the DAEMONS array in /etc/rc.conf to have it start on startup. To start it right now, run:<br />
/etc/rc.d/cpufreqd start<br />
<br />
You can still use cpufrequtils to "manually" change your cpu governor and frequency but first you must stop the cpufreqd daemon:<br />
/etc/rc.d/cpufreqd stop</div>
Billy
https://wiki.archlinux.org/index.php?title=Display_manager&diff=21170
Display manager
2007-02-17T10:49:45Z
<p>Billy: </p>
<hr />
<div>[[Category:Boot process (English)]]<br />
[[Category:Display managers (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Adding a login manager (KDM, GDM, SLiM, or XDM) to automatically boot on startup}}<br />
{{i18n_entry|Deutsch|Einen Anmeldungsmanager hinzufügen (KDM, GDM, SLiM, oder XDM), der sich automatisch beim Systemstart öffnet (Deutsch)}}<br />
{{i18n_entry|עברית|הוסף מנהל התחברות גרפי (KDM, GDM, SLiM, או XDM) להפעלה אוטומטית לאחר האתחול}}<br />
{{i18n_entry|Русский|Добавление экранного менеджера входа в систему (KDM, GDM, SLiM, или XDM) в автозагрузку}}<br />
{{i18n_links_end}}<br />
<br />
This is very easy to do, and will add the login manager as a daemon that will automatically load upon the startup of your computer. All you need is root access. The daemon method only works with GDM, KDM and SLiM. For XDM, use the alternate method below. <br />
<br />
Just a reminder: The *dm login doesn't allow empty passwords!<br />
<br />
Just do the following:<br />
<br />
1. Login as root with <i>su</i>.<br />
<br />
2. Open the file <i>/etc/rc.conf</i> in your editor of choice.<br />
<br />
3. Scroll through the file until you see a line that looks similar to the following (it is most likely near the bottom):<br />
<br />
DAEMONS=(syslogd klogd !pcmcia network netfs crond)<br />
<br />
4. After the last listed program, add the login manager that you want to use, either KDM, GDM or SLiM, such as the following:<br />
# This would load KDM on startup<br />
DAEMONS=(syslogd klogd !pcmcia network netfs crond kdm)<br />
<br />
# This would load GDM on startup<br />
DAEMONS=(syslogd klogd !pcmcia network netfs crond gdm)<br />
<br />
# This would load SLiM on startup<br />
DAEMONS=(syslogd klogd !pcmcia network netfs crond slim)<br />
<br />
5. Save the file, and exit the editor. The next time you reboot, the login manager should run. If it does not, make sure that your file is correct, and that the program is installed.<br />
<br />
<b>Locales:</b><br />
KDM doesn't respect /etc/rc.conf LOCALE from default. So it's good idea to create file /etc/xprofile like this:<br />
<br />
. /etc/profile<br />
<br />
<b>Extra Notes:</b><br />
* The KDM package is a part of the <em>kdebase</em> package. You can acquire it with this <em>pacman</em> command as <b>root</b>:<br />
<br />
pacman -Sy kdebase<br />
<br />
<b><i>Alternate method</i></b><br />
<br />
While the above method will work, a side effect is that there will be no difference between run levels 3 and 5, and actually if you start up run level 5 you may have both XDM and KDM/GDM/SLiM running, depending on what your <i>/etc/inittab</i> looks like. To avoid this, instead of the above, do the following:<br />
<br />
1. Login as root with <i>su</i>.<br />
<br />
2. Open <i>/etc/inittab</i> using an editor of your choice.<br />
<br />
3. Change the line<br />
<br />
id:3:initdefault:<br />
<br />
to<br />
<br />
id:5:initdefault:<br />
<br />
4. Make sure the line<br />
<br />
x:5:respawn:/usr/bin/xdm -nodaemon<br />
( or if you don't yet have xorg 7: )<br />
x:5:respawn:/usr/X11R6/bin/xdm -nodaemon <br />
<br />
appears in the file.<br />
<br />
5. (Optional) If you just want XDM, skip this step. If you want GDM, KDM or SLiM, change the line<br />
above to one of<br />
<br />
x:5:respawn:/opt/gnome/sbin/gdm -nodaemon<br />
<br />
x:5:respawn:/opt/kde/bin/kdm -nodaemon<br />
<br />
x:5:respawn:/usr/bin/slim >& /dev/null<br />
<br />
6. Save the file and exit the editor.<br />
<br />
That's it -- next time you boot, your chosen display manager will appear. To start it without rebooting, execute the following command (still as root):<br />
<br />
/sbin/telinit 5<br />
<br />
If you ever need to stop X (to upgrade your video drivers, for example), you can execute (as root):<br />
<br />
/sbin/telinit 3<br />
<br />
to get back to a console-based login. After you're done, you can telinit back to run level 5, no reboot necessary.</div>
Billy
https://wiki.archlinux.org/index.php?title=Newcomers_Guide&diff=21042
Newcomers Guide
2007-02-11T11:08:22Z
<p>Billy: /* CD and DVD Burning */</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:About Arch (English)]]<br />
[[Category:Tutorials (English)]]<br />
==Preface==<br />
<br />
This documentation will guide you through the whole process of installing and configuring Arch Linux. It is based on the current Voodoo ISO. While<br />
this guide intends to show you how you get a fully configured Arch Linux system (graphical desktop environment, watching dvds, browsing the internet, <br />
working with emails, listening to music) its impossible to show all possibilities and options available. Therefore this guide has to focus on some <br />
useful steps, you may want to dig deeper using the Arch Linux Wiki or the Arch Linux Forums.<br />
<br />
If you feel that something important is missing or not working, drop me a note at <freigeist [at] elfenbeinturm.cc>, fix or add it (this is the main idea of a wiki :)). There is also a [http://bbs.archlinux.org/viewtopic.php?t=29055 forum thread] for discussion:<br />
<br />
==Obtain the latest ISO ==<br />
<br />
You can obtain Arch's latest official snapshot from [http://www.archlinux.org/download/ here].<br />
<br />
You may also consider using [ftp://ftp.archlinux.org/other/0.8/i686/ one of these] beta releases. They feature a new installer and a newer kernel making it far easier to install and update the system.<br />
<br />
==Install the base system ==<br />
<br />
===Boot Arch Linux CD===<br />
<br />
Insert the CD into your cdrom drive and boot from it. You may have to <br />
change the boot order in your computer bios or press a key (mostly F11 or F12) <br />
during the bios phase.<br />
<br />
Useful options of the Arch Linux CD are:<br />
* ide-legacy if you have trouble with IDE drives<br />
* noapic acpi=off pci=routeirq nosmp if your system hangs during the boot process<br />
* memtest86+ if you want to check your memory for errors<br />
<br />
Choose "Arch Linux Installation / Rescue System". If you need to change the boot options press e for editing the boot lines.<br />
The system will now boot and present a welcome text with some explanations when ready. <br />
<br />
===Changing the keymap===<br />
Press enter at the welcome screen. If you have a non-US keyboard layout type<br />
km<br />
at the prompt and choose the appropriate keymap.<br />
Choosing "default8x16.psfu.gz" for console font is a safe choice.<br />
<br />
===Start the Installation===<br />
Enter<br />
/arch/setup <br />
to start the installation. <br />
<br />
====Select an installation source====<br />
You will be prompted for an installation source. Choose CD if you use a full (current) ISO, choose ftp if you use the ftp ISO.<br />
<br />
====Prepare Hard Drive====<br />
Select the first menu entry "Prepare Hard Drive". Beware that "Auto-Prepare" is not a safe choice because it will erase the entire hard drive.<br />
Therefore we will manually partition the hard drive in this guide. Choose "2. Partition Hard Drives", select the hard drive you want (/dev/sdx) <br />
and create some partitions. <br />
<br />
<br />
Basic Information about partitions:<br />
TODO: Add some basic information about partitions (primary, logical...)<br />
<br />
<br />
Ask two people how you should partition your system and you will get three different answers. What you need at least is one primary partition which contains the root Filesystem. Other candidates for own partitions are /boot (which mainly contains the kernel) and /home (which contains the user data). <br />
We will stick in this example guide with one partition for / and one partition for /home.<br />
<br />
<br />
Basic Information about swap partition:<br />
A swap partition is a place on your hard drive where "virtual ram" resides. If you need more RAM than you have physically available Linux can't <br />
fullfill the request and an error occurs. A swap partition helps in this situation with expanding the physical RAM with virtual RAM. Linux uses<br />
the space on the harddisc to store the information that won't fit into the physical RAM anymore (to be fair its some more complex, because Linux <br />
tries to put information into the swap space that weren't frequently used). Because a hard disc is very slow compared to physical RAM this is only<br />
a makeshift. <br />
<br />
<br />
Ask two people about a swap partition and you will get four different answers. If you have plenty of RAM (more than 1024 MB) it may be possible to<br />
don't use a swap partition at all. Some people suggest using twice the amount of physical RAM, other recommend using not more than 1024 MB. I <br />
believe keeping the swap size between 512 MB and 1 GB is a good choice. Therefore we will create a 1 GB swap space in this example.<br />
<br />
Lets start creating the primary partition that will contain the root filesystem. Choose New -> Primary and enter the size you want <br />
(something between 4 and 8 GB is a good choice for a full featured Linux system). Put the partition at the beginning of the disk. Select the <br />
newly created partition and choose "Bootable" to make this partition bootable. Add another partition for your home directory. Choose another primary<br />
partition and set the size to a value you like. The size really depends on what your users store in their home directories, therefore I can <br />
not make any suggestions. The size may vary between a few hundred MB for some office documents up to hundreds of GB for videos and mp3s. If you <br />
want to use the whole space on your hard disc use the remaining space minus 512 MB - 1 GB for the size. At last we<br />
create a third partition for swap. Select a size between 512 MB and 1 GB and change the type to 82 (Linux swap / Solaris).<br />
<br />
This is what your Layout should look like (size may vary depending on your decision):<br />
<br />
Name Flags Part Type FS Type [Label] Size (MB)<br />
-------------------------------------------------------------------------<br />
sda1 Boot Primary Linux (4096 - 8192)<br />
sda2 Primary Linux (> 100)<br />
sda3 Primary Linux swap / Solaris (512 - 1024)<br />
<br />
Choose Write and type yes. Beware that this operation may destroy data on your disk if you deleted partitions. Choose Quit to leave the partitioner. <br />
Choose Done to leave this menu and continue with "Set Filesystem Mountpoints"<br />
<br />
====Set Filesystem Mountpoints====<br />
Ar first you will be asked for your swap partition, choose the appropriate (sda3 in this example). You will be asked if you want to create a swap<br />
filesystem, select yes. The next question regards to your root file system, choose the partition (sda1 in the example). You will be asked what<br />
kind of filesystem you want. <br />
<br />
Again, ask two people which filesystem to choose you get 5 answers. Each one has advantages and disadvantages. The major difference is journaling, while only ext2 is no journaling filesystem (something similar to transaction logs in database environments) all other use journals. Ext3 is completly compatible to ext2, therefore you can mount it even with very old rescue cds. A safe choice for the root <br />
partition is ext3 and reiserfs. Xfs and Jfs are complicated because grub (the boot manager we will install in the next steps) can't boot from them. <br />
Therefore you need a boot partition with a different filesystem (eg. ext2). Create the filesystem by selecting yes.<br />
For any additional partition you will be now asked where you want to mount it. In the example only sda2 is left, we choose reiserfs again and mount<br />
it under /home. Again create the filesystem and choose Done. Return to main menu.<br />
<br />
===Select Packages===<br />
Now we have to select some packages we want to install. Choose CD as source and select the appropriate cd drive if you have more than one.<br />
We want to start with a very basic system, therefore we don't install more than base (keeping all base packages select is a safe choice). It's up<br />
to you if you want select more packages, but we will show you later how to install additional software more easily. Step forward to "Install Packages"<br />
<br />
===Install Packages===<br />
This is an easy task because everthing happens automagically. Take yourself a cup of coffee and wait until the installation has finished (press <br />
continue if needed).<br />
<br />
===Configure System===<br />
You will be asked if you want to choose hwdetect to gather some information for your configuration. This is recommended so you should choose this option. <br />
Now you will be asked if you need support for booting from usb devices, firewire devices, pcmcia devices, nfs shares, software raid arrays, lvm2 volumes<br />
and encrypted volumes. Choose yes if you need it, in our example nothing is needed. Now you will be asked which text editor you want to use, choose<br />
nano if you are not familiar with vi/vim. You will now get a menu with most important config files for your system. We will only do some minor tweaks at<br />
this time. If you want to look up the available options as stated in rc.conf just press Alt+F2 to get a shell, look it up and switch back to the installer with Alt+F1. Edit your /etc/rc.conf:<br />
* Change your LOCALE if needed (e.g. "de_DE.utf8")<br />
* Change your TIMEZONE if needed (e.g. "Europe/Berlin")<br />
* Change your KEYMAP if needed (e.g. "de-latin1-nodeadkeys")<br />
<br />
* Change MODULES if you know that an important module is missing (hwdetect should have filled in the most important modules)<br />
* Change your HOSTNAME<br />
* Change your Network settings:<br />
** Don't modify the lo line<br />
** Adjust the IP address, netmask and broadcast address if you are using a static ip<br />
** Set eth0="dhcp" if you have a router which dynamically assigns an ip address<br />
** If you have a static IP set the gateway address to your the one of your router and remove the ! in front of the ROUTES entry<br />
<br />
You don't have to change the [[daemons]] line at this time, but it is useful to explain what daemons are, because we need them later in this guide. A daemon is a program that runs in the background, waiting for events to occur and offering services. A good example is a webserver that waits for a request to deliver a page or a ssh server waiting for someone trying to log in. While these are full featured applications, there are daemons whose work is not that visible. A daemon which writes messages into a log file (e.g. syslog, metalog), a daemon which lowers your cpu's frequency if your system has nothing to do or a daemon which offers you a graphical login (e.g. gdm, kdm). All these programs can be added to the daemons line and will started when the system boots. Useful daemons will be presented during this guide.<br />
<br />
Use Ctrl+X to leave the editor.<br />
<br />
Now we edit /etc/hosts:<br />
* Add the desired hostname (the one you set in rc.conf before) after localhost<br />
* If you use a static ip, add a new line <static-ip> hostname.domainname hostname<br />
<br />
We shouldn't need to edit /etc/fstab, mkinitcpio.conf and modprobe.con at this point ([[fstab]] manages your filesystems, <br />
mkinitcpio configures the ramdisk (e.g. booting from raid, encrypted volumes) and modprobe can be used to set some special config options for the modules)<br />
<br />
If you use a static ip set your dns server in /etc/[[resolv.conf]] (nameserver <ip-address>)<br />
<br />
Now we edit /etc/locale.gen and choose the locales we need (remove the # in front of the line you want). Finally set a Root-Password and make<br />
sure that you remember it later. Return to the main menu and continue with installing a kernel.<br />
<br />
===Install Kernel===<br />
Not many choices here, choose v2.6 and continue. You may want to switch your kernel later. A fallback image will be created, keeping mkinitcpio <br />
as it is shown is a safe choice. Continue with installing a bootloader.<br />
<br />
===Install Bootloader===<br />
Because we have no secondary operating system in our example we need a bootmanager. Grub is a good choice and a bit easier to configure and maintain<br />
than lilo. The shown grub configuration (menu.lst) should be safe choice. The only thing you may want to alter is the resolution of the console. Add<br />
a vga=<number> to the first kernel line. A table of resolutions and the according numbers is printed in the menu.lst. Exit the install and type reboot.<br />
If everthing went good your new ArchLinux system will boot up and finish with a login prompt (you may want to change the boot order in your bios back to<br />
booting from hard disc).<br />
<br />
==Configuring the base system ==<br />
We will now show some easy tweaks for the beginning. Login with your root account.<br />
===Configuring pacman===<br />
Edit /etc/pacman.conf<br />
nano -w /etc/pacman.conf<br />
and remove the # in front of the "Include = /etc/pacman.d/community"-line to add another package sources which offers many useful applications. Now edit /etc/pacman.d/community and move the mirrors which are located near to you up (if you use nano Ctrl+A starts selecting an area, cursor down marks the lines, Ctrl+K cuts the selected area and Ctrl+U uncuts it). Repeat this for all files in /etc/pacman.d/<br />
<br />
===Configuring the network===<br />
Advanced instructions for configuring the network can be found [http://wiki.archlinux.org/index.php/Network here]<br />
====Wired Lan====<br />
If everthing went fine you already should have an working network. Try ping www.google.de to check this. If you get an "unknown host" error, your<br />
network is not configured. Check this with<br />
ifconfig<br />
you should see an entry for eth0. You can set a new static ip with<br />
ifconfig eth0 <ip address> netmask <netmask> up <br />
and the default gateway with<br />
route add default gw <ip address of the gateway><br />
Check if /etc/resolv.conf contains your dns server and add it if it is missing. <br />
Check your network again with ping www.google.de. If everything is working now adjust /etc/rc.conf as described in section 2.6 (static ip). If you have a dhcp server/router in your network try<br />
dhcpcd eth0<br />
If this is working adjust /etc/rc.conf as described in section 2.6 (dynamic ip).<br />
<br />
====Wireless Lan====<br />
[http://wiki.archlinux.org/index.php/Wireless_Setup Wireless Setup]<br />
(TODO) Simplify and generalize it, link only for more advanced stuff<br />
<br />
====Analog Modem====<br />
To be able to use a Hayes-compatible, external, analog modem, you need to at least have the ppp package installed. Modify the file /etc/ppp/options to suit your needs and according to man pppd. You will need to define a chat script to supply your username and passwort to the ISP after the initial connection has been established. The manpages for pppd and chat have examples in them that should suffice to get a connection up and running if you're either experienced or stubborn enough. With udev, your serial ports usually are /dev/tts/0 and /dev/tts/1.<br />
<br />
Instead of fighting a glorious battle with the plain pppd, you may opt to install wvdial or a similar tool to ease the setup process considerably. In case you're using a so called WinModem, which is basically a PCI plugin card working as an internal analog modem, you should endulge in the vast information found on the LinModem homepage.<br />
<br />
====ISDN====<br />
<br />
Setting up ISDN is done in three steps:<br />
# Install and configure hardware<br />
# Install and configure the ISDN utilities<br />
# Add settings for your ISP <br />
<br />
The current Arch stock kernels include the necessary ISDN modules, meaning that you won't need to recompile your kernel unless you're about to use rather odd ISDN hardware. After physically installing your ISDN card in your machine or plugging in your USB ISDN-Box, you can try loading the modules with modprobe. Nearly all passive ISDN PCI cards are handled by the hisax module which needs two parameters; type and protocol. You must set protocol to '1' if your country uses the 1TR6 standard, '2' if it uses EuroISDN (EDSS1), '3' if you're hooked to a so called leased-line without D-channel, and '4' for US NI1.<br />
<br />
Details on all those settings and how to set them is included in the kernel documentation, more specifically in the isdn subdirectory, or available online. The type parameter depends on your card; A list of all possible types is to be found in the README.HiSax kernel documentation. Choose your card and load the module with the appropriate options like this:<br />
<br />
modprobe hisax type=18 protocol=2<br />
<br />
This will load the hisax module for my ELSA Quickstep 1000PCI, being used in Germany with the EDSS1 protocol. You should find helpful debugging output in your /var/log/everything.log file in which you should see your card being prepared for action. Please note that you will probably need to load some usb modules before you can work with an external USB ISDN Adapter.<br />
<br />
Once you confirmed that your card works with certain settings, you can add the module options to your /etc/modprobe.conf (or /etc/modules.conf if you're using kernel 2.4.x):<br />
<br />
alias ippp0 hisax<br />
options hisax type=18 protocol=2<br />
<br />
Alternatively you can only add the options line here, and add hisax to your MODULES array in the rc.conf. Your choice, really, but this example has the advantage that the module will not be loaded until it's really needed.<br />
<br />
That being done you should have working, supported hardware. Now you need the basic utilities to actually use it!<br />
<br />
Install the isdn4k-utils package, and read the manpage to isdnctrl, it'll get you started. Further down in the manpage you will find explanations on how to create a configuration file that can be parsed by isdnctrl, as well as some helpful setup examples. Please note that you have to add your SPID to your MSN setting seperated by a colon if you use US NI1.<br />
<br />
After you configured your ISDN card with the isdnctrl utility, you should be able to dial into the machine you specified with the PHONE_OUT parameter, but fail the username and password authentication. To make this work add your username and password to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets as if you were configuring a normal analogous PPP link, depending on which protocol your ISP uses for authentication. If in doubt, put your data into both files.<br />
<br />
If you set up everything correctly, you should now be able to establish a dialup connection with isdnctrl dial ippp0 as root. If you have any problems, remember to check the logfiles!<br />
<br />
====DSL (PPPoE)====<br />
<br />
These instructions are only relevant to you if your PC itself is supposed to manage the connection to your ISP. You do not need to do anything but define a correct default gateway if you are using a seperate router of some sort to do the grunt work.<br />
<br />
Before you can use your DSL online connection, you will have to physically install the network card that is supposed to be connected to the DSL-Modem into your computer. After adding your newly installed network card to the modules.conf/modprobe.conf or the MODULES array, you should install the rp-pppoe package and run the adsl-setup script to configure your connection. After you have entered all the data, you can connect and disconnect your line with<br />
<br />
/etc/rc.d/adsl start<br />
<br />
and<br />
<br />
/etc/rc.d/adsl stop<br />
<br />
respectively. The setup usually is rather easy and straightforward, but feel free to read the manpages for hints. If you want to automatically dial in on bootup, add adsl to your DAEMONS array. <br />
<br />
===Update the system===<br />
Now we will update the system using pacman, the package manager of Arch Linux (something similar to apt on Debian and Ubuntu or emerge on Gentoo). <br />
Enter<br />
pacman -Sy<br />
pacman will now fetch the latest information about available packages. The next step is to update pacman itself first<br />
pacman -S pacman<br />
Use <br />
pacman -Su <br />
to update your system.<br />
Or do it all in one roll with<br />
pacman -Syu<br />
and get a cup of coffee (pacman will show you updated packages, if it just finishes without a message all your packages are up to date).<br />
<br />
===Add a user===<br />
You should not do your every day work using the root account because it is way to powerful for just writing a letter or listening to music. Instead<br />
add an useraccount using<br />
adduser<br />
While most default options are safe to use, you may want to add at least audio,wheel to your additional groups. <br />
Audio allows your user using the audio card while wheel allows switching to the root account with su.<br />
<br />
==Installing and configuring Hardware==<br />
===Configure the audio card===<br />
Your audio card should already be working but you can't hear anything because it is muted by default. Install the alsa-utils <br />
pacman -S alsa-utils<br />
and use alsamixer to adjust the channels. Unmute at least the master and pcm channel (press the M Key) and increase the volume with the cursor up key. Leave the alsamixer with ESC and store the settings with<br />
alsactl store<br />
Add alsa to your daemons in /etc/rc.conf to automatically restore the mixer on bootup.<br />
<br />
===Configuring CPU frequency scaling===<br />
Modern processors are able to decrease their frequency and voltage to reduce heat and power consumption. Mostly a reduction will lead to a quieter system, therefore even a desktop system will benefit from it. Install cpufrequtils with<br />
pacman -S cpufrequtils<br />
and add cpufreq to your daemons in /etc/rc.conf. Edit the config file /etc/conf.d/cpufreq and change <br />
governor="conservative"<br />
which dynamically increases the cpu frequency if needed (which is a safe choice on desktop systems too). Alter min_freq and max_freq to match your systems cpu spec. Add the frequency scaling modules to your /etc/rc.conf modules line (e.g. speedstep_centrino for Pentium M processors or powernow-k8 for the Athlon 64). Load the module with<br />
modprobe <modulname> <br />
and start cpufreq with<br />
/etc/rc.d/cpufreq start<br />
<br />
===Additional tweaks for laptops===<br />
ACPI support is needed if you want to use some special functions on your notebook (e.g. sleep, sleep when lid is closed, special keys...). Install acpid <br />
pacman -S acpid<br />
add it to the daemons in /etc/rc.conf (acpid). Start it with<br />
/etc/rc.d/acpid start<br />
<br />
Additional to this its a good choice to install powersave and add it to your daemons in /etc/rc.conf (powersaved). Powersave contains some fixes for suspend to ram and standby as well some more tweaks for battery saving. Start it with<br />
/etc/rc.d/powersaved start<br />
<br />
More specific information about Arch Linux on various Laptops can be found [http://wiki.archlinux.org/index.php/Category:Laptop here]<br />
<br />
==Installing and configuring Xorg ==<br />
Now we will install Xorg using pacman. Type<br />
pacman -S xorg <br />
and enter Y. Now we have the base packages we need for running the X Server. You should add the driver for your graphic card now (e.g. xf86-video-<name>). To get a list of all video drivers type<br />
pacman -Ss xf86-video | less<br />
If you don't know which graphic card you are using type<br />
lspci | grep VGA<br />
Now type Xorg -configure to create a basic X configuration. If you want to<br />
test your configuration install xterm and twm with<br />
pacman -S xterm xorg-twm<br />
move the xorg.conf.new (mv /root/xorg.conf.new /etc/X11/xorg.conf) and<br />
type startx. Exit the X Server with Ctrl+Alt+Backspace. You may want to change some things in your xorg.conf.<br />
<br />
Advanced instructions for Xorg configuration can be found [http://wiki.archlinux.org/index.php/Xorg here]<br />
===Adjusting Keyboard Layout===<br />
You may want to change your keyboard layout. To do this edit your /etc/X11/xorg.conf and add these lines in the Input Section (keyboard0) (the example shows<br />
a german keyboard layout, alter this to fit your needs).<br />
Option "XkbLayout" "de"<br />
Option "XkbVariant" "nodeadkeys"<br />
<br />
===Adjusting Mouse===<br />
While your mouse should be working out of the box, you may want to use you scroll wheel, add this to your Input Section (mouse0):<br />
Option "ZAxisMapping" "4 5 6 7"<br />
<br />
===Using proprietary Graphics Driver (Nvidia, Ati)===<br />
====Nvidia Graphic Cards====<br />
Install the nvidia drivers with<br />
pacman -S nvidia<br />
Adjust your /etc/X11/xorg.conf Device Section with changing Driver "nv" to Driver "nvidia". You<br />
may want to add a new section to enable DRI:<br />
<br />
Section "DRI"<br />
Mode 0666<br />
EndSection<br />
<br />
Some useful tweaking options in the device section are (beware that these may not work on your system):<br />
Option "RenderAccel" "true"<br />
Option "NoLogo" "true"<br />
Option "AGPFastWrite" "true"<br />
Option "EnablePageFlip" "true"<br />
<br />
You should add this to your module section:<br />
<br />
Load "glx"<br />
<br />
Type modprobe nvidia to load the driver and test your configuration with startx.<br />
<br />
Advanced instructions for Nvidia configuration can be found [http://wiki.archlinux.org/index.php/How_to_install_NVIDIA_driver here]<br />
====ATI Graphic Cards====<br />
ATI owners have two options for drivers. If you unsure which driver to use try the open source one first. The open source driver will suite most needs along with generally being less problematic.<br />
<br />
Install the proprietary ATI Driver with<br />
pacman -S ati-fglrx<br />
Use the aticonfig tool to modify the xorg.conf. Note: The proprietary driver does not support [[Aiglx]]. To use [[Compiz]] or [[Beryl]] with this driver you would need to use [[XGL]].<br />
<br />
Install the open source ATI Driver with<br />
pacman -S xf86-video-ati<br />
Currently the open source driver is not on par with the performance of the proprietary one. It also lacks TV-out, dual-link DVI support, and possibly other features. On the other hand it supports Aiglx and has better dual-head support.<br />
<br />
Advanced instructions for ATI configuration can be found [http://wiki.archlinux.org/index.php/ATI_Radeon_%26_Kernel_2.6 here].<br />
<br />
==Installing and configuring a Desktop Environment ==<br />
If you ask two people what the best Desktop Environment or Window Manager is, you will get six different answers. <br />
* If you want something similar to Windows, KDE is a good choice<br />
* If you want something which follows more strictly the KISS principle, Gnome is a good choice<br />
* If you have a lowend system xfce4 is a good choice, still giving you a complete environment<br />
* If you need something lighter, openbox, fluxbox or fvwm2 may be the right (not to mention all other lightweight window managers like windowmaker and twm). <br />
* If you need something completely different try ion, wmii or dwm.<br />
<br />
===Install Fonts===<br />
First you may want to install some good looking fonts. Dejavu is a nice font set (an alternative is bitstream-vera). For websites you may want to have the Microsoft fonts too. Install both with<br />
pacman -S ttf-ms-fonts ttf-dejavu<br />
<br />
===Gnome===<br />
====About Gnome====<br />
The GNOME project provides two things: The GNOME desktop environment, an intuitive and attractive desktop for end-users, and the GNOME development platform, an extensive framework for building applications that integrate into the rest of the desktop.<br />
<br />
====Installation====<br />
Install gnome with<br />
pacman -S gnome<br />
Its safe to choose all packages shown. You may want to install a graphical login manager. For gnome gdm is a good choice. Install gdm with<br />
pacman -S gdm<br />
Test it with<br />
/etc/rc.d/gdm start<br />
If everything is working you may want to autostart gdm when <br />
booting your system, add gdm to the daemon section in your /etc/rc.conf.<br />
<br />
You may want to install a terminal and an editor. I would recommend gnome-terminal and geany:<br />
pacman -S geany gnome-terminal<br />
<br />
Advanced instructions for installing and configuring Gnome can be found [http://wiki.archlinux.org/index.php/Gnome here]<br />
<br />
====Eyecandy====<br />
You may find the default gnome theme and icons not very attractive. A nice gtk theme is murrine. Install it with<br />
pacman -S gtk-engine-murrine<br />
and select it with System->Preferences->Theme. You find more themes, icons and wallpaper at [http://www.gnome-look.org Gnome Look]<br />
<br />
===KDE===<br />
====About KDE====<br />
KDE is a powerful Free Software graphical desktop environment for Linux and Unix workstations. It combines ease of use, contemporary functionality, and outstanding graphical design with the technological superiority of the Unix operating system.<br />
<br />
====Installation====<br />
Install kde with<br />
pacman -S kde<br />
Its safe to choose all packages shown. You may want to install a graphical login manager. For kde kdm is a good choice. Install kdm with<br />
pacman -S kdm<br />
Test it with<br />
/etc/rc.d/kdm start<br />
If everything is working you may want to autostart kdm when <br />
booting your system, add kdm to the daemon section in your /etc/rc.conf.<br />
<br />
Advanced instructions for installing and configuring KDE can be found [http://wiki.archlinux.org/index.php/KDE here]<br />
<br />
===XFCE===<br />
====About XFCE====<br />
XFCE is a Desktop Environment, like GNOME or KDE. It contains a suite of apps like a root window app, window manager, file manager, panel, etc. XFCE is written using the GTK2 toolkit, and contains its own development environment (libraries, daemons, etc), similar to other big DEs. Unlike GNOME or KDE, XFCE is lightweight and designed more around CDE than Windows or Mac. It has a much slower development cycle, but is very stable and extremely fast. XFCE is great for older hardware.<br />
<br />
====Installation====<br />
Install xfce with<br />
pacman -S xfce4 xfce4-goodies <br />
<br />
If you use kdm or gdm a new xfce session appeared. Alternatively you can use<br />
startxfce4<br />
<br />
Advanced instructions for installing and configuring XFCE can be found [http://wiki.archlinux.org/index.php/Xfce here]<br />
<br />
===*box===<br />
====Fluxbox====<br />
Fluxbox © is yet another windowmanager for X.<br />
It's based on the Blackbox 0.61.1 code. Fluxbox looks like blackbox and handles styles, colors, window placement and similar thing exactly like blackbox (100% theme/style compability).<br />
<br />
Install Fluxbox using <br />
pacman -S fluxbox fluxconf menumaker<br />
<br />
If you use gdm/kdm a new fluxbox session will be automatically added. Otherwise you should modify your users .xinitrc and add this to it:<br />
exec startfluxbox <br />
<br />
More information is available [http://wiki.archlinux.org/index.php/Fluxbox here]<br />
<br />
====Openbox====<br />
Openbox is a standards compliant, fast, light-weight, extensible window manager.<br />
<br />
Openbox works with your applications, and makes your desktop easier to manage. This is because the approach to its development was the opposite of what seems to be the general case for window managers. Openbox was written first to comply with standards and to work properly. Only when that was in place did the team turn to the visual interface.<br />
<br />
Openbox is fully functional as a stand-alone working environment, or can be used as a drop-in replacement for the default window manager in the GNOME or KDE desktop environments. <br />
<br />
Install openbox using<br />
pacman -S openbox obconf menumaker<br />
<br />
Once openbox is installed you will get a message to move menu.xml & rc.xml to ~/.config/openbox/ in your home directory:<br />
<br />
mkdir -p ~/.config/openbox/<br />
cp /etc/xdg/openbox/rc.xml ~/.config/openbox/<br />
cp /etc/xdg/openbox/menu.xml ~/.config/openbox/<br />
<br />
In the file "rc.xml" you can change various settings for Openbox (or you can use OBconf). In "menu.xml" you can change your right-click-menu.<br />
<br />
To be able to log into openbox you can either go via graphical log in KDM/GDM or startx in which case you will need to edit your ~/.xinitrc (as user) to the following :<br />
<br />
exec openbox<br />
<br />
For KDM there is nothing left to do, openbox is listed in the sessions menu in KDM.<br />
<br />
Useful programs for openbox are:<br />
* pyPanel or lxpanel if you want a panel<br />
* feh if you want to set the background<br />
* Rox if you want a simple filemanager and desktop icons<br />
<br />
More information is available [http://wiki.archlinux.org/index.php/Openbox here]<br />
<br />
===fvwm2===<br />
FVWM is an extremely powerful ICCCM-compliant multiple virtual desktop window manager for the X Window system. Development is active, and support is excellent. <br />
<br />
Install fvwm2 with<br />
pacman -S fvwm <br />
<br />
fvwm will automatically been listed in kdm/gdm in the sessions menu. Otherwise add <br />
exec fvwm <br />
<br />
to your users .xinitrc.<br />
<br />
Note that this stable version of fvwm is a few years old. If you want a more recent version of fvwm, there is a fvwm-devel package in the unstable repo.<br />
<br />
==Useful Applications==<br />
This section will never be complete. It just shows some good applications for the everyday user. <br />
===Internet===<br />
Firefox and Thunderbird are good applications for browsing the Internet and managing your emails. If you are using Gnome you may want to take a look<br />
at epiphany and evolution, if you are using KDE konqueror and kmail could be your choice. If you want something completely different you can still use Opera and various text-based browsers. Gaim and Kopete are good instant messengers for Gnome respective KDE. PSI is a good alternative.<br />
<br />
===Office===<br />
Openoffice is a complete office suite (similar to Microsoft Office). Abiword is a good small alternative wordprocessor, gnumeric an excel replacement for the gnome desktop. KOffice <br />
is a complete office suite for the KDE Desktop. Gimp (or gimpshop) is a pixel based graphic program (similar to Adobe Photoshop) while inkscape is a vector based graphic program (like Adobe Illustrator). And of course Arch comes with a full set of LaTeX-Programms.<br />
<br />
==Multimedia ==<br />
<br />
<br />
===Video Player===<br />
====VLC====<br />
(TODO)Link to instructions for vlc mozilla plugin<br />
====Mplayer====<br />
(TODO)Mozilla Plugin available, gmplayer for gtk<br />
====Totem====<br />
(TODO)totem-xine is still the better choice if you want to watch dvds.<br />
====Kaffeine====<br />
(TODO)<br />
<br />
===Audio Player===<br />
====Gnome====<br />
(TODO)Banshee, Quodlibet, Exaile, Rhythmbox, Listen are all good audio players. Check gnomefiles.org to compare them.<br />
====KDE ====<br />
(TODO)Amarok is one of the best audio player and music library systems available for kde.<br />
====Console====<br />
(TODO)Moc is a ncurses based audio player for the console, another good choice is mpd.<br />
====Other X-based====<br />
(TODO)Xmms, audacious, bmpx.<br />
<br />
<br />
===Codecs and other multimedia content types===<br />
====DVD====<br />
You can use totem-xine, mplayer or kaffeine (just to name three of the big ones) to watch dvds. The only thing you may miss is libdvdcss. Beware that using it may be illegal in some countries.<br />
<br />
====Flash====<br />
Install the flash plugin using pacman -S flashplugin to enable Macromedia (now Adobe) Flash in your browser.<br />
====Quicktime====<br />
Quicktime Codecs are contained in the codecs package. Just type<br />
pacman -S codecs<br />
to install them.<br />
====Realplayer====<br />
The codec for Realplayer 9 is contained in the codecs package. Just type<br />
pacman -S codecs<br />
to install them. There is a Realplayer 10 available as a binary package for Linux. You can get it from AUR [http://aur.archlinux.org/packages.php?do_Details=1&ID=1590&O=0&L=0&C=0&K=realplay&SB=&SO=&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd here]<br />
<br />
===CD and DVD Burning===<br />
(Todo)Brasero, k3b, cdrecord, graveman...<br />
<br />
===TV-Cards===<br />
TODO<br />
===Digital Cameras===<br />
Most newer digital cameras are supported as usb mass storage devices which means that you can simply plug it in and copy the images. Older cameras may use the ptp (Picture Transfer Protocol) which requires a "special driver". Gphoto2 provides this driver and allows a shell based transfer of the images, digikam (for KDE) and gthumb (for Gnome, gtkam would be another choice) use this driver and offer a nice gui.<br />
<br />
===USB Memory Sticks / Hard Disks===<br />
USB Memory Sticks and hard disks are supported out of the box with the usb mass storage device driver and will appear as a new scsi device (/dev/sdX). If you are using KDE or Gnome you should use dbus and hal (add them to your daemons in /etc/rc.conf) and they will be automatically mounted. If you use a different Desktop Environment you may have a look at ivman.<br />
<br />
==Maintaining the system==<br />
===Pacman===<br />
[[Pacman]] is both a binary and source package manager which is able to download, install and upgrade packages from both remote and local repositories with full dependency handling, and has easy to understand tools for crafting your own packages too.<br />
<br />
A more detailed description of Pacman can be found [http://wiki.archlinux.org/index.php/Pacman here].<br />
<br />
==== Useful commands ====<br />
<br />
To synchronize the local packages database with the remote repositories (it is a good idea to do this before installing and upgrading packages):<br />
pacman -Sy<br />
<br />
<br />
To install or upgrade a single package or list of packages (including dependencies):<br />
pacman -S packageA packageB<br />
<br />
<br />
To remove a single package, leaving all of its dependencies installed:<br />
pacman -R package<br />
<br />
To also remove all of the packages dependencies which aren't used by any other installed package:<br />
pacman -Rs package<br />
<br />
<br />
To update all the packages on the system:<br />
pacman -Su<br />
<br />
<br />
To search the package database for a list of packages matching a given keyword:<br />
pacman -Ss keyword<br />
<br />
==Further information==<br />
Further information and support can be found at the [http://www.archlinux.org homepage], the [http://wiki.archlinux.org wiki], the [http://bbs.archlinux.org forum], the [http://www.archlinux.org/irc/ IRC channel] or the [http://www.archlinux.org/mailman/listinfo/ mailing lists].</div>
Billy
https://wiki.archlinux.org/index.php?title=Initscripts/rc.conf&diff=20668
Initscripts/rc.conf
2007-02-04T11:59:54Z
<p>Billy: </p>
<hr />
<div>{{stub}}<br />
I don't think rc.conf is "explaining" enough(sorry can't think of a better word atm). For example, which program uses the LOCALE,HARDWARECLOCK,TIMEZONE,KEYMAP,CONSOLEFONT,CONSOLEMAP,etc etc vars in here and what do they do?<br />
<br />
It would be nice if someone could explain this better so one wouldn't need to deal with the abstraction :)<br />
<br />
#<br />
# /etc/rc.conf - Main Configuration for Arch Linux<br />
#<br />
<br />
#<br />
# -----------------------------------------------------------------------<br />
# LOCALIZATION<br />
# -----------------------------------------------------------------------<br />
#<br />
# LOCALE: available languages can be listed with the 'locale -a' command<br />
# HARDWARECLOCK: set to "UTC" or "localtime"<br />
# TIMEZONE: timezones are found in /usr/share/zoneinfo<br />
# KEYMAP: keymaps are found in /usr/share/kbd/keymaps<br />
# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US)<br />
# CONSOLEMAP: found in /usr/share/kbd/unimaps<br />
# USECOLOR: use ANSI color sequences in startup messages<br />
#<br />
LOCALE=<br />
HARDWARECLOCK="localtime"<br />
TIMEZONE=Canada/Pacific<br />
KEYMAP=us<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR="yes"<br />
<br />
#<br />
# -----------------------------------------------------------------------<br />
# HARDWARE<br />
# -----------------------------------------------------------------------<br />
#<br />
# Scan hardware and load required modules at bootup<br />
MOD_AUTOLOAD="yes"<br />
# Module Blacklist - modules in this list will never be loaded by hwdetect<br />
MOD_BLACKLIST=()<br />
#<br />
# Modules to load at boot-up (in this order)<br />
# - prefix a module with a ! to blacklist it<br />
#<br />
MODULES=(!usbserial)<br />
# Scan for LVM volume groups at startup, required if you use LVM<br />
USELVM="no"<br />
<br />
#<br />
# -----------------------------------------------------------------------<br />
# NETWORKING<br />
# -----------------------------------------------------------------------<br />
#<br />
HOSTNAME="myhost"<br />
#<br />
# Interfaces to start at boot-up (in this order)<br />
# Declare each interface then list in INTERFACES<br />
# - prefix an entry in INTERFACES with a ! to disable it<br />
#<br />
# Note: to use DHCP, set your interface to be "dhcp" (eth0="dhcp")<br />
#<br />
lo="lo 127.0.0.1"<br />
eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"<br />
INTERFACES=(lo eth0)<br />
#<br />
# Routes to start at boot-up (in this order)<br />
# Declare each route then list in ROUTES<br />
# - prefix an entry in ROUTES with a ! to disable it<br />
#<br />
gateway="default gw 192.168.0.1"<br />
ROUTES=(!gateway)<br />
#<br />
# Enable these network profiles at boot-up. These are only useful<br />
# if you happen to need multiple network configurations (ie, laptop users)<br />
# - set to 'menu' to present a menu during boot-up<br />
# - prefix an entry with a ! to disable it<br />
#<br />
# Network profiles are found in /etc/network-profiles<br />
#<br />
#NET_PROFILES=(main)<br />
#<br />
# -----------------------------------------------------------------------<br />
# DAEMONS<br />
# -----------------------------------------------------------------------<br />
#<br />
# Daemons to start at boot-up (in this order)<br />
# - prefix a daemon with a ! to disable it<br />
# - prefix a daemon with a @ to start it up in the background<br />
#<br />
DAEMONS=(syslog-ng !hotplug !pcmcia network netfs crond)<br />
<br />
# End of file<br />
<br />
<br />
<br />
Explanation:<br />
* LOCALE: The preferred language and charset for shells, applications and such<br />
* HARDWARECLOCK: Specifies whether the hardware clock, which is synchronized from on bootup and to on shutdown, stores UTC time, or the localtime. UTC makes sense because it greatly simplifies changing timezones and daylight savings time. localtime is necessary if you dual boot with an operating system that only stores localtime to the hardware clock, such as Windows.<br />
* TIMEZONE: The timezone you live in, pick one from /usr/share/zoneinfo<br />
* KEYMAP: The keyboard layout you want to use. If you live in the US, you probably use qwerty, which is referred using us (default). The available keymaps are in /usr/share/kbd/keymaps. For more infoo see: [[KEYMAP]]<br />
* CONSOLEFONT: Leave this empty, you probably don't need to change this unless you use non-standard ASCII characters. For more info see: [[Fonts#Fonts_in_virtual_console]]<br />
* CONSOLEMAP: I have no idea what this does<br />
* USECOLOR: Specifies whether you want color coding in shells<br />
* MOD_AUTOLOAD: Automatically scans and loads modules needed to run the current system<br />
* MOD_BLACKLIST: Modules you don't want to load<br />
* MODULES: List of modules you want (or don't want) to load<br />
* USELVM: Scan for LVM volume groups at startup, required if you use LVM. ''I think that specifying 'dm_mod' in MODULES is also necessary''<br />
* HOSTNAME: Your hostname. Basically, this is the identity of your computer<br />
* lo: Loopback device info. Don't change this<br />
* eth0: Your first ethernet device. Specify "dhcp" when possible, unless your box is a server<br />
* INTERFACES: Network interfaces you want to have started at boot time<br />
* gateway: In most cases, the address of your router.<br />
* ROUTES: Which gateways to load (probably gateway). None if using DHCP<br />
* DAEMONS: Deamons (services) to start at boot time</div>
Billy
https://wiki.archlinux.org/index.php?title=Fonts&diff=20667
Fonts
2007-02-04T11:54:52Z
<p>Billy: </p>
<hr />
<div>[[Category:Fonts (English)]]<br />
[[Category:Graphics and DTP (English)]]<br />
[[Category:Tutorials (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|Covers the installation and use of fonts on Arch Linux.}}<br />
{{Article summary heading|Available in languages}}<br />
{{i18n_entry|English|Fonts}}<br />
{{i18n_entry|繁體中文|Fonts 字型}}<br />
{{Article summary heading|Legal}}<br />
{{Article summary text|Some font packages may impose ''some'' legal limitations.}}<br />
{{Article summary heading|Related articles}}<br />
{{Article summary wiki|MS Fonts}}<br />
{{Article summary wiki|Fonts FAQ}}<br />
{{Article summary wiki|XOrg Font Configuration}}<br />
{{Article summary end}}<br />
<br />
= Introduction =<br />
A standard ArchLinux desktop installation provides an excellent font support,<br />
with the latest stable versions of the X.org X server, freetype2 (with bytecode interpreter enabled) and fontconfig. For more information on font configuration please see: '''[[XOrg Font Configuration | Font Configuration]]<br />
'''<br />
== Different Kinds of Fonts ==<br />
There exists different kinds of fonts for Linux.<br />
<br />
* bitmap fonts (.pcf .bdf .pcf.gz .bdf.gz)<br />
<br />
* PostScript fonts (.pfa .pfb)<br />
(pfa: ascii format; pfb: binary format)<br />
<br />
* TrueType/OpenType fonts (.ttf)<br />
(OpenType fonts with quadratic outlines have also .ttf suffix)<br />
<br />
* PostScript flavored OpenType fonts (.otf)<br />
<br />
* TeX bitmap fonts (.pk)<br />
(usually automatically generated from the METAFONT source .mf)<br />
<br />
* TeX virtual fonts (.vf)<br />
<br />
== Installing fonts ==<br />
<br />
See [[Adding fonts]] <br />
'''(to be shortened and merged here)'''<br />
<br />
= Font Packages in Archlinux =<br />
NB: This is a selective list, but it does also include most font packages from AUR.<br />
<br />
* Latin <br />
** [http://www.archlinux.org/packages/10296/ '''font-bh-ttf'''] - X.org Luxi fonts<br />
** [http://www.archlinux.org/packages/3722 '''ttf-cheapskate'''] - font collection from ''dustimo.com''<br />
** [http://www.archlinux.org/packages/9336 '''ttf-isabella'''] - Historic ''Isabella font''<br />
** [http://www.archlinux.org/packages/9337 '''ttf-junicode'''] - Junius font containing almost complete medieval latin script glyphs<br />
** [http://www.archlinux.org/packages/961 '''ttf-ms-fonts'''] - Un-extracted Fonts from ''Microsoft''<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=5418 '''unsupported/ttf-ms-fonts-lic'''] - Alternative to the above<br />
<br />
* Unicode (multiscript)<br />
** [http://www.archlinux.org/packages/11883/ '''ttf-dejavu'''] - DejaVu fonts, extension of Bitstream Vera<br />
** [http://www.archlinux.org/packages/9340/ '''ttf-mph-2b-damase'''] - Covers full plane 1 and several scripts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=3856 '''unsupported/ttf-sil-fonts'''] - Gentium, Charis, Doulos, Andika and Abyssinica from SIL<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6608 '''unsupported/ttf-linux-libertine'''] - Replacement for Times New Roman<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=3673 '''unsupported/ttf-freefont'''] - ''freefont'' (clones of Times, Helvetica and Courier with large Unicode support but unequal quality)<br />
<br />
* Cyrillic<br />
** See category 'Unicode' above<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6265 '''unsupported/ttf-arhangai'''] - Mongolian Cyrillic<br />
<br />
* Chinese + Japanese + Korean<br />
** [http://www.archlinux.org/packages/6831 '''ttf-arphic-ukai'''] - ''Kaiti'' (brush stroke) unicode font (enabling anti-aliasing suggested)<br />
** [http://www.archlinux.org/packages/6832 '''ttf-arphic-uming'''] - ''Mingti'' (printed) unicode font<br />
** [http://www.archlinux.org/packages/10092 '''ttf-fireflysung'''] - ''New Sung'' font <br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6792 '''unsupported/acrofont-cht'''] - Traditional Chinese font packs for Adobe Acrobat Reader 7.0.8<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6794 '''unsupported/acrofont-cjk'''] - CJK font packs for Adobe Acrobat Reader 7.0.8<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6398 '''unsupported/acroread7-chs'''] - Simplified Chinese font for Adobe Acrobat Reader 7 <br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6267 '''usupported/ttf-kochi-substitute'''] - High quality Japanese TrueType fonts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6268 '''usupported/ttf-sazanami'''] - Another set of high quality Japanese fonts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6266 '''usupported/ttf-baekmuk'''] - collection of Korean TrueType fonts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6264 '''unsupported/ttf-alee'''] - Set of free Hangul truetype fonts<br />
<br />
* Arabic<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=4633 '''unsupported/ttf-sil-arabic'''] - two excellent Unicode Arabic fonts from SIL<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=3680 '''unsupported/arabeyes-fonts'''] - collection of free Arabic fonts<br />
<br />
* Hebrew<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=1620 '''unsupported/culmus'''] - nice collection of free Hebrew fonts<br />
<br />
* Indic <br />
** [http://www.archlinux.org/packages/6071 '''ttf-freebanglafont'''] - font for Bangla <br />
** [http://www.archlinux.org/packages/6742 '''ttf-indic-otf'''] - Indic Opentype Fonts collection (containing ttf-freebanglafont)<br />
<br />
* Thai <br />
** [http://www.archlinux.org/packages/9331 '''ttf-thai'''] - font covering glyphs for thai<br />
<br />
* Khmer <br />
** [http://www.archlinux.org/packages/9338 '''ttf-khmer'''] - font covering glyphs for khmer language<br />
<br />
* Braille <br />
** [http://www.archlinux.org/packages/9339 '''ttf-ubraille'''] - font containing symbols for ''braille'' (unicode)<br />
<br />
* Handwritten<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=2055 '''unsupported/aquafont'''] - Handwritten fixed-width TrueType font<br />
<br />
* Math fonts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6349 '''unsupported/ttf-mathematica''']<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=7005 '''unsupported/ttf-mathematica4.1''']<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=7006 '''unsupported/ttf-mathtype''']<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=2100 '''unsupported/ttf-computer-modern-fonts''']<br />
<br />
* “Programmer's fonts” (for coding and terminal display)<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=4809 '''terminus-font''']<br />
** Try also DejaVu Sans Mono (from package [http://www.archlinux.org/packages/11883/ '''ttf-dejavu''']), Lucida Typewriter (included in package [http://www.archlinux.org/packages/11383/ '''jre''']) or the beautiful [http://levien.com/type/myfonts/inconsolata.html '''Inconsolata'''].<br />
<br />
= Best fonts for terminal =<br />
'''this section needs to be rewritten''' (--[[User:Firmicus|firmicus]] 12:36, 17 November 2006 (PST))<br />
<br />
The best fonts for a terminal depends on what terminal emulator you are using and what features it supports(it even depends on how your fonts.dir looks, as sometimes fonts get installed "incorrectly"), it also depends on how you have configured your x-server, if you use freetype2 or freetype1, if you use the autohinter with the bytecode interpreter compiled into freetype''N'',if you have compiled in the <b>BI</b> but doesn't use the autohinter,if you have not compiled in the <b>BI</b> and use the autohinter, if you have not compiled in the <b>BI</b> but uses the autohinter.<br />
<br />
Regardless of that, I believe that after spending two days of downloading and trying fonts as recommended as "the best" of people on irc i've finally found myself a favorite:<br />
<br />
Terminus (v4.09 in tehdely repository "xserver-terminus-fonts" ) @ http://www.is-vn.bg/hamster/jimmy-en.html<br />
<br />
Of the rejected were all the fonts i had(all microsoft fonts in addition) as well as other good but not better, like:<br />
<pre><br />
Lucida Typewriter, bitstream vera mono, courier, Terminal, Test, Gamov, default8x16, monospace, [...]<br />
</pre><br />
of which i liked Test, Terminal and Gamov best. But Terminus beat them all :)<br />
<br />
The various terminal emulators i used were: Terminal, Tilda and xterm.<br />
<br />
example on howto use Terminus:<br />
<pre><br />
xterm -bg black -fg gray -fn -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-1<br />
xterm -bg black -fg gray -fn -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-1<br />
</pre><br />
<br />
= Fonts in virtual console =<br />
Default font in virtual console can display only ASCII characters. If you use other characters you can change ''CONSOLEFONT="..."'' line in your ''/etc/rc.conf'' file. Different fonts can be found in ''/usr/share/kbd/consolefonts'' directory.<br />
<br />
=== Examples ===<br />
For displaying characters like "č ć ž đ š" use lat2-16.psfu.gz font:<br />
CONSOLEFONT="lat2-16.psfu.gz"</div>
Billy
https://wiki.archlinux.org/index.php?title=Fonts&diff=20666
Fonts
2007-02-04T11:54:26Z
<p>Billy: </p>
<hr />
<div>[[Category:Fonts (English)]]<br />
[[Category:Graphics and DTP (English)]]<br />
[[Category:Tutorials (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|Covers the installation and use of fonts on Arch Linux.}}<br />
{{Article summary heading|Available in languages}}<br />
{{i18n_entry|English|Fonts}}<br />
{{i18n_entry|繁體中文|Fonts 字型}}<br />
{{Article summary heading|Legal}}<br />
{{Article summary text|Some font packages may impose ''some'' legal limitations.}}<br />
{{Article summary heading|Related articles}}<br />
{{Article summary wiki|MS Fonts}}<br />
{{Article summary wiki|Fonts FAQ}}<br />
{{Article summary wiki|XOrg Font Configuration}}<br />
{{Article summary end}}<br />
<br />
= Introduction =<br />
A standard ArchLinux desktop installation provides an excellent font support,<br />
with the latest stable versions of the X.org X server, freetype2 (with bytecode interpreter enabled) and fontconfig. For more information on font configuration please see: '''[[XOrg Font Configuration | Font Configuration]]<br />
'''<br />
== Different Kinds of Fonts ==<br />
There exists different kinds of fonts for Linux.<br />
<br />
* bitmap fonts (.pcf .bdf .pcf.gz .bdf.gz)<br />
<br />
* PostScript fonts (.pfa .pfb)<br />
(pfa: ascii format; pfb: binary format)<br />
<br />
* TrueType/OpenType fonts (.ttf)<br />
(OpenType fonts with quadratic outlines have also .ttf suffix)<br />
<br />
* PostScript flavored OpenType fonts (.otf)<br />
<br />
* TeX bitmap fonts (.pk)<br />
(usually automatically generated from the METAFONT source .mf)<br />
<br />
* TeX virtual fonts (.vf)<br />
<br />
== Installing fonts ==<br />
<br />
See [[Adding fonts]] <br />
'''(to be shortened and merged here)'''<br />
<br />
= Font Packages in Archlinux =<br />
NB: This is a selective list, but it does also include most font packages from AUR.<br />
<br />
* Latin <br />
** [http://www.archlinux.org/packages/10296/ '''font-bh-ttf'''] - X.org Luxi fonts<br />
** [http://www.archlinux.org/packages/3722 '''ttf-cheapskate'''] - font collection from ''dustimo.com''<br />
** [http://www.archlinux.org/packages/9336 '''ttf-isabella'''] - Historic ''Isabella font''<br />
** [http://www.archlinux.org/packages/9337 '''ttf-junicode'''] - Junius font containing almost complete medieval latin script glyphs<br />
** [http://www.archlinux.org/packages/961 '''ttf-ms-fonts'''] - Un-extracted Fonts from ''Microsoft''<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=5418 '''unsupported/ttf-ms-fonts-lic'''] - Alternative to the above<br />
<br />
* Unicode (multiscript)<br />
** [http://www.archlinux.org/packages/11883/ '''ttf-dejavu'''] - DejaVu fonts, extension of Bitstream Vera<br />
** [http://www.archlinux.org/packages/9340/ '''ttf-mph-2b-damase'''] - Covers full plane 1 and several scripts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=3856 '''unsupported/ttf-sil-fonts'''] - Gentium, Charis, Doulos, Andika and Abyssinica from SIL<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6608 '''unsupported/ttf-linux-libertine'''] - Replacement for Times New Roman<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=3673 '''unsupported/ttf-freefont'''] - ''freefont'' (clones of Times, Helvetica and Courier with large Unicode support but unequal quality)<br />
<br />
* Cyrillic<br />
** See category 'Unicode' above<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6265 '''unsupported/ttf-arhangai'''] - Mongolian Cyrillic<br />
<br />
* Chinese + Japanese + Korean<br />
** [http://www.archlinux.org/packages/6831 '''ttf-arphic-ukai'''] - ''Kaiti'' (brush stroke) unicode font (enabling anti-aliasing suggested)<br />
** [http://www.archlinux.org/packages/6832 '''ttf-arphic-uming'''] - ''Mingti'' (printed) unicode font<br />
** [http://www.archlinux.org/packages/10092 '''ttf-fireflysung'''] - ''New Sung'' font <br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6792 '''unsupported/acrofont-cht'''] - Traditional Chinese font packs for Adobe Acrobat Reader 7.0.8<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6794 '''unsupported/acrofont-cjk'''] - CJK font packs for Adobe Acrobat Reader 7.0.8<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6398 '''unsupported/acroread7-chs'''] - Simplified Chinese font for Adobe Acrobat Reader 7 <br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6267 '''usupported/ttf-kochi-substitute'''] - High quality Japanese TrueType fonts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6268 '''usupported/ttf-sazanami'''] - Another set of high quality Japanese fonts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6266 '''usupported/ttf-baekmuk'''] - collection of Korean TrueType fonts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6264 '''unsupported/ttf-alee'''] - Set of free Hangul truetype fonts<br />
<br />
* Arabic<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=4633 '''unsupported/ttf-sil-arabic'''] - two excellent Unicode Arabic fonts from SIL<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=3680 '''unsupported/arabeyes-fonts'''] - collection of free Arabic fonts<br />
<br />
* Hebrew<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=1620 '''unsupported/culmus'''] - nice collection of free Hebrew fonts<br />
<br />
* Indic <br />
** [http://www.archlinux.org/packages/6071 '''ttf-freebanglafont'''] - font for Bangla <br />
** [http://www.archlinux.org/packages/6742 '''ttf-indic-otf'''] - Indic Opentype Fonts collection (containing ttf-freebanglafont)<br />
<br />
* Thai <br />
** [http://www.archlinux.org/packages/9331 '''ttf-thai'''] - font covering glyphs for thai<br />
<br />
* Khmer <br />
** [http://www.archlinux.org/packages/9338 '''ttf-khmer'''] - font covering glyphs for khmer language<br />
<br />
* Braille <br />
** [http://www.archlinux.org/packages/9339 '''ttf-ubraille'''] - font containing symbols for ''braille'' (unicode)<br />
<br />
* Handwritten<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=2055 '''unsupported/aquafont'''] - Handwritten fixed-width TrueType font<br />
<br />
* Math fonts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6349 '''unsupported/ttf-mathematica''']<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=7005 '''unsupported/ttf-mathematica4.1''']<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=7006 '''unsupported/ttf-mathtype''']<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=2100 '''unsupported/ttf-computer-modern-fonts''']<br />
<br />
* “Programmer's fonts” (for coding and terminal display)<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=4809 '''terminus-font''']<br />
** Try also DejaVu Sans Mono (from package [http://www.archlinux.org/packages/11883/ '''ttf-dejavu''']), Lucida Typewriter (included in package [http://www.archlinux.org/packages/11383/ '''jre''']) or the beautiful [http://levien.com/type/myfonts/inconsolata.html '''Inconsolata'''].<br />
<br />
= Best fonts for terminal =<br />
'''this section needs to be rewritten''' (--[[User:Firmicus|firmicus]] 12:36, 17 November 2006 (PST))<br />
<br />
The best fonts for a terminal depends on what terminal emulator you are using and what features it supports(it even depends on how your fonts.dir looks, as sometimes fonts get installed "incorrectly"), it also depends on how you have configured your x-server, if you use freetype2 or freetype1, if you use the autohinter with the bytecode interpreter compiled into freetype''N'',if you have compiled in the <b>BI</b> but doesn't use the autohinter,if you have not compiled in the <b>BI</b> and use the autohinter, if you have not compiled in the <b>BI</b> but uses the autohinter.<br />
<br />
Regardless of that, I believe that after spending two days of downloading and trying fonts as recommended as "the best" of people on irc i've finally found myself a favorite:<br />
<br />
Terminus (v4.09 in tehdely repository "xserver-terminus-fonts" ) @ http://www.is-vn.bg/hamster/jimmy-en.html<br />
<br />
Of the rejected were all the fonts i had(all microsoft fonts in addition) as well as other good but not better, like:<br />
<pre><br />
Lucida Typewriter, bitstream vera mono, courier, Terminal, Test, Gamov, default8x16, monospace, [...]<br />
</pre><br />
of which i liked Test, Terminal and Gamov best. But Terminus beat them all :)<br />
<br />
The various terminal emulators i used were: Terminal, Tilda and xterm.<br />
<br />
example on howto use Terminus:<br />
<pre><br />
xterm -bg black -fg gray -fn -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-1<br />
xterm -bg black -fg gray -fn -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-1<br />
</pre><br />
<br />
= Fonts in virtual console =<br />
Default font in virtual console can display only ASCII characters. If you use other characters you can change ''CONSOLEFONT="..."'' line in your ''/etc/rc.conf'' file. Different fonts can be found in ''/usr/share/kbd/consolefonts'' directory.<br />
<br />
== Examples ==<br />
For displaying characters like "č ć ž đ š" use lat2-16.psfu.gz font:<br />
CONSOLEFONT="lat2-16.psfu.gz"</div>
Billy
https://wiki.archlinux.org/index.php?title=Fonts&diff=20665
Fonts
2007-02-04T11:51:20Z
<p>Billy: </p>
<hr />
<div>[[Category:Fonts (English)]]<br />
[[Category:Graphics and DTP (English)]]<br />
[[Category:Tutorials (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|Covers the installation and use of fonts on Arch Linux.}}<br />
{{Article summary heading|Available in languages}}<br />
{{i18n_entry|English|Fonts}}<br />
{{i18n_entry|繁體中文|Fonts 字型}}<br />
{{Article summary heading|Legal}}<br />
{{Article summary text|Some font packages may impose ''some'' legal limitations.}}<br />
{{Article summary heading|Related articles}}<br />
{{Article summary wiki|MS Fonts}}<br />
{{Article summary wiki|Fonts FAQ}}<br />
{{Article summary wiki|XOrg Font Configuration}}<br />
{{Article summary end}}<br />
<br />
= Introduction =<br />
A standard ArchLinux desktop installation provides an excellent font support,<br />
with the latest stable versions of the X.org X server, freetype2 (with bytecode interpreter enabled) and fontconfig. For more information on font configuration please see: '''[[XOrg Font Configuration | Font Configuration]]<br />
'''<br />
== Different Kinds of Fonts ==<br />
There exists different kinds of fonts for Linux.<br />
<br />
* bitmap fonts (.pcf .bdf .pcf.gz .bdf.gz)<br />
<br />
* PostScript fonts (.pfa .pfb)<br />
(pfa: ascii format; pfb: binary format)<br />
<br />
* TrueType/OpenType fonts (.ttf)<br />
(OpenType fonts with quadratic outlines have also .ttf suffix)<br />
<br />
* PostScript flavored OpenType fonts (.otf)<br />
<br />
* TeX bitmap fonts (.pk)<br />
(usually automatically generated from the METAFONT source .mf)<br />
<br />
* TeX virtual fonts (.vf)<br />
<br />
== Installing fonts ==<br />
<br />
See [[Adding fonts]] <br />
'''(to be shortened and merged here)'''<br />
<br />
= Font Packages in Archlinux =<br />
NB: This is a selective list, but it does also include most font packages from AUR.<br />
<br />
* Latin <br />
** [http://www.archlinux.org/packages/10296/ '''font-bh-ttf'''] - X.org Luxi fonts<br />
** [http://www.archlinux.org/packages/3722 '''ttf-cheapskate'''] - font collection from ''dustimo.com''<br />
** [http://www.archlinux.org/packages/9336 '''ttf-isabella'''] - Historic ''Isabella font''<br />
** [http://www.archlinux.org/packages/9337 '''ttf-junicode'''] - Junius font containing almost complete medieval latin script glyphs<br />
** [http://www.archlinux.org/packages/961 '''ttf-ms-fonts'''] - Un-extracted Fonts from ''Microsoft''<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=5418 '''unsupported/ttf-ms-fonts-lic'''] - Alternative to the above<br />
<br />
* Unicode (multiscript)<br />
** [http://www.archlinux.org/packages/11883/ '''ttf-dejavu'''] - DejaVu fonts, extension of Bitstream Vera<br />
** [http://www.archlinux.org/packages/9340/ '''ttf-mph-2b-damase'''] - Covers full plane 1 and several scripts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=3856 '''unsupported/ttf-sil-fonts'''] - Gentium, Charis, Doulos, Andika and Abyssinica from SIL<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6608 '''unsupported/ttf-linux-libertine'''] - Replacement for Times New Roman<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=3673 '''unsupported/ttf-freefont'''] - ''freefont'' (clones of Times, Helvetica and Courier with large Unicode support but unequal quality)<br />
<br />
* Cyrillic<br />
** See category 'Unicode' above<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6265 '''unsupported/ttf-arhangai'''] - Mongolian Cyrillic<br />
<br />
* Chinese + Japanese + Korean<br />
** [http://www.archlinux.org/packages/6831 '''ttf-arphic-ukai'''] - ''Kaiti'' (brush stroke) unicode font (enabling anti-aliasing suggested)<br />
** [http://www.archlinux.org/packages/6832 '''ttf-arphic-uming'''] - ''Mingti'' (printed) unicode font<br />
** [http://www.archlinux.org/packages/10092 '''ttf-fireflysung'''] - ''New Sung'' font <br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6792 '''unsupported/acrofont-cht'''] - Traditional Chinese font packs for Adobe Acrobat Reader 7.0.8<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6794 '''unsupported/acrofont-cjk'''] - CJK font packs for Adobe Acrobat Reader 7.0.8<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6398 '''unsupported/acroread7-chs'''] - Simplified Chinese font for Adobe Acrobat Reader 7 <br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6267 '''usupported/ttf-kochi-substitute'''] - High quality Japanese TrueType fonts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6268 '''usupported/ttf-sazanami'''] - Another set of high quality Japanese fonts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6266 '''usupported/ttf-baekmuk'''] - collection of Korean TrueType fonts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6264 '''unsupported/ttf-alee'''] - Set of free Hangul truetype fonts<br />
<br />
* Arabic<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=4633 '''unsupported/ttf-sil-arabic'''] - two excellent Unicode Arabic fonts from SIL<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=3680 '''unsupported/arabeyes-fonts'''] - collection of free Arabic fonts<br />
<br />
* Hebrew<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=1620 '''unsupported/culmus'''] - nice collection of free Hebrew fonts<br />
<br />
* Indic <br />
** [http://www.archlinux.org/packages/6071 '''ttf-freebanglafont'''] - font for Bangla <br />
** [http://www.archlinux.org/packages/6742 '''ttf-indic-otf'''] - Indic Opentype Fonts collection (containing ttf-freebanglafont)<br />
<br />
* Thai <br />
** [http://www.archlinux.org/packages/9331 '''ttf-thai'''] - font covering glyphs for thai<br />
<br />
* Khmer <br />
** [http://www.archlinux.org/packages/9338 '''ttf-khmer'''] - font covering glyphs for khmer language<br />
<br />
* Braille <br />
** [http://www.archlinux.org/packages/9339 '''ttf-ubraille'''] - font containing symbols for ''braille'' (unicode)<br />
<br />
* Handwritten<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=2055 '''unsupported/aquafont'''] - Handwritten fixed-width TrueType font<br />
<br />
* Math fonts<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=6349 '''unsupported/ttf-mathematica''']<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=7005 '''unsupported/ttf-mathematica4.1''']<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=7006 '''unsupported/ttf-mathtype''']<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=2100 '''unsupported/ttf-computer-modern-fonts''']<br />
<br />
* “Programmer's fonts” (for coding and terminal display)<br />
** [http://aur.archlinux.org/packages.php?do_Details=1&ID=4809 '''terminus-font''']<br />
** Try also DejaVu Sans Mono (from package [http://www.archlinux.org/packages/11883/ '''ttf-dejavu''']), Lucida Typewriter (included in package [http://www.archlinux.org/packages/11383/ '''jre''']) or the beautiful [http://levien.com/type/myfonts/inconsolata.html '''Inconsolata'''].<br />
<br />
= Best fonts for terminal =<br />
'''this section needs to be rewritten''' (--[[User:Firmicus|firmicus]] 12:36, 17 November 2006 (PST))<br />
<br />
The best fonts for a terminal depends on what terminal emulator you are using and what features it supports(it even depends on how your fonts.dir looks, as sometimes fonts get installed "incorrectly"), it also depends on how you have configured your x-server, if you use freetype2 or freetype1, if you use the autohinter with the bytecode interpreter compiled into freetype''N'',if you have compiled in the <b>BI</b> but doesn't use the autohinter,if you have not compiled in the <b>BI</b> and use the autohinter, if you have not compiled in the <b>BI</b> but uses the autohinter.<br />
<br />
Regardless of that, I believe that after spending two days of downloading and trying fonts as recommended as "the best" of people on irc i've finally found myself a favorite:<br />
<br />
Terminus (v4.09 in tehdely repository "xserver-terminus-fonts" ) @ http://www.is-vn.bg/hamster/jimmy-en.html<br />
<br />
Of the rejected were all the fonts i had(all microsoft fonts in addition) as well as other good but not better, like:<br />
<pre><br />
Lucida Typewriter, bitstream vera mono, courier, Terminal, Test, Gamov, default8x16, monospace, [...]<br />
</pre><br />
of which i liked Test, Terminal and Gamov best. But Terminus beat them all :)<br />
<br />
The various terminal emulators i used were: Terminal, Tilda and xterm.<br />
<br />
example on howto use Terminus:<br />
<pre><br />
xterm -bg black -fg gray -fn -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-1<br />
xterm -bg black -fg gray -fn -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-1<br />
</pre><br />
<br />
= Fonts in virtual console =<br />
Default font in virtual console can display only ASCII characters. If you use other characters you can change ''CONSOLEFONT="..."'' line in your ''/etc/rc.conf'' file. Different fonts can be found in ''/usr/share/kbd/consolefonts'' directory.<br />
<br />
=== Example ===<br />
For displaying characters like "č ć ž đ š" use lat2-16.psfu.gz font:<br />
CONSOLEFONT="lat2-16.psfu.gz"</div>
Billy
https://wiki.archlinux.org/index.php?title=Makepkg&diff=19295
Makepkg
2006-12-28T19:28:15Z
<p>Billy: /* Arch Build System */</p>
<hr />
<div>[[Category:About Arch (English)]]<br />
<code>makepkg</code> is used for compiling your own packages suitable for [[Pacman]] to use. It uses a script-based build system which can download and validate source files, check dependencies, configure build time settings, build the package, install the package into a temporary root, make customizations, generate meta-info and package the whole thing up. As you can see <code>makepkg</code> has a lot of features, the basics of which are described below.<br />
<br />
== Setting Things Up ==<br />
<br />
=== Arch Build System ===<br />
If you want to use [[ABS_-_The_Arch_Build_System | ABS - The Arch Build System]] first obtain it by running as root:<br />
<br />
abs<br />
<br />
You can allow your user to access the ABS directories by running (replace "user" at the end of the usermod command with your user name):<br />
<br />
groupadd abs<br />
usermod -Ga users,slocate,abs user<br />
chown root:abs /var/abs/local<br />
chmod 775 /var/abs/local<br />
<br />
=== Makepkg ===<br />
<br />
You need to install fakeroot if you want to build packages as a non-root user:<br />
<br />
pacman -Sy fakeroot<br />
<br />
If you want to be able to install dependencies with makepkg as user you need to install sudo and add yourself to /etc/sudoers using this line:<br />
<user> <hostname>=/usr/sbin/pacman<br />
<br />
Next you need to decide where you want to create your packages, for instance you could have them under your home directory under a separate folder. As your your normal user account make the directory (replace user below with your user name):<br />
<br />
mkdir /home/user/packages<br />
<br />
== Building a Package ==<br />
<br />
To build a package you either need to create one as described at [[The_Arch_package_making_HOW-TO_-_with_guidelines]], or obtain one from [http://aur.archlinux.org AUR] or ABS or some other source. You should be careful where you obtain your packages from and only install those from people and sources you trust.<br />
<br />
Say you found an excellent package on AUR that you wanted to build and install (in this example we will use "rufus" the Python based bit torrent client). You can obtain the <code>PKGBUILD</code> and all files needed from [http://aur.archlinux.org/packages.php?do_Details=1&ID=3394&O=0&L=0&C=0&K=rufus&SB=&SO=&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd here], click on the "Tarball" link.<br />
<br />
cd /path/to/file<br />
tar -zxf rufus.tar.gz<br />
cd rufus<br />
<br />
You will notice there are a number of files located under this directory including the <code>PKGBUILD</code> script that is used to build your package. To build this package just issue:<br />
<br />
makepkg<br />
<br />
Which will then set up, download and attempt to build your package. If you don't have all the required dependencies installed <code>makepkg</code> will warn you before failing. To install these just issue the usual command as root to install packages:<br />
<br />
pacman -Sy somepackage1 somepackage2<br />
<br />
Note that these dependences will need to be in your configured repositories though, if they are not you will either have to configure a repository that contains the dependences or install them first using the above methods.<br />
<br />
Once you have satisfied all the dependencies and your package builds successfully you should now have the rufus-0.7.0-1.pkg.tar.gz file in the directory you run <code>makepkg</code> in. To install it (as the root user) issue:<br />
<br />
pacman -A rufus-0.7.0-1.pkg.tar.gz<br />
<br />
Congratulations! You now have successfully installed your own package!<br />
<br />
== Useful Links ==<br />
<br />
* [http://bbs.archlinux.org/viewtopic.php?t=1590 A helpful guide to makepkg/ABS]<br />
* [http://wiki.archlinux.org/index.php/The_Arch_package_making_HOW-TO_-_with_guidelines The Arch package making HOWTO]<br />
* [http://aur.archlinux.org AUR]<br />
* [http://www.archlinux.org/pacman/makepkg.8.html the Makepkg man page]</div>
Billy
https://wiki.archlinux.org/index.php?title=Beryl&diff=15959
Beryl
2006-10-23T13:45:01Z
<p>Billy: /* XFCE Desktop */</p>
<hr />
<div>Beryl is a window and composition manager. It has been created as a fork of compiz. Beryl is currently only available via svn, although a first release is expected soon.<br />
<br />
= Installing Beryl =<br />
==From binary packages==<br />
There are binary packages available in the unstable repository. Make sure the unstable repository is enabled in your pacman configuration.<br />
Install beryl using the command<br />
# pacman -Sy beryl-svn<br />
This will install all necessary packages.<br />
<br />
==From source==<br />
Beryl is only available through SVN right now. PKGBUILDs for the components can be found in Archlinux CVS:<br />
* [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/beryl-core-svn/?cvsroot=Unstable&only_with_tag=CURRENT beryl-core-svn] (Beryl main program)<br />
* [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/beryl-plugins-svn/?cvsroot=Unstable&only_with_tag=CURRENT beryl-plugins-svn] (Beryl effect plugins)<br />
* [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/beryl-manager-svn/?cvsroot=Unstable&only_with_tag=CURRENT beryl-manager-svn] (Beryl management dockapp)<br />
* [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/beryl-dbus-svn/?cvsroot=Unstable&only_with_tag=CURRENT beryl-dbus-svn] (Beryl dbus plugin. Note that all other dbus dependencies have been removed from beryl, so a dbus session is no longer necessary to run beryl)<br />
* [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/beryl-settings-svn/?cvsroot=Unstable&only_with_tag=CURRENT beryl-settings-svn] (Beryl settings manager)<br />
* [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/emerald-svn/?cvsroot=Unstable&only_with_tag=CURRENT emerald-svn] (Beryl window decorator)<br />
* [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/emerald-themes-svn/?cvsroot=Unstable&only_with_tag=CURRENT emerald-themes-svn] (Themes for window decoration)<br />
<br />
To build these packages, use versionpkg (pacman -S versionpkg with [community] repository enabled in /etc/pacman.conf), it will check out the latest svn release automatically.<br />
<br />
= Preparing Xorg for hardware accelerated effects =<br />
<br />
== Using nvidia drivers ==<br />
<br />
You have the choice of using the beta drivers and removing Xgl from your system, or use the official driver release and use Xgl.<br />
<br />
=== Official driver release ===<br />
<br />
If you want to use the official driver, see [[How to install NVIDIA driver]] if you still don't use it. You will also need Xgl. Refer to the other section about it on this page.<br />
<br />
=== Beta drivers ===<br />
<br />
The new nvidia beta driver support the long awaited "GLX_Texture_From_Pixmap" extension. That means you DON'T NEED Xgl anymore!<br />
<br />
You need the latest nvidia beta drivers. You can install them with pacman if the [unstable] repository is enabled in pacman.conf:<br />
<br />
stock kernel:<br />
# pacman -S nvidia-beta<br />
<br />
beyond kernel:<br />
# pacman -S nvidia-beta-beyond<br />
<br />
to search for others:<br />
# pacman -Ss nvidia-beta<br />
<br />
The PKGBUILDs can be found in the Archlinux unstable CVS tree.<br />
<br />
Then edit the ''/etc/X11/xorg.conf'' file:<br />
<br />
Section "Module"<br />
[...]<br />
Load "glx"<br />
[...]<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "Device"<br />
Driver "nvidia"<br />
[...]<br />
Option "AddARGBGLXVisuals"<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "Extensions"<br />
Option "Composite" "Enable"<br />
EndSection<br />
<br />
== Using open source drivers and AIGLX ==<br />
<br />
AIGLX currently works with the open source Intel and Radeon drivers. Add the following to your ''/etc/X11/xorg.conf'' file to enable AIGLX:<br />
Section "Module"<br />
[...]<br />
Load "glx"<br />
Load "dri"<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "Device"<br />
[...]<br />
Option "XAANoOffscreenPixmaps" "true"<br />
Option "DRI" "true"<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "ServerLayout"<br />
[...]<br />
Option "AIGLX" "true"<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "Extensions"<br />
Option "Composite" "true"<br />
EndSection<br />
If your xorg driver doesn't support AIGLX, then the effects won't work.<br />
<br />
== Using XGL ==<br />
<br />
Refer to this [http://wiki.archlinux.org/index.php/Xgl#Install_Xgl wiki entry] for installing Xgl.<br />
<br />
= Starting Beryl =<br />
<br />
== XFCE Desktop ==<br />
<br />
The ''startxfce4'' script and the ''xfce4-session'' tool don't seem to work with beryl yet, as it seems to lack proper X Session Management support. To use xfce with beryl, you have to modify your ''$HOME/.xsession'' and/or ''$HOME/.xinitrc'' script. ''xinitrc'' is used by startx, ''xsession'' is used by gdm and kdm if you select the ''Custom'' session.<br />
<br />
NOTE: The default ''.xsession'' script only launches the ''.xinitrc'' script, so most people will have to edit ''.xinitrc''.<br />
<br />
Your script has to start dbus and all beryl and xfce components. Here is an example:<br />
<br />
. /etc/profile<br />
. $HOME/.bashrc<br />
<br />
is_running() {<br />
for pid in $(pidof "$1"); do<br />
if kill -0 $pid 2>/dev/null; then<br />
return 0<br />
fi<br />
done<br />
return 1<br />
}<br />
xrdb $HOME/.Xresources<br />
<br />
# start a dbus session bus, if it is not already running<br />
# This is no longer necessary with newer beryl versions<br />
if ! is_running dbus-daemon; then<br />
dbus-launch --sh-syntax > $HOME/.dbus-env<br />
fi<br />
source $HOME/.dbus-env<br />
<br />
# start beryl and beryl-manager<br />
beryl-start<br />
beryl-manager &<br />
# start necessary xfce components<br />
xfce-mcs-manager<br />
xftaskbar4 & # REMOVE THIS LINE IF YOU USE XFCE-SVN<br />
xfcalendar & # REMOVE THIS LINE IF YOU USE XFCE-SVN<br />
xfdesktop & <br />
xfce4-panel & wmpid=$!<br />
<br />
# start any other needed programs here<br />
<br />
wait $wmpid<br />
<br />
<br />
=== Alternative ===<br />
<br />
You can run xfce4 with startxfce4 or xfce-session and gdm (probably kdm too) by modifying some files.<br />
<br />
First edit /etc/X11/XFCE4-svn.desktop (this is the file for svn version. For xfce 4.2 it should probably be XFCE4.desktop):<br />
<br />
[Desktop Entry]<br />
Encoding=UTF-8<br />
Type=XSession<br />
Exec=~/.xsession<br />
TryExec=/opt/xfce4/bin/startxfce4<br />
Name=XFCE4-svn<br />
<br />
Next edit ~/.xinitrc:<br />
<br />
#!/bin/sh<br />
<br />
#<br />
# ~/.xinitrc<br />
#<br />
# Executed by startx (run your window manager from here)<br />
#<br />
<br />
. /etc/profile<br />
. $HOME/.bashrc<br />
<br />
is_running() {<br />
for pid in $(pidof "$1"); do<br />
if kill -0 $pid 2>/dev/null; then<br />
return 0<br />
fi<br />
done<br />
return 1<br />
}<br />
xrdb $HOME/.Xresources<br />
<br />
# start a dbus session bus, if it is not already running<br />
if ! is_running dbus-daemon; then<br />
dbus-launch --sh-syntax > $HOME/.dbus-env<br />
fi<br />
source $HOME/.dbus-env<br />
<br />
# start beryl and beryl-manager<br />
beryl-manager &<br />
emerald & <br />
startxfce4 <br />
<br />
And finally delete your previous sessions stored by xfce4:<br />
<br />
rm -r .cache/sessions/*<br />
<br />
NOTE:If you were modifying these files while running xfce4 do not save your session on exit.<br />
<br />
== KDE Desktop ==<br />
<br />
Create ''~/.kde/Autostart/startup'' with the following contents:<br />
#!/bin/sh<br />
beryl-start<br />
beryl-manager &<br />
<br />
Finally make this script executable (e.g. ''chmod 755 ~/.kde/Autostart/startup'') and you are ready.<br />
<br />
== GNOME Desktop ==<br />
<br />
The simplest way is to add beryl-start to the applications that start with your session. You can do this by going to:<br />
[Desktop] -> [Preferences] -> [Sessions] -> [Startup Programs]<br />
Adding beryl-manager to the list might be a good idea too so you can switch back to Metacity if need be.<br />
<br />
== No Desktop, Beryl as window manager only ==<br />
<br />
This is an example ''~/.xinitrc'' to create a "lightweight" Beryl environment. It is rather unconfortable unless you add a panel and maybe other management applications.<br />
<br />
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then<br />
eval `dbus-launch --sh-syntax --exit-with-session`<br />
fi<br />
<br />
emerald &<br />
beryl-manager &<br />
<br />
# Start other applications here<br />
# <br />
# Example: set wallpaper + open a terminal<br />
#<br />
# feh --bg-scale ~/Wallpapers/wallpaper.jpg &<br />
# urxvt -depth 32 -fg grey80 -bg rgba:0000/0000/0000/dddd &<br />
<br />
# Remove '--indirect-rendering --strict-binding' from the following line if you are not using AIGLX<br />
exec /usr/bin/beryl --indirect-rendering --strict-binding dbus settings<br />
<br />
= Configuring Beryl =<br />
<br />
beryl (WM and compositor): Just run "beryl-settings"<br />
<br />
emerald (window decorator): run "emerald-theme-manager"<br />
<br />
Running "beryl-manager" will give you more control on beryl. With that nice tray icon you can get back to metacity/kwin, launch the beryl settings or the theme manager, etc.<br />
<br />
You can migrate compiz-quinn's settings to beryl by copying ~/.compiz/csm_settings to ~/.beryl/settings<br />
<br />
= Troubleshooting =<br />
<br />
== nvidia beta drivers and black windows ==<br />
This is saddly the only thing preventing me form using beryl... When windows are maximinsed of big enough, they get black. Getting them smaller may get their content back. It seems that its a bug in the nvidia beta drivers.<br />
<br />
See the [http://bugs.beryl-project.org/ticket/201 Beryl's bug tracker #201]:<br />
This is an nVidia problem, from nVidia (James Jones) on nvnews<br />
http://www.nvnews.net/vbulletin/showthread.php?t=77248&highlight=black+windows:<br />
<br />
"This is a shortcoming of the current implementation of<br />
GLX_EXT_texture_from_pixmap in the drivers. When video<br />
RAM has been exhausted, the driver does not behave well<br />
(you get blank windows). TurboCache? memory is currently<br />
cannot be used with GLX_EXT_texture_from_pixmap, so these<br />
problems will be especially noticeable on these parts.<br />
We're working on improving these cases."<br />
<br />
== Desktop clipping/drawing error on Radeon 7500 ==<br />
Users of Radeon 7500 graphics cards may experience a "clipping" effect where the deskop is limited to 1024x768 resolution. Screen areas outside this box are not drawn correctly, and larger windows lack decorations etc.<br />
<br />
The fix for this is to download & build driconf from aur. Then set up your graphics card as you wish. The program creates a file called .driconf in yout home directory.<br />
<br />
Open this file, and change the line<br />
<br />
<option name="allow_large_textures" value="X" /> <br />
where "X" equals the current value there, and change it to<br />
<option name="allow_large_textures" value="2" /><br />
<br />
== ATI Radeon Mobility 9600 ==<br />
<br />
=== Newbie corner :-) ===<br />
Don't forget that :<br />
<br />
* xf86-video-ati are the ATI open source drivers<br />
* ati-fglrx(-beyond, ...) are the proprietary ones wich won't work with Beryl<br />
* You have to replace "fglrx" by "radeon" in BOTH the xorg.conf and rc.conf files<br />
<br />
=== Regular corner ===<br />
<br />
* As said on the forum, it seems to be a good idea to uninstall ati-fglrx(-beyond, ...), ati-fglrx-utils AND libgl-dri to get everything work properly. As Veek said on [http://bbs.archlinux.org/viewtopic.php?t=22300&postdays=0&postorder=asc&highlight=libgldri&start=20 this post] :<br />
Attention, anyone who was previously using the fglrx drivers:<br />
Both the ati-fglrx-utils package and the libgl-dri package provide a version of the openGL<br />
shared library /usr/lib/libGL.so.1 (your version may be different).<br />
However the one supplied by the Mesa package implements things not implemented by the one in ATI's package.<br />
That's why it can be exceedingly confusing trying to figure out why things aren't working<br />
even though you apparently have the necessary libraries.<br />
The solution is to install libgl-dri and everything shoud work as outlined in spack's guide.<br />
<br />
This is my understanding of the issue, just wanted to clarify for anyone else that was confused.<br />
<br />
* I had some black screen troubles when trying to launch KDE. Sometimes KDE would also crash. It is fixed when adding the next line to the Device section of the rc.conf :<br />
<br />
BusID "PCI:1:0:0"<br />
<br />
* After this KDE would launch but a bit slowly and glxgears wouldn't launch but complaining :<br />
<br />
*********************************WARN_ONCE******** *************************<br />
File radeon_mm.c function radeon_mm_alloc line 216<br />
Ran out of GART memory!<br />
Please consider adjusting GARTSize option.<br />
************************************************** *************************<br />
<br />
Fixed when you add the following line to the device section of your xorg.conf (seen on [http://www.ubuntuforums.org/showthread.php?t=206642 this post]) :<br />
Option "GARTSize" "64"<br />
<br />
So everything works fine here on my ATI Radeon Mobility 9600, Beryl and KDE.<br />
Here is [http://alaux.net/files/public/xorg.conf.txt my xorg.conf]</div>
Billy
https://wiki.archlinux.org/index.php?title=Beryl&diff=15957
Beryl
2006-10-23T13:32:52Z
<p>Billy: /* XFCE Desktop */</p>
<hr />
<div>Beryl is a window and composition manager. It has been created as a fork of compiz. Beryl is currently only available via svn, although a first release is expected soon.<br />
<br />
= Installing Beryl =<br />
==From binary packages==<br />
There are binary packages available in the unstable repository. Make sure the unstable repository is enabled in your pacman configuration.<br />
Install beryl using the command<br />
# pacman -Sy beryl-svn<br />
This will install all necessary packages.<br />
<br />
==From source==<br />
Beryl is only available through SVN right now. PKGBUILDs for the components can be found in Archlinux CVS:<br />
* [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/beryl-core-svn/?cvsroot=Unstable&only_with_tag=CURRENT beryl-core-svn] (Beryl main program)<br />
* [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/beryl-plugins-svn/?cvsroot=Unstable&only_with_tag=CURRENT beryl-plugins-svn] (Beryl effect plugins)<br />
* [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/beryl-manager-svn/?cvsroot=Unstable&only_with_tag=CURRENT beryl-manager-svn] (Beryl management dockapp)<br />
* [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/beryl-dbus-svn/?cvsroot=Unstable&only_with_tag=CURRENT beryl-dbus-svn] (Beryl dbus plugin. Note that all other dbus dependencies have been removed from beryl, so a dbus session is no longer necessary to run beryl)<br />
* [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/beryl-settings-svn/?cvsroot=Unstable&only_with_tag=CURRENT beryl-settings-svn] (Beryl settings manager)<br />
* [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/emerald-svn/?cvsroot=Unstable&only_with_tag=CURRENT emerald-svn] (Beryl window decorator)<br />
* [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/emerald-themes-svn/?cvsroot=Unstable&only_with_tag=CURRENT emerald-themes-svn] (Themes for window decoration)<br />
<br />
To build these packages, use versionpkg (pacman -S versionpkg with [community] repository enabled in /etc/pacman.conf), it will check out the latest svn release automatically.<br />
<br />
= Preparing Xorg for hardware accelerated effects =<br />
<br />
== Using nvidia drivers ==<br />
<br />
You have the choice of using the beta drivers and removing Xgl from your system, or use the official driver release and use Xgl.<br />
<br />
=== Official driver release ===<br />
<br />
If you want to use the official driver, see [[How to install NVIDIA driver]] if you still don't use it. You will also need Xgl. Refer to the other section about it on this page.<br />
<br />
=== Beta drivers ===<br />
<br />
The new nvidia beta driver support the long awaited "GLX_Texture_From_Pixmap" extension. That means you DON'T NEED Xgl anymore!<br />
<br />
You need the latest nvidia beta drivers. You can install them with pacman if the [unstable] repository is enabled in pacman.conf:<br />
<br />
stock kernel:<br />
# pacman -S nvidia-beta<br />
<br />
beyond kernel:<br />
# pacman -S nvidia-beta-beyond<br />
<br />
to search for others:<br />
# pacman -Ss nvidia-beta<br />
<br />
The PKGBUILDs can be found in the Archlinux unstable CVS tree.<br />
<br />
Then edit the ''/etc/X11/xorg.conf'' file:<br />
<br />
Section "Module"<br />
[...]<br />
Load "glx"<br />
[...]<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "Device"<br />
Driver "nvidia"<br />
[...]<br />
Option "AddARGBGLXVisuals"<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "Extensions"<br />
Option "Composite" "Enable"<br />
EndSection<br />
<br />
== Using open source drivers and AIGLX ==<br />
<br />
AIGLX currently works with the open source Intel and Radeon drivers. Add the following to your ''/etc/X11/xorg.conf'' file to enable AIGLX:<br />
Section "Module"<br />
[...]<br />
Load "glx"<br />
Load "dri"<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "Device"<br />
[...]<br />
Option "XAANoOffscreenPixmaps" "true"<br />
Option "DRI" "true"<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "ServerLayout"<br />
[...]<br />
Option "AIGLX" "true"<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "Extensions"<br />
Option "Composite" "true"<br />
EndSection<br />
If your xorg driver doesn't support AIGLX, then the effects won't work.<br />
<br />
== Using XGL ==<br />
<br />
Refer to this [http://wiki.archlinux.org/index.php/Xgl#Install_Xgl wiki entry] for installing Xgl.<br />
<br />
= Starting Beryl =<br />
<br />
== XFCE Desktop ==<br />
<br />
The ''startxfce4'' script and the ''xfce4-session'' tool don't seem to work with beryl yet, as it seems to lack proper X Session Management support. To use xfce with beryl, you have to modify your ''$HOME/.xsession'' and/or ''$HOME/.xinitrc'' script. ''xinitrc'' is used by startx, ''xsession'' is used by gdm and kdm if you select the ''Custom'' session.<br />
<br />
NOTE: The default ''.xsession'' script only launches the ''.xinitrc'' script, so most people will have to edit ''.xinitrc''.<br />
<br />
Your script has to start dbus and all beryl and xfce components. Here is an example:<br />
<br />
. /etc/profile<br />
. $HOME/.bashrc<br />
<br />
is_running() {<br />
for pid in $(pidof "$1"); do<br />
if kill -0 $pid 2>/dev/null; then<br />
return 0<br />
fi<br />
done<br />
return 1<br />
}<br />
xrdb $HOME/.Xresources<br />
<br />
# start a dbus session bus, if it is not already running<br />
# This is no longer necessary with newer beryl versions<br />
if ! is_running dbus-daemon; then<br />
dbus-launch --sh-syntax > $HOME/.dbus-env<br />
fi<br />
source $HOME/.dbus-env<br />
<br />
# start beryl and beryl-manager<br />
beryl-start<br />
beryl-manager &<br />
# start necessary xfce components<br />
xfce-mcs-manager<br />
xftaskbar4 & # REMOVE THIS LINE IF YOU USE XFCE-SVN<br />
xfcalendar & # REMOVE THIS LINE IF YOU USE XFCE-SVN<br />
xfdesktop & <br />
xfce4-panel & wmpid=$!<br />
<br />
# start any other needed programs here<br />
<br />
wait $wmpid<br />
<br />
<br />
=== Alternative ===<br />
<br />
You can run xfce4 with startxfce4 or xfce-session and gdm (probably kdm too) by modifying some files.<br />
<br />
First edit /etc/X11/XFCE4-svn.desktop (this is the file for svn version. For xfce 4.2 it should probably be XFCE4.desktop):<br />
<br />
[Desktop Entry]<br />
Encoding=UTF-8<br />
Type=XSession<br />
Exec=~/.xsession<br />
TryExec=/opt/xfce4/bin/startxfce4<br />
Name=XFCE4-svn<br />
<br />
Next edit ~/.xinitrc:<br />
<br />
#!/bin/sh<br />
<br />
#<br />
# ~/.xinitrc<br />
#<br />
# Executed by startx (run your window manager from here)<br />
#<br />
<br />
. /etc/profile<br />
. $HOME/.bashrc<br />
<br />
is_running() {<br />
for pid in $(pidof "$1"); do<br />
if kill -0 $pid 2>/dev/null; then<br />
return 0<br />
fi<br />
done<br />
return 1<br />
}<br />
xrdb $HOME/.Xresources<br />
<br />
# start a dbus session bus, if it is not already running<br />
if ! is_running dbus-daemon; then<br />
dbus-launch --sh-syntax > $HOME/.dbus-env<br />
fi<br />
source $HOME/.dbus-env<br />
<br />
# start beryl and beryl-manager<br />
beryl-manager &<br />
emerald & <br />
startxfce4 <br />
<br />
And finally delete your previous sessions stored by xfce4:<br />
<br />
rm -r .cache/sessions/*<br />
<br />
NOTE:If you were modifying these files while running xfce4 do not save you're session on exit.<br />
<br />
== KDE Desktop ==<br />
<br />
Create ''~/.kde/Autostart/startup'' with the following contents:<br />
#!/bin/sh<br />
beryl-start<br />
beryl-manager &<br />
<br />
Finally make this script executable (e.g. ''chmod 755 ~/.kde/Autostart/startup'') and you are ready.<br />
<br />
== GNOME Desktop ==<br />
<br />
The simplest way is to add beryl-start to the applications that start with your session. You can do this by going to:<br />
[Desktop] -> [Preferences] -> [Sessions] -> [Startup Programs]<br />
Adding beryl-manager to the list might be a good idea too so you can switch back to Metacity if need be.<br />
<br />
== No Desktop, Beryl as window manager only ==<br />
<br />
This is an example ''~/.xinitrc'' to create a "lightweight" Beryl environment. It is rather unconfortable unless you add a panel and maybe other management applications.<br />
<br />
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then<br />
eval `dbus-launch --sh-syntax --exit-with-session`<br />
fi<br />
<br />
emerald &<br />
beryl-manager &<br />
<br />
# Start other applications here<br />
# <br />
# Example: set wallpaper + open a terminal<br />
#<br />
# feh --bg-scale ~/Wallpapers/wallpaper.jpg &<br />
# urxvt -depth 32 -fg grey80 -bg rgba:0000/0000/0000/dddd &<br />
<br />
# Remove '--indirect-rendering --strict-binding' from the following line if you are not using AIGLX<br />
exec /usr/bin/beryl --indirect-rendering --strict-binding dbus settings<br />
<br />
= Configuring Beryl =<br />
<br />
beryl (WM and compositor): Just run "beryl-settings"<br />
<br />
emerald (window decorator): run "emerald-theme-manager"<br />
<br />
Running "beryl-manager" will give you more control on beryl. With that nice tray icon you can get back to metacity/kwin, launch the beryl settings or the theme manager, etc.<br />
<br />
You can migrate compiz-quinn's settings to beryl by copying ~/.compiz/csm_settings to ~/.beryl/settings<br />
<br />
= Troubleshooting =<br />
<br />
== nvidia beta drivers and black windows ==<br />
This is saddly the only thing preventing me form using beryl... When windows are maximinsed of big enough, they get black. Getting them smaller may get their content back. It seems that its a bug in the nvidia beta drivers.<br />
<br />
See the [http://bugs.beryl-project.org/ticket/201 Beryl's bug tracker #201]:<br />
This is an nVidia problem, from nVidia (James Jones) on nvnews<br />
http://www.nvnews.net/vbulletin/showthread.php?t=77248&highlight=black+windows:<br />
<br />
"This is a shortcoming of the current implementation of<br />
GLX_EXT_texture_from_pixmap in the drivers. When video<br />
RAM has been exhausted, the driver does not behave well<br />
(you get blank windows). TurboCache? memory is currently<br />
cannot be used with GLX_EXT_texture_from_pixmap, so these<br />
problems will be especially noticeable on these parts.<br />
We're working on improving these cases."<br />
<br />
== Desktop clipping/drawing error on Radeon 7500 ==<br />
Users of Radeon 7500 graphics cards may experience a "clipping" effect where the deskop is limited to 1024x768 resolution. Screen areas outside this box are not drawn correctly, and larger windows lack decorations etc.<br />
<br />
The fix for this is to download & build driconf from aur. Then set up your graphics card as you wish. The program creates a file called .driconf in yout home directory.<br />
<br />
Open this file, and change the line<br />
<br />
<option name="allow_large_textures" value="X" /> <br />
where "X" equals the current value there, and change it to<br />
<option name="allow_large_textures" value="2" /><br />
<br />
== ATI Radeon Mobility 9600 ==<br />
<br />
=== Newbie corner :-) ===<br />
Don't forget that :<br />
<br />
* xf86-video-ati are the ATI open source drivers<br />
* ati-fglrx(-beyond, ...) are the proprietary ones wich won't work with Beryl<br />
* You have to replace "fglrx" by "radeon" in BOTH the xorg.conf and rc.conf files<br />
<br />
=== Regular corner ===<br />
<br />
* As said on the forum, it seems to be a good idea to uninstall ati-fglrx(-beyond, ...), ati-fglrx-utils AND libgl-dri to get everything work properly. As Veek said on [http://bbs.archlinux.org/viewtopic.php?t=22300&postdays=0&postorder=asc&highlight=libgldri&start=20 this post] :<br />
Attention, anyone who was previously using the fglrx drivers:<br />
Both the ati-fglrx-utils package and the libgl-dri package provide a version of the openGL<br />
shared library /usr/lib/libGL.so.1 (your version may be different).<br />
However the one supplied by the Mesa package implements things not implemented by the one in ATI's package.<br />
That's why it can be exceedingly confusing trying to figure out why things aren't working<br />
even though you apparently have the necessary libraries.<br />
The solution is to install libgl-dri and everything shoud work as outlined in spack's guide.<br />
<br />
This is my understanding of the issue, just wanted to clarify for anyone else that was confused.<br />
<br />
* I had some black screen troubles when trying to launch KDE. Sometimes KDE would also crash. It is fixed when adding the next line to the Device section of the rc.conf :<br />
<br />
BusID "PCI:1:0:0"<br />
<br />
* After this KDE would launch but a bit slowly and glxgears wouldn't launch but complaining :<br />
<br />
*********************************WARN_ONCE******** *************************<br />
File radeon_mm.c function radeon_mm_alloc line 216<br />
Ran out of GART memory!<br />
Please consider adjusting GARTSize option.<br />
************************************************** *************************<br />
<br />
Fixed when you add the following line to the device section of your xorg.conf (seen on [http://www.ubuntuforums.org/showthread.php?t=206642 this post]) :<br />
Option "GARTSize" "64"<br />
<br />
So everything works fine here on my ATI Radeon Mobility 9600, Beryl and KDE.<br />
Here is [http://alaux.net/files/public/xorg.conf.txt my xorg.conf]</div>
Billy