https://wiki.archlinux.org/api.php?action=feedcontributions&user=Ingamedeo&feedformat=atomArchWiki - User contributions [en]2024-03-29T06:08:36ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Orange_Pi&diff=617990Orange Pi2020-06-03T20:00:59Z<p>Ingamedeo: Added blog article published prior to mainlining</p>
<hr />
<div>[[Category:ARM architecture]]<br />
[[ja:Orange Pi]]<br />
[[ru:Orange Pi]]<br />
Orange Pi (One) is a minimalist computer built for the [[Wikipedia:ARMv7-A|ARMv7-A architecture]]. [http://www.orangepi.org/ More information about this project].<br />
<br />
{{Note|The device is not officially supported by the ALARM project, i.e. please refrain from submitting patches, feature requests or bug reports for it.}}<br />
<br />
This article is strongly based on [[Banana Pi]]. Moreover this article is not meant to be an exhaustive setup guide and assumes that the reader has setup an Arch system before.<br />
<br />
== Installation ==<br />
=== Prerequisites ===<br />
build-essentials and other common compiling packages (see [[aur]]). For compiling boot script with mkimage {{pkg|uboot-tools}} and for bootloader compilation {{pkg|arm-none-eabi-gcc}}<br />
=== Using original ArchLinuxARM tarball ===<br />
This method will install unmodified ArchLinuxARM armv7 basesystem to your Orange Pi One, meaning you'll have the latest mainline kernel running. It will probably also work on other H3 Orange Pis with mainline support.<br />
==== Install basesystem to a SD card ====<br />
<br />
Zero the beginning of the SD card:<br />
<br />
dd if=/dev/zero of=/dev/sdX bs=1M count=8<br />
<br />
Use [[fdisk]] to partition the SD card, and [[file systems|format]] it with {{ic|mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdX1}}.<br />
<br />
Mount the ext4 filesystem, replacing {{ic|sdX1}} with the formatted partition:<br />
<br />
# mkdir mnt<br />
# mount /dev/''sdX1'' /mnt<br />
<br />
Download and extract the root filesystem:<br />
<br />
# wget http://archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz<br />
# bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C /mnt/<br />
<br />
Create a file with the following boot script<br />
{{hc|boot.cmd|<nowiki><br />
part uuid ${devtype} ${devnum}:${bootpart} uuid<br />
setenv bootargs console=${console} root=PARTUUID=${uuid} rw rootwait<br />
<br />
if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /boot/zImage; then<br />
if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /boot/dtbs/${fdtfile}; then<br />
if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} /boot/initramfs-linux.img; then<br />
bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r};<br />
else<br />
bootz ${kernel_addr_r} - ${fdt_addr_r};<br />
fi;<br />
fi;<br />
fi<br />
<br />
if load ${devtype} ${devnum}:${bootpart} 0x48000000 /boot/uImage; then<br />
if load ${devtype} ${devnum}:${bootpart} 0x43000000 /boot/script.bin; then<br />
setenv bootm_boot_mode sec;<br />
bootm 0x48000000;<br />
fi;<br />
fi</nowiki>}}<br />
Compile it and write it to the SD-card using the package {{Pkg|uboot-tools}}<br />
# mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Orange Pi One boot script" -d boot.cmd /mnt/boot/boot.scr<br />
# umount /mnt<br />
<br />
==== Compile and copy U-Boot bootloader ====<br />
<br />
The next step is creating a u-boot image. Make sure you have {{Pkg|arm-none-eabi-gcc}}, {{Pkg|dtc}}, {{Pkg|git}}, {{Pkg|swig}} and {{Pkg|uboot-tools}} installed on your system. If you compile for a different H3 Orange Pi than the One, replace orangepi_one_config accordingly. Then clone the u-boot source code and compile a Orange Pi image:<br />
<br />
$ git clone git://git.denx.de/u-boot.git<br />
$ cd u-boot<br />
$ git checkout tags/v2020.04<br />
$ make -j4 ARCH=arm CROSS_COMPILE=arm-none-eabi- orangepi_one_defconfig<br />
$ make -j4 ARCH=arm CROSS_COMPILE=arm-none-eabi-<br />
<br />
If everything went fine you should have an U-Boot image: u-boot-sunxi-with-spl.bin. Now dd the image to your sdcard, where /dev/sdX is your sdcard.<br />
<br />
# dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8<br />
<br />
==== Using U-Boot precompiled binaries ====<br />
<br />
If you couldn't compile them on your AMD64 machine, just grab them at: https://gitlab.com/vinibali/orangepi_uboot<br />
<br />
Use the same command for placing it to the sdcard:<br />
<br />
# dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8<br />
<br />
==== Login / SSH ====<br />
<br />
SSH login for root is disabled by default. Login with the default user account and use [[su]].<br />
<br />
{| class="wikitable"<br />
! Type<br />
! Username<br />
! Password<br />
|-<br />
|Root<br />
|{{ic|root}}<br />
|{{ic|root}}<br />
|-<br />
|User<br />
|{{ic|alarm}}<br />
|{{ic|alarm}}<br />
|}<br />
<br />
<br />
=== Additional step, Wi-Fi Drivers ===<br />
<br />
==== RTL8189ES/ETV ====<br />
<br />
This driver will require to Orange Pi Plus / Plus 2.<br />
<br />
First, Install the kernel headers. Install {{Grp|base-devel}} {{Pkg|git}} {{Pkg|linux-armv7-headers}}{{Broken package link|package not found}}<br />
Then, build out-of-tree driver.<br />
{{Note|Replace KSRC to your own kernel version.}}<br />
# git clone https://github.com/jwrdegoede/rtl8189ES_linux.git<br />
# cd rtl8189ES_linux<br />
# make -j4 ARCH=arm KSRC=/usr/lib/modules/4.18.11-1-ARCH/build/ <br />
<br />
And install manually.<br />
{{Note|Replace modules directory to your own kernel version.}}<br />
# cp 8189es.ko /usr/lib/modules/4.18.11-1-ARCH/kernel/drivers/net/wireless/realtek/<br />
# depmod -a<br />
# modprobe 8189es<br />
<br />
==== Xradio XR819 ====<br />
<br />
This hardware will require the out of tree {{AUR|xradio-git}} kernel driver for Orange Pi Zero.<br />
# pacaur -S xradio-git<br />
<br />
Version 5.3.1-1-ARCH is working fine, but if you couldn't find the wlan0 device on the interfaces list,<br />
<br />
you'll need to burn the 201907 u-boot loader and copy the dtb file to /boot/dtbs as well from: https://gitlab.com/vinibali/orangepi_uboot.<br />
# wget https://gitlab.com/vinibali/orangepi_uboot/-/archive/master/orangepi_uboot-master.zip<br />
# unzip -q<br />
# dd if=orangepi_uboot-master/201907/orangepi_zero/u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 bs=1024 seek=8<br />
# cp orangepi_uboot-master/201907/dtb/sun8i-h2-plus-orangepi-zero.dtb /boot/dtbs<br />
<br />
== Orange Pi PC2 ==<br />
<br />
Allwinner H5 @ 1.20Ghz 64bit system AArch64<br />
<br />
[http://linux-sunxi.org/Xunlong_Orange_Pi_PC_2 General information about the device]<br />
<br />
{{Note|The device is also not officially supported by the ALARM project}}<br />
<br />
Follow general installation instruction above. Differences:<br />
<br />
<br />
=== UBoot ===<br />
<br />
# git clone https://github.com/ARM-software/arm-trusted-firmware.git<br />
# git clone git://git.denx.de/u-boot.git<br />
# cd arm-trusted-firmware<br />
# make CROSS_COMPILE=aarch64-linux-gnu- PLAT=sun50i_a64 DEBUG=1 -j4 bl31<br />
# cp build/sun50i_a64/debug/bl31.bin ../u-boot/<br />
# cd ../u-boot<br />
# git checkout tags/v2020.04<br />
# make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- -j4 orangepi_pc2_defconfig<br />
# make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- -j4<br />
# dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=8k seek=1<br />
<br />
=== Install basesystem to a SD card ===<br />
<br />
For AARCH64 you'll need another rootfs<br />
<br />
# wget http://archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz<br />
# bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C mnt/<br />
<br />
change the /mnt/boot/boot.cmd to<br />
<br />
{{hc|boot.cmd|<nowiki><br />
part uuid ${devtype} ${devnum}:${bootpart} uuid<br />
setenv bootargs console=${console} root=PARTUUID=${uuid} rw rootwait<br />
<br />
if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /boot/Image; then<br />
if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /boot/dtbs/${fdtfile}; then<br />
if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} /boot/initramfs-linux.img; then<br />
booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r};<br />
else<br />
booti ${kernel_addr_r} - ${fdt_addr_r};<br />
fi;<br />
fi;<br />
fi</nowiki>}}<br />
<br />
make image the /mnt/boot/boot.scr to<br />
<br />
# mkimage -C none -A arm64 -T script -d /mnt/boot/boot.cmd /mnt/boot/boot.scr<br />
<br />
== See also ==<br />
* [https://blog.christophersmart.com/2016/10/23/building-and-booting-upstream-linux-and-u-boot-for-orange-pi-one-arm-board/ "Just another Geek's" blog about installing Linux]<br />
* [https://blog.amedeobaragiola.me/?p=305 "ArchLinux ARM on Orange Pi One"]</div>Ingamedeohttps://wiki.archlinux.org/index.php?title=Orange_Pi&diff=490421Orange Pi2017-09-16T23:39:33Z<p>Ingamedeo: Upgrading to kernel 4.12 affects the ethernet adapter only, the OrangePi will still boot</p>
<hr />
<div>[[Category:ARM architecture]]<br />
[[ja:Orange Pi]]<br />
Orange Pi (One) is a minimalist computer built for the [[Wikipedia:ARMv7-A|ARMv7-A architecture]]. [http://www.orangepi.org/ More information about this project].<br />
<br />
{{Note|The device is not officially supported by the ALARM project, i.e. please refrain from submitting patches, feature requests or bug reports for it.}}<br />
{{Warning|Do not upgrade to linux-armv7-4.12.0-1, Ethernet will no longer work}}<br />
<br />
This article is strongly based on [[Banana Pi]]. Moreover this article is not meant to be an exhaustive setup guide and assumes that the reader has setup an Arch system before.<br />
<br />
== Installation ==<br />
=== Using original ArchLinuxARM tarball ===<br />
This method will install unmodified ArchLinuxARM armv7 basesystem to your Orange Pi One, meaning you'll have the latest mainline kernel running. It will probably also work on other H3 Orange Pis with mainline support.<br />
==== Install basesystem to a SD card ====<br />
<br />
Zero the beginning of the SD card:<br />
<br />
dd if=/dev/zero of=/dev/sdX bs=1M count=8<br />
<br />
Use [[fdisk]] to partition the SD card, and [[file systems|format]] it with {{ic|mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdX1}}.<br />
<br />
Mount the ext4 filesystem, replacing {{ic|sda1}} with the formatted partition:<br />
<br />
# mkdir mnt<br />
# mount /dev/''sda1'' mnt<br />
<br />
Download and extract the root filesystem:<br />
<br />
# wget http://archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz<br />
# bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C mnt/<br />
<br />
Create a file with the following boot script<br />
{{hc|boot.cmd|<nowiki><br />
part uuid ${devtype} ${devnum}:${bootpart} uuid<br />
setenv bootargs console=${console} root=PARTUUID=${uuid} rw rootwait<br />
<br />
if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /boot/zImage; then<br />
if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /boot/dtbs/${fdtfile}; then<br />
if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} /boot/initramfs-linux.img; then<br />
bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r};<br />
else<br />
bootz ${kernel_addr_r} - ${fdt_addr_r};<br />
fi;<br />
fi;<br />
fi<br />
<br />
if load ${devtype} ${devnum}:${bootpart} 0x48000000 /boot/uImage; then<br />
if load ${devtype} ${devnum}:${bootpart} 0x43000000 /boot/script.bin; then<br />
setenv bootm_boot_mode sec;<br />
bootm 0x48000000;<br />
fi;<br />
fi</nowiki>}}<br />
Compile it and write it to the SD-card using the package {{Pkg|uboot-tools}}<br />
# mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Orange Pi One boot script" -d boot.cmd mnt/boot/boot.scr<br />
# umount mnt<br />
<br />
==== Compile and copy U-Boot bootloader ====<br />
<br />
The next step is creating a u-boot image. Make sure you have {{Pkg|arm-none-eabi-gcc}}, {{Pkg|dtc}}, {{Pkg|git}} and {{Pkg|uboot-tools}} installed on your system. If you compile for a different H3 Orange Pi than the One, replace orangepi_one_config accordingly. Then clone the u-boot source code and compile a Orange Pi image:<br />
<br />
$ git clone --depth 1 git://git.denx.de/u-boot.git<br />
$ cd u-boot<br />
$ make -j4 ARCH=arm CROSS_COMPILE=arm-none-eabi- orangepi_one_defconfig<br />
$ make -j4 ARCH=arm CROSS_COMPILE=arm-none-eabi-<br />
<br />
If everything went fine you should have an U-Boot image: u-boot-sunxi-with-spl.bin. Now dd the image to your sdcard, where /dev/sdX is your sdcard.<br />
<br />
# dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8<br />
<br />
==== Login / SSH ====<br />
<br />
SSH login for root is disabled by default. Login with the default user account and use [[su]].<br />
<br />
{| class="wikitable"<br />
! Type<br />
! Username<br />
! Password<br />
|-<br />
|Root<br />
|{{ic|root}}<br />
|{{ic|root}}<br />
|-<br />
|User<br />
|{{ic|alarm}}<br />
|{{ic|alarm}}<br />
|}<br />
<br />
<br />
== Orange Pi PC2 ==<br />
<br />
Allwinner H5 @ 1.20Ghz 64bit system AArch64<br />
<br />
[http://linux-sunxi.org/Xunlong_Orange_Pi_PC_2 General information about the device]<br />
<br />
{{Note|The device is also not officially supported by the ALARM project}}<br />
<br />
Follow general installation instruction above. Differences:<br />
<br />
<br />
=== UBoot ===<br />
<br />
# git clone https://github.com/ARM-software/arm-trusted-firmware.git<br />
# git clone -b v2017.07 git://git.denx.de/u-boot.git<br />
# cd arm-trusted-firmware<br />
# make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4 PLAT=sun50iw1p1 DEBUG=1 bl31<br />
# cp build/sun50iw1p1/debug/bl31.bin ../u-boot/<br />
# cd ../u-boot<br />
# make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- -j4 orangepi_pc2_defconfig<br />
# make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- -j4<br />
# cat spl/sunxi-spl.bin u-boot.itb > u-boot-sunxi-with-spl.bin<br />
# dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=8k seek=1<br />
<br />
=== Kernel ===<br />
<br />
For AARCH64 you'll need another rootfs<br />
<br />
# wget http://archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz<br />
# bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C mnt/<br />
<br />
You need to compile your own kernel. Download latest mainline release from:<br />
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/<br />
or fetch this kernel repository with new patches already included:<br />
git clone https://github.com/megous/linux.git<br />
<br />
# cd linux<br />
<br />
Here is a basic config file to start with: <br />
# wget https://github.com/armbian/build/raw/master/config/kernel/linux-sunxi-next.config -O .config<br />
# make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4<br />
# make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=/mnt -j4 modules_install<br />
# cp arch/arm64/boot/Image /mnt/boot<br />
# cp arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dtb /mnt/boot/dtbs/allwinner/sun50i-h5-orangepi-pc2.dtb<br />
<br />
change the /mnt/boot/boot.cmd to<br />
<br />
{{hc|boot.cmd|<nowiki><br />
part uuid ${devtype} ${devnum}:${bootpart} uuid<br />
setenv bootargs console=${console} root=PARTUUID=${uuid} rw rootwait<br />
setenv fdtfile allwinner/sun50i-h5-orangepi-pc2.dtb<br />
<br />
if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /boot/Image; then<br />
if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /boot/dtbs/${fdtfile}; then<br />
if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} /boot/initramfs-linux.img; then<br />
booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r};<br />
else<br />
booti ${kernel_addr_r} - ${fdt_addr_r};<br />
fi;<br />
fi;<br />
fi</nowiki>}}<br />
<br />
== See also ==<br />
* [https://blog.christophersmart.com/2016/10/23/building-and-booting-upstream-linux-and-u-boot-for-orange-pi-one-arm-board/ "Just another Geek's" blog about installing Linux]</div>Ingamedeohttps://wiki.archlinux.org/index.php?title=GDM&diff=261497GDM2013-06-06T13:02:17Z<p>Ingamedeo: </p>
<hr />
<div>[[Category:Display managers]]<br />
[[es:GDM]]<br />
[[pt:GDM]]<br />
[[zh-CN:GDM]]<br />
{{Article summary start}}<br />
{{Article summary text|GDM is the GNOME Display Manager, a graphical login program. This article covers its installation and configuration.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Display Manager}}<br />
{{Article summary wiki|GNOME}}<br />
{{Article summary end}}<br />
<br />
From [http://projects.gnome.org/gdm/about.html GDM - GNOME Display Manager]:<br />
<br />
:''GDM is the GNOME Display Manager, it is the little program that runs in the background, runs your X sessions, presents you with a login box and then tells you to bug off because you forgot your password. It does pretty much everything that you would want to use xdm for, but does not involve as much crack. It does not use any code from xdm. It supports XDMCP, and in fact extends XDMCP a little bit in places where I thought xdm was lacking (but is still compatible with xdm's XDMCP).''<br />
<br />
[[Display manager]]s provide [[X Window System]] users with a graphical login prompt.<br />
<br />
==Installation==<br />
GDM (which is also part of {{Grp|gnome-extra}}) can be [[Pacman|installed]] with the {{Pkg|gdm}} package, available in the [[Official repositories]].<br />
<br />
=== GDM as the default greeter ===<br />
To make GDM the default graphical login method for the system, use the packaged systemd service file, {{ic|gdm.service}}. Simply run the following command once to bring up GDM on boot:<br />
# systemctl enable gdm.service<br />
<br />
The arguments passed to the X server by {{ic|~/.xinitrc}} (such as those of {{ic|xmodmap}} and {{ic|xsetroot}}) can also be added through [[xprofile]]:<br />
<br />
{{hc|~/.xprofile|<nowiki><br />
#!/bin/sh<br />
<br />
#<br />
# ~/.xprofile<br />
#<br />
# Executed by gdm at login<br />
#<br />
<br />
xmodmap -e "pointer=1 2 3 6 7 4 5" # set mouse buttons up correctly<br />
xsetroot -solid black # sets the background to black<br />
</nowiki>}}<br />
<br />
{{Out of date|Needs to be updated for GDM 3.6 as gconf vars are being moved to dconf, control center incomplete by default|GNOME#Hidden_features}}<br />
==Configuration==<br />
You can no longer use the gdmsetup command to configure GDM as of version 2.28. The command has been removed and GDM has been standardized and integrated with the rest of GNOME.<br />
<br />
You can install {{aur|gdm3setup}} from the AUR to configure GDM, or use the following instructions.<br />
<br />
Configure X server access permission:<br />
{{bc|# xhost +SI:localuser:gdm}}<br />
<br />
Change the theme:<br />
{{bc|$ sudo -u gdm dbus-launch gnome-control-center}}<br />
<br />
For more configuration options, do:<br />
{{bc|$ sudo -u gdm dbus-launch gconf-editor}}<br />
<br />
and modify the following hierarchies:<br />
/apps/gdm/simple-greeter<br />
/desktop/gnome/interface<br />
/desktop/gnome/background<br />
<br />
If these commands fail with an error (e.g. {{ic|"Cannot open display"}}) you can bring the two windows up when GDM starts by adding them to GDM's autostart. To do this first create the entry:<br />
{{bc|# cp -t /usr/share/gdm/autostart/LoginWindow/ /usr/share/applications/gnome-appearance-properties.desktop /usr/share/applications/gconf-editor.desktop}}<br />
<br />
Then go back to GDM, do your changes and log back in. When you're done and want the window to stop opening with GDM run this:<br />
{{bc|# rm /usr/share/gdm/autostart/LoginWindow/gnome-appearance-properties.desktop /usr/share/gdm/autostart/LoginWindow/gconf-editor.desktop}}<br />
<br />
{{Note|By using the logout/configure method you can view the changes while you're making them.}}<br />
<br />
For more information and advanced settings read [http://library.gnome.org/admin/gdm/stable/configuration.html.en this].<br />
<br />
===Automatic login===<br />
To enable automatic login with GDM, add the following to {{ic|/etc/gdm/custom.conf}} (replace ''username'' with your own):<br />
<br />
{{hc|1=/etc/gdm/custom.conf|<br />
2=# Enable automatic login for user<br />
[daemon]<br />
AutomaticLogin=''username''<br />
AutomaticLoginEnable=True<br />
}}<br />
<br />
or for an automatic login with a delay:<br />
<br />
{{hc|1=/etc/gdm/custom.conf|<br />
2=[daemon]<br />
# for login with delay<br />
TimedLoginEnable=true<br />
TimedLogin=''username''<br />
TimedLoginDelay=1<br />
}}<br />
<br />
===Passwordless login===<br />
{{Out of date|Needs to be updated for GDM 3.6|Passwordless login}}<br />
If you want to bypass the password prompt in GDM then simply add the following line to {{ic|/etc/pam.d/gdm}}:<br />
<br />
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin<br />
<br />
Make sure this line goes right '''before''' the {{ic|pam_unix.so}} {{ic|auth}} line.<br />
<br />
Then, add the group {{ic|nopasswdlogin}} to your system. You can do it graphically in {{ic|System > Administration > Users and Groups}}. See [[Groups]] for group descriptions and group management commands.<br />
<br />
Now, when you use {{ic|System Settings -> System -> Users Accounts}} (command: {{ic|gnome-control-center}}) and set your user for {{ic|"Password: not asked at login"}} (by checking the {{ic|"Don't ask for password on login"}} option), your user will be automatically added to the {{ic|nopasswdlogin}} group and you will only have to click on your username to login.<br />
<br />
{{Warning|Do '''not''' do this for a '''root''' account.}}<br />
<br />
===Passwordless shutdown===<br />
GDM is using polkit and logind to gain permissions for shutdown. You can allow it without entering a password first by setting:<br />
<br />
{{hc|1=/etc/polkit-1/localauthority.conf.d/org.freedesktop.logind.policy|<br />
2=<?xml version="1.0" encoding="UTF-8"?><br />
<!DOCTYPE policyconfig PUBLIC<br />
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"<br />
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd"><br />
<br />
<!--<br />
Policy definitions for logind<br />
--><br />
<br />
<policyconfig><br />
<br />
<action id="org.freedesktop.login1.power-off-multiple-sessions"><br />
<description>Shutdown the system when multiple users are logged in</description><br />
<message>System policy prevents shutting down the system when other users are logged in</message><br />
<defaults><br />
<allow_inactive>yes</allow_inactive><br />
<allow_active>yes</allow_active><br />
</defaults><br />
</action><br />
<br />
</policyconfig><br />
}}<br />
You can find all available logind options (e.g. reboot-multiple-sessions) [http://www.freedesktop.org/wiki/Software/systemd/logind#Security here].<br />
<br />
===Changing default GDM session===<br />
If you want to change the default GDM session, you need to create (or edit) the file {{ic|~/.dmrc}} [http://library.gnome.org/admin/gdm/stable/configuration.html.en#userconfig].<br />
{{Note|This is on a per-user basis. If you want to change the default for more than one user, you will have to create this file for each user.}}<br />
Here is an example to set the default session to [[Cinnamon]]:<br />
{{hc|~/.dmrc|<nowiki><br />
[Desktop]<br />
Session=cinnamon<br />
</nowiki>}}<br />
<br />
===GDM legacy===<br />
If you want to fall back to the old GDM, which also has a tool for configuring its settings, compile and install {{aur|gdm-old}} from the [[Arch User Repository|AUR]].<br />
<br />
==Troubleshooting==<br />
===GDM fails on logout===<br />
If GDM starts up properly on boot, but fails after repeated attempts on logout, try adding this line to the daemon section of {{ic|/etc/gdm/custom.conf}}:<br />
GdmXserverTimeout=60<br />
<br />
===gconf-sanity-check-2 exited with status 256===<br />
If GDM pops up an error about {{ic|gconf-sanity-check-2}}, you may check permissions in {{ic|/home}} and {{ic|/etc/gconf/gconf.xml.system}} (the latter should be {{ic|755}}).<br />
If GDM is still printing the message, try to empty the gdm home. Run as root:<br />
rm -rf /var/lib/gdm/.*<br />
<br />
If that doesn't help, try to set {{ic|/tmp}} owner and permissions to:<br />
# chown -R root:root /tmp<br />
# chmod 777 /tmp<br />
<br />
===GDM root login===<br />
It is not advised to login as root, but if necessary you can edit {{ic|/etc/pam.d/gdm-password}} and add the following line before the line {{ic|auth required pam_deny.so}}:<br />
{{ic|/etc/pam.d/gdm-password}}<br />
auth sufficient pam_succeed_if.so uid eq 0 quiet<br />
<br />
The file should look something like this:<br />
{{ic|/etc/pam.d/gdm-password}}<br />
...<br />
auth sufficient pam_succeed_if.so uid eq 0 quiet<br />
auth sufficient pam_succeed_if.so uid >= 1000 quiet<br />
auth required pam_deny.so<br />
...<br />
<br />
You should be able to login as root after restarting GDM.<br />
<br />
===GDM always uses default US-keyboard===<br />
Problem: Keyboard layout always switches to us; layout is reset when a new keyboard is plugged in.<br />
<br />
====GDM 2.x====<br />
Solution:<br />
edit {{ic|~/.dmrc}}<br />
{{hc|~/.dmrc|2=<br />
[Desktop]<br />
Language=de_DE.UTF-8 # change to your default lang<br />
Layout=de nodeadkeys # change to your keyboard layout<br />
}}<br />
<br />
====GDM 3.x====<br />
Solution:<br />
add the following line to {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}}, replacing fr with the appropriate keymap<br />
{{hc|/etc/X11/xorg.conf.d/10-evdev.conf|<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
'''Option "XkbLayout" "fr"'''<br />
EndSection}}<br />
<br />
{{Warning|Add the line to the {{ic|'''keyboard''' InputClass}} section, not the pointer one.}}<br />
<br />
====GDM Will Not Load After Attempting to Set-Up Automatic Login====<br />
<br />
To solve this issue, edit {{ic|/etc/gdm/custom.conf}} from a TTY and comment "AutomaticLoginEnable" and the "AutomaticLogin" lines.<br />
<br />
{{bc|1=# GDM configuration storage<br />
<br />
[daemon]<br />
<br />
#AutomaticLoginEnable=True<br />
#AutomaticLogin=user<br />
<br />
[security]<br />
<br />
[xdmcp]<br />
<br />
[greeter]<br />
<br />
[chooser]<br />
<br />
[debug]<br />
<br />
EndSection}}<br />
<br />
====GDM Doesn't Start After Upgrading To 3.8 If Using Intel Graphics====<br />
<br />
To solve this problem you may have to set your acceleration method to SNA.<br />
For more information please refer to: [[Intel_Graphics#Choose_acceleration_method]]</div>Ingamedeohttps://wiki.archlinux.org/index.php?title=Bumblebee&diff=256163Bumblebee2013-05-05T10:22:07Z<p>Ingamedeo: </p>
<hr />
<div>[[Category:Graphics]]<br />
[[Category:X Server]]<br />
[[es:Bumblebee]]<br />
[[fr:Bumblebee]]<br />
[[it:Bumblebee]]<br />
[[ru:Bumblebee]]<br />
[[tr:Bumblebee]]<br />
[[zh-CN:Bumblebee]]<br />
From Bumblebee's [https://github.com/Bumblebee-Project/Bumblebee/wiki/FAQ FAQ]:<br />
<br />
"''Bumblebee is an effort to make NVIDIA Optimus enabled laptops work in GNU/Linux systems. Such feature involves two graphics cards with two different power consumption profiles plugged in a layered way sharing a single framebuffer.''"<br />
<br />
== Bumblebee: Optimus for Linux ==<br />
<br />
[http://www.nvidia.com/object/optimus_technology.html Optimus Technology] is an ''[http://hybrid-graphics-linux.tuxfamily.org/index.php?title=Hybrid_graphics hybrid graphics]'' implementation without a hardware multiplexer. The integrated GPU manages the display while the dedicated GPU manages the most demanding rendering and ships the work to the integrated GPU to be displayed. When the laptop is running on battery supply, the dedicated GPU is turned off to save power and prolong the battery life.<br />
<br />
Bumblebee is a software implementation comprising of two parts:<br />
<br />
* Render programs off-screen on the dedicated video card and display it on the screen using the integrated video card. This bridge is provided by VirtualGL or primus (read further) and connects to a X server started for the discrete video card.<br />
* Disable the dedicated video card when it is not in use (see the [[#Power Management]] section)<br />
<br />
It tries to mimic the Optimus technology behavior; using the dedicated GPU for rendering when needed and power it down when not in use. The present releases only support rendering on-demand, automatically starting a program with the discrete video card based on workload is not implemented.<br />
<br />
{{Warning|Bumblebee is still under heavy development! But your help is very welcome.}}<br />
<br />
== Installation ==<br />
<br />
Before installing Bumblebee check your BIOS and activate Optimus (older laptops call it "switchable graphics") if possible (BIOS doesn't have to provide this option), and install the [[Intel|intel driver]] for the secondary on board graphics card.<br />
<br />
Several packages are available for a complete setup:<br />
<br />
* {{Pkg|bumblebee}} (or {{aur|bumblebee-git}}) - the main package providing the daemon and client programs.<br />
* (optional) {{Pkg|bbswitch}} (or {{aur|bbswitch-dkms}}) - recommended for saving power by disable the Nvidia card.<br />
* (optional) If you want more than just saving power, that is rendering programs on the discrete Nvidia card you also need:<br />
** a driver for the Nvidia card. The open-source [[nouveau]] driver or the more closed-source [[nvidia]] driver. See the subsection.<br />
** a render/display bridge. Two packages are currently available for that, {{Pkg|primus}} (or {{aur|primus-git}}) and {{Pkg|virtualgl}}. Only one of them is necessary, but installing them side-by-side does not hurt.<br />
<br />
{{Note|If you want to run a 32-bit application on a 64-bit system you must install the proper lib32-* libraries for the program. In addition to this, you also need to install {{Pkg|lib32-virtualgl}} or {{Pkg|lib32-primus}} (or {{AUR|lib32-primus-git}}), depending on your choice for the render bridge. Just make sure you run {{ic|primusrun}} instead of {{ic|optirun}} if you decide to use Primus render bridge.}}<br />
<br />
=== Installing Bumblebee with Intel / Nvidia ===<br />
<br />
* Install {{pkg|intel-dri}}, {{pkg|xf86-video-intel}}, {{pkg|bumblebee}} and {{pkg|nvidia}}.<br />
<br />
# pacman -S intel-dri xf86-video-intel bumblebee nvidia<br />
<br />
If you want to run 32-bit applications (like games with wine) on a 64-bit system you need the {{pkg|lib32-nvidia-utils}} package too.<br />
<br />
# pacman -S lib32-nvidia-utils<br />
<br />
{{Note|Do not install lib32-nvidia-libgl! Bumblebee will find the correct lib32 nvidia libs without it.}}<br />
<br />
=== Installing Bumblebee with Intel / Nouveau ===<br />
<br />
Install [https://www.archlinux.org/packages/?sort=&q=nouveau nouveau] <!-- Has to be this way so that we can show all the drivers --> and required packages first:<br />
<br />
# pacman -S xf86-video-nouveau nouveau-dri mesa<br />
<br />
* {{Pkg|xf86-video-nouveau}} experimental 3D acceleration driver<br />
* {{Pkg|nouveau-dri}} Mesa classic DRI + Gallium3D drivers<br />
* {{Pkg|mesa}} Mesa 3-D graphics libraries<br />
<br />
==Start Bumblebee==<br />
<br />
In order to use Bumblebee it is necessary add yourself (and other users) to the bumblebee group:<br />
<br />
# gpasswd -a $USER bumblebee<br />
<br />
where {{ic|$USER}} is the login name of the user to be added. Then log off and on again to apply the group changes.<br />
<br />
To start bumblebee automatically at startup, enable {{ic|bumblebeed}} service:<br />
<br />
# systemctl enable bumblebeed<br />
<br />
Finished - reboot system and use the shell program {{ic|[[#Usage|optirun]]}} for Optimus NVIDIA rendering!<br />
<br />
If you simply wish to disable your nvidia card, this should be all that is needed, apart from having {{ic|bbswitch}} installed. The bumblebeed daemon will, by default, instruct bbswitch to turn off the card when it starts. See also the [[#Power Management|power management]] section below.<br />
<br />
== Usage ==<br />
<br />
The command line programm {{ic|optirun}} shipped with Bumblebee is your best friend<br />
for running applications on your Optimus NVIDIA card.<br />
<br />
Test Bumblebee if it works with your Optimus system:<br />
{{bc|$ optirun glxgears -info}}<br />
<br />
If it succeeds and the terminal you are running from mentions something about your NVIDIA - Optimus with Bumblebee is working!<br />
<br />
General Usage:<br />
<br />
{{bc|$ optirun [options] <application> [application-parameters]}}<br />
<br />
Some Examples:<br />
<br />
Start Windows applications with Optimus:<br />
<br />
{{bc|$ optirun wine <windows application>.exe}}<br />
<br />
Use NVIDIA Settings with Optimus:<br />
<br />
{{bc|$ optirun -b none nvidia-settings -c :8 }}<br />
<br />
For a list of options for {{ic|optirun}} view its manual page:<br />
{{bc|$ man optirun}}<br />
<br />
A new program is soon becoming the default choice because of better performance, namely<br />
primus. Currently you need to run this program separately (it does not accept options<br />
unlike {{ic|optirun}}), but in the future it will be started by optirun. Usage:<br />
{{bc|$ primusrun glxgears}}<br />
<br />
== Configuration ==<br />
<br />
You can configure the behaviour of Bumblebee to fit your needs. Fine tuning like speed optimization, power management and other stuff can be configured in {{ic|/etc/bumblebee/bumblebee.conf}}<br />
<br />
=== Optimizing Speed when using VirtualGL as bridge ===<br />
<br />
Bumblebee renders frames for your Optimus NVIDIA card in an invisible X Server with VirtualGL and transports them back to your visible X Server.<br />
<br />
Frames will be compressed before they are transported - this saves bandwidth and can be used for speed-up optimization of bumblebee:<br />
<br />
To use an other compression method for a single application:<br />
<br />
$ optirun -c <compress-method> application<br />
<br />
The method of compres will affect performance in the GPU/GPU usage. Compressed methods (such as {{ic|jpeg}}) will load the CPU the most but will load GPU the minimum necessary; uncompressed methods loads the most on GPU and the CPU will have the minimum load possible.<br />
<br />
Compressed Methods are: {{ic|jpeg}}, {{ic|rgb}}, {{ic|yuv}}<br />
<br />
Uncompressed Methods are: {{ic|proxy}}, {{ic|xv}}<br />
<br />
To use a standard compression for all applications set the {{ic|VGLTransport}} to {{ic|<compress-method>}} in {{ic|/etc/bumblebee/bumblebee.conf}}:<br />
<br />
{{hc|/etc/bumblebee/bumblebee.conf|<nowiki><br />
[...]<br />
[optirun]<br />
VGLTransport=proxy<br />
[...]<br />
</nowiki>}}<br />
<br />
You can also play with the way VirtualGL reads back the pixels from your graphic card. Setting {{ic|VGL_READBACK}} environment variable to {{ic|pbo}} should increase the performance. Compare these two:<br />
<br />
# PBO should be faster.<br />
VGL_READBACK=pbo optirun glxspheres<br />
# The default value is sync.<br />
VGL_READBACK=sync optirun glxspheres<br />
<br />
{{Note|CPU frequency scaling will affect directly on render performance}}<br />
<br />
=== Power Management ===<br />
<br />
The goal of power management feature is to turn off the NVIDIA card when it is not used by bumblebee any more.<br />
If bbswitch is installed, it will be detected automatically when the Bumblebee daemon starts. No additional<br />
configuration is necessary.<br />
<br />
==== Default power state of NVIDIA card using bbswitch ====<br />
<br />
The default behavior of bbswitch is to leave the card power state unchanged. {{ic|bumblebeed}} does disable<br />
the card when started, so the following is only necessary if you use bbswitch without bumblebeed.<br />
<br />
Set {{ic|load_state}} and {{ic|unload_state}} module options according to your needs (see [https://github.com/Bumblebee-Project/bbswitch bbswitch documentation]).<br />
{{hc|/etc/modprobe.d/bbswitch.conf|<nowiki><br />
options bbswitch load_state=0 unload_state=1<br />
</nowiki>}}<br />
<br />
==== Enable NVIDIA card during shutdown ====<br />
<br />
The NVIDIA card may not correctly initialize during boot if the card was powered off when the system was last shutdown. One option is to set {{ic|TurnCardOffAtExit&#61;false}} in {{ic|/etc/bumblebee/bumblebee.conf}}, however this will enable the card everytime you stop the Bumblebee daemon, even if done manually. To ensure that the NVIDIA card is always powered on during shutdown, add the following [[Boot process#Custom_hooks|hook function]] (if using {{pkg|bbswitch}}):<br />
<br />
{{hc|/etc/rc.d/functions.d/nvidia-card-enable|<nowiki><br />
nvidia_card_enable() {<br />
BBSWITCH=/proc/acpi/bbswitch<br />
<br />
stat_busy "Enabling NVIDIA GPU"<br />
<br />
if [ -w ${BBSWITCH} ]; then<br />
echo ON > ${BBSWITCH}<br />
stat_done<br />
else<br />
stat_fail<br />
fi<br />
}<br />
<br />
add_hook shutdown_poweroff nvidia_card_enable<br />
</nowiki>}}<br />
<br />
=== Multiple monitors ===<br />
<br />
{{Note|This configuration is only valid for laptops, where the extra output is hardwired to the intel card. Unfortunately this is not the case for some (or most?) laptops, where, lets say, the HDMI output is hardwired to the NVIDIA card. In that case there is no such an ideal solution, as shown here. But you can make your extra output at least usable with the instructions on the bumblebee [https://github.com/Bumblebee-Project/Bumblebee/wiki/Multi-monitor-setup wiki page].}}<br />
<br />
You can set up multiple monitors with xorg.conf. Set them to use the Intel card, but Bumblebee can still use the NVIDIA card. One example configuration is below for two identical screens with 1080p resolution and using the HDMI out.<br />
<br />
{{hc|/etc/X11/xorg.conf|<nowiki><br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "intelgpu0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
Option "TwinView" "0"<br />
SubSection "Display"<br />
Depth 24<br />
Modes "1980x1080_60.00"<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen1"<br />
Device "intelgpu1"<br />
Monitor "Monitor1"<br />
DefaultDepth 24<br />
Option "TwinView" "0"<br />
SubSection "Display"<br />
Depth 24<br />
Modes "1980x1080_60.00"<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
Option "Enable" "true"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor1"<br />
Option "Enable" "true"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "intelgpu0"<br />
Driver "intel"<br />
Option "XvMC" "true"<br />
Option "UseEvents" "true"<br />
Option "AccelMethod" "UXA"<br />
BusID "PCI:0:2:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "intelgpu1"<br />
Driver "intel"<br />
Option "XvMC" "true"<br />
Option "UseEvents" "true"<br />
Option "AccelMethod" "UXA"<br />
BusID "PCI:0:2:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidiagpu1"<br />
Driver "nvidia"<br />
BusID "PCI:0:1:0"<br />
EndSection<br />
<br />
</nowiki>}}<br />
<br />
You need to probably change the BusID for both the Intel and the Nvidia card.<br />
<br />
{{hc|<nowiki>$ lspci | grep VGA</nowiki>|<br />
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)<br />
}}<br />
<br />
The BusID is 0:2:0<br />
<br />
==CUDA Without Bumblebee==<br />
<br />
This is not well documented, but you do not need Bumblebee to use CUDA and it may work even on machines where optirun fails. For a guide on how to get it working with the Lenovo IdeaPad Y580 (which uses the GeForce 660M), see: https://wiki.archlinux.org/index.php/Lenovo_IdeaPad_Y580#NVIDIA_Card. Those instructions are very likely to work with other machines (except for the acpi-handle-hack part, which may not be necessary).<br />
<br />
==Troubleshooting==<br />
<br />
{{Note|Please report bugs at [https://github.com/Bumblebee-Project/Bumblebee Bumblebee-Project]'s GitHub tracker as described in its [https://github.com/Bumblebee-Project/Bumblebee/wiki/Reporting-Issues Wiki].}}<br />
<br />
=== [VGL] ERROR: Could not open display :8 ===<br />
<br />
There is a known problem with some wine applications that fork and kill the parent process without keeping track of it (for example the free to play online game "Runes of Magic")<br />
<br />
This is a known problem with VirtualGL. As of bumblebee 3.1, so long as you have it installed, you can use Primus as your render bridge:<br />
<br />
{{bc|<br />
$ optirun -b primus wine <windows program>.exe<br />
}}<br />
<br />
If this does not work, an alternative walkaround for this problem is:<br />
<br />
{{bc|<br />
$ optirun bash<br />
$ optirun wine <windows program>.exe<br />
}}<br />
<br />
<br />
<br />
If using NVIDIA drivers a fix for this problem is to edit {{ic|/etc/bumblebee/xorg.conf.nvidia}} and change Option {{ic|ConnectedMonitor}} to {{ic|CRT-0}}.<br />
<br />
=== [ERROR]Cannot access secondary GPU ===<br />
<br />
==== No devices detected. ====<br />
<br />
In some instances, running optirun will return:<br />
<br />
{{bc|<br />
[ERROR]Cannot access secondary GPU - error: [XORG] (EE) No devices detected.<br />
[ERROR]Aborting because fallback start is disabled.<br />
}}<br />
<br />
In this case, you will need to move the file {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} to somewhere else. Restart the bumblebeed daemon, and it should work. If you do need to change some features on Intel module, a workaround is to move your {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} to {{ic|/etc/X11/xorg.conf}}.<br />
<br />
It could be also necessary to comment the driver line in {{ic|/etc/X11/xorg.conf.d/10-monitor.conf}}.<br />
<br />
If you're using the nouveau driver you could try switching to the nVidia driver.<br />
<br />
You might need to define the nvidia card somewhere (e.g. file {{ic|/etc/X11/xorg.conf.d}}), and remember to change the BusID using lspci.<br />
{{bc|<br />
Section "Device"<br />
Identifier "nvidiagpu1"<br />
Driver "nvidia"<br />
BusID "PCI:0:1:0"<br />
EndSection<br />
}}<br />
<br />
==== NVIDIA(0): Failed to assign any connected display devices to X screen 0 ====<br />
<br />
If the console output is:<br />
<br />
{{bc|<br />
[ERROR]Cannot access secondary GPU - error: [XORG] (EE) NVIDIA(0): Failed to assign any connected display devices to X screen 0<br />
[ERROR]Aborting because fallback start is disabled.<br />
}}<br />
<br />
You can change this line in {{ic|/etc/bumblebee/xorg.conf.nvidia}}:<br />
{{bc|<br />
Option "ConnectedMonitor" "DFP"<br />
}}<br />
to<br />
{{bc|<br />
Option "ConnectedMonitor" "CRT"<br />
}}<br />
<br />
=== ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded: ignored ===<br />
<br />
You probably want to start a 32-bit application with bumblebee on a 64-bit system. See the "Note" box in [[#Installation]].<br />
<br />
=== Fatal IO error 11 (Resource temporarily unavailable) on X server ===<br />
<br />
Change {{ic|KeepUnusedXServer}} in {{ic|/etc/bumblebee/bumblebee.conf}} from {{ic|false}} to {{ic|true}}. Your program forks into background and bumblebee don't know anything about it.<br />
<br />
=== Video tearing ===<br />
<br />
Video tearing is a somewhat common problem on Bumblebee. To fix it, you need to enable vsync. It should be enabled by default on the Intel card, but verify that from Xorg logs. To check whether or not it is enabled for nvidia, run: <br />
<br />
{{bc|$ optirun nvidia-settings -c :8 }}<br />
<br />
{{ic|1=X Server XVideo Settings -> Sync to VBlank}} and {{ic|1=OpenGL Settings -> Sync to VBlank}} should both be enabled. The Intel card has in general less tearing, so use it for video playback. Especially use VA-API for video decoding (e.g. {{ic|mplayer-vaapi}} and with {{ic|-vsync}} parameter).<br />
<br />
Refer to the [[Intel#Video_tearing|Intel]] article on how to fix tearing on the Intel card.<br />
<br />
If it is still not fixed, try to disable compositing from your desktop environment. Try also disabling triple buffering.<br />
<br />
=== Bumblebee can't connect to socket ===<br />
You might get something like:<br />
<br />
{{hc|$ optirun glxspheres|<br />
[ 1648.179533] [ERROR]You've no permission to communicate with the Bumblebee daemon. Try adding yourself to the 'bumblebee' group<br />
[ 1648.179628] [ERROR]Could not connect to bumblebee daemon - is it running?<br />
}}<br />
<br />
If you are already in the {{ic|bumblebee}} group ({{ic|<nowiki>$ groups | grep bumblebee</nowiki>}}), you may try [https://bbs.archlinux.org/viewtopic.php?pid=1178729#p1178729 removing the socket] {{ic|/var/run/bumblebeed.socket}}.<br />
<br />
== Important Links ==<br />
* [http://www.bumblebee-project.org Bumblebee Project repository]<br />
* [http://wiki.bumblebee-project.org/ Bumblebee Project Wiki]<br />
* [https://github.com/Bumblebee-Project/bbswitch Bumblebee Project bbswitch repository]<br />
<br />
Join us at #bumblebee at freenode.net</div>Ingamedeohttps://wiki.archlinux.org/index.php?title=GDM&diff=255567GDM2013-04-28T14:30:15Z<p>Ingamedeo: </p>
<hr />
<div>[[Category:Display managers]]<br />
[[es:GDM]]<br />
[[pt:GDM]]<br />
[[zh-CN:GDM]]<br />
{{Article summary start}}<br />
{{Article summary text|GDM is the GNOME Display Manager, a graphical login program. This article covers its installation and configuration.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Display Manager}}<br />
{{Article summary wiki|GNOME}}<br />
{{Article summary end}}<br />
<br />
From [http://projects.gnome.org/gdm/about.html GDM - GNOME Display Manager]:<br />
<br />
:''GDM is the GNOME Display Manager, it is the little program that runs in the background, runs your X sessions, presents you with a login box and then tells you to bug off because you forgot your password. It does pretty much everything that you would want to use xdm for, but does not involve as much crack. It does not use any code from xdm. It supports XDMCP, and in fact extends XDMCP a little bit in places where I thought xdm was lacking (but is still compatible with xdm's XDMCP).''<br />
<br />
[[Display manager]]s provide [[X Window System]] users with a graphical login prompt.<br />
<br />
==Installation==<br />
GDM (which is also part of {{Grp|gnome-extra}}) can be [[Pacman|installed]] with the {{Pkg|gdm}} package, available in the [[Official repositories]].<br />
<br />
=== GDM as the default greeter ===<br />
To make GDM the default graphical login method for the system, use the packaged systemd service file, {{ic|gdm.service}}. Simply run the following command once to bring up GDM on boot:<br />
# systemctl enable gdm.service<br />
<br />
The arguments passed to the X server by {{ic|~/.xinitrc}} (such as those of {{ic|xmodmap}} and {{ic|xsetroot}}) can also be added through [[xprofile]]:<br />
<br />
{{hc|~/.xprofile|<nowiki><br />
#!/bin/sh<br />
<br />
#<br />
# ~/.xprofile<br />
#<br />
# Executed by gdm at login<br />
#<br />
<br />
xmodmap -e "pointer=1 2 3 6 7 4 5" # set mouse buttons up correctly<br />
xsetroot -solid black # sets the background to black<br />
</nowiki>}}<br />
<br />
{{Out of date|Needs to be updated for GDM 3.6 as gconf vars are being moved to dconf, control center incomplete by default|GNOME#Hidden_features}}<br />
==Configuration==<br />
You can no longer use the gdmsetup command to configure GDM as of version 2.28. The command has been removed and GDM has been standardized and integrated with the rest of GNOME.<br />
<br />
You can install {{aur|gdm3setup}} from the AUR to configure GDM, or use the following instructions.<br />
<br />
Configure X server access permission:<br />
{{bc|# xhost +SI:localuser:gdm}}<br />
<br />
Change the theme:<br />
{{bc|$ sudo -u gdm dbus-launch gnome-control-center}}<br />
<br />
For more configuration options, do:<br />
{{bc|$ sudo -u gdm dbus-launch gconf-editor}}<br />
<br />
and modify the following hierarchies:<br />
/apps/gdm/simple-greeter<br />
/desktop/gnome/interface<br />
/desktop/gnome/background<br />
<br />
If these commands fail with an error (e.g. {{ic|"Cannot open display"}}) you can bring the two windows up when GDM starts by adding them to GDM's autostart. To do this first create the entry:<br />
{{bc|# cp -t /usr/share/gdm/autostart/LoginWindow/ /usr/share/applications/gnome-appearance-properties.desktop /usr/share/applications/gconf-editor.desktop}}<br />
<br />
Then go back to GDM, do your changes and log back in. When you're done and want the window to stop opening with GDM run this:<br />
{{bc|# rm /usr/share/gdm/autostart/LoginWindow/gnome-appearance-properties.desktop /usr/share/gdm/autostart/LoginWindow/gconf-editor.desktop}}<br />
<br />
{{Note|By using the logout/configure method you can view the changes while you're making them.}}<br />
<br />
For more information and advanced settings read [http://library.gnome.org/admin/gdm/stable/configuration.html.en this].<br />
<br />
===Automatic login===<br />
To enable automatic login with GDM, add the following to {{ic|/etc/gdm/custom.conf}} (replace ''username'' with your own):<br />
<br />
{{hc|1=/etc/gdm/custom.conf|<br />
2=# Enable automatic login for user<br />
[daemon]<br />
AutomaticLogin=''username''<br />
AutomaticLoginEnable=True<br />
}}<br />
<br />
or for an automatic login with a delay:<br />
<br />
{{hc|1=/etc/gdm/custom.conf|<br />
2=[daemon]<br />
# for login with delay<br />
TimedLoginEnable=true<br />
TimedLogin=''username''<br />
TimedLoginDelay=1<br />
}}<br />
<br />
===Passwordless login===<br />
{{Out of date|Needs to be updated for GDM 3.6|Passwordless login}}<br />
If you want to bypass the password prompt in GDM then simply add the following line to {{ic|/etc/pam.d/gdm}}:<br />
<br />
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin<br />
<br />
Make sure this line goes right '''before''' the {{ic|pam_unix.so}} {{ic|auth}} line.<br />
<br />
Then, add the group {{ic|nopasswdlogin}} to your system. You can do it graphically in {{ic|System > Administration > Users and Groups}}. See [[Groups]] for group descriptions and group management commands.<br />
<br />
Now, when you use {{ic|System Settings -> System -> Users Accounts}} (command: {{ic|gnome-control-center}}) and set your user for {{ic|"Password: not asked at login"}} (by checking the {{ic|"Don't ask for password on login"}} option), your user will be automatically added to the {{ic|nopasswdlogin}} group and you will only have to click on your username to login.<br />
<br />
{{Warning|Do '''not''' do this for a '''root''' account.}}<br />
<br />
===Passwordless shutdown===<br />
GDM is using polkit and logind to gain permissions for shutdown. You can allow it without entering a password first by setting:<br />
<br />
{{hc|1=/etc/polkit-1/localauthority.conf.d/org.freedesktop.logind.policy|<br />
2=<?xml version="1.0" encoding="UTF-8"?><br />
<!DOCTYPE policyconfig PUBLIC<br />
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"<br />
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd"><br />
<br />
<!--<br />
Policy definitions for logind<br />
--><br />
<br />
<policyconfig><br />
<br />
<action id="org.freedesktop.login1.power-off-multiple-sessions"><br />
<description>Shutdown the system when multiple users are logged in</description><br />
<message>System policy prevents shutting down the system when other users are logged in</message><br />
<defaults><br />
<allow_inactive>yes</allow_inactive><br />
<allow_active>yes</allow_active><br />
</defaults><br />
</action><br />
<br />
</policyconfig><br />
}}<br />
You can find all available logind options (e.g. reboot-multiple-sessions) [http://www.freedesktop.org/wiki/Software/systemd/logind#Security here].<br />
<br />
===Changing default GDM session===<br />
If you want to change the default GDM session, you need to create (or edit) the file {{ic|~/.dmrc}} [http://library.gnome.org/admin/gdm/stable/configuration.html.en#userconfig].<br />
{{Note|This is on a per-user basis. If you want to change the default for more than one user, you will have to create this file for each user.}}<br />
Here is an example to set the default session to [[Cinnamon]]:<br />
{{hc|~/.dmrc|<nowiki><br />
[Desktop]<br />
Session=cinnamon<br />
</nowiki>}}<br />
<br />
===GDM legacy===<br />
If you want to fall back to the old GDM, which also has a tool for configuring its settings, compile and install {{aur|gdm-old}} from the [[Arch User Repository|AUR]].<br />
<br />
==Troubleshooting==<br />
===GDM fails on logout===<br />
If GDM starts up properly on boot, but fails after repeated attempts on logout, try adding this line to the daemon section of {{ic|/etc/gdm/custom.conf}}:<br />
GdmXserverTimeout=60<br />
<br />
===gconf-sanity-check-2 exited with status 256===<br />
If GDM pops up an error about {{ic|gconf-sanity-check-2}}, you may check permissions in {{ic|/home}} and {{ic|/etc/gconf/gconf.xml.system}} (the latter should be {{ic|755}}).<br />
If GDM is still printing the message, try to empty the gdm home. Run as root:<br />
rm -rf /var/lib/gdm/.*<br />
<br />
If that doesn't help, try to set {{ic|/tmp}} owner and permissions to:<br />
# chown -R root:root /tmp<br />
# chmod 777 /tmp<br />
<br />
===GDM root login===<br />
It is not advised to login as root, but if necessary you can edit {{ic|/etc/pam.d/gdm-password}} and add the following line before the line {{ic|auth required pam_deny.so}}:<br />
{{ic|/etc/pam.d/gdm-password}}<br />
auth sufficient pam_succeed_if.so uid eq 0 quiet<br />
<br />
The file should look something like this:<br />
{{ic|/etc/pam.d/gdm-password}}<br />
...<br />
auth sufficient pam_succeed_if.so uid eq 0 quiet<br />
auth sufficient pam_succeed_if.so uid >= 1000 quiet<br />
auth required pam_deny.so<br />
...<br />
<br />
You should be able to login as root after restarting GDM.<br />
<br />
===GDM always uses default US-keyboard===<br />
Problem: Keyboard layout always switches to us; layout is reset when a new keyboard is plugged in.<br />
<br />
====GDM 2.x====<br />
Solution:<br />
edit {{ic|~/.dmrc}}<br />
{{hc|~/.dmrc|2=<br />
[Desktop]<br />
Language=de_DE.UTF-8 # change to your default lang<br />
Layout=de nodeadkeys # change to your keyboard layout<br />
}}<br />
<br />
====GDM 3.x====<br />
Solution:<br />
add the following line to {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}}, replacing fr with the appropriate keymap<br />
{{hc|/etc/X11/xorg.conf.d/10-evdev.conf|<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
'''Option "XkbLayout" "fr"'''<br />
EndSection}}<br />
<br />
{{Warning|Add the line to the {{ic|'''keyboard''' InputClass}} section, not the pointer one.}}<br />
<br />
====GDM Will Not Load After Attempting to Set-Up Automatic Login====<br />
<br />
To solve this issue, edit {{ic|/etc/gdm/custom.conf}} from a TTY and comment "AutomaticLoginEnable" and the "AutomaticLogin" lines.<br />
<br />
{{bc|1=# GDM configuration storage<br />
<br />
[daemon]<br />
<br />
#AutomaticLoginEnable=True<br />
#AutomaticLogin=user<br />
<br />
[security]<br />
<br />
[xdmcp]<br />
<br />
[greeter]<br />
<br />
[chooser]<br />
<br />
[debug]<br />
<br />
EndSection}}<br />
<br />
====GDM Doesn't Start After Upgrading To 3.8 If Using Intel Graphics====<br />
<br />
To solve this problem you may have to set your acceleration method to SNA.<br />
For more informations please refer to: [[Intel_Graphics#Choose_acceleration_method]]</div>Ingamedeohttps://wiki.archlinux.org/index.php?title=Eclipse_(Italiano)&diff=255145Eclipse (Italiano)2013-04-25T19:01:02Z<p>Ingamedeo: /* Supporto SVN */</p>
<hr />
<div>[[Category:Development (Italiano)]]<br />
[[en:Eclipse]]<br />
[[ru:Eclipse]]<br />
[[zh-CN:Eclipse]]<br />
[http://eclipse.org Eclipse] è un progetto open source basato su una community, con l'obiettivo di fornire una piattaforma di sviluppo universale. Il progetto Eclipse è conosciuto soprattutto per il suo ambiente di sviluppo integrato (IDE) e multipiattaforma. I pacchetti per Arch Linux (e questa guida) si riferiscono specificamente all'ambiente di sviluppo.<br />
<br />
L'IDE di Eclipse è scritto per la maggior parte in Java ma può essere usato per sviluppare applicazioni in molti altri linguaggi, tra cui Java, C/C++, PHP e Perl. L'IDE fornisce anche supporto per la sottoversione SVN (vedere sotto) e la gestione dei processi (per questo scopo usa la sua TOTO list integrata o il pacchetto aggiuntivo eclipse-mylyn).<br />
<br />
== Installazione ==<br />
<br />
È molto facile installare Eclipse SDK in Arch Linux:<br />
# pacman -S eclipse<br />
<br />
Questo pacchetto di base supporta già lo sviluppo di applicazioni Java.<br />
<br />
== Plugins ==<br />
Ci sono due modi di installare un plugin per Eclipse:<br />
*usando [[pacman]] per installare i plugin presenti nei repository di Arch (vedere [[Eclipse plugin package guidelines]] per ulteriori informazioni);<br />
*usando il plugin manager di Eclipse per scaricare e installare plugin dai repository originali; in questo caso è necessario trovare i repository necessari dal sito dei plugin, quindi su Eclipse selezionare ''Help -> Install New Software...'', compilare il campo ''Work with'' con il repository, selezionare il plugin da installare nella lista e seguire le istruzioni.<br />
<br />
{{Attenzione|<br />
*Installando con il plugin manager, è consigliato eseguire Eclipse come root: in questo modo i plugin saranno installati in {{ic|/usr/share/eclipse/plugins/}}; installando come utente normale verranno memorizzati nella cartella {{ic|~/.eclipse/}} e non verranno più riconosciuti dopo un eventuale aggiornamento di Eclipse.<br />
*Si raccomanda comunque di non utlizzare Eclipse come root per l'uso normale.}}<br />
<br />
=== Supporto C/C++ ===<br />
<br />
==== Eclipse CDT ====<br />
*Homepage del progetto: http://www.eclipse.org/cdt/<br />
*Disponibile in [extra]: {{Pkg|eclipse-cdt}}<br />
<br />
=== Supporto Perl ===<br />
<br />
====EPIC====<br />
*Homepage del progetto: http://www.epic-ide.org/<br />
*Disponibile in [[AUR]]: {{AUR|eclipse-epic}}<br />
<br />
=== Supporto [[PHP]] ===<br />
<br />
==== Eclipse PDT ====<br />
*Homepage del progetto: http://www.eclipse.org/pdt/<br />
*Disponibile in [[AUR]]: {{AUR|eclipse-pdt}}<br />
<br />
==== PHPEclipse ====<br />
*Homepage del progetto: http://www.phpeclipse.com/<br />
*Disponibile in [community]: {{AUR|eclipse-phpeclipse}}<br />
<br />
==== Aptana PHP ====<br />
Vedere Aptana Studio più avanti nella pagina.<br />
<br />
=== Supporto [[Python]] ===<br />
<br />
==== PyDev ====<br />
*Homepage del progetto: http://pydev.org/<br />
*Disponibile in [[AUR]]: {{AUR|eclipse-pydev}}<br />
<br />
=== Web development (HTML, CSS, JavaScript...) ===<br />
<br />
==== Aptana Studio ====<br />
*Homepage del progetto: http://www.aptana.org/<br />
*Per il plugin di Eclipse, utilizzare il plugin manager<br />
*Per la versione indipendente, il pacchetto è disponibile in [[AUR]]: {{AUR|aptana-studio}}<br />
<br />
=== Supporto SVN ===<br />
<br />
==== Subclipse ====<br />
*homepage del progetto: http://subclipse.tigris.org/<br />
*Disponibile in [community]: {{Pkg|eclipse-subclipse}}<br />
*[http://www-128.ibm.com/developerworks/opensource/library/os-ecl-subversion/ Come utilizzare la SVN con Eclipse]<br />
<br />
==== Eclipse Subversive ====<br />
*Homepage del progetto: http://www.eclipse.org/subversive/<br />
*Disponibile in [[AUR]]: {{AUR|eclipse-subversive}}<br />
<br />
=== Supporto [[Git]] ===<br />
<br />
==== EGit ====<br />
*Homepage del progetto: http://www.eclipse.org/egit/<br />
*Disponibile in [[AUR]]: {{AUR|egit}}<br />
<br />
==Aggiornamenti==<br />
*Eclipse e i plugin installati con pacman vengono aggiornati con pacman stesso<br />
*Per i plugin installati con il plugin manager di Eclipse, è necessario avviare Eclipse e selezionare ''Help -> Check for Updates'' (se i plugin sono stati installati come root, anche l'aggiornamento deve essere controllato e installato come root).<br />
<br />
Perché i plugin siano aggiornati, occorre controllare di avere abilitato i repository in ''Window -> Preferences -> Install/Update -> Available Software Sites'': i repository dei plugin si trovano sui siti di riferimento dei rispettivi progetti. Per aggiungere, modificare e rimuovere i repository è sufficiente utilizzare i pulsanti a destra del pannello ''Available Software Sites''. Per Eclipse 3.7 (Indigo), assicurarsi di aver abilitato questa repository:<br />
<br />
http://download.eclipse.org/releases/indigo<br />
<br />
Per ricevere notifiche di aggiornamento, andare su ''Window -> Preferences -> Install/Update -> Automatic Updates''. Se si vogliono ricevere le notifiche anche per i plugin installati come root, bisogna esportare la lista dei relativi repository con ''Export'', quindi reimportarla utilizzando ''Import'' come utente normale.<br />
<br />
== Utilizzare Sun JDK al posto di OpenJDK ==<br />
{{Accuracy}}<br />
Eclipse dipende da openjdk6 per default, ma si può rimpiazzare facilmente con jdk seguendo [[Java|questo articolo]].<br />
<br />
Potrebbe essere necessario creare un link al file /opt/java/bin/java in /usr/bin/java:<br />
# ln -s /opt/java/bin/java /usr/bin<br />
<br />
== Abilitare l'integrazione di javadoc ==<br />
=== Versione online ===<br />
<br />
Se la propria macchina è costantemente connessa a Internet, si può utilizzare la documentazione online fornita da Sun. Per fare ciò:<br />
<br />
# Andare su Window/Preferences, quindi scegliere Java/Installed JREs.<br />
# Ce ne dovrebbe essere uno chiamato "java" con il tipo "Standard VM". Selezionarlo e scegliere Edit.<br />
# Selezionare l'elemento {{ic|/opt/java/jre/lib/rt.jar}} sotto "JRE system libraries:", quindi scegliere "Javadoc Location...".<br />
# Compilare il campo "Javadoc location path:" con "http://java.sun.com/javase/6/docs/api/".<br />
<br />
=== Versione offline ===<br />
<br />
Se non si vuole utilizzare la documentazione online la si può memorizzare localmente.<br />
<br />
# Scaricare "Java SE 6 Documentation" dal sito http://java.sun.com/javase/downloads/index.jsp<br />
# Seguire le istruzioni per il download del file "jdk-6-doc.zip".<br />
# Andare su Window/Preferences, quindi scegliere Java/Installed JREs.<br />
# Ce ne dovrebbe essere uno chiamato "java" con il tipo "Standard VM". Selezionarlo e scegliere Edit.<br />
# Selezionare l'elemento {{ic|/opt/java/jre/lib/rt.jar}} sotto a "JRE system libraries:", quindi scegliere "Javadoc Location...".<br />
# Selezionare la voce "Javadoc in archive"<br />
# Compilare il campo "Archive path:" con il percorso del file scaricato precedentemente.<br />
<br />
== Risoluzione dei problemi ==<br />
<br />
=== Crash di autocompletamento e javadoc render ===<br />
Per qualche motivo, libxul potrebbe crashare. Per ovviare al problema, si può provare ad installare {{Pkg|libwebkit}} e aggiungere le seguenti linee al proprio file {{ic|/usr/share/eclipse/eclipse.ini}}:<br />
<br />
-Dorg.eclipse.swt.browser.UseWebKitGTK=true<br />
<br />
Se questo non funziona (o non si desidera utilizzare libwebkit) si può tentare un'altra soluzione:<br />
<br />
:1. Scaricare http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.11/runtimes/xulrunner-1.9.0.11.en-US.linux-i686.tar.bz2<br />
:2. Decomprimerlo in /home/<Username>/.xulrunner (o in un'altra destinazione a piacere)<br />
:3. Aggiungere questa linea al file di configurazione di Eclipse {{ic|/usr/share/eclipse/eclipse.ini}}:<br />
<br />
-Dorg.eclipse.swt.browser.XULRunnerPath=/home/<Username>/.xulrunner<br />
<br />
:A questo punto il prroblema dovrebbe essere risolto.<br />
<br />
=== Crash al primo avvio o scegliendo "Help -> Welcome" ===<br />
Seguire le istruzioni sopra.</div>Ingamedeo