Artix linux installation process, later to be used to improve the Artix wiki or to create a pdf manual
If Artix live environment finds a swap partition when it is booting, it will automatically use it. You will need to turn off swap by swapoff
if you want to modify or delete the swap partition
cfdisk /dev/sda
Create partitions as needed.
Boot partition must be of type EFI System
.
Swap partition must be of type Linux swap
.
All other partitions should be Linux filesystem
.
Boot partition has to be formatted with FAT32. It cannot be labeled (FAT file system does not support labels):
mkfs.fat -F32 /dev/sda1
Swap partition is formatted with mkswap
. Use -L SWAP
to label it:
mkswap -L SWAP /dev/sda2
All other partitions should be ext4. Label them with parameter -L <name>
:
mkfs.ext4 -L HOME /dev/sda3
mkfs.ext4 -L ROOT /dev/sda4
mkfs.ext4 -L DATA /dev/sdb1
You can check your disks and partitions with lsblk (list block) This example setup was generated by lsblk -o NAME,PARTTYPENAME,FSTYPE,LABEL,TYPE,MOUNTPOINT
:
NAME PARTTYPENAME FSTYPE LABEL SIZE TYPE MOUNTPOINT
sda 238.5G disk
├─sda1 EFI System vfat 260M part /boot
├─sda2 Linux swap swap SWAP 20G part [SWAP]
├─sda3 Linux filesystem ext4 HOME 20G part /home
└─sda4 Linux filesystem ext4 ROOT 198.2G part /
sdb 698.7G disk
└─sdb1 Linux filesystem ext4 DATA 698.7G part /data
sr0 1024M rom
Other convenient opstion is lsblk -f
, or use blkid
You will have to create directories for the non-root partitions.
mkdir /mnt/boot
mkdir /mnt/home
mkdir /mnt/data
If you have freshly created partitions, you can use their labels when mounting them. Swap partition is not mounted. Just activate it with swapon
or deactivate with swapoff
.
swapon /dev/disk/by-label/SWAP
mount /dev/disk/by-label/ROOT /mnt
mount /dev/disk/by-label/HOME /mnt/home
mount /dev/disk/by-label/BOOT /mnt/boot
mount /dev/disk/by-label/DATA /mnt/data
If the partitions were not created in this session, they have to be mounted by their device names, mount /dev/sda1 /mnt/boot
etc.
A working internet connection is required and assumed. A wired connection is setup automatically, if found. Wireless ones must be configured by the user. Verify your connection and update the repositories:
ping 8.8.8.8
pacman -Syy
Use basestrap
to install the base
and optionally the base-devel
package groups and your preferred init (currently available: openrc
, runit
, and s6
):
basestrap /mnt base base-devel runit elogind-runit
Artix provides linux-lts
and linux
kernels. It is possible to experiment with other kernels, e.g. (-ck
, -pf
, -zen
, etc.). Linux-firmware is recommended for recognizing devices (like network card)
basestrap /mnt linux linux-firmware
Use fstabgen to generate /etc/fstab, use -U
for UUIDs or -L
for partition labels:
fstabgen -L /mnt > /mnt/etc/fstab
check and verify /etc/fstab. See ArchWiki/fstab. It could look like this:
# /dev/sda4 UUID=16211fe2-0927-4853-af22-b701645183fd
LABEL=ROOT / ext4 rw,relatime 0 1
# /dev/sda3 UUID=f157bfe7-62f4-42b9-af5d-c1541758a11b
LABEL=HOME /home ext4 rw,relatime 0 2
# /dev/sda1 UUID=A891-66B5
/dev/sda1 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 2
# /dev/sdb1 UUID=0a45d2db-2042-4e2e-a463-a5aef98795e3
LABEL=DATA /data ext4 rw,relatime 0 2
# /dev/sda2 UUID=8a8c0b83-8b6f-4fea-bd4a-905e7b51ebb4
LABEL=SWAP none swap defaults 0 0
The base system configuration is done from the future root location. This is especially practical for the boot loader configuration and installation. Therefore change to the new root location:
artools-chroot /mnt
Browse regions and cities in /usr/share/zoneinfo/
. Then create a symbolic link to your region and city as /etc/localtime
.
ln -sf /usr/share/zoneinfo/<Region>/<City>`
Run hwclock to generate /etc/adjtime:
hwclock --systohc
Install a text editor of your choice (let's use vim here) and edit /etc/locale.gen
, uncommenting the locales you desire:
pacman -Sy vim
vim /etc/locale.gen
To set the locale systemwide, create or edit /etc/locale.conf
(which is sourced by /etc/profile
) or /etc/bash/bashrc.d/artix.bashrc
or /etc/bash/bashrc.d/local.bashrc
; user-specific changes may be made to their respective ~/.bashrc
, for example:
export LANG="en_US.UTF-8"
export LC_COLLATE="C"
Example /etc/locale.conf
:
LANG=en_US.UTF-8
LC_TIME=en_DK.UTF-8
LC_PAPER=de_DE.UTF-8
LC_COLLATE=C
For more info see ArchWiki/Locale.
First, install grub
and os-prober
(for detecting other installed operating systems) and EFI boot manager:
pacman -S grub os-prober efibootmgr
Modify Grub's default settings in /etc/default/grub
or the configuration generating scripts in /etc/grub.d/
. See ArchWiki/GRUB.
Here I added random.trust_cpu=on
(Arch Forums post 1 and 2) and the UUID of the swap partition to resume
the system from hiberation. Also I let highlight the last used system to boot (GRUB_DEFAULT=saved
, GRUB_SAVEDEFAULT=true
):
# GRUB boot loader configuration
GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Artix"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 random.trust_cpu=on resume=UUID=8a8c0b83-8b6f-4fea-bd4a-905e7b51ebb4 quiet"
GRUB_CMDLINE_LINUX=""
# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y
# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu
# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console
# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto
# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
# modes only. Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-blue/black"
GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME="/path/to/gfxtheme"
# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"
# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
GRUB_SAVEDEFAULT="true"
Install grub for UEFI boot systems:
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=grub
For BIOS boot systems refer to ArtixWiki/Installation.
Create grub config
grub-mkconfig -o /boot/grub/grub.cfg
It is paramount that /boot
contains initramfs-linux-fallback.img
, initramfs-linux.img
, vmlinuz-linux
otherwise it will not boot. Here is my tree /boot
:
/boot
├── EFI
│ └── grub
│ └── grubx64.efi
├── grub
│ ├── fonts
│ │ └── unicode.pf2
│ ├── grub.cfg
│ ├── grubenv
│ ├── themes
│ │ └── starfield
│ │ ├── COPYING.CC-BY-SA-3.0
│ │ ├── README
│ │ ├── blob_w.png
│ │ ├── boot_menu_c.png
│ │ ├── boot_menu_e.png
│ │ ├── boot_menu_n.png
│ │ ├── boot_menu_ne.png
│ │ ├── boot_menu_nw.png
│ │ ├── boot_menu_s.png
│ │ ├── boot_menu_se.png
│ │ ├── boot_menu_sw.png
│ │ ├── boot_menu_w.png
│ │ ├── dejavu_10.pf2
│ │ ├── dejavu_12.pf2
│ │ ├── dejavu_14.pf2
│ │ ├── dejavu_16.pf2
│ │ ├── dejavu_bold_14.pf2
│ │ ├── slider_c.png
│ │ ├── slider_n.png
│ │ ├── slider_s.png
│ │ ├── starfield.png
│ │ ├── terminal_box_c.png
│ │ ├── terminal_box_e.png
│ │ ├── terminal_box_n.png
│ │ ├── terminal_box_ne.png
│ │ ├── terminal_box_nw.png
│ │ ├── terminal_box_s.png
│ │ ├── terminal_box_se.png
│ │ ├── terminal_box_sw.png
│ │ ├── terminal_box_w.png
│ │ └── theme.txt
│ └── x86_64-efi
│ ├── acpi.mod
│ ├── adler32.mod
│ ├── affs.mod
│ ├── afs.mod
│ ├── ahci.mod
│ ├── all_video.mod
│ ├── aout.mod
│ ├── appleldr.mod
│ ├── archelp.mod
│ ├── at_keyboard.mod
│ ├── ata.mod
│ ├── backtrace.mod
│ ├── bfs.mod
│ ├── bitmap.mod
│ ├── bitmap_scale.mod
│ ├── blocklist.mod
│ ├── boot.mod
│ ├── boottime.mod
│ ├── bsd.mod
│ ├── bswap_test.mod
│ ├── btrfs.mod
│ ├── bufio.mod
│ ├── cacheinfo.mod
│ ├── cat.mod
│ ├── cbfs.mod
│ ├── cbls.mod
│ ├── cbmemc.mod
│ ├── cbtable.mod
│ ├── cbtime.mod
│ ├── chain.mod
│ ├── cmdline_cat_test.mod
│ ├── cmp.mod
│ ├── cmp_test.mod
│ ├── command.lst
│ ├── configfile.mod
│ ├── core.efi
│ ├── cpio.mod
│ ├── cpio_be.mod
│ ├── cpuid.mod
│ ├── crc64.mod
│ ├── crypto.lst
│ ├── crypto.mod
│ ├── cryptodisk.mod
│ ├── cs5536.mod
│ ├── ctz_test.mod
│ ├── date.mod
│ ├── datehook.mod
│ ├── datetime.mod
│ ├── disk.mod
│ ├── diskfilter.mod
│ ├── div.mod
│ ├── div_test.mod
│ ├── dm_nv.mod
│ ├── echo.mod
│ ├── efi_gop.mod
│ ├── efi_uga.mod
│ ├── efifwsetup.mod
│ ├── efinet.mod
│ ├── ehci.mod
│ ├── elf.mod
│ ├── eval.mod
│ ├── exfat.mod
│ ├── exfctest.mod
│ ├── ext2.mod
│ ├── extcmd.mod
│ ├── f2fs.mod
│ ├── fat.mod
│ ├── file.mod
│ ├── fixvideo.mod
│ ├── font.mod
│ ├── fs.lst
│ ├── fshelp.mod
│ ├── functional_test.mod
│ ├── gcry_arcfour.mod
│ ├── gcry_blowfish.mod
│ ├── gcry_camellia.mod
│ ├── gcry_cast5.mod
│ ├── gcry_crc.mod
│ ├── gcry_des.mod
│ ├── gcry_dsa.mod
│ ├── gcry_idea.mod
│ ├── gcry_md4.mod
│ ├── gcry_md5.mod
│ ├── gcry_rfc2268.mod
│ ├── gcry_rijndael.mod
│ ├── gcry_rmd160.mod
│ ├── gcry_rsa.mod
│ ├── gcry_seed.mod
│ ├── gcry_serpent.mod
│ ├── gcry_sha1.mod
│ ├── gcry_sha256.mod
│ ├── gcry_sha512.mod
│ ├── gcry_tiger.mod
│ ├── gcry_twofish.mod
│ ├── gcry_whirlpool.mod
│ ├── geli.mod
│ ├── gettext.mod
│ ├── gfxmenu.mod
│ ├── gfxterm.mod
│ ├── gfxterm_background.mod
│ ├── gfxterm_menu.mod
│ ├── gptsync.mod
│ ├── grub.efi
│ ├── gzio.mod
│ ├── halt.mod
│ ├── hashsum.mod
│ ├── hdparm.mod
│ ├── hello.mod
│ ├── help.mod
│ ├── hexdump.mod
│ ├── hfs.mod
│ ├── hfsplus.mod
│ ├── hfspluscomp.mod
│ ├── http.mod
│ ├── iorw.mod
│ ├── iso9660.mod
│ ├── jfs.mod
│ ├── jpeg.mod
│ ├── keylayouts.mod
│ ├── keystatus.mod
│ ├── ldm.mod
│ ├── legacy_password_test.mod
│ ├── legacycfg.mod
│ ├── linux.mod
│ ├── linux16.mod
│ ├── loadbios.mod
│ ├── loadenv.mod
│ ├── loopback.mod
│ ├── ls.mod
│ ├── lsacpi.mod
│ ├── lsefi.mod
│ ├── lsefimmap.mod
│ ├── lsefisystab.mod
│ ├── lsmmap.mod
│ ├── lspci.mod
│ ├── lssal.mod
│ ├── luks.mod
│ ├── lvm.mod
│ ├── lzopio.mod
│ ├── macbless.mod
│ ├── macho.mod
│ ├── mdraid09.mod
│ ├── mdraid09_be.mod
│ ├── mdraid1x.mod
│ ├── memdisk.mod
│ ├── memrw.mod
│ ├── minicmd.mod
│ ├── minix.mod
│ ├── minix2.mod
│ ├── minix2_be.mod
│ ├── minix3.mod
│ ├── minix3_be.mod
│ ├── minix_be.mod
│ ├── mmap.mod
│ ├── moddep.lst
│ ├── modinfo.sh
│ ├── morse.mod
│ ├── mpi.mod
│ ├── msdospart.mod
│ ├── mul_test.mod
│ ├── multiboot.mod
│ ├── multiboot2.mod
│ ├── nativedisk.mod
│ ├── net.mod
│ ├── newc.mod
│ ├── nilfs2.mod
│ ├── normal.mod
│ ├── ntfs.mod
│ ├── ntfscomp.mod
│ ├── odc.mod
│ ├── offsetio.mod
│ ├── ohci.mod
│ ├── part_acorn.mod
│ ├── part_amiga.mod
│ ├── part_apple.mod
│ ├── part_bsd.mod
│ ├── part_dfly.mod
│ ├── part_dvh.mod
│ ├── part_gpt.mod
│ ├── part_msdos.mod
│ ├── part_plan.mod
│ ├── part_sun.mod
│ ├── part_sunpc.mod
│ ├── partmap.lst
│ ├── parttool.lst
│ ├── parttool.mod
│ ├── password.mod
│ ├── password_pbkdf2.mod
│ ├── pata.mod
│ ├── pbkdf2.mod
│ ├── pbkdf2_test.mod
│ ├── pcidump.mod
│ ├── pgp.mod
│ ├── play.mod
│ ├── png.mod
│ ├── priority_queue.mod
│ ├── probe.mod
│ ├── procfs.mod
│ ├── progress.mod
│ ├── raid5rec.mod
│ ├── raid6rec.mod
│ ├── random.mod
│ ├── rdmsr.mod
│ ├── read.mod
│ ├── reboot.mod
│ ├── regexp.mod
│ ├── reiserfs.mod
│ ├── relocator.mod
│ ├── romfs.mod
│ ├── scsi.mod
│ ├── search.mod
│ ├── search_fs_file.mod
│ ├── search_fs_uuid.mod
│ ├── search_label.mod
│ ├── serial.mod
│ ├── setjmp.mod
│ ├── setjmp_test.mod
│ ├── setpci.mod
│ ├── sfs.mod
│ ├── shift_test.mod
│ ├── shim_lock.mod
│ ├── signature_test.mod
│ ├── sleep.mod
│ ├── sleep_test.mod
│ ├── spkmodem.mod
│ ├── squash4.mod
│ ├── strtoull_test.mod
│ ├── syslinuxcfg.mod
│ ├── tar.mod
│ ├── terminal.lst
│ ├── terminal.mod
│ ├── terminfo.mod
│ ├── test.mod
│ ├── test_blockarg.mod
│ ├── testload.mod
│ ├── testspeed.mod
│ ├── tftp.mod
│ ├── tga.mod
│ ├── time.mod
│ ├── tpm.mod
│ ├── tr.mod
│ ├── trig.mod
│ ├── true.mod
│ ├── udf.mod
│ ├── ufs1.mod
│ ├── ufs1_be.mod
│ ├── ufs2.mod
│ ├── uhci.mod
│ ├── usb.mod
│ ├── usb_keyboard.mod
│ ├── usbms.mod
│ ├── usbserial_common.mod
│ ├── usbserial_ftdi.mod
│ ├── usbserial_pl2303.mod
│ ├── usbserial_usbdebug.mod
│ ├── usbtest.mod
│ ├── verifiers.mod
│ ├── video.lst
│ ├── video.mod
│ ├── video_bochs.mod
│ ├── video_cirrus.mod
│ ├── video_colors.mod
│ ├── video_fb.mod
│ ├── videoinfo.mod
│ ├── videotest.mod
│ ├── videotest_checksum.mod
│ ├── wrmsr.mod
│ ├── xfs.mod
│ ├── xnu.mod
│ ├── xnu_uuid.mod
│ ├── xnu_uuid_test.mod
│ ├── xzio.mod
│ ├── zfs.mod
│ ├── zfscrypt.mod
│ ├── zfsinfo.mod
│ └── zstd.mod
├── initramfs-linux-fallback.img
├── initramfs-linux.img
└── vmlinuz-linux
7 directories, 314 files
First, set the root passwd:
passwd
Second, create a regular user and password:
useradd -m user
passwd user
Create a hostname (the network name of the computer), see ArchWiki/hostname:
echo coolhostname > /etc/hostname
Install the DHCP client daemon:
pacman -S dhcpcd
Tell Runit about it:
ln -s /etc/runit/sv/dhcpcd /etc/runit/runsvdir/default/
Setup /etc/hosts
, see ArchWiki/Domain_name_resolution. Here is an example (columns divided by tabs):
# Static table lookup for hostnames.
# See hosts(5) for details.
127.0.0.1 localhost
::1 localhost
127.0.1.1 lappi.localdomain lappi
For wireless netowrking, install wpa_supplicant
. It contains the main program wpa_supplicant
, the passphrase tool wpa_passphrase
, and the text front-end wpa_cli
.
pacman -S wpa_supplicant
Follow instructions in ArchWiki/Network_configuration/Wireless and then in ArchWiki/Wpa_supplicant. It probably boils down to this:
Presuming the WiFi card is on PCI, list all PCI devides, find it there as Network controller
, kernel module iwlwifi
:
lspci -k
Also check the output of the ip link
command to see if a wireless interface was created, usually the interface is named wlp2s0
or wlan0
:
Then bring the interface up with:
ip link set wlp2s0 up
Now use a network manager to establish a connection. In our case we are using wpa_supplicant
. In order to use wpa_cli
, a control interface must be specified for wpa_supplicant
, and it must be given the rights to update the configuration. Do this by creating a minimal configuration file /etc/wpa_supplicant/wpa_supplicant.conf
:
ctrl_interface=/run/wpa_supplicant
update_config=1
Now start wpa_supplicant with:
wpa_supplicant -B -i interface -c /etc/wpa_supplicant/wpa_supplicant.conf
At this point run:
wpa_cli
This will present an interactive prompt (>
), which has tab completion and descriptions of completed commands.
> scan
OK
<3>CTRL-EVENT-SCAN-RESULTS
> scan_results
bssid / frequency / signal level / flags / ssid
00:00:00:00:00:00 2462 -49 [WPA2-PSK-CCMP][ESS] MYSSID
11:11:11:11:11:11 2437 -64 [WPA2-PSK-CCMP][ESS] ANOTHERSSID
To associate with MYSSID, add the network, set the credentials and enable it:
> add_network
0
> set_network 0 ssid "MYSSID"
> set_network 0 psk "passphrase"
> enable_network 0
<2>CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:00 completed (reauth) [id=0 id_str=]
Continue adding your networks. Each time you type add_network
, the network ID will count up: 0, 1, 2, ...
. Finally save this network in the configuration file and quit wpa_cli:
> save_config
OK
> quit
The /etc/wpa_supplicant/wpa_supplicant.conf
should be now updated with SSIDs and passwords. However, it is safer to connect using the PSK passphrase. wpa_passphrase
is a command line tool which generates the minimal configuration needed by wpa_supplicant. For example:
wpa_passphrase MYSSID passphrase
network={
ssid="MYSSID"
#psk="passphrase"
psk=59e0d07fa4c7741797a4e394f38a5c321e3bed51d54ad5fcbd3f84bc7415d73d
}
You can use this to append the output of wpa_passphrase
to /etc/wpa_supplicant/wpa_supplicant.conf
and then edit out the entries created by wpa_cli
and delete the commented human-readable password lines from the appended wpa_passphrase
outputs.
Once association is complete, you must obtain an IP address, for example, using dhcpcd
ArchWiki/Dhcpcd.
Tell Runit about wpa_supplicant to make it start automatically:
ln -s /etc/runit/sv/wpa_supplicant /etc/runit/runsvdir/default/
Exit chroot environment:
exit
Unmount drives:
umount -R /mnt
Reboot:
reboot
If everything was right, system will boot and have a wireless internet connection.
Install xorg. there's an undergoing cleanup which leads to problems currently (2020-01) and can be resolved by ignoring xorg-server-xdmx:
pacman -S xorg --ignore xorg-server-xdmx
I have a legacy nvidia card Geforce GTX 675M which is not supported by nvidia
closed-source drivers. I cannot use the normal nvidia legacy drivers nvidia-390xx
because Artix uses a custom kernel. Therefore I must install nvidia-390xx-dkms
which can adapt to custom kernels. Also we need linux-headers
:
pacman -S linux-headers
pacman -S nvidia-390xx-dkms nvidia-390xx-settings nvidia-390xx-utils
The dkms drivers are built for the custom kernel everytime the kernel gets reinstalled (thanks to ArchWiki/Pacman#hooks). That's why we reinstall the kernel:
pacman -S linux
After the kernel reinstallation the system needs to be restarted. Before restart, uname -r
still reports the old kernel version for which the nvidia drivers were not built. After reboot uname -r
will report the new kernel version and the drivers will work with it.
The nvidia drivers have a configuration tool which creates a primitive configuration file in /etc/X11/xorg.conf
which can be used to create the real configuration files in /etc/X11/xorg.conf.d/
(or a custom-set directory). Run the nvidia configuration:
nvidia-xconfig --xconfig=/root/xorg.conf.new
X.org is configured using an alphabetically sorted series of configuration files in /etc/X11/xorg.conf.d/
, e.g. 10-server conf 20-nvidia.conf 30-monitor.conf 40-modules.conf
. The configuration data are distributed among them. The complete configuration data may look like this:
# cat /etc/X11/xorg.conf.d/*
Section "ServerLayout"
Identifier "Manually configured"
Screen "Laptop Screen"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Device"
Identifier "Nvidia Card"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection
Section "Monitor"
Identifier "Laptop LCD"
VendorName "Samsung"
DisplaySize 381 215
EndSection
Section "Screen"
Identifier "Laptop Screen"
Device "Nvidia Card"
Monitor "Laptop LCD"
DefaultDepth 24
SubSection "Display"
Modes "1920x1080"
Depth 24
EndSubSection
EndSection
Section "Module"
Load "glx"
EndSection
If the graphics card drivers were installed correctly, X should initialize flawlessly:
xinit
The X GUI can be left by jumping back to tty1
(press Ctrl-Alt-F1). The running X process can be aborted (Ctrl-C). /var/log/Xorg.0.log
should show a successful loading of the graphics card drivers, e.g. this:
[ 2739.966] (WW) Failed to open protocol names file lib/xorg/protocol.txt
[ 2739.966]
X.Org X Server 1.20.8
X Protocol Version 11, Revision 0
[ 2739.968] Build Operating System: Linux Artix Linux
[ 2739.969] Current Operating System: Linux lappi 5.6.6-artix1-1 #1 SMP PREEMPT Tue, 21 Apr 2020 13:54:16 +0000 x86_64
[ 2739.969] Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=16211fe2-0927-4853-af22-b701645183fd rw loglevel=3 random.trust_cpu=on resume=UUID=8a8c0b83-8b6f-4fea-bd4a-905e7b51ebb4 quiet
[ 2739.970] Build Date: 30 March 2020 02:12:50PM
[ 2739.971]
[ 2739.971] Current version of pixman: 0.38.4
[ 2739.972] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 2739.972] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 2739.974] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Apr 24 11:08:51 2020
[ 2739.975] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 2739.975] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 2739.975] (==) ServerLayout "Manually configured"
[ 2739.975] (**) |-->Screen "Laptop Screen" (0)
[ 2739.975] (**) | |-->Monitor "Laptop LCD"
[ 2739.975] (**) | |-->Device "Nvidia Card"
[ 2739.976] (**) |-->Input Device "Mouse0"
[ 2739.976] (**) |-->Input Device "Keyboard0"
[ 2739.976] (==) Automatically adding devices
[ 2739.976] (==) Automatically enabling devices
[ 2739.976] (==) Automatically adding GPU devices
[ 2739.976] (==) Automatically binding GPU devices
[ 2739.976] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 2739.976] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/misc".
[ 2739.976] Entry deleted from font path.
[ 2739.976] (Run 'mkfontdir' on "/usr/share/fonts/misc").
[ 2739.976] (WW) The directory "/usr/share/fonts/TTF" does not exist.
[ 2739.976] Entry deleted from font path.
[ 2739.976] (WW) The directory "/usr/share/fonts/OTF" does not exist.
[ 2739.976] Entry deleted from font path.
[ 2739.976] (WW) The directory "/usr/share/fonts/Type1" does not exist.
[ 2739.976] Entry deleted from font path.
[ 2739.976] (==) FontPath set to:
/usr/share/fonts/100dpi,
/usr/share/fonts/75dpi
[ 2739.976] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 2739.976] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[ 2739.976] (WW) Disabling Mouse0
[ 2739.976] (WW) Disabling Keyboard0
[ 2739.976] (II) Module ABI versions:
[ 2739.976] X.Org ANSI C Emulation: 0.4
[ 2739.976] X.Org Video Driver: 24.1
[ 2739.976] X.Org XInput driver : 24.1
[ 2739.976] X.Org Server Extension : 10.0
[ 2739.977] (--) using VT number 7
[ 2739.977] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[ 2739.977] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 2739.978] (**) OutputClass "nvidia" ModulePath extended to "/usr/lib/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/xorg/modules"
[ 2739.979] (--) PCI:*(1@0:0:0) 10de:1212:144d:c0d0 rev 161, Mem @ 0xf6000000/16777216, 0xec000000/67108864, 0xf0000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/131072
[ 2739.979] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[ 2739.979] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
[ 2739.979] (II) LoadModule: "glx"
[ 2739.979] (II) Loading /usr/lib/nvidia/xorg/libglx.so
[ 2739.982] (II) Module glx: vendor="NVIDIA Corporation"
[ 2739.982] compiled for 4.0.2, module version = 1.0.0
[ 2739.982] Module class: X.Org Server Extension
[ 2739.982] (II) NVIDIA GLX Module 390.132 Fri Nov 1 04:00:46 PDT 2019
[ 2739.982] (II) LoadModule: "nvidia"
[ 2739.982] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[ 2739.982] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 2739.982] compiled for 4.0.2, module version = 1.0.0
[ 2739.982] Module class: X.Org Video Driver
[ 2739.982] (II) NVIDIA dlloader X Driver 390.132 Fri Nov 1 03:36:28 PDT 2019
[ 2739.982] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 2739.983] (II) Loading sub module "fb"
[ 2739.983] (II) LoadModule: "fb"
[ 2739.984] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 2739.984] (II) Module fb: vendor="X.Org Foundation"
[ 2739.984] compiled for 1.20.8, module version = 1.0.0
[ 2739.984] ABI class: X.Org ANSI C Emulation, version 0.4
[ 2739.984] (II) Loading sub module "wfb"
[ 2739.984] (II) LoadModule: "wfb"
[ 2739.984] (II) Loading /usr/lib/xorg/modules/libwfb.so
[ 2739.984] (II) Module wfb: vendor="X.Org Foundation"
[ 2739.984] compiled for 1.20.8, module version = 1.0.0
[ 2739.984] ABI class: X.Org ANSI C Emulation, version 0.4
[ 2739.984] (II) Loading sub module "ramdac"
[ 2739.984] (II) LoadModule: "ramdac"
[ 2739.984] (II) Module "ramdac" already built-in
[ 2739.986] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[ 2739.986] (==) NVIDIA(0): RGB weight 888
[ 2739.986] (==) NVIDIA(0): Default visual is TrueColor
[ 2739.986] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 2739.986] (II) Applying OutputClass "nvidia" options to /dev/dri/card0
[ 2739.986] (**) NVIDIA(0): Option "AllowEmptyInitialConfiguration"
[ 2739.986] (**) NVIDIA(0): Enabling 2D acceleration
[ 2740.370] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
[ 2740.370] (--) NVIDIA(0): CRT-0
[ 2740.370] (--) NVIDIA(0): DFP-0
[ 2740.370] (--) NVIDIA(0): DFP-1
[ 2740.370] (--) NVIDIA(0): DFP-2
[ 2740.370] (--) NVIDIA(0): DFP-3 (boot)
[ 2740.371] (II) NVIDIA(0): NVIDIA GPU GeForce GTX 675M (GF114) at PCI:1:0:0 (GPU-0)
[ 2740.371] (--) NVIDIA(0): Memory: 2097152 kBytes
[ 2740.371] (--) NVIDIA(0): VideoBIOS: 70.24.43.00.12
[ 2740.371] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[ 2740.371] (--) NVIDIA(GPU-0): CRT-0: disconnected
[ 2740.372] (--) NVIDIA(GPU-0): CRT-0: 400.0 MHz maximum pixel clock
[ 2740.372] (--) NVIDIA(GPU-0):
[ 2740.372] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 2740.372] (--) NVIDIA(GPU-0): DFP-0: Internal TMDS
[ 2740.372] (--) NVIDIA(GPU-0): DFP-0: 165.0 MHz maximum pixel clock
[ 2740.372] (--) NVIDIA(GPU-0):
[ 2740.372] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 2740.372] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 2740.372] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 2740.372] (--) NVIDIA(GPU-0):
[ 2740.372] (--) NVIDIA(GPU-0): DFP-2: disconnected
[ 2740.372] (--) NVIDIA(GPU-0): DFP-2: Internal DisplayPort
[ 2740.372] (--) NVIDIA(GPU-0): DFP-2: 480.0 MHz maximum pixel clock
[ 2740.372] (--) NVIDIA(GPU-0):
[ 2740.372] (--) NVIDIA(GPU-0): Seiko/Epson SAMSUNG173HT02-C01 (DFP-3): connected
[ 2740.372] (--) NVIDIA(GPU-0): Seiko/Epson SAMSUNG173HT02-C01 (DFP-3): Internal DisplayPort
[ 2740.372] (--) NVIDIA(GPU-0): Seiko/Epson SAMSUNG173HT02-C01 (DFP-3): 480.0 MHz maximum pixel clock
[ 2740.372] (--) NVIDIA(GPU-0):
[ 2740.373] (II) NVIDIA(0): Validated MetaModes:
[ 2740.373] (II) NVIDIA(0): "DFP-3:1920x1080"
[ 2740.373] (II) NVIDIA(0): Virtual screen size determined to be 1920 x 1080
[ 2740.375] (--) NVIDIA(0): DPI set to (128, 124); computed from "UseEdidDpi" X config
[ 2740.375] (--) NVIDIA(0): option
[ 2740.376] (II) NVIDIA: Using 6144.00 MB of virtual memory for indirect memory
[ 2740.376] (II) NVIDIA: access.
[ 2740.378] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[ 2740.378] (II) NVIDIA(0): may not be running or the "AcpidSocketPath" X
[ 2740.378] (II) NVIDIA(0): configuration option may not be set correctly. When the
[ 2740.378] (II) NVIDIA(0): ACPI event daemon is available, the NVIDIA X driver will
[ 2740.378] (II) NVIDIA(0): try to use it to receive ACPI event notifications. For
[ 2740.378] (II) NVIDIA(0): details, please see the "ConnectToAcpid" and
[ 2740.378] (II) NVIDIA(0): "AcpidSocketPath" X configuration options in Appendix B: X
[ 2740.378] (II) NVIDIA(0): Config Options in the README.
[ 2740.399] (II) NVIDIA(0): Setting mode "DFP-3:1920x1080"
[ 2741.463] (==) NVIDIA(0): Disabling shared memory pixmaps
[ 2741.463] (==) NVIDIA(0): Backing store enabled
[ 2741.463] (==) NVIDIA(0): Silken mouse disabled
[ 2741.463] (==) NVIDIA(0): DPMS enabled
[ 2741.463] (II) Loading sub module "dri2"
[ 2741.463] (II) LoadModule: "dri2"
[ 2741.463] (II) Module "dri2" already built-in
[ 2741.463] (II) NVIDIA(0): [DRI2] Setup complete
[ 2741.463] (II) NVIDIA(0): [DRI2] VDPAU driver: nvidia
[ 2741.463] (II) Initializing extension Generic Event Extension
[ 2741.463] (II) Initializing extension SHAPE
[ 2741.463] (II) Initializing extension MIT-SHM
[ 2741.463] (II) Initializing extension XInputExtension
[ 2741.463] (II) Initializing extension XTEST
[ 2741.463] (II) Initializing extension BIG-REQUESTS
[ 2741.463] (II) Initializing extension SYNC
[ 2741.463] (II) Initializing extension XKEYBOARD
[ 2741.463] (II) Initializing extension XC-MISC
[ 2741.464] (II) Initializing extension SECURITY
[ 2741.464] (II) Initializing extension XFIXES
[ 2741.464] (II) Initializing extension RENDER
[ 2741.464] (II) Initializing extension RANDR
[ 2741.464] (II) Initializing extension COMPOSITE
[ 2741.464] (II) Initializing extension DAMAGE
[ 2741.464] (II) Initializing extension MIT-SCREEN-SAVER
[ 2741.464] (II) Initializing extension DOUBLE-BUFFER
[ 2741.464] (II) Initializing extension RECORD
[ 2741.464] (II) Initializing extension DPMS
[ 2741.464] (II) Initializing extension Present
[ 2741.464] (II) Initializing extension DRI3
[ 2741.464] (II) Initializing extension X-Resource
[ 2741.464] (II) Initializing extension XVideo
[ 2741.464] (II) Initializing extension XVideo-MotionCompensation
[ 2741.464] (II) Initializing extension XFree86-VidModeExtension
[ 2741.464] (II) Initializing extension XFree86-DGA
[ 2741.464] (II) Initializing extension XFree86-DRI
[ 2741.464] (II) Initializing extension DRI2
[ 2741.464] (II) Initializing extension GLX
[ 2741.464] (II) Initializing extension GLX
[ 2741.464] (II) Indirect GLX disabled.
[ 2741.464] (II) Initializing extension NV-GLX
[ 2741.464] (II) Initializing extension NV-CONTROL
[ 2741.464] (II) Initializing extension XINERAMA
[ 2741.523] (II) config/udev: Adding input device Power Button (/dev/input/event2)
[ 2741.523] (**) Power Button: Applying InputClass "libinput keyboard catchall"
[ 2741.523] (II) LoadModule: "libinput"
[ 2741.523] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[ 2741.525] (II) Module libinput: vendor="X.Org Foundation"
[ 2741.525] compiled for 1.20.7, module version = 0.29.0
[ 2741.525] Module class: X.Org XInput Driver
[ 2741.525] ABI class: X.Org XInput driver, version 24.1
[ 2741.525] (II) Using input driver 'libinput' for 'Power Button'
[ 2741.525] (**) Power Button: always reports core events
[ 2741.525] (**) Option "Device" "/dev/input/event2"
[ 2741.525] (**) Option "_source" "server/udev"
[ 2741.526] (II) event2 - Power Button: is tagged by udev as: Keyboard
[ 2741.526] (II) event2 - Power Button: device is a keyboard
[ 2741.527] (II) event2 - Power Button: device removed
[ 2741.565] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input2/event2"
[ 2741.565] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6)
[ 2741.567] (II) event2 - Power Button: is tagged by udev as: Keyboard
[ 2741.567] (II) event2 - Power Button: device is a keyboard
[ 2741.568] (II) config/udev: Adding input device Video Bus (/dev/input/event3)
[ 2741.568] (**) Video Bus: Applying InputClass "libinput keyboard catchall"
[ 2741.568] (II) Using input driver 'libinput' for 'Video Bus'
[ 2741.568] (**) Video Bus: always reports core events
[ 2741.568] (**) Option "Device" "/dev/input/event3"
[ 2741.568] (**) Option "_source" "server/udev"
[ 2741.569] (II) event3 - Video Bus: is tagged by udev as: Keyboard
[ 2741.569] (II) event3 - Video Bus: device is a keyboard
[ 2741.569] (II) event3 - Video Bus: device removed
[ 2741.640] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:07/LNXVIDEO:00/input/input3/event3"
[ 2741.640] (II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD, id 7)
[ 2741.641] (II) event3 - Video Bus: is tagged by udev as: Keyboard
[ 2741.641] (II) event3 - Video Bus: device is a keyboard
[ 2741.642] (II) config/udev: Adding input device Power Button (/dev/input/event1)
[ 2741.642] (**) Power Button: Applying InputClass "libinput keyboard catchall"
[ 2741.642] (II) Using input driver 'libinput' for 'Power Button'
[ 2741.642] (**) Power Button: always reports core events
[ 2741.642] (**) Option "Device" "/dev/input/event1"
[ 2741.642] (**) Option "_source" "server/udev"
[ 2741.643] (II) event1 - Power Button: is tagged by udev as: Keyboard
[ 2741.643] (II) event1 - Power Button: device is a keyboard
[ 2741.643] (II) event1 - Power Button: device removed
[ 2741.685] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1/event1"
[ 2741.685] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 8)
[ 2741.687] (II) event1 - Power Button: is tagged by udev as: Keyboard
[ 2741.687] (II) event1 - Power Button: device is a keyboard
[ 2741.687] (II) config/udev: Adding input device Lid Switch (/dev/input/event0)
[ 2741.687] (II) No input driver specified, ignoring this device.
[ 2741.687] (II) This device may have been added with another device file.
[ 2741.688] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=3 (/dev/input/event7)
[ 2741.688] (II) No input driver specified, ignoring this device.
[ 2741.688] (II) This device may have been added with another device file.
[ 2741.688] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=7 (/dev/input/event8)
[ 2741.688] (II) No input driver specified, ignoring this device.
[ 2741.688] (II) This device may have been added with another device file.
[ 2741.689] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=8 (/dev/input/event9)
[ 2741.689] (II) No input driver specified, ignoring this device.
[ 2741.689] (II) This device may have been added with another device file.
[ 2741.689] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=9 (/dev/input/event10)
[ 2741.689] (II) No input driver specified, ignoring this device.
[ 2741.689] (II) This device may have been added with another device file.
[ 2741.689] (II) config/udev: Adding input device SC-20FHL11146M: SC-20FHL11146M (/dev/input/event6)
[ 2741.689] (**) SC-20FHL11146M: SC-20FHL11146M: Applying InputClass "libinput keyboard catchall"
[ 2741.690] (II) Using input driver 'libinput' for 'SC-20FHL11146M: SC-20FHL11146M'
[ 2741.690] (**) SC-20FHL11146M: SC-20FHL11146M: always reports core events
[ 2741.690] (**) Option "Device" "/dev/input/event6"
[ 2741.690] (**) Option "_source" "server/udev"
[ 2741.691] (II) event6 - SC-20FHL11146M: SC-20FHL11146M: is tagged by udev as: Keyboard
[ 2741.691] (II) event6 - SC-20FHL11146M: SC-20FHL11146M: device is a keyboard
[ 2741.692] (II) event6 - SC-20FHL11146M: SC-20FHL11146M: device removed
[ 2741.765] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/input/input18/event6"
[ 2741.765] (II) XINPUT: Adding extended input device "SC-20FHL11146M: SC-20FHL11146M" (type: KEYBOARD, id 9)
[ 2741.767] (II) event6 - SC-20FHL11146M: SC-20FHL11146M: is tagged by udev as: Keyboard
[ 2741.767] (II) event6 - SC-20FHL11146M: SC-20FHL11146M: device is a keyboard
[ 2741.768] (II) config/udev: Adding input device HDA Intel PCH Mic (/dev/input/event11)
[ 2741.768] (II) No input driver specified, ignoring this device.
[ 2741.768] (II) This device may have been added with another device file.
[ 2741.768] (II) config/udev: Adding input device HDA Intel PCH Headphone (/dev/input/event12)
[ 2741.768] (II) No input driver specified, ignoring this device.
[ 2741.768] (II) This device may have been added with another device file.
[ 2741.769] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event4)
[ 2741.769] (**) AT Translated Set 2 keyboard: Applying InputClass "libinput keyboard catchall"
[ 2741.769] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[ 2741.769] (**) AT Translated Set 2 keyboard: always reports core events
[ 2741.769] (**) Option "Device" "/dev/input/event4"
[ 2741.769] (**) Option "_source" "server/udev"
[ 2741.770] (II) event4 - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
[ 2741.770] (II) event4 - AT Translated Set 2 keyboard: device is a keyboard
[ 2741.771] (II) event4 - AT Translated Set 2 keyboard: device removed
[ 2741.805] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input4/event4"
[ 2741.805] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 10)
[ 2741.807] (II) event4 - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
[ 2741.807] (II) event4 - AT Translated Set 2 keyboard: device is a keyboard
[ 2741.808] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/event13)
[ 2741.808] (**) ETPS/2 Elantech Touchpad: Applying InputClass "libinput touchpad catchall"
[ 2741.808] (II) Using input driver 'libinput' for 'ETPS/2 Elantech Touchpad'
[ 2741.808] (**) ETPS/2 Elantech Touchpad: always reports core events
[ 2741.808] (**) Option "Device" "/dev/input/event13"
[ 2741.808] (**) Option "_source" "server/udev"
[ 2741.810] (II) event13 - ETPS/2 Elantech Touchpad: is tagged by udev as: Touchpad
[ 2741.811] (II) event13 - ETPS/2 Elantech Touchpad: device is a touchpad
[ 2741.811] (II) event13 - ETPS/2 Elantech Touchpad: device removed
[ 2741.872] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input16/event13"
[ 2741.872] (II) XINPUT: Adding extended input device "ETPS/2 Elantech Touchpad" (type: TOUCHPAD, id 11)
[ 2741.873] (**) Option "AccelerationScheme" "none"
[ 2741.873] (**) ETPS/2 Elantech Touchpad: (accel) selected scheme none/0
[ 2741.873] (**) ETPS/2 Elantech Touchpad: (accel) acceleration factor: 2.000
[ 2741.873] (**) ETPS/2 Elantech Touchpad: (accel) acceleration threshold: 4
[ 2741.874] (II) event13 - ETPS/2 Elantech Touchpad: is tagged by udev as: Touchpad
[ 2741.876] (II) event13 - ETPS/2 Elantech Touchpad: device is a touchpad
[ 2741.876] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/mouse0)
[ 2741.876] (II) No input driver specified, ignoring this device.
[ 2741.877] (II) This device may have been added with another device file.
[ 2741.877] (II) config/udev: Adding input device PC Speaker (/dev/input/event5)
[ 2741.877] (II) No input driver specified, ignoring this device.
[ 2741.877] (II) This device may have been added with another device file.
[ 2741.882] (--) NVIDIA(GPU-0): Seiko/Epson SAMSUNG173HT02-C01 (DFP-3): connected
[ 2741.882] (--) NVIDIA(GPU-0): Seiko/Epson SAMSUNG173HT02-C01 (DFP-3): Internal DisplayPort
[ 2741.882] (--) NVIDIA(GPU-0): Seiko/Epson SAMSUNG173HT02-C01 (DFP-3): 480.0 MHz maximum pixel clock
[ 2741.882] (--) NVIDIA(GPU-0):
[ 2746.687] (II) event2 - Power Button: device removed
[ 2746.712] (II) event3 - Video Bus: device removed
[ 2746.778] (II) event1 - Power Button: device removed
[ 2746.818] (II) event6 - SC-20FHL11146M: SC-20FHL11146M: device removed
[ 2746.885] (II) event4 - AT Translated Set 2 keyboard: device removed
[ 2746.912] (II) event13 - ETPS/2 Elantech Touchpad: device removed
[ 2749.726] (II) UnloadModule: "libinput"
[ 2749.726] (II) UnloadModule: "libinput"
[ 2749.726] (II) UnloadModule: "libinput"
[ 2749.726] (II) UnloadModule: "libinput"
[ 2749.726] (II) UnloadModule: "libinput"
[ 2749.726] (II) UnloadModule: "libinput"
[ 2749.773] (II) NVIDIA(GPU-0): Deleting GPU-0
[ 2749.774] (II) Server terminated successfully (0). Closing log file.
Once X is installed and can be initiated, it's time to install a desktop environment, e.g. lxqt
, a display manager, e.g. lxdm
, and a greeter, e.g. lightdm-webkit-theme-litarvan
:
pacman -S lxqt
pacman -S lightdm-runit
pacman -S --needed lightdm-webkit2-greeter lightdm-webkit-theme-litarvan
We need to tell the display manager about the greeter we want to use. For LightDM this is done in /etc/lightdm.conf
in the [Seat:*]
section
greeter-session=lightdm-webkit2-greeter
Now we need to tell Runit about our display manager:
ln -s /etc/runit/sv/lightdm /run/runit/service/
If we are asked about the default Window Manager to use, we select openbox
because it is the default windows manager of LightDM.
Temporarily change the editor of visudo
to vim:
export EDITOR="vim"
run visudo
to edit the /etc/sudoers
file and add the following lines:
# Reset environment by default:
Defaults env_reset
# Set default EDITOR to vim, and do not allow visudo to use EDITOR/VISUAL.
Defaults editor=/usr/bin/vim, !env_editor