<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Astrawso</id>
	<title>Alpine Linux - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Astrawso"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/Astrawso"/>
	<updated>2026-04-30T09:48:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_on_ARM&amp;diff=15603</id>
		<title>Alpine on ARM</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_on_ARM&amp;diff=15603"/>
		<updated>2018-12-09T19:33:34Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Draft}}&lt;br /&gt;
{{Style}}&lt;br /&gt;
{{Move|ARM SOCs}}&lt;br /&gt;
&lt;br /&gt;
(this page is WIP, most info are incomplete and some might be incorrect)&lt;br /&gt;
==Supported SoCs==&lt;br /&gt;
Currently Alpine supports armv6/armhf arch on the following SoCs&lt;br /&gt;
(This is taken from the DTBs which Alpine includes)&lt;br /&gt;
{| class=&amp;quot;wikitable collapsible&amp;quot;&lt;br /&gt;
| am335x-base0033&lt;br /&gt;
| am335x-bone&lt;br /&gt;
| am335x-boneblack&lt;br /&gt;
| am335x-evm&lt;br /&gt;
| am335x-evmsk&lt;br /&gt;
| am335x-nano&lt;br /&gt;
| am335x-pepper&lt;br /&gt;
| am3517-craneboard&lt;br /&gt;
| am3517-evm&lt;br /&gt;
| am3517_mt_ventoux&lt;br /&gt;
| am437x-gp-evm&lt;br /&gt;
|-&lt;br /&gt;
| am437x-sk-evm&lt;br /&gt;
| am43x-epos-evm&lt;br /&gt;
| exynos4210-origen&lt;br /&gt;
| exynos4210-smdkv310&lt;br /&gt;
| exynos4210-trats&lt;br /&gt;
| exynos4210-universal_c210&lt;br /&gt;
| exynos4412-odroidu3&lt;br /&gt;
| exynos4412-odroidx&lt;br /&gt;
| exynos4412-odroidx2&lt;br /&gt;
| exynos4412-origen&lt;br /&gt;
| exynos4412-smdk4412&lt;br /&gt;
| exynos4412-tiny4412&lt;br /&gt;
|-&lt;br /&gt;
| exynos4412-trats2&lt;br /&gt;
| exynos5250-arndale&lt;br /&gt;
| exynos5250-smdk5250&lt;br /&gt;
| exynos5250-snow&lt;br /&gt;
| exynos5260-xyref5260&lt;br /&gt;
| exynos5410-smdk5410&lt;br /&gt;
| exynos5420-arndale-octa&lt;br /&gt;
| exynos5420-peach-pit&lt;br /&gt;
| exynos5420-smdk5420&lt;br /&gt;
| exynos5440-sd5v1&lt;br /&gt;
| exynos5440-ssdk5440&lt;br /&gt;
| exynos5800-peach-pi&lt;br /&gt;
|-&lt;br /&gt;
| imx1-ads&lt;br /&gt;
| imx1-apf9328&lt;br /&gt;
| imx25-eukrea-mbimxsd25-baseboard-cmo-qvga&lt;br /&gt;
| imx25-eukrea-mbimxsd25-baseboard-dvi-svga&lt;br /&gt;
| imx25-eukrea-mbimxsd25-baseboard-dvi-vga&lt;br /&gt;
| imx25-eukrea-mbimxsd25-baseboard&lt;br /&gt;
| imx25-karo-tx25&lt;br /&gt;
| imx25-pdk&lt;br /&gt;
| imx27-apf27&lt;br /&gt;
| imx27-apf27dev&lt;br /&gt;
| imx27-eukrea-mbimxsd27-baseboard&lt;br /&gt;
| imx27-pdk&lt;br /&gt;
|-&lt;br /&gt;
| imx27-phytec-phycard-s-rdk&lt;br /&gt;
| imx27-phytec-phycore-rdk&lt;br /&gt;
| imx31-bug&lt;br /&gt;
| imx35-eukrea-mbimxsd35-baseboard&lt;br /&gt;
| imx35-pdk&lt;br /&gt;
| imx50-evk&lt;br /&gt;
| imx51-apf51&lt;br /&gt;
| imx51-apf51dev&lt;br /&gt;
| imx51-babbage&lt;br /&gt;
| imx51-digi-connectcore-jsk&lt;br /&gt;
| imx51-eukrea-mbimxsd51-baseboard&lt;br /&gt;
| imx53-ard&lt;br /&gt;
|-&lt;br /&gt;
| imx53-m53evk&lt;br /&gt;
| imx53-mba53&lt;br /&gt;
| imx53-qsb&lt;br /&gt;
| imx53-qsrb&lt;br /&gt;
| imx53-smd&lt;br /&gt;
| imx53-tx53-x03x&lt;br /&gt;
| imx53-tx53-x13x&lt;br /&gt;
| imx53-voipac-bsb&lt;br /&gt;
| imx6dl-aristainetos_4&lt;br /&gt;
| imx6dl-aristainetos_7&lt;br /&gt;
| imx6dl-cubox-i&lt;br /&gt;
| imx6dl-dfi-fs700-m60&lt;br /&gt;
|-&lt;br /&gt;
| imx6dl-gw51xx&lt;br /&gt;
| imx6dl-gw52xx&lt;br /&gt;
| imx6dl-gw53xx&lt;br /&gt;
| imx6dl-gw54xx&lt;br /&gt;
| imx6dl-gw552x&lt;br /&gt;
| imx6dl-hummingboard&lt;br /&gt;
| imx6dl-nitrogen6x&lt;br /&gt;
| imx6dl-phytec-pbab01&lt;br /&gt;
| imx6dl-rex-basic&lt;br /&gt;
| imx6dl-riotboard&lt;br /&gt;
| imx6dl-sabreauto&lt;br /&gt;
| imx6dl-sabrelite&lt;br /&gt;
|-&lt;br /&gt;
| imx6dl-sabresd&lt;br /&gt;
| imx6dl-tx6dl-comtft&lt;br /&gt;
| imx6dl-tx6u-801x&lt;br /&gt;
| imx6dl-tx6u-811x&lt;br /&gt;
| imx6dl-wandboard-revb1&lt;br /&gt;
| imx6dl-wandboard&lt;br /&gt;
| imx6q-arm2&lt;br /&gt;
| imx6q-cm-fx6&lt;br /&gt;
| imx6q-cubox-i&lt;br /&gt;
| imx6q-dfi-fs700-m60&lt;br /&gt;
| imx6q-dmo-edmqmx6&lt;br /&gt;
| imx6q-gk802&lt;br /&gt;
|-&lt;br /&gt;
| imx6q-gw51xx&lt;br /&gt;
| imx6q-gw52xx&lt;br /&gt;
| imx6q-gw53xx&lt;br /&gt;
| imx6q-gw5400-a&lt;br /&gt;
| imx6q-gw54xx&lt;br /&gt;
| imx6q-gw552x&lt;br /&gt;
| imx6q-hummingboard&lt;br /&gt;
| imx6q-nitrogen6x&lt;br /&gt;
| imx6q-phytec-pbab01&lt;br /&gt;
| imx6q-rex-pro&lt;br /&gt;
| imx6q-sabreauto&lt;br /&gt;
| imx6q-sabrelite&lt;br /&gt;
|-&lt;br /&gt;
| imx6q-sabresd&lt;br /&gt;
| imx6q-sbc6x&lt;br /&gt;
| imx6q-tx6q-1010-comtft&lt;br /&gt;
| imx6q-tx6q-1010&lt;br /&gt;
| imx6q-tx6q-1020-comtft&lt;br /&gt;
| imx6q-tx6q-1020&lt;br /&gt;
| imx6q-tx6q-1110&lt;br /&gt;
| imx6q-udoo&lt;br /&gt;
| imx6q-wandboard-revb1&lt;br /&gt;
| imx6q-wandboard&lt;br /&gt;
| imx6sl-evk&lt;br /&gt;
| imx6sx-sdb&lt;br /&gt;
|-&lt;br /&gt;
| omap3-beagle-xm-ab&lt;br /&gt;
| omap3-beagle-xm&lt;br /&gt;
| omap3-beagle&lt;br /&gt;
| omap3-cm-t3517&lt;br /&gt;
| omap3-cm-t3530&lt;br /&gt;
| omap3-cm-t3730&lt;br /&gt;
| omap3-devkit8000&lt;br /&gt;
| omap3-evm-37xx&lt;br /&gt;
| omap3-evm&lt;br /&gt;
| omap3-gta04a3&lt;br /&gt;
| omap3-gta04a4&lt;br /&gt;
| omap3-gta04a5&lt;br /&gt;
|-&lt;br /&gt;
| omap3-ha-lcd&lt;br /&gt;
| omap3-ha&lt;br /&gt;
| omap3-igep0020&lt;br /&gt;
| omap3-igep0030&lt;br /&gt;
| omap3-ldp&lt;br /&gt;
| omap3-lilly-dbb056&lt;br /&gt;
| omap3-n9&lt;br /&gt;
| omap3-n900&lt;br /&gt;
| omap3-n950&lt;br /&gt;
| omap3-overo-alto35&lt;br /&gt;
| omap3-overo-chestnut43&lt;br /&gt;
| omap3-overo-gallop43&lt;br /&gt;
|-&lt;br /&gt;
| omap3-overo-palo43&lt;br /&gt;
| omap3-overo-storm-alto35&lt;br /&gt;
| omap3-overo-storm-chestnut43&lt;br /&gt;
| omap3-overo-storm-gallop43&lt;br /&gt;
| omap3-overo-storm-palo43&lt;br /&gt;
| omap3-overo-storm-summit&lt;br /&gt;
| omap3-overo-storm-tobi&lt;br /&gt;
| omap3-overo-summit&lt;br /&gt;
| omap3-overo-tobi&lt;br /&gt;
| omap3-sbc-t3517&lt;br /&gt;
| omap3-sbc-t3530&lt;br /&gt;
| omap3-sbc-t3730&lt;br /&gt;
|-&lt;br /&gt;
| omap3-thunder&lt;br /&gt;
| omap3-zoom3&lt;br /&gt;
| omap3430-sdp&lt;br /&gt;
| omap4-duovero-parlor&lt;br /&gt;
| omap4-panda-a4&lt;br /&gt;
| omap4-panda-es&lt;br /&gt;
| omap4-panda&lt;br /&gt;
| omap4-sdp-es23plus&lt;br /&gt;
| omap4-sdp&lt;br /&gt;
| omap4-var-dvk-om44&lt;br /&gt;
| omap4-var-stk-om44&lt;br /&gt;
| omap5-cm-t54&lt;br /&gt;
|-&lt;br /&gt;
| omap5-sbc-t54&lt;br /&gt;
| omap5-uevm&lt;br /&gt;
| qcom-apq8064-cm-qs600&lt;br /&gt;
| qcom-apq8064-ifc6410&lt;br /&gt;
| qcom-apq8074-dragonboard&lt;br /&gt;
| qcom-apq8084-ifc6540&lt;br /&gt;
| qcom-apq8084-mtp&lt;br /&gt;
| qcom-ipq8064-ap148&lt;br /&gt;
| qcom-msm8660-surf&lt;br /&gt;
| qcom-msm8960-cdp&lt;br /&gt;
| qcom-msm8974-sony-xperia-honami&lt;br /&gt;
| sun4i-a10-a1000&lt;br /&gt;
|-&lt;br /&gt;
| sun4i-a10-ba10-tvbox&lt;br /&gt;
| sun4i-a10-cubieboard&lt;br /&gt;
| sun4i-a10-hackberry&lt;br /&gt;
| sun4i-a10-inet97fv2&lt;br /&gt;
| sun4i-a10-mini-xplus&lt;br /&gt;
| sun4i-a10-olinuxino-lime&lt;br /&gt;
| sun4i-a10-pcduino&lt;br /&gt;
| sun5i-a10s-olinuxino-micro&lt;br /&gt;
| sun5i-a10s-r7-tv-dongle&lt;br /&gt;
| sun5i-a13-hsg-h702&lt;br /&gt;
| sun5i-a13-olinuxino-micro&lt;br /&gt;
| sun5i-a13-olinuxino&lt;br /&gt;
|-&lt;br /&gt;
| sun6i-a31-app4-evb1&lt;br /&gt;
| sun6i-a31-colombus&lt;br /&gt;
| sun6i-a31-hummingbird&lt;br /&gt;
| sun6i-a31-m9&lt;br /&gt;
| sun7i-a20-cubieboard2&lt;br /&gt;
| sun7i-a20-cubietruck&lt;br /&gt;
| sun7i-a20-hummingbird&lt;br /&gt;
| sun7i-a20-i12-tvbox&lt;br /&gt;
| sun7i-a20-olinuxino-lime&lt;br /&gt;
| sun7i-a20-olinuxino-micro&lt;br /&gt;
| sun7i-a20-pcduino3&lt;br /&gt;
| sun8i-a23-ippo-q8h-v5&lt;br /&gt;
|-&lt;br /&gt;
| vexpress-v2p-ca15-tc1&lt;br /&gt;
| vexpress-v2p-ca15_a7&lt;br /&gt;
| vexpress-v2p-ca5s&lt;br /&gt;
| vexpress-v2p-ca9&lt;br /&gt;
| vf610-colibri-eval-v3&lt;br /&gt;
| vf610-cosmic&lt;br /&gt;
| vf610-twr&lt;br /&gt;
|}&lt;br /&gt;
===Install Alpine on supported SoCs===&lt;br /&gt;
(If anyone has any of the above device and has successfully install Alpine on it, please consider to add the missing info)&lt;br /&gt;
&lt;br /&gt;
==Unupported SoCs==&lt;br /&gt;
If you have an armv6/armv7 SoC which is not listed above but is supported by mainline uboot/kernel then it&#039;s still possible to install Alpine&lt;br /&gt;
===Requiremnets===&lt;br /&gt;
* Alpine&#039;s forked uboot to support tarballs (fabled?)&lt;br /&gt;
* serial console&lt;br /&gt;
* crosscompiler/toolchain if you can not compile natively&lt;br /&gt;
===The embedded world===&lt;br /&gt;
A lot of the SoCs have their own way of doing things, although they use uboot and Linux kernel but often they are heavily modified to suit easy flashing of &amp;quot;ROMs&amp;quot; or other unknown reasons, e.g. Rockchip&#039;s notion &amp;quot;partition&amp;quot; are neither DOS nor GPT partitions.&lt;br /&gt;
We are to discuss to install Alpine in a more standard way like x86 with either DOS or GPT partitions. You will most likely have to install/flash the mainline uboot, which can be non-destructive if you use external storage.&lt;br /&gt;
&lt;br /&gt;
====Storage====&lt;br /&gt;
One can load uboot from the following block devices if it&#039;s supported.&lt;br /&gt;
* NAND&lt;br /&gt;
* eMMC&lt;br /&gt;
* SD card&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
====Power on====&lt;br /&gt;
Some SoCs need both SPL and uboot, you need to check uboot for your board. Most (if not all) boards boots from the internal storage first (either NAND or eMMC) you will have to check documentation of your board if you wish to boot the SPL/uboot from SD/USB.&lt;br /&gt;
&lt;br /&gt;
One can view SPL+uboot as BIOS and boot-loader on PC. Think that you could put the BIOS on an external storage :D&lt;br /&gt;
&lt;br /&gt;
Once you have loaded the &amp;quot;standard&amp;quot; uboot, things are more or less like on x86.&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
Either DOS or GPT patitions should work, start of the first partition should be on block 2048 so there are space for SPL/uboot and marked bootable (with&lt;br /&gt;
the MBR bootable flag, or GPT legacy_bios_bootable attribute).&lt;br /&gt;
* SPL starts at block 64 (please consult the docs for your board)&lt;br /&gt;
* uboot starts at block 256 (please consult the docs for your board)&lt;br /&gt;
Just dd SPL and boot with the correct offset to the media you wish to boot&lt;br /&gt;
&lt;br /&gt;
====Booting Linux kernel====&lt;br /&gt;
* uboot uses extlinux.conf file to locate the kernel/initramfs/... just like syslinx, you need to put that file on the partitions which is marked bootable in the /boot directory&lt;br /&gt;
* there should be an extra line &amp;quot;FDTDIR&amp;quot; which points to the DTBs&lt;br /&gt;
e.g.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
label Fedora (3.17.0-0.rc4.git2.1.fc22.armv7hl) 22 (Rawhide)&lt;br /&gt;
	kernel /boot/vmlinuz-3.17.0-0.rc4.git2.1.fc22.armv7hl&lt;br /&gt;
	append ro root=UUID=8eac677f-8ea8-4270-8479-d5ddbb797450 console=ttyS0,115200n8 LANG=en_US.UTF-8 drm.debug=0xf&lt;br /&gt;
	fdtdir /boot/dtb-3.17.0-0.rc4.git2.1.fc22.armv7hl&lt;br /&gt;
	initrd /boot/initramfs-3.17.0-0.rc4.git2.1.fc22.armv7hl.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using QEMU==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemu-system-arm -M vexpress-a9 -kernel zImage -initrd initramfs-grsec -dtb vexpress-v2p-ca9.dtb -hda hda.img -serial stdio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[DIY Fully working Alpine Linux for Allwinner and Other ARM SOCs]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=DIY_Fully_working_Alpine_Linux_for_Allwinner_and_Other_ARM_SOCs&amp;diff=15602</id>
		<title>DIY Fully working Alpine Linux for Allwinner and Other ARM SOCs</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=DIY_Fully_working_Alpine_Linux_for_Allwinner_and_Other_ARM_SOCs&amp;diff=15602"/>
		<updated>2018-12-09T19:32:28Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Style}}&lt;br /&gt;
{{Move|ARM SOCs}}&lt;br /&gt;
&lt;br /&gt;
THIS WORKS - TESTED&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please dont hesitate to contact me at atlury@gmail.com or on oneinsect@gmail.com.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;MAINLINE KERNEL with MAINLINE U-Boot&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Prologue ==&lt;br /&gt;
&lt;br /&gt;
* Please note that most of the below is specific to Nanopi m1 but can be extended to any ARM Soc with understanding&lt;br /&gt;
* Nanopi m1 and Orange Pi PC are very similar except for 512MB more RAM in Orange Pi PC, they have almost similar specifications (USBs, Ethernet, I/Os etc)&lt;br /&gt;
&lt;br /&gt;
Sometimes these SOCs are always being fed with constant 1.3V, like NANO Pi m1 in this case or an Orange PI One. An Orange Pi PC however has programable voltage generator and will reduce voltage.&lt;br /&gt;
&lt;br /&gt;
Primitive voltage regulator feed the H3 all the time with 1.3V in some boards. In this mode throttling is rather inefficient since temperatures do not decrease that much when only clockspeed will be reduced. Therefore expect severe performance problems unless you choose to apply a large heatsink and an additional fan.&lt;br /&gt;
&lt;br /&gt;
Sometimes you have to modify your dts file if your board has a fixed voltage regulator to limit the temperature and prevent the board from completing burning out when you are not using a heat-sink. However I would suggest you use some kind of passive/active cooling for H3 boards.&lt;br /&gt;
&lt;br /&gt;
At the time of writing this article the Nanopi M1 still doesnt have its own .dtb file, hence we use a similar board .dtb file (Orange Pi PC).&lt;br /&gt;
&lt;br /&gt;
You are free to try legacy kernels and the process may vary a bit, please linux-sunxi.org for more information and similar sites. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Infact your SOC may not be supported by mainline kernel itself, however you can still use alpine linux.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lot of people are writing various .dtb files for example below is mainline kernel dts configuration for passive cooling of h3 based boards with fixed voltage regulator&lt;br /&gt;
&lt;br /&gt;
https://github.com/megous/linux/wiki/Fixed-voltage-regulator-test&lt;br /&gt;
&lt;br /&gt;
Written for orange pi one, when treating it as if it had a fixed voltage regulator and it was limiting temperature to ~75°C during stress test. You are free to play around. The internet is huge. Hang out in the IRC channels.&lt;br /&gt;
&lt;br /&gt;
There is a work around for issues wherein at times display doesnt show up, if you use say a DVI to HDMI converter etc. Suggest you use VGA to HDMI or play around with the settings of boot.scr and other files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;We expect as the Alpinelinux kernel versions progress further, you will be able to use Alpinelinux more directly without recompiling your own kernel, initramfs files etc&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comprehensive Introduction ==&lt;br /&gt;
Why do we need alpine linux when there are so many xyz distros available? Well it is one the most lightweight platforms with hot swap support for SD-cards and USB devices. There are options for allocation of SD-card free space for application storage.&lt;br /&gt;
&lt;br /&gt;
There are possibilities to completely upgrade a device running remotely with minimum downtime. Console logins are possible with USB null modems for field servicing. Most importantly you can be rest assured that it can survive against power cuts, restarts. For devices without onboard mmc, especially working on sd-card its way more important.&lt;br /&gt;
&lt;br /&gt;
The philosophy of commit only when required, keeps the entire OS read-only and in-memory without touching the storage at all. Thus devices can survive for longer times without crash.&lt;br /&gt;
&lt;br /&gt;
Arm devices unlike x86 dont come with bios in general. BIOS in x86 PCs is generally, a firmware configuring and connecting the hardware to the operating system and it offers support for a variety of OS and supports new OS versions. &lt;br /&gt;
&lt;br /&gt;
ARM use a different approach involving a boot loader for hardware configuration and operating system start-up. The boot loader is developed specifically for the application, adapted to one well-defined hardware SOC configuration, one operating system and only one version of it, which means you cannot probably use it for other SOCs without significant changes.&lt;br /&gt;
&lt;br /&gt;
We here generally talk about Allwinner especially H3 SOCs but you could probably apply this philosophy to other SOCs. The nanopi m1, Orange pi pc and Orange pi lite are only around $10 making them great home servers, firewalls for lowest possible cost.&lt;br /&gt;
&lt;br /&gt;
A linux os cannot be started just like that on an ARM Device, without a small amount of machine specific code to initialize that system. &lt;br /&gt;
&lt;br /&gt;
There are typically 4 stages involved in the ARM Device boot-up process&lt;br /&gt;
&lt;br /&gt;
* (stage 1) ROM - Reads from initialized persistent storage (selected by boot mode), loads SPL into internal Ram&lt;br /&gt;
* (stage 2) SPL Loader - SPL once loaded does additional setup and loads from persistent storage bootloader (u-boot) into DDR RAM&lt;br /&gt;
* (stage 3) U-boot - U-boot once loaded continues the processor setup and reads the Linux Kernel into DDR RAM&lt;br /&gt;
* (stage 4) Kernel - Once Kernel is loaded, it boots Linux and initializes the user run time environment&lt;br /&gt;
&lt;br /&gt;
The first stage of the boot process is the Secondary Program Loader (SPL). This preliminary piece of code is responsible for board initialization, loading the u-boot binary (“secondary program”) and handling the control flow over to the u-boot main program. It is device specific, and is often provided as a closed source binary blob by the SoC vendor.&lt;br /&gt;
&lt;br /&gt;
The secondary program loader (SPL) and the u-boot binary reside in a special on-board flash memory region or on the first sectors of the uSD/eMMC card. Arm devices use microSD or eMMC modules for storing the SPL and u-boot binary&lt;br /&gt;
&lt;br /&gt;
At the second stage of the boot process, the u-boot main program is executed. U-boot first looks for a custom environment stored at a reserved space on the microSD or eMMC module, or falls back to the compile time default environment if needed. At this time, you can interrupt the automatic boot process by pressing a key on your serial console, which starts an interactive u-boot shell. The u-boot variable called &#039;&#039;&#039;bootdelay&#039;&#039;&#039; specifies the number of seconds to wait for a keypress before continuing automatic boot.&lt;br /&gt;
&lt;br /&gt;
The automatic boot process executes a special u-boot macro, called bootcmd, which loads and executes the following procedures:&lt;br /&gt;
&lt;br /&gt;
 1. (opt.) a custom u-boot environment: uEnv.txt&lt;br /&gt;
 2. (opt.) a precompiled u-boot macro: boot.scr&lt;br /&gt;
 3. the kernel image, e.g. vmlinuz&lt;br /&gt;
 4. (opt.) the device tree binary, e. g. .dtb&lt;br /&gt;
 5. (opt.) the initial ramdisk, e. g. initramfs&lt;br /&gt;
&lt;br /&gt;
The third stage is the loading of the Linux kernel. However, before the Linux kernel takes control, u-boot passes a command line to the kernel containing essential parameters.&lt;br /&gt;
&lt;br /&gt;
For example in u-boot you could set bootargs for it pass to the kernel some parameters&lt;br /&gt;
&lt;br /&gt;
* setenv bootargs /boot/vmlinuz-4.6.0-rc1-sunxi earlyprintk modules=loop,squashfs,sd-mod,usb-storage modloop=/boot/modloop-sunxi console=${console} rootwait panic=10&lt;br /&gt;
&lt;br /&gt;
Parameters can be viewed after the operating system has booted by typing the following into a Terminal window (just an example):&lt;br /&gt;
&lt;br /&gt;
* cat /proc/cmdline root=/dev/mmcblk0p2 rootwait rw console=ttyS0,115200n8 console=tty0 no_console_suspend vdaccfg=0xa00 logo=osd1,loaded,0x7900000,720p,full dmfc=3 cvbsmode=576cvbs hdmimode=1080p m_bpp=32 vout=hdmi disablehpd=true&lt;br /&gt;
&lt;br /&gt;
The kernel initializes the hardware, mount the root file-system (according to the root=.. kernel parameter) and passes the control flow to /sbin/init.&lt;br /&gt;
&lt;br /&gt;
The Linux kernel consists of the following components:&lt;br /&gt;
&lt;br /&gt;
* Kernel image 32 bit platform: &amp;lt;boot-partition&amp;gt;/zImage or &amp;lt;boot-partition&amp;gt;/uImage, depending on your u-boot&#039;s capabilities and configuration&lt;br /&gt;
* Kernel image 64 bit platform: &amp;lt;boot-partition&amp;gt;/Image&lt;br /&gt;
* Device tree binary, a low level device description, specific to your device (&amp;lt;boot-partition&amp;gt;/&amp;lt;board&amp;gt;.dtb)&lt;br /&gt;
* Kernel modules (/lib/modules/&amp;lt;kernel-version&amp;gt;/*)&lt;br /&gt;
* Device firmware (/lib/firmware/*)&lt;br /&gt;
* Kernel C header files (/usr/include/linux)&lt;br /&gt;
&lt;br /&gt;
These components are build out of the kernel sources with the help of the make utility. Usually the kernel image and the device tree binary are loaded from a small vfat boot partition (mounted as /boot or /media/boot), whereas the rest resides in the root file system. &lt;br /&gt;
&lt;br /&gt;
However for our case here, we will have one raw u-boot sector followed by a large fat partition &lt;br /&gt;
&lt;br /&gt;
Each stage adds functionality. It is important to note that SPL, U-Boot and the Linux Kernel are all statically linked to start running at specific locations from a memory map defined by the CPU. That memory map is nothing but a layout that defines where both internal memory and DDR are mapped to. &lt;br /&gt;
&lt;br /&gt;
In here we are concerned with SD-Cards, and depending on how the SD card is connected, the location to where to write the data to can be different. &lt;br /&gt;
&lt;br /&gt;
OKAY WAIT!!! WRITING DATA??? &lt;br /&gt;
&lt;br /&gt;
Dont be confused, yes you will need to compile from source the SPL Loader and write it to SD-Card in a particular way and then compile u-boot from source and write it in a particular and same goes for the rest. Otherwise how will you boot our favorite alpine linux?&lt;br /&gt;
&lt;br /&gt;
But where do you get the sources? Generally if the SOC is supported in Linux (its called mainline) you can directly use the latest kernel, otherwise you will need to get the sources from the SOC manufacturer.&lt;br /&gt;
&lt;br /&gt;
Below is a SD-CARD layout for typical Allwinner which generally combine U-boot with the SPL loader from block 8. This then loads initramfs etc.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;start&amp;quot; is a 1k-block number here. (Multiply it by two to get the corresponding sector number - assuming 512 byte sectors). This layout works generally for Linux Mainline Kernels 4.x and above&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! start&lt;br /&gt;
 ! size&lt;br /&gt;
 ! usage&lt;br /&gt;
 |-&lt;br /&gt;
 | 0 || 8KB || Unused, available for partition table&lt;br /&gt;
 |-&lt;br /&gt;
 | 8 || 1024KB || Initial SPL loader + u-boot (just burn using dd)&lt;br /&gt;
 |-&lt;br /&gt;
 | 1024 || till end || vmlinuz + initramfs + modloop + dtb + Alpine apks folder (format vfat + enable boot flag, preferred from 2048)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please noted in general the third fat partition is from 2048 till end&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notice that while discussing above, I told there are generally four stages, I have infact combined SPL with U-boot and shown as one stage; indeed it is now possible to generate a single file say &#039;&#039;&#039;&amp;quot;u-boot-sunxi-with-spl.bin&amp;quot;&#039;&#039;&#039; while compiling.&lt;br /&gt;
&lt;br /&gt;
And yes, you saw it right, the partition that holds vmlinuz eta al is actually fat and no we will NOT have any issues with symbolic links etc. Yes its not your typical rootfs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The idea is that Alpinelinux beautifully loads and compresses into memory the entire OS and maintains it there, so aspects of symbolic links issues etc never come into picture, as the fat partition is never touched and whenever any changes occur and if and only they are committed, they are saved in a pre-compressed tar.gz archive, saved and then loaded back on fly during the next boot&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
== Boot-loaders aka U-Boot ==&lt;br /&gt;
Let us begin. The first is to understand U-boot.&lt;br /&gt;
&lt;br /&gt;
Distros like alpine linux for that matter any linux do not need to manipulate any kind of bootloader-specific&lt;br /&gt;
configuration data to indicate which storage device the system should boot from.&lt;br /&gt;
&lt;br /&gt;
Distros simply need to copy the boot configuration files in an ext2/3/4 or FAT partition, mark the partition bootable (via&lt;br /&gt;
the MBR bootable flag, or GPT legacy_bios_bootable attribute), and U-Boot (or any other bootloader) will find those boot files and execute them. This is conceptually identical to creating a grub2 configuration file on a desktop PC.&lt;br /&gt;
&lt;br /&gt;
Note that in the absence of any partition that is explicitly marked bootable, &#039;&#039;&#039;U-Boot falls back to searching the first valid partition of a disk for boot configuration files&#039;&#039;&#039;. Other bootloaders are recommended to do the same, since I believe that partition table bootable flags aren&#039;t so commonly used outside the realm of x86 PCs.&lt;br /&gt;
&lt;br /&gt;
U-Boot can also search for boot configuration files from a TFTP server. The standard format for boot configuration files is that of extlinux.conf, as&lt;br /&gt;
handled by U-Boot&#039;s &amp;quot;syslinux&amp;quot; (disk) or &amp;quot;pxe boot&amp;quot; (network).&lt;br /&gt;
&lt;br /&gt;
U-Boot searches for /extlinux/extlinux.conf then /boot/extlinux/extlinux.conf on disk, or pxelinux.cfg/default over the network.&lt;br /&gt;
&lt;br /&gt;
One example extlinux.conf generated by the Alpine Linux installer is:&lt;br /&gt;
  LABEL grsec&lt;br /&gt;
  MENU DEFAULT&lt;br /&gt;
  MENU LABEL Linux grsec&lt;br /&gt;
  LINUX /boot/vmlinuz-grsec&lt;br /&gt;
  INITRD /boot/initramfs-grsec&lt;br /&gt;
  DEVICETREEDIR /boot/dtbs&lt;br /&gt;
  APPEND BOOT_IMAGE=/boot/vmlinuz-grsec modules=loop,squashfs,sd-mod,usb-storage modloop=/boot/modloop-grsec console=${console}&lt;br /&gt;
&lt;br /&gt;
Another example extlinux.conf is:&lt;br /&gt;
  LABEL Linux Mailine 4.6RC2&lt;br /&gt;
  LINUX /boot/vmlinuz-4.6.0-rc1-sunxi&lt;br /&gt;
  INITRD /boot/initramfs-new.uImage&lt;br /&gt;
  FDT /boot/sun8i-h3-orangepi-pc.dtb&lt;br /&gt;
  APPEND BOOT_IMAGE=/boot/vmlinuz-4.6.0-rc1-sunxi modules=loop,squashfs,sd-mod,usb-storage modloop=/boot/modloop-sunxi console=${console}&lt;br /&gt;
&lt;br /&gt;
== What to compile ==&lt;br /&gt;
What are you basically looking for? What files do you need to compile, how and where do you need to compile from? And where do you need to put them? How do you need to put them? Well dont worry we will cover them here.&lt;br /&gt;
&lt;br /&gt;
You will need the following files (incase of mainline or 4.x latest kernels incase your SOC is supported - In our case yes Allwinner H3)&lt;br /&gt;
* U-boot bootloader (aka u-boot-sunxi-with-spl.bin file say for Orange pi pc Allwinner H3) - compiled separately&lt;br /&gt;
* Device specific .dtb file (in here called sun8i-h3-orangepi-pc.dtb) generated as part of your mainline kernel compilation &lt;br /&gt;
* Linux Kernel Image either uImage/zImage (In our case zImage called vmlinuz-4.6-rc1-sunxi)&lt;br /&gt;
* Initramfs file (what is it? you will learn as we progress)&lt;br /&gt;
* modloop file (what is it again? you will learn as we progress)&lt;br /&gt;
* boot.scr or extlinux.conf file for telling U-boot where from and how to find and load all above files into memory&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that we will be using boot.scr going forward instead of extlinux.conf, u-boot generally searches /boot.scr or /boot/boot.scr&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Incase of legacy kernels (3.x etc) you will need the following which we will not cover here&lt;br /&gt;
* uImage (linux kernel)&lt;br /&gt;
* script.bin (converted from fex format, notice if we have fex, we dont need dtb files here)&lt;br /&gt;
* ext4/ext3 rootfs file system&lt;br /&gt;
* U-boot bootloader etc&lt;br /&gt;
&lt;br /&gt;
== Compiling U-boot ==&lt;br /&gt;
You can follow this process or compile it along with Armbian kernel in the next section. Assuming below that you are building on an x64 bit ubuntu 14.04 LTS&lt;br /&gt;
&lt;br /&gt;
* git clone git://git.denx.de/u-boot.git&lt;br /&gt;
&lt;br /&gt;
Determine your build target aka your board. Go to your u-boot tree and search in the directory configs/ for your board, the file name looks like &amp;lt;board_name&amp;gt;_defconfig. So, if your device is orange pi pc your build target is orangepi_pc_defconfig&lt;br /&gt;
&lt;br /&gt;
* make CROSS_COMPILE=arm-linux-gnueabihf- &amp;lt;board_name&amp;gt;_defconfig&lt;br /&gt;
&lt;br /&gt;
* make CROSS_COMPILE=arm-linux-gnueabihf- menuconfig (optional in-case you want to play with menuconfig)&lt;br /&gt;
&lt;br /&gt;
* make CROSS_COMPILE=arm-linux-gnueabihf-&lt;br /&gt;
&lt;br /&gt;
When compiling natively on ARM board, omit the CROSS_COMPILE=…&lt;br /&gt;
&lt;br /&gt;
When the build is completed, there will be &#039;&#039;&#039;u-boot-sunxi-with-spl.bin&#039;&#039;&#039; available in your u-boot tree.&lt;br /&gt;
&lt;br /&gt;
create a file boot.cmd and configure it as above.&lt;br /&gt;
&lt;br /&gt;
== Compiling Kernel with .dtb file ==&lt;br /&gt;
&lt;br /&gt;
The first and foremost thing to compiling a kernel is to verify your SOC is supported by mainline linux kernel. The kernel must also have these options enabled and compiled in, instead of a module (better) &lt;br /&gt;
&lt;br /&gt;
 CONFIG_SQUASHFS=y The squashfs 4.0 is in &amp;quot;misc&amp;quot; under &amp;quot;filesystems&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 CONFIG_BLK_DEV_LOOP=y This is under &amp;quot;Device drivers&amp;quot; -&amp;gt; &amp;quot;Block devices&amp;quot; -&amp;gt; &amp;quot;Loopback device support&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* [*]Enable loadable module support ---&amp;gt;&lt;br /&gt;
*  Device Drivers ---&amp;gt;Graphics support ---&amp;gt;Frame buffer Devices ---&amp;gt;[*]support for frame buffer devices ---&amp;gt;[*]Simple framebuffer support&lt;br /&gt;
*  Device Drivers ---&amp;gt;Graphics support ---&amp;gt;Console display driver support ---&amp;gt;[*]Framebuffer Console support&lt;br /&gt;
&lt;br /&gt;
simplefb is a quick and easy way to get a display up on a HDMI monitor is to build U-Boot with sunxi cfb console support and Don&#039;t forget to change your console in your boot.cmd/boot.scr to console=tty1 to enable the simple framebuffer driver.&lt;br /&gt;
&lt;br /&gt;
Pickup stable release &lt;br /&gt;
&lt;br /&gt;
* git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git&lt;br /&gt;
&lt;br /&gt;
or pick up the sunxi-next branch maintained with all the inclusions that have been accepted, merged and will be included in the next stable release&lt;br /&gt;
&lt;br /&gt;
* git clone git://github.com/linux-sunxi/linux-sunxi.git -b sunxi-next&lt;br /&gt;
&lt;br /&gt;
* make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- sunxi_defconfig&lt;br /&gt;
&lt;br /&gt;
* make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig (you want to include above squashfs and blk_dev_loop with menuconfig)&lt;br /&gt;
&lt;br /&gt;
to build run the following and after the compilation ends, you should have generated both the zImage in arch/arm/boot, and a device tree blob (.dtb) in arch/arm/boot/dts.&lt;br /&gt;
&lt;br /&gt;
* ARCH=arm CROSS_COMPILE=&amp;lt;toolchain-prefix&amp;gt; make zImage dtbs&lt;br /&gt;
&lt;br /&gt;
This device tree blob (or simply dtb) gives to the kernel the description of the hardware it&#039;s currently running on. &lt;br /&gt;
&lt;br /&gt;
In device tree blob (dtb) goal, it&#039;s pretty similar to the FEX scripts that Allwinner uses, yet far more generic. Dont worry remember we shown fex files incase of legacy kernels (3.x etc) converted to script.bin. &lt;br /&gt;
&lt;br /&gt;
Dtb allows to compile a single kernel image that will run on several platforms.&lt;br /&gt;
&lt;br /&gt;
To identify the dtb file that you will use on your board, first look into arch/arm/boot/dts. You should see a whole bunch of them, most being irrelevant to us because targeting boards based on other ARM SoCs. All the sunxi dtb follow the pattern &amp;lt;family&amp;gt;-&amp;lt;soc&amp;gt;-&amp;lt;board&amp;gt;.dtb &lt;br /&gt;
&lt;br /&gt;
If you have configured certain drivers as modules, you need to build and install these as well:&lt;br /&gt;
&lt;br /&gt;
* ARCH=arm CROSS_COMPILE=&amp;lt;toolchain-prefix&amp;gt; INSTALL_MOD_PATH=&amp;lt;any-path-you-like&amp;gt; make modules modules_install&lt;br /&gt;
&lt;br /&gt;
After the build succeeds, you can find the modules in the supplied INSTALL_MOD_PATH directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Armbian has an easy way of compiling kernel as well (just incase), so look below:&#039;&#039;&#039; - Till we fill this section with Alpine way of compiling things&lt;br /&gt;
&lt;br /&gt;
* Create a VM Ubuntu 14.04 LTS x64 server image with 40GB of disk (dont need install any compilation tools, the scripts will download suitable)&lt;br /&gt;
* apt-get -y -qq install git&lt;br /&gt;
* git clone --depth 1 https://github.com/igorpecovnik/lib&lt;br /&gt;
* cp lib/compile.sh .&lt;br /&gt;
* vim compile.sh&lt;br /&gt;
&lt;br /&gt;
Please make sure you have the following options as follows&lt;br /&gt;
&lt;br /&gt;
 KERNEL_ONLY=&amp;quot;yes&amp;quot; //compile only kernel, u-boot and other packages and not buid complete OS image&lt;br /&gt;
 KERNEL_CONFIGURE=&amp;quot;yes&amp;quot;  //to include your modules&lt;br /&gt;
 CLEAN_LEVEL=&amp;quot;make,images,debs&amp;quot;&lt;br /&gt;
 KERNEL_KEEP_CONFIG=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that you can add your patches in the patches folder. All patches must have file name extension .patch.&lt;br /&gt;
&lt;br /&gt;
or use&lt;br /&gt;
&lt;br /&gt;
* ./compile.sh BRANCH=dev BOARD=orangepih3 KERNEL_ONLY=yes PROGRESS_DISPLAY=plain COMPRESS_OUTPUTIMAGE=yes RELEASE=jessie&lt;br /&gt;
&lt;br /&gt;
Let us go with first option. You will prompted to select board. &lt;br /&gt;
&lt;br /&gt;
Select &#039;&#039;&#039;orangepih3&#039;&#039;&#039; and then select &#039;&#039;&#039;dev&#039;&#039;&#039; branch&lt;br /&gt;
&lt;br /&gt;
Select your kernel config options as told above (squashfs modules etc).&lt;br /&gt;
&lt;br /&gt;
Once the compilation is finished in the output folder you will notice the following files&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DTB FILE&#039;&#039;&#039;&lt;br /&gt;
 linux-dtb-dev-sunxi_5.07_armhf.deb -- untar it and it will contain boot/dtb-4.6.0-rc1-sunxi/sun8i-h3-orangepi-pc.dtb&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UBOOT+SPL FILE&#039;&#039;&#039;&lt;br /&gt;
 linux-u-boot-dev-orangepih3_5.07_armhf.deb -- untar it and it will contain usr/lib/linux-u-boot-dev-orangepih3_5.07_armf/u-boot-sunxi-with-spl.bin&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;VMLINUZ KERNEL&#039;&#039;&#039;&lt;br /&gt;
 linux-image-dev-sunxi_5.07_armhf.deb -- untar it and it will contain boot/vmlinuz-4.6.0-rc1-sunxi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MODLOOP FILES&#039;&#039;&#039;&lt;br /&gt;
 linux-image-dev-sunxi_5.07_armhf.deb -- untar it (it should ultimately be in lib/modules/4.6.0-rc1-sunxi)&lt;br /&gt;
 linux-firmware-image-dev-sunxi_5.07_armhf.deb -- untar it (it should ultimately be in /lib/modules/firmware)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INITRAMFS FILES&#039;&#039;&#039;&lt;br /&gt;
 linux-image-dev-sunxi_5.07_armhf.deb -- untar it (it should ultimately be in lib/modules/4.6.0-rc1-sunxi)&lt;br /&gt;
 linux-firmware-image-dev-sunxi_5.07_armhf.deb -- untar it (it should ultimately be in /lib/firmware)&lt;br /&gt;
&lt;br /&gt;
MAKE SURE YOU ALSO GET Generic ARM Image from http://www.alpinelinux.org/downloads/&lt;br /&gt;
&lt;br /&gt;
EXTRACT THE tar.gz file and you will need the &#039;&#039;&#039;initramfs-grsec&#039;&#039;&#039; and the &#039;&#039;&#039;apk folder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Next proceed to below sections.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpinelinux is expected to have a bleeding edge release option soon along with LTS releases.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Creating Initramfs File ==&lt;br /&gt;
The purpose of initrd and initramfs (also known, generically, as &amp;quot;initial RAM disk&amp;quot;) is similar: they contain a minimal root file-system, along with some scripts. When the kernel boots, if it is instructed to use an initrd or initramfs (done with boot loader configuration) it unpacks the file in RAM, chroot()s into it, and run some predefined scripts. Finally, the &amp;quot;real&amp;quot; root file system is mounted, the kernel switches to it and the normal init process can begin.&lt;br /&gt;
&lt;br /&gt;
Why do we need an initial RAM disk in the first place? You&#039;re probably wondering this if you use to build your own kernel with the necessary modules for your hardware built-in. In that case, you almost never need an initial RAM disk.&lt;br /&gt;
&lt;br /&gt;
But many distributions have to ship a binary kernel that should work on most, or even all, different combinations of hardware, storage, file-systems, etc. They can&#039;t obviously build all the possible modules into the kernel. So they ship a minimal, generic kernel, and use an initial RAM disk that contains most hardware modules and some logic to detect which modules need to be loaded to be able to continue to boot the system normally (ie from the hard drive).&lt;br /&gt;
&lt;br /&gt;
An initramfs contains at least one file called /init. This file is executed by the kernel as the main init process (PID 1). It has to do all the work. In addition, there can be any number of additional files and directories that are required by /init. They are usually files you&#039;ll also find on any other root filesystem, such as /dev for device nodes, /proc for kernel information, /bin for binaries, and so on. The structure of an initramfs can be simple, or it can be complicated, depending on what you are planning to do.&lt;br /&gt;
&lt;br /&gt;
When the kernel mounts the initramfs, your target root partition is not yet mounted, so you can&#039;t access any of your files. That means there is nothing but the initramfs. So everything you need, everything you want, you have to include it in your initramfs. If you want a shell, you have to include it in your initramfs. If you want to mount something, you need a mount utility. If you need to load a module, your initramfs has to provide both the module, as well as a utility to load it. If the utility depends on libraries in order to work, you have to include the libraries as well. This seems complicated, and it is, because the initramfs has to function independently.&lt;br /&gt;
&lt;br /&gt;
This means that it&#039;s possible to boot the kernel, load some modules and run some tasks (from the RAM disk), and finally start the normal boot process (/sbin/init etc.). &lt;br /&gt;
&lt;br /&gt;
The initial RAM disk must contain a fully functional file system, including some essential programs and libraries. &lt;br /&gt;
&lt;br /&gt;
For space reasons, small footprint binaries are usually used (eg ash, busybox, or klibc). &lt;br /&gt;
&lt;br /&gt;
Once the initial RAM disk&#039;s job is over and the kernel has switched to the real root file system, the memory used by the RAM disk is freed.&lt;br /&gt;
&lt;br /&gt;
As briefly mentioned, there are two types of initial RAM disk: initrd and initramfs. The main difference is that an initrd contain a raw filesystem image (eg ext2), while an initramfs contains a cpio archive (which, when expanded, produces a directory hierarchy). Note that there are quite a few other differences, not mentioned here. &lt;br /&gt;
&lt;br /&gt;
In both cases, the image file is compressed (typically with gzip) and the kernel expands and mount it. All the recent Linux distribution that use an initial RAM disk use an initramfs image. initrd is being used less and less. To check if the file you&#039;re interested in is an initrd or an initramfs, you can decompress it and feed it to file:&lt;br /&gt;
&lt;br /&gt;
* gunzip -c /boot/initrd-2.6 | file -&lt;br /&gt;
&lt;br /&gt;
Output is as below and that file is a real initrd&lt;br /&gt;
 /dev/stdin: Linux rev 1.0 ext2 filesystem data&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what you&#039;d see with an initramfs:&lt;br /&gt;
*  gunzip -c /root/initrams-grsec | file -&lt;br /&gt;
&lt;br /&gt;
Note the output which says &amp;quot;SVR4 with no CRC&amp;quot; format which will be useful later.&lt;br /&gt;
 /dev/stdin: ASCII cpio archive (SVR4 with no CRC)&lt;br /&gt;
&lt;br /&gt;
Modify initramfs-grsec taken from the Generic ARM Image of Alpinelinux&lt;br /&gt;
---------&lt;br /&gt;
As said, an initramfs image is a compressed cpio archive, although the file name may sometimes be deceiving; sometimes it still has &amp;quot;initrd&amp;quot; in its name, and also many times it does not end in .gz or other suffixes that indicate compression:&lt;br /&gt;
&lt;br /&gt;
* file /root/initrams-grsec&lt;br /&gt;
&lt;br /&gt;
 /boot/root: gzip compressed data, from Unix, last modified:..., max compression&lt;br /&gt;
&lt;br /&gt;
Now cpio is an ancient (and a bit weird) archive format. When de-archiving, it needs to read the archive from standard input (GNU cpio also has a --file option to specify the file on the command line). The directory hierarchy is created in the current working directory. So:&lt;br /&gt;
&lt;br /&gt;
* mkdir temp&lt;br /&gt;
* cd temp&lt;br /&gt;
* gunzip -c /boot/root/initrams-grsec | cpio -i&lt;br /&gt;
28293 blocks&lt;br /&gt;
&lt;br /&gt;
* ls -l &lt;br /&gt;
 total 64....&lt;br /&gt;
 drwxr-xr-x  2 root root 4096 2016-04-28 14:16 bin&lt;br /&gt;
 drwxr-xr-x  3 root root 4096 2016-04-28 14:16 dev&lt;br /&gt;
 drwxr-xr-x  6 root root 4096 2016-04-28 14:16 etc&lt;br /&gt;
 -rwxr-xr-x  1 root root 3355 2016-04-28 14:16 init&lt;br /&gt;
 drwxr-xr-x  5 root root 4096 2016-04-28 14:16 lib/modules/4.6.0-rc1-sunxi&lt;br /&gt;
 drwxr-xr-x  5 root root 4096 2016-04-28 14:16 lib/modules/firmware&lt;br /&gt;
 drwxr-xr-x  2 root root 4096 2016-04-28 14:16 media&lt;br /&gt;
 drwxr-xr-x  2 root root 4096 2016-04-28 14:16 newroot&lt;br /&gt;
 drwxr-xr-x 12 root root 4096 2016-04-28 14:16 proc&lt;br /&gt;
 drwxr-xr-x  3 root root 4096 2016-04-28 14:16 run&lt;br /&gt;
&lt;br /&gt;
Now you can finally edit and change the contents at will (no space limitations, unlike initrd). When you&#039;re done, you have to recreate the compressed cpio archive. Again, cpio is a bit weird when archiving, because it wants to read the names of the files to archive on standard input (and writes the archive on standard output). &lt;br /&gt;
&lt;br /&gt;
* Extract from linux-image-dev-sunxi_5.07_armhf.deb the /lib/modules/4.6.0-rc1-sunxi folder and copy it into the above extracted lib/modules dir.&lt;br /&gt;
&lt;br /&gt;
* Note it may already contain a folder called &amp;quot;4.1.20-0-grsec&amp;quot;, it is not required and you can delete it&lt;br /&gt;
&lt;br /&gt;
* Extract from linux-firmware-image-dev-sunxi_5.07_armhf.deb /lib/firmware folder and copy it into the above extracted lib/modules dir&lt;br /&gt;
&lt;br /&gt;
next you can do as follows:&lt;br /&gt;
&lt;br /&gt;
* pwd&lt;br /&gt;
&lt;br /&gt;
 /root/temp&lt;br /&gt;
&lt;br /&gt;
* find . | cpio -H newc -o | gzip -9 &amp;gt; /root/initramfs-sunxi&lt;br /&gt;
 34207 blocks&lt;br /&gt;
&lt;br /&gt;
The only catch is that the -H newc option must be specified because the cpio archive contained in the initramfs has to be in the (new) &amp;quot;SVR4 with no CRC&amp;quot; portable format, as we saw at the beginning. In case you&#039;re wondering, cpio can create archives in other formats: bin, odc, crc, tar, ustar, hpbin, hpodc are those listed in the info page for GNU cpio.&lt;br /&gt;
&lt;br /&gt;
Note that the construct&lt;br /&gt;
&lt;br /&gt;
* find . | something&lt;br /&gt;
&lt;br /&gt;
is generally considered unsafe and to be avoided in shell scripting, because files could have newlines and control characters in them that could deceive the consumer of those filenames. This is generally not the case for filenames contained in an initramfs image, so it is &amp;quot;safe enough&amp;quot; to use here.&lt;br /&gt;
&lt;br /&gt;
* change back to /root&lt;br /&gt;
&lt;br /&gt;
* mkimage -n initramfs-sunxi -A arm -O linux -T ramdisk -C none -d initramfs-sunxi initramfs-sunxi-new&lt;br /&gt;
&lt;br /&gt;
This will create a u-boot compatible ramdisk with its headers.&lt;br /&gt;
&lt;br /&gt;
So your initramfs file is &#039;&#039;&#039;initramfs-sunxi-new&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Creating modloop File ==&lt;br /&gt;
The modloop file contains the folders like below...&lt;br /&gt;
* /modules/4.6.0-rc1-sunxi&lt;br /&gt;
* /modules/4.6.0-rc1-sunxi/kernel&lt;br /&gt;
* /modules/4.6.0-rc1-sunxi/arch&lt;br /&gt;
* /modules/firmware&lt;br /&gt;
&lt;br /&gt;
If you run the following command on modloop-grsec or any other similar modloop file got from the Generic ARM Image of Alpinelinux&lt;br /&gt;
* file modloop-grsec&lt;br /&gt;
&lt;br /&gt;
You will realize, it outpus as&lt;br /&gt;
 Squashfs filesystem, little endian, version 4.0, xzy bytes, xyz nodes, blocksize: xzy bytes, created...&lt;br /&gt;
&lt;br /&gt;
You can create a &amp;quot;squashfs-temp&amp;quot; directory and create a sub-dir &amp;quot;modules&amp;quot; and then copy above required files concerning your particular kernel from the above deb extracted sources of Armbian and you are good to go. Then just run the command below.&lt;br /&gt;
&lt;br /&gt;
* mksquashfs [source folder] [SquashFS target file] -b 1048576 -comp xz -Xdict-size 100%&lt;br /&gt;
* mksquashfs squashfs-temp/ modloop-sunxi -b 1048576 -comp xz -Xdict-size 100%&lt;br /&gt;
&lt;br /&gt;
Resulting file &#039;&#039;&#039;modloop-sunxi&#039;&#039;&#039; is ready for usage&lt;br /&gt;
&lt;br /&gt;
Please understand that mksquashfs compresses using gzip (deflate) as default, but if the compression time doesn’t matter as much, you should use the xz (LZMA2) option of more recent SquashFS version. Yes please use xz. &lt;br /&gt;
&lt;br /&gt;
The command above activates xz using the highest possible compression options and the highest possible blocksize (1 MiB instead of the default 128 kiB). Therefore the process of creating the SquashFS file is slower than if using default options, but the resulting file is much smaller and might be (depending on disk IO time etc) a bit faster. LZMA2 is a highly asymmetric compression algorithm, so decompression is much faster than compression&lt;br /&gt;
&lt;br /&gt;
The command compresses the entire source folder into the SquashFS target file.&lt;br /&gt;
&lt;br /&gt;
Make sure that the SquashFS target file doesn’t exist before using this command. If it already exists, mksquashfs tries to update it, but this might yield undesirable results (I didn’t check that, it probably only produces a lot of error messages but a valid output file)&lt;br /&gt;
&lt;br /&gt;
You can mount the resulting file using this command (assuming the target folder exists and is empty):&lt;br /&gt;
* mount [SquashFS file] [folder you want to mount it in]&lt;br /&gt;
&lt;br /&gt;
If this command fails, you might need to specify some options explicitly:&lt;br /&gt;
* mount -o loop -t squashfs [SquashFS file] [folder you want to mount it in]&lt;br /&gt;
&lt;br /&gt;
If you want to auto-mount the SquashFS, you can also add an _/etc/fstab _entry like this:&lt;br /&gt;
* [SquashFS file] [folder you want to mount it in] squashfs auto,defaults 0 0&lt;br /&gt;
&lt;br /&gt;
== How to burn to SD Card ==&lt;br /&gt;
Let us write to the SD-Card, I will assume here that you already have compiled your kernel, u-boot and want to move forward.&lt;br /&gt;
&lt;br /&gt;
When we need to actually put things on the SD card, be careful with dd it can and will wipe your hard disk if you make a mistake. In my case I had an SD card reader so I set things to point at that slot only by using the by-id links from udev. These by-id links which include the serial number which helped to avoid mistakes. The following commands assume you have done the same and are using by-id links.&lt;br /&gt;
&lt;br /&gt;
In linux blank the first 1MB of the card using the following (my sd-card is /dev/sda1&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;dd if=/dev/zero of=/dev/sda bs=1M count=1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
But you need to be careful when using dd on special files (i.e., devices).  &lt;br /&gt;
&lt;br /&gt;
For example, the below command will write one tape block of 1024 bytes; &lt;br /&gt;
&lt;br /&gt;
* dd if=(whatever input) of=(a magnetic tape device) bs=1024 count=1 &lt;br /&gt;
&lt;br /&gt;
However, the below command will write 1024 small blocks of one byte each&lt;br /&gt;
 &lt;br /&gt;
* dd if=(whatever input) of=(a magnetic tape device) bs=1 count=1024   &lt;br /&gt;
&lt;br /&gt;
These are not the same; the 1024 small blocks will take up more room on the tape than the one large block, because of inter-record gaps, and may cause problems for reading the tape.&lt;br /&gt;
&lt;br /&gt;
Now Assuming you have got the file u-boot-sunxi-with-spl.bin, it just has to be burned to sd card using the following command:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;dd if=u-boot-sunxi-with-spl.bin of=/dev/sda bs=1024 seek=8&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sometimes depending on how you compile; you can generate spl and u-boot separately (it is not recommended by me) you can install the components separately using&lt;br /&gt;
&lt;br /&gt;
* dd if=spl/sunxi-spl.bin of=/dev/sda bs=1024 seek=8&lt;br /&gt;
* dd if=u-boot.img of=/dev/sda bs=1024 seek=40&lt;br /&gt;
&lt;br /&gt;
Please note, if you are using old source (v2013.07 or earlier, then the procedure is slightly different)&lt;br /&gt;
&lt;br /&gt;
* dd if=spl/sunxi-spl.bin of=/dev/sdX bs=1024 seek=8&lt;br /&gt;
* dd if=u-boot.bin of=/dev/sdX bs=1024 seek=32&lt;br /&gt;
&lt;br /&gt;
Typically for understanding, this is how the layout for SD-Card in above cases is;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! start&lt;br /&gt;
 ! size&lt;br /&gt;
 ! usage&lt;br /&gt;
 |-&lt;br /&gt;
 | 0 || 8KB || Unused, available for partition table etc.&lt;br /&gt;
 |-&lt;br /&gt;
 | 8 || 32KB || Initial SPL loader (8 to 24KB prior to 2013.07 and earlier)&lt;br /&gt;
 |-&lt;br /&gt;
 | 40 || 504KB || U-Boot (32KB to 512KB for 2013.07 and earlier)&lt;br /&gt;
 |-&lt;br /&gt;
 | 544 || 128KB || environment&lt;br /&gt;
 |-&lt;br /&gt;
 | 672 || 352KB || reserved&lt;br /&gt;
 |-&lt;br /&gt;
 | 1024 || - || Free for partitions&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Remember to leave sufficient space for all u-boot files when partitioning the card. The u-boot will not have any partition type defined. Recommended to have first fat partition start at sector 2048 (1MB)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Next Using fdisk, create a new primary partition on the card (so far there are no partitions, only uboot has been burned on the card)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Set the starting sector of the card as 2048&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Now install fat file system on the newly created partition by running mkfs.fat /dev/sda1&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Using fdisk, set the bootable flag of the partition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When setting the bootable flag of the partition, to create a FAT32 partition, if you are using fdisk, the FAT32 partition type is called W95 FAT32 (LBA) and its ID is 0xc&lt;br /&gt;
&lt;br /&gt;
You can rename the sd-card as rootfs...&lt;br /&gt;
&lt;br /&gt;
Please note that with recent U-Boot it&#039;s fine to use ext2/ext3/ext4 as boot partition, or as in our case fat file-systems in the any partition.&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------&lt;br /&gt;
There is debug serial port which you can use to connect to PC using putty set @ 115200 kbps. You should able to watch the following.&lt;br /&gt;
&lt;br /&gt;
 U-Boot SPL 2016.03-armbian (Apr 08 2016 - 01:09:18)&lt;br /&gt;
 DRAM: 512 MiB&lt;br /&gt;
 Failed to set core voltage! Can&#039;t set CPU frequency&lt;br /&gt;
 Trying to boot from MMC1&lt;br /&gt;
 U-Boot 2016.03-armbian (Apr 08 2016 - 01:09:18 +0530) Allwinner Technology&lt;br /&gt;
 CPU:   Allwinner H3 (SUN8I 1680)&lt;br /&gt;
 Model: Xunlong Orange Pi PC&lt;br /&gt;
 I2C:   ready&lt;br /&gt;
 DRAM:  512 MiB&lt;br /&gt;
 MMC:   SUNXI SD/MMC: 0&lt;br /&gt;
 *** Warning - bad CRC, using default environment&lt;br /&gt;
 In:    serial&lt;br /&gt;
 Out:   serial&lt;br /&gt;
 Err:   serial&lt;br /&gt;
 Net:   No ethernet found.&lt;br /&gt;
 starting USB...&lt;br /&gt;
 USB0:   USB EHCI 1.00&lt;br /&gt;
 USB1:   USB OHCI 1.0&lt;br /&gt;
 USB2:   USB EHCI 1.00&lt;br /&gt;
 USB3:   USB OHCI 1.0&lt;br /&gt;
 USB4:   USB EHCI 1.00&lt;br /&gt;
 USB5:   USB OHCI 1.0&lt;br /&gt;
 scanning bus 0 for devices... 1 USB Device(s) found&lt;br /&gt;
 scanning bus 2 for devices... 1 USB Device(s) found&lt;br /&gt;
 scanning bus 4 for devices... 1 USB Device(s) found&lt;br /&gt;
 Hit any key to stop autoboot:  0&lt;br /&gt;
 switch to partitions #0, OK&lt;br /&gt;
 mmc0 is current device&lt;br /&gt;
 Scanning mmc 0:1...&lt;br /&gt;
 Found /boot/extlinux/extlinux.conf&lt;br /&gt;
 Retrieving file: /boot/extlinux/extlinux.conf&lt;br /&gt;
 reading /boot/extlinux/extlinux.conf&lt;br /&gt;
 232 bytes read in 29 ms (7.8 KiB/s)&lt;br /&gt;
 1:      Linux Mailine 4.6RC2&lt;br /&gt;
 Retrieving file: /boot/uinitrd&lt;br /&gt;
 reading /boot/uinitrd&lt;br /&gt;
  **Unable to read file /boot/uinitrd&lt;br /&gt;
  for failure retrieving initrd&lt;br /&gt;
 SCRIPT FAILED: continuing...&lt;br /&gt;
 USB device 0: unknown device&lt;br /&gt;
 No ethernet found.&lt;br /&gt;
 missing environment variable: pxeuuid&lt;br /&gt;
 No ethernet found.&lt;br /&gt;
 Retrieving file: /boot/extlinux/pxelinux.cfg/0&lt;br /&gt;
 No ethernet found.&lt;br /&gt;
 Retrieving file: /boot/extlinux/pxelinux.cfg/default-arm-sunxi&lt;br /&gt;
 No ethernet found.&lt;br /&gt;
 Retrieving file: /boot/extlinux/pxelinux.cfg/default-arm&lt;br /&gt;
 No ethernet found.&lt;br /&gt;
 Retrieving file: /boot/extlinux/pxelinux.cfg/default&lt;br /&gt;
 No ethernet found.&lt;br /&gt;
 Config file not found&lt;br /&gt;
 No ethernet found.&lt;br /&gt;
 =&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use the following to browser through the sd-card&lt;br /&gt;
* fatls mmc 0:1 boot&lt;br /&gt;
&lt;br /&gt;
Next step would require simply copying the required files like boot configuration files, kernels etc in the above FAT partition (note there is only one FAT partition and it is marked as bootable) and U-Boot (or any other bootloader) will find those boot files and execute them.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Assuming you have compiled vmlinuz-4.6.0-rc1-sunxi, you can create a directory called /boot in the root of micro-sd fat partition and copy it there.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Similarly create another folder called /boot/dtbs in the micro-sd card and copy the corresponding sun8i-h3-orangepi-pc.dtb file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Similarly create boot.scr and copy it to the /boot folder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basically while booting, U-boot will look for uEnv.txt or boot.scr in the first partition FAT or it will look for extlinux.conf. In here we will define boot.scr. &lt;br /&gt;
&lt;br /&gt;
boot.scr contains needed uboot commands for loading kernel, initrd, setting kernel parameters and booting.&lt;br /&gt;
&lt;br /&gt;
To create boot.scr first make a u-boot script boot.cmd with the u-boot commands you need for booting the system:&lt;br /&gt;
&lt;br /&gt;
* setenv fdt_high ffffffff&lt;br /&gt;
* setenv machid 1029 &lt;br /&gt;
* setenv bootargs earlyprintk /boot/vmlinuz-4.6.0-rc1-sunxi modules=loop,squashfs,sd-mod,usb-storage modloop=/boot/modloop-sunxi console=${console} &lt;br /&gt;
* load mmc 0:1 0x43000000 boot/dtbs/sun8i-h3-orangepi-pc.dtb&lt;br /&gt;
* load mmc 0:1 0x41000000 boot/vmlinuz-4.6.0-rc1-sunxi&lt;br /&gt;
* load mmc 0:1 0x45000000 boot/initramfs-sunxi-new&lt;br /&gt;
* bootz 0x41000000 0x45000000 0x43000000&lt;br /&gt;
&lt;br /&gt;
Then translate this to a boot.scr by using the mkimage command&lt;br /&gt;
&lt;br /&gt;
 mkimage -C none -A arm -T script -d boot.cmd boot.scr&lt;br /&gt;
&lt;br /&gt;
If you are using an older U-Boot (you shouldn&#039;t - Which?), you might require the following line, &#039;&#039;&#039;fdt_high ffffffff&#039;&#039;&#039; to keep the extracted kernel from overwriting the device tree configuration, however in general you dont require it.&lt;br /&gt;
&lt;br /&gt;
setenv is for setting flags in the u-boot environment&lt;br /&gt;
&lt;br /&gt;
The bootm/bootz command is used to start operating system images. From the image header it gets information about the type of the operating system, the file compression method used (if any), the load and entry point addresses, etc. The command will then load the image to the required memory address, uncompressing it on the fly if necessary. Depending on the OS it will pass the required boot arguments and start the OS at it&#039;s entry point.&lt;br /&gt;
&lt;br /&gt;
The first argument to bootm is the memory address (in RAM, ROM or flash memory) where the image is stored, followed by optional arguments that depend on the OS. Load is nothing but loading the file into the RAM location.&lt;br /&gt;
&lt;br /&gt;
Linux requires the flattened device tree blob to be passed at boot time, and bootm expects its third argument to be the address of the blob in memory. &lt;br /&gt;
&lt;br /&gt;
Second argument to bootm depends on whether an initrd initial ramdisk image is to be used. If the kernel should be booted without the initial ramdisk, the second argument should be given as &amp;quot;-&amp;quot;, otherwise it is interpreted as the start address of initrd (in RAM, ROM or flash memory).&lt;br /&gt;
&lt;br /&gt;
To boot a Linux kernel image without a initrd ramdisk image, the following command can be used:&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; bootm ${kernel_addr} - ${fdt_addr}&lt;br /&gt;
If a ramdisk image shall be used, you can type:&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}&lt;br /&gt;
Both examples of course imply that the variables used are set to correct addresses for a kernel, fdt blob and a initrd ramdisk image&lt;br /&gt;
&lt;br /&gt;
 bootm &amp;lt;Linux uImage address&amp;gt; &amp;lt;mkimage wrapped ramdisk address&amp;gt; &amp;lt;device tree (dtb) address&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the bootm/bootz command, U-Boot is relocating the images before it boots Linux such that the addresses above may not be what the kernel sees. U-Boot also alters the device tree to tell the kernel where the ramdisk image is located in memory (initrd-start and initrd-end). The command sets the r2 register to the address of the device tree in memory which is not done by the go command.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Remember the console=${console} is important for you to interact with Alpinelinux once it boots&#039;&#039;&lt;br /&gt;
* &#039;&#039;Instead of bootm, you use bootz&#039;&#039;&lt;br /&gt;
* &#039;&#039;bootz basically starts a kernel image loaded at the given address in RAM along with other images &#039;&#039;&lt;br /&gt;
* &#039;&#039;You could possibly use 0x42000000 for your vmlinuz&#039;&#039;&lt;br /&gt;
* &#039;&#039;the setenv machid commands asks nanopi m1 to report itself as orange pi pc as we loading orange pi pc dtb and kernel&#039;&#039;&lt;br /&gt;
* &#039;&#039;all the above commands can also be run via the u-boot prompt and examined via the serial debug port without compiling boot.cmd&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
People generally caution as below:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;The new kernels have CMA enabled by default. CMA is trying to reserve 192MB of physically contiguous memory between physical addresses 0x43000000 and 0x50000000. Using specifically this address range is important because CedarX hardware can work only with the first 256MB of physical DRAM (the base physical address of DRAM is 0x40000000). Now if initrd is placed by u-boot somewhere in the middle of this memory area (cutting it into two halves), then CMA can&#039;t reserve physically contiguous 192MB memory block there anymore. So the reservation of the CMA memory area fails at boot time:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;The solution for this problem is not to place initrd anywhere between 0x43000000 and 0x50000000&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Make sure you also create and copy the files modloop-sunxi, initramfs-sunxi-new to the /boot folder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lastly copy the apks folder to the root of the sdcard&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The apks folder can be extracted by downloading the Generic ARM Image from http://www.alpinelinux.org/downloads/&lt;br /&gt;
&lt;br /&gt;
Your SD-Card will look as below.&lt;br /&gt;
* /boot&lt;br /&gt;
* /apks&lt;br /&gt;
&lt;br /&gt;
and under /boot directory, the following&lt;br /&gt;
* /boot/dtbs/sun8i-h3-orangepi-pc.dtb&lt;br /&gt;
* /boot/boot.scr&lt;br /&gt;
* /boot/initramfs-new&lt;br /&gt;
* /boot/modloop-sunxi&lt;br /&gt;
* /boot/vmlinuz-4.6.0-rc1-sunxi&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Practice, read, ask, hang out in the forums, channels and that is how you can learn. Dont worry about people not responding, they are not being rude, some could be busy, the ones that aren&#039;t will respond, finally dont be shy, drop an email to the mailing list.&lt;br /&gt;
&lt;br /&gt;
== For debugging purposes only ==&lt;br /&gt;
need to paste tested scenarios&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Cgit&amp;diff=15601</id>
		<title>Cgit</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Cgit&amp;diff=15601"/>
		<updated>2018-12-09T19:31:12Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Draft}}&lt;br /&gt;
{{Merge|Git}}&lt;br /&gt;
&lt;br /&gt;
[http://hjemli.net/git/cgit/ cgit] is a CGI-application that was written in C and a web interface for git repositories provides.&lt;br /&gt;
&lt;br /&gt;
Running instance: [http://git.alpinelinux.org/ git.alpinelinux.org]&lt;br /&gt;
&lt;br /&gt;
==  Lighttpd ==&lt;br /&gt;
Make sure that [[Lighttpd]] is already installed.&lt;br /&gt;
{{Cmd|rc-service lighttpd status}}&lt;br /&gt;
You will receive the lighttpd status as &#039;&#039;&#039;stopped&#039;&#039;&#039; or &#039;&#039;&#039;started&#039;&#039;&#039; if it is already installed. If you receive the answer: &#039;&#039;&#039;service `lighttpd&#039; does not exist.&#039;&#039;&#039; issue the command below:&lt;br /&gt;
{{Cmd|apk add lighttpd}}&lt;br /&gt;
&lt;br /&gt;
Create a cgit.conf file into the lighttpd directory with the following content:&lt;br /&gt;
{{Cat|/etc/lighttpd/cgit.conf|&amp;lt;nowiki&amp;gt;server.modules += (&amp;quot;mod_redirect&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_alias&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_cgi&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_fastcgi&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_rewrite&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
var.webapps  = &amp;quot;/usr/share/webapps/&amp;quot;&lt;br /&gt;
$HTTP[&amp;quot;url&amp;quot;] =~ &amp;quot;^/cgit&amp;quot; {&lt;br /&gt;
    server.document-root = webapps&lt;br /&gt;
    server.indexfiles = (&amp;quot;cgit.cgi&amp;quot;)&lt;br /&gt;
    cgi.assign = (&amp;quot;cgit.cgi&amp;quot; =&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
    mimetype.assign = ( &amp;quot;.css&amp;quot; =&amp;gt; &amp;quot;text/css&amp;quot; )&lt;br /&gt;
}&lt;br /&gt;
url.redirect = (&lt;br /&gt;
    &amp;quot;^/git/(.*)$&amp;quot; =&amp;gt; &amp;quot;/cgit/cgit.cgi/$1&amp;quot;,&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Finally, add the following line to the lighttpd.conf file:&lt;br /&gt;
{{Cat|/etc/lighttpd/lighttpd.conf|&amp;lt;nowiki&amp;gt;include &amp;quot;cgit.conf&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== cgit ==&lt;br /&gt;
Install cgit&lt;br /&gt;
&lt;br /&gt;
{{cmd|apk add cgit git}}&lt;br /&gt;
&lt;br /&gt;
Initialize a sample git repository&lt;br /&gt;
&lt;br /&gt;
{{cmd|git init --bare /var/git/sample.git}}&lt;br /&gt;
&lt;br /&gt;
Edit the /etc/cgitrc file:&lt;br /&gt;
{{cmd|vi /etc/cgitrc}}&lt;br /&gt;
&lt;br /&gt;
And make sure you have at least the following lines:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/etc/cgitrc|css{{=}}/cgit/cgit.css&lt;br /&gt;
logo{{=}}/cgit/cgit.png&lt;br /&gt;
scan-path{{=}}/var/git/ &lt;br /&gt;
enable-git-config{{=}}1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you want to group your repositories, add the every repository to a group.&lt;br /&gt;
{{Cat|/etc/cgitrc|repo.group{{=}}Sample group}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Cgit&amp;diff=15600</id>
		<title>Cgit</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Cgit&amp;diff=15600"/>
		<updated>2018-12-09T19:30:51Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Draft}}&lt;br /&gt;
{{Merge|Git|Info should be merged into Git}}&lt;br /&gt;
&lt;br /&gt;
[http://hjemli.net/git/cgit/ cgit] is a CGI-application that was written in C and a web interface for git repositories provides.&lt;br /&gt;
&lt;br /&gt;
Running instance: [http://git.alpinelinux.org/ git.alpinelinux.org]&lt;br /&gt;
&lt;br /&gt;
==  Lighttpd ==&lt;br /&gt;
Make sure that [[Lighttpd]] is already installed.&lt;br /&gt;
{{Cmd|rc-service lighttpd status}}&lt;br /&gt;
You will receive the lighttpd status as &#039;&#039;&#039;stopped&#039;&#039;&#039; or &#039;&#039;&#039;started&#039;&#039;&#039; if it is already installed. If you receive the answer: &#039;&#039;&#039;service `lighttpd&#039; does not exist.&#039;&#039;&#039; issue the command below:&lt;br /&gt;
{{Cmd|apk add lighttpd}}&lt;br /&gt;
&lt;br /&gt;
Create a cgit.conf file into the lighttpd directory with the following content:&lt;br /&gt;
{{Cat|/etc/lighttpd/cgit.conf|&amp;lt;nowiki&amp;gt;server.modules += (&amp;quot;mod_redirect&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_alias&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_cgi&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_fastcgi&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_rewrite&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
var.webapps  = &amp;quot;/usr/share/webapps/&amp;quot;&lt;br /&gt;
$HTTP[&amp;quot;url&amp;quot;] =~ &amp;quot;^/cgit&amp;quot; {&lt;br /&gt;
    server.document-root = webapps&lt;br /&gt;
    server.indexfiles = (&amp;quot;cgit.cgi&amp;quot;)&lt;br /&gt;
    cgi.assign = (&amp;quot;cgit.cgi&amp;quot; =&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
    mimetype.assign = ( &amp;quot;.css&amp;quot; =&amp;gt; &amp;quot;text/css&amp;quot; )&lt;br /&gt;
}&lt;br /&gt;
url.redirect = (&lt;br /&gt;
    &amp;quot;^/git/(.*)$&amp;quot; =&amp;gt; &amp;quot;/cgit/cgit.cgi/$1&amp;quot;,&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Finally, add the following line to the lighttpd.conf file:&lt;br /&gt;
{{Cat|/etc/lighttpd/lighttpd.conf|&amp;lt;nowiki&amp;gt;include &amp;quot;cgit.conf&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== cgit ==&lt;br /&gt;
Install cgit&lt;br /&gt;
&lt;br /&gt;
{{cmd|apk add cgit git}}&lt;br /&gt;
&lt;br /&gt;
Initialize a sample git repository&lt;br /&gt;
&lt;br /&gt;
{{cmd|git init --bare /var/git/sample.git}}&lt;br /&gt;
&lt;br /&gt;
Edit the /etc/cgitrc file:&lt;br /&gt;
{{cmd|vi /etc/cgitrc}}&lt;br /&gt;
&lt;br /&gt;
And make sure you have at least the following lines:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/etc/cgitrc|css{{=}}/cgit/cgit.css&lt;br /&gt;
logo{{=}}/cgit/cgit.png&lt;br /&gt;
scan-path{{=}}/var/git/ &lt;br /&gt;
enable-git-config{{=}}1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you want to group your repositories, add the every repository to a group.&lt;br /&gt;
{{Cat|/etc/cgitrc|repo.group{{=}}Sample group}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Development_using_git:Cgit&amp;diff=15599</id>
		<title>Development using git:Cgit</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Development_using_git:Cgit&amp;diff=15599"/>
		<updated>2018-12-09T19:29:07Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Merge|Development using git:Developer repositories|It&#039;s not easy at a glance to sort out what&#039;s (i) general info about using cgit (for any project), and what&#039;s (ii) specific to coordinating with the Alpine developer repositories. Might we either merge these pages, or segregate the information into (i) and (ii)?}}&lt;br /&gt;
&lt;br /&gt;
{{Merge|Git|All basic {{Pkg|cgit}} info should be pulled and merged. All Alpine development info should be moved elsewhere}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Developers with SSH access can publish their repositories on [[Cgit|cgit]] at [http://git.alpinelinux.org/ git.alpinelinux.org].&lt;br /&gt;
&lt;br /&gt;
== Create a repository ==&lt;br /&gt;
Create a directory on your local computer or somewhere you have access. If you already have an existing git repository, skip this section.&lt;br /&gt;
&lt;br /&gt;
{{cmd|mkdir myrepo&lt;br /&gt;
cd myrepo}}&lt;br /&gt;
init git and create a first commit&lt;br /&gt;
{{cmd|echo &amp;quot;testing&amp;quot; &amp;gt; test.txt&lt;br /&gt;
git init&lt;br /&gt;
git add .&lt;br /&gt;
git commit -m &#039;initial commit&#039;}}&lt;br /&gt;
&lt;br /&gt;
== Create a bare repo ==&lt;br /&gt;
Clone it to a bare repo&lt;br /&gt;
&lt;br /&gt;
{{cmd|cd ..&lt;br /&gt;
git clone --bare myrepo myrepo.git}}&lt;br /&gt;
&lt;br /&gt;
Set the description&lt;br /&gt;
{{cmd|echo &amp;quot;My git/cgit test repo&amp;quot; &amp;gt; myrepo.git/description}}&lt;br /&gt;
&lt;br /&gt;
Set the section and your name for cgit. &lt;br /&gt;
&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;cat &amp;lt;&amp;lt;EOF &amp;gt;&amp;gt; myrepo.git/cgitrc&lt;br /&gt;
&amp;gt; section=Developer Your_alias&lt;br /&gt;
&amp;gt; owner=Your_full_name&lt;br /&gt;
&amp;gt; EOF&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{Note|The &#039;description&#039; file and &#039;cgitrc&#039; file are needed to make cgit publish information about your repo.}}&lt;br /&gt;
&lt;br /&gt;
== Upload to git.alpinelinux.org ==&lt;br /&gt;
&lt;br /&gt;
Copy the content to your the ~/cgit directory on [http://git.alpinelinux.org/ git.alpinelinux.org].&lt;br /&gt;
&lt;br /&gt;
{{cmd|scp -r myrepo.git git.alpinelinux.org:cgit/}}&lt;br /&gt;
&lt;br /&gt;
== Clean up ==&lt;br /&gt;
We no longer need the local aports.git directory.&lt;br /&gt;
{{cmd|rm -rf myrepo.git}}&lt;br /&gt;
&lt;br /&gt;
== Last step ==&lt;br /&gt;
Now ping &amp;lt;tt&amp;gt;ncopa&amp;lt;/tt&amp;gt; or somebody else on IRC in [[IRC|#alpine-devel]] with the corresponding permissions to create symlinks on [http://git.alpinelinux.org/ git.alpinelinux.org] and your repository will show up. Once the symlink is created all further repositories will be published on [http://git.alpinelinux.org/ git.alpinelinux.org].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add your personal repository ==&lt;br /&gt;
&lt;br /&gt;
So far git does not know anything about about your repositories.&lt;br /&gt;
&lt;br /&gt;
{{Cmd|cd myrepo&lt;br /&gt;
git remote add origin ssh://git.alpinelinux.org/gitroot/username/myrepo.git}}&lt;br /&gt;
&lt;br /&gt;
== Add upstream source to merge with ==&lt;br /&gt;
If the project you uploaded is a clone of an existing repository (aports for example), add the original source as a git remote repository (&amp;quot;upstream&amp;quot; can be whatever name you want to assign to the remote repository):&lt;br /&gt;
&lt;br /&gt;
{{Cmd|git remote add upstream git://git.alpinelinux.org/aports}}&lt;br /&gt;
&lt;br /&gt;
Then, to synchronize your local copy with upstream then push your changes (might need to fix merge conflicts if/when they happen):&lt;br /&gt;
&lt;br /&gt;
{{cmd|git pull upstream master&lt;br /&gt;
git push}}&lt;br /&gt;
&lt;br /&gt;
== The quick way ==&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;cd ..&lt;br /&gt;
git clone --bare acf-mystuff acf-mystuff.git&lt;br /&gt;
echo &amp;quot;My acf-mystuff repo&amp;quot; &amp;gt; acf-mystuff.git/description&lt;br /&gt;
echo &amp;quot;section=Developer user&amp;quot; &amp;gt; acf-mystuff.git/cgitrc&lt;br /&gt;
scp -r acf-mystuff.git user@dev.alpinelinux.org:cgit/&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Talk:Development_using_git:Cgit&amp;diff=15598</id>
		<title>Talk:Development using git:Cgit</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Talk:Development_using_git:Cgit&amp;diff=15598"/>
		<updated>2018-12-09T19:25:32Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: Created page with &amp;quot;Best to segregate into using cgit (i) and developing alpine with git (ii) --~~~~&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Best to segregate into using cgit (i) and developing alpine with git (ii) --[[User:Astrawso|Astrawso]] ([[User talk:Astrawso|talk]]) 19:25, 9 December 2018 (UTC)&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Include:Git_Basics&amp;diff=15597</id>
		<title>Include:Git Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Include:Git_Basics&amp;diff=15597"/>
		<updated>2018-12-09T19:23:29Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Move|Git|All git development articles should be consolidated}}&lt;br /&gt;
&lt;br /&gt;
== Stashing ==&lt;br /&gt;
&lt;br /&gt;
{{Cmd|git stash}} if you want to &amp;quot;hide&amp;quot; your changes.  Do this if you think there may be other commits against the same things you are working on and want to refresh your local checkout (using a &amp;lt;tt&amp;gt;git pull --rebase&amp;lt;/tt&amp;gt;) from the master. Use &amp;lt;tt&amp;gt;git stash apply&amp;lt;/tt&amp;gt; to get your stash back. &lt;br /&gt;
&lt;br /&gt;
== Reset your local repository ==&lt;br /&gt;
&lt;br /&gt;
{{Cmd|git checkout -f master}} if you think your tree is pretty hopeless, need a kill-and-fill to bring the master into your local repository. You will lose local changes.&lt;br /&gt;
&lt;br /&gt;
== List the local branch ==&lt;br /&gt;
You can now list your local branch by doing&lt;br /&gt;
{{Cmd|git branch}}&lt;br /&gt;
which should ouput&lt;br /&gt;
 * master&lt;br /&gt;
&lt;br /&gt;
== List your local non committed changes ==&lt;br /&gt;
 {{Cmd|git status}}&lt;br /&gt;
&lt;br /&gt;
== Commit ==&lt;br /&gt;
Now you can start to work on your tree. As soon as you feel you have reached a step in development where you can commit your work &#039;&#039;&#039;locally&#039;&#039;&#039;, use&lt;br /&gt;
 {{Cmd|git commit -a}}&lt;br /&gt;
or&lt;br /&gt;
 {{Cmd|git commit &amp;lt;specific files&amp;gt;}}&lt;br /&gt;
or&lt;br /&gt;
 {{Cmd|git add &amp;lt;specific files&amp;gt;&lt;br /&gt;
git commit}}&lt;br /&gt;
&lt;br /&gt;
If you wish to give credit to someone else&#039;s work (e.g. you are applying a third party patch):&lt;br /&gt;
 {{Cmd|git commit &amp;lt;specific files&amp;gt; --author &amp;quot;Name Surname &amp;lt;user@example.com&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
The format of the commit message should be:&lt;br /&gt;
 One-line description that&#039;s less than 72 chars long&lt;br /&gt;
 &#039;&#039;&amp;lt;second line empty&amp;gt;&#039;&#039;&lt;br /&gt;
 Optional longer description with explanation why changes were made. Links to relevant issues&lt;br /&gt;
 in Bugtracker can be done with:&lt;br /&gt;
 &lt;br /&gt;
   ref #&amp;lt;issuenumber&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 It is also possible to resolve issues with:&lt;br /&gt;
 &lt;br /&gt;
   fixes #&amp;lt;issuenumber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Think of first line as the subject in an email and the third line and on as the body of the email, describing what the commit does. You don&#039;t need the long description but the first line, the short description should be there as it will be showed in the commit log.&lt;br /&gt;
&lt;br /&gt;
{{tip|You can add the following line to your {{path|~/.vimrc}}:&amp;lt;pre&amp;gt;autocmd FileType gitcommit set textwidth=72&amp;lt;/pre&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
== List your commits ==&lt;br /&gt;
 {{Cmd|git log}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Keeping your local working branch in sync ==&lt;br /&gt;
Pull the changes from upstream (git.alpinelinux.org)&lt;br /&gt;
{{Cmd|git pull --rebase}}&lt;br /&gt;
{{tip|You can tell git to use rebase, rather than merge (means that &#039;--rebase&#039; would automatically be issued at &#039;git pull&#039;).&amp;lt;BR&amp;gt;&lt;br /&gt;
Run the command: {{Cmd|git config branch.origin.rebase true}} Next time you do &#039;git pull&#039; you are actually doing a &#039;git pull --rebase&#039;.}}&lt;br /&gt;
&lt;br /&gt;
== Git Tag ==&lt;br /&gt;
Create an annotated tag and push it.&lt;br /&gt;
&lt;br /&gt;
{{Cmd|git tag -a &#039;&#039;tagname&#039;&#039; -m &#039;commit message (e.g release 1.x)&#039;&lt;br /&gt;
git push &amp;amp;&amp;amp; git push --tags}}&lt;br /&gt;
&lt;br /&gt;
== Create a new project ==&lt;br /&gt;
Create your own directory that you want to become your new acf-mystuff project.&lt;br /&gt;
{{Cmd|mkdir acf-mystuff&lt;br /&gt;
cd acf-mystuff&lt;br /&gt;
git init}}&lt;br /&gt;
&lt;br /&gt;
Create your files and add/commit them to your git-project&lt;br /&gt;
{{Cmd|git add ./&lt;br /&gt;
git commit}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Git&amp;diff=15596</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Git&amp;diff=15596"/>
		<updated>2018-12-09T19:22:55Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Move|Git|All git development articles should be consolidated}}&lt;br /&gt;
&lt;br /&gt;
This document describes how to use [http://git-scm.com git] for Alpine Linux development and related projects. If you just want to browse the Alpine git repositories, please visit [http://git.alpinelinux.org/cgit/aports git.alpinelinux.org].&lt;br /&gt;
&lt;br /&gt;
== Basic Git usage ==&lt;br /&gt;
&lt;br /&gt;
{{:Development_using_git:Configuration}}&lt;br /&gt;
&lt;br /&gt;
{{Tip| If you want to use git with colored output use:&lt;br /&gt;
 {{Cmd|git config --global color.ui true&lt;br /&gt;
git config --global core.pager more}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Tip| If you want to use git with proxy server:&lt;br /&gt;
 {{Cmd|git config --global http.proxy http://proxy_ip:proxy_port}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{:Development_using_git:Email}}&lt;br /&gt;
&lt;br /&gt;
== Cloning a repository via Git ==&lt;br /&gt;
&lt;br /&gt;
There are two ways to work with the Alpine git repository...&lt;br /&gt;
&lt;br /&gt;
* ...without write access.&lt;br /&gt;
* ...with write access.&lt;br /&gt;
&lt;br /&gt;
[http://git.alpinelinux.org/cgit/aports git.alpinelinux.org] shows all available Alpine git repositories.&lt;br /&gt;
&lt;br /&gt;
=== Without write access ===&lt;br /&gt;
&lt;br /&gt;
If you want to clone the Alpine aports repository, switch to the directory you want to have the &#039;&#039;aports/&#039;&#039; directory in and launch git.&lt;br /&gt;
 &lt;br /&gt;
{{Cmd|git clone git://git.alpinelinux.org/aports.git}}&lt;br /&gt;
&lt;br /&gt;
{{Tip| If you are using proxy server:&lt;br /&gt;
 {{Cmd|git clone http://git.alpinelinux.org/cgit/aports}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you want only the last 3 revisions:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|git clone git://git.alpinelinux.org/aports.git --depth 3}}&lt;br /&gt;
&lt;br /&gt;
Use the command below to see the full log of the trunk. &lt;br /&gt;
&lt;br /&gt;
{{Cmd|git log}}&lt;br /&gt;
&lt;br /&gt;
=== With write access ===&lt;br /&gt;
&lt;br /&gt;
If you have write access to the Alpine the URL needs to be adjusted for cloning a repository&lt;br /&gt;
&lt;br /&gt;
{{Cmd|git clone ssh://username@git.alpinelinux.org/aports.git}}&lt;br /&gt;
&lt;br /&gt;
== General GIT Workflow ==&lt;br /&gt;
# Make your file edits in your local checkout of the local copy of repository.&lt;br /&gt;
# Commit the changes in your local repository: {{Cmd|git commit}}&lt;br /&gt;
# Bring the rest of your local repository up to date: {{Cmd|git pull --rebase}}&lt;br /&gt;
# Check what you are going to push: {{Cmd|git log origin..master}}&lt;br /&gt;
# Move your changes up to the master if you have write access {{Cmd|git push}} or [[Creating_patches|create a patch]] if not.&lt;br /&gt;
&lt;br /&gt;
== Other related articles ==&lt;br /&gt;
&lt;br /&gt;
* [[Development_using_git:Basic_usage| Basic usage]]&lt;br /&gt;
* [[Package Maintainers]]&lt;br /&gt;
* [[Creating patches]]&lt;br /&gt;
* [[Development_using_git:Developer_repositories|Developer repositories]]&lt;br /&gt;
* [[Development_using_git:Cgit| Using Cgit]]&lt;br /&gt;
* [[Development using git:Quality assurance]]&lt;br /&gt;
* [[Gitolite]]&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
{{:Development_using_git:Documentation}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Development_using_git:Quality_assurance&amp;diff=15595</id>
		<title>Development using git:Quality assurance</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Development_using_git:Quality_assurance&amp;diff=15595"/>
		<updated>2018-12-09T19:22:18Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Move|Git|All git development articles should be consolidated}}&lt;br /&gt;
&lt;br /&gt;
Before pushing anything to it is good to make sure that:&lt;br /&gt;
* The package actually builds&lt;br /&gt;
* Commit message is good&lt;br /&gt;
* pkgrel is bumped if needed&lt;br /&gt;
* no whitespace damage (last chars of a line is whitespace)&lt;br /&gt;
&lt;br /&gt;
The following git hook will help you catch some common errors early:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# Redirect output to stderr.&lt;br /&gt;
exec 1&amp;gt;&amp;amp;2&lt;br /&gt;
&lt;br /&gt;
git diff --cached --name-only HEAD | grep &#039;APKBUILD$&#039; | while read f; do&lt;br /&gt;
        olddir=$PWD&lt;br /&gt;
        cd ${f%/APKBUILD}&lt;br /&gt;
        if ! abuild sanitycheck &amp;amp;&amp;amp; verify; then&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
        cd &amp;quot;$olddir&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# If there are whitespace errors, print the offending file names and fail.&lt;br /&gt;
exec git diff-index --check --cached HEAD --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install it as .git/hooks/pre-commit and make it executable.&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
*[[Development using git]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Udhcpc&amp;diff=15594</id>
		<title>Udhcpc</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Udhcpc&amp;diff=15594"/>
		<updated>2018-12-09T19:20:19Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Expand|Please help us expand this article by contributing.}}&lt;br /&gt;
&lt;br /&gt;
You may want to customize the behavior of the default DHCP client (udhcpc from busybox), which is called by /sbin/ifup by having &amp;quot;dhcp&amp;quot; in /etc/network/interfaces.&lt;br /&gt;
&lt;br /&gt;
The default behavior is driven by the script /usr/share/udhcpc/default.script&lt;br /&gt;
&lt;br /&gt;
Its default configuration may be overwritten by /etc/udhcpc/udhcpc.conf&lt;br /&gt;
&lt;br /&gt;
Authorized key:value pairs are:&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;15&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! key&lt;br /&gt;
| default value&lt;br /&gt;
| possible values&lt;br /&gt;
|-&lt;br /&gt;
| NO_GATEWAY&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;list of iface names&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| IF_METRIC&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;metric value&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| IF_PEER_DNS&lt;br /&gt;
| yes&lt;br /&gt;
| &amp;lt;anything but yes&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| RESOLV_CONF&lt;br /&gt;
| /etc/resolv.conf&lt;br /&gt;
| no ; NO ; -&lt;br /&gt;
|-&lt;br /&gt;
| NO_DNS&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;list of iface names&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example /etc/udhcpc/udhcpc.conf:&lt;br /&gt;
&lt;br /&gt;
 RESOLV_CONF=&amp;quot;no&amp;quot; # Prevents overwriting of /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Custom scripts can be added as /etc/udhcpc/pre-* and /etc/udhcpc/post-* to be run before/after deconfig/renew/bound DHCP events - they must be marked as &#039;&#039;&#039;executable&#039;&#039;&#039; by root, e.g. chmod 744&lt;br /&gt;
&lt;br /&gt;
As an example, /etc/udhcpc/post-bound/mtu could contain, to change the interface MTU from the default (1500) to 1492, which is useful if [https://en.wikipedia.org/wiki/Maximum_transmission_unit on ADSL] (which uses 8 bytes):&lt;br /&gt;
&lt;br /&gt;
 r=$(/sbin/ip route | grep ^default | head -n 1)&lt;br /&gt;
 # Needs iproute2 package, rather than busybox&#039;s &amp;quot;ip&amp;quot;, to change mtu&lt;br /&gt;
 /sbin/ip route replace $r mtu 1492&lt;br /&gt;
&lt;br /&gt;
[[Category:Networking]]&lt;br /&gt;
[[Category:Embedded Systems]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Radeon_Video&amp;diff=15593</id>
		<title>Radeon Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Radeon_Video&amp;diff=15593"/>
		<updated>2018-12-09T19:16:14Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following instructions are for modern AMD GPU chipsets covered by the radeon driver.&lt;br /&gt;
&lt;br /&gt;
== Setup Xorg/udev ==&lt;br /&gt;
&lt;br /&gt;
# Run the [[Alpine setup scripts#setup-xorg-base|setup-xorg-base]] script.&lt;br /&gt;
# Install the Xorg AMD video drivers: {{Cmd|# apk add xf86-video-ati}}&lt;br /&gt;
# For newer devices, use: {{Cmd|# apk add xf86-video-amdgpu}}&lt;br /&gt;
# Enable [[#Kernel Modesetting (KMS)]]. Specifically, the &amp;lt;code&amp;gt;fbcon&amp;lt;/code&amp;gt; module is necessary, or leaving Xorg (via &amp;lt;code&amp;gt;Ctrl+Alt+F1&amp;lt;/code&amp;gt; or quitting) will result in a black screen until the machine is power cycled. If you have already launch Xorg and don&#039;t want to experience this effect, you can &amp;lt;code&amp;gt;modprobe fbcon&amp;lt;/code&amp;gt; while Xorg is running.&lt;br /&gt;
&lt;br /&gt;
== Kernel Modesetting (KMS) ==&lt;br /&gt;
&lt;br /&gt;
To enable KMS at boot:&lt;br /&gt;
# Add the &amp;lt;code&amp;gt;radeon&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;fbcon&amp;lt;/code&amp;gt; modules to {{Path|/etc/modules}}: {{Cmd|$ echo radeon &amp;gt;&amp;gt; /etc/modules&amp;lt;br /&amp;gt;$ echo fbcon &amp;gt;&amp;gt; /etc/modules}}&lt;br /&gt;
# Install &amp;lt;code&amp;gt;mkinitfs&amp;lt;/code&amp;gt;: {{Cmd|apk add mkinitfs}}&lt;br /&gt;
# Enable the &amp;lt;code&amp;gt;kms&amp;lt;/code&amp;gt; feature in the &amp;lt;code&amp;gt;mkinitfs&amp;lt;/code&amp;gt; configuration by adding it to the &amp;lt;var&amp;gt;features&amp;lt;/var&amp;gt; variable, e.g., {{cat|/etc/mkinitfs/mkinitfs.conf|features{{=}}&amp;quot;keymap cryptsetup kms ata base ide scsi usb virtio ext4&amp;quot;}}&lt;br /&gt;
# Run &amp;lt;code&amp;gt;mkinitfs&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Reboot to test the configuration.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
=== Fixing MESA-LOADER errors===&lt;br /&gt;
{{Obsolete|Alpine no longer ships with the &#039;&#039;linux-hardened&#039;&#039; kernel}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;linux-hardened&#039;&#039; kernel package places restrictions on sysfs and will prevent the MESA-LOADER from working as a normal user even if added to the video group.&lt;br /&gt;
&lt;br /&gt;
See https://bugs.alpinelinux.org/issues/7265&lt;br /&gt;
&lt;br /&gt;
Either switch to the &#039;&#039;linux-vanilla&#039;&#039; package or apply the &#039;&#039;&#039;grsec_sysfs_restrict=0&#039;&#039;&#039; kernel parameter to allow normal users to access hardware acceleration on the desktop.&lt;br /&gt;
&lt;br /&gt;
=== Fixing a frozen X11 when invoking startx ===&lt;br /&gt;
&lt;br /&gt;
You may need to set the AccelMethod to exa not glamor which is the default for the driver.&lt;br /&gt;
&lt;br /&gt;
{{cat|/etc/X11/xorg.conf|&lt;br /&gt;
  Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        Option      &amp;quot;AccelMethod&amp;quot;        	&amp;quot;exa&amp;quot;&lt;br /&gt;
	Identifier  &amp;quot;Card0&amp;quot;&lt;br /&gt;
	Driver      &amp;quot;radeon&amp;quot;&lt;br /&gt;
	BusID       &amp;quot;PCI:1:0:0&amp;quot;&lt;br /&gt;
  EndSection}}&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Radeon_Video&amp;diff=15592</id>
		<title>Radeon Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Radeon_Video&amp;diff=15592"/>
		<updated>2018-12-09T19:12:59Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following instructions are for modern AMD GPU chipsets covered by the radeon driver.&lt;br /&gt;
&lt;br /&gt;
== Setup Xorg/udev ==&lt;br /&gt;
&lt;br /&gt;
# Run the [[Alpine setup scripts#setup-xorg-base|setup-xorg-base]] script.&lt;br /&gt;
# Install the Xorg AMD video drivers: {{Cmd|# apk add xf86-video-ati}}&lt;br /&gt;
# For newer devices, use: {{Cmd|# apk add xf86-video-amdgpu}}&lt;br /&gt;
# Enable [[#Kernel Modesetting (KMS)]]. Specifically, the &amp;lt;code&amp;gt;fbcon&amp;lt;/code&amp;gt; module is necessary, or leaving Xorg (via &amp;lt;code&amp;gt;Ctrl+Alt+F1&amp;lt;/code&amp;gt; or quitting) will result in a black screen until the machine is power cycled. If you have already launch Xorg and don&#039;t want to experience this effect, you can &amp;lt;code&amp;gt;modprobe fbcon&amp;lt;/code&amp;gt; while Xorg is running.&lt;br /&gt;
&lt;br /&gt;
== Kernel Modesetting (KMS) ==&lt;br /&gt;
&lt;br /&gt;
To enable KMS at boot:&lt;br /&gt;
# Add the &amp;lt;code&amp;gt;radeon&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;fbcon&amp;lt;/code&amp;gt; modules to {{Path|/etc/modules}}: {{Cmd|$ echo radeon &amp;gt;&amp;gt; /etc/modules&amp;lt;br /&amp;gt;$ echo fbcon &amp;gt;&amp;gt; /etc/modules}}&lt;br /&gt;
# Install &amp;lt;code&amp;gt;mkinitfs&amp;lt;/code&amp;gt;: {{Cmd|apk add mkinitfs}}&lt;br /&gt;
# Enable the &amp;lt;code&amp;gt;kms&amp;lt;/code&amp;gt; feature in the &amp;lt;code&amp;gt;mkinitfs&amp;lt;/code&amp;gt; configuration by adding it to the &amp;lt;var&amp;gt;features&amp;lt;/var&amp;gt; variable, e.g., {{cat|/etc/mkinitfs/mkinitfs.conf|features{{=}}&amp;quot;keymap cryptsetup kms ata base ide scsi usb virtio ext4&amp;quot;}}&lt;br /&gt;
# Run &amp;lt;code&amp;gt;mkinitfs&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Reboot to test the configuration.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
=== Fixing MESA-LOADER errors ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;linux-hardened&#039;&#039; kernel package places restrictions on sysfs and will prevent the MESA-LOADER from working as a normal user even if added to the video group.&lt;br /&gt;
&lt;br /&gt;
See https://bugs.alpinelinux.org/issues/7265&lt;br /&gt;
&lt;br /&gt;
Either switch to the &#039;&#039;linux-vanilla&#039;&#039; package or apply the &#039;&#039;&#039;grsec_sysfs_restrict=0&#039;&#039;&#039; kernel parameter to allow normal users to access hardware acceleration on the desktop.&lt;br /&gt;
&lt;br /&gt;
=== Fixing a frozen X11 when invoking startx ===&lt;br /&gt;
&lt;br /&gt;
You may need to set the AccelMethod to exa not glamor which is the default for the driver.&lt;br /&gt;
&lt;br /&gt;
{{cat|/etc/X11/xorg.conf|&lt;br /&gt;
  Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        Option      &amp;quot;AccelMethod&amp;quot;        	&amp;quot;exa&amp;quot;&lt;br /&gt;
	Identifier  &amp;quot;Card0&amp;quot;&lt;br /&gt;
	Driver      &amp;quot;radeon&amp;quot;&lt;br /&gt;
	BusID       &amp;quot;PCI:1:0:0&amp;quot;&lt;br /&gt;
  EndSection}}&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Software_management&amp;diff=15591</id>
		<title>Software management</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Software_management&amp;diff=15591"/>
		<updated>2018-12-09T19:05:49Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Obsolete|Since 2014-04-09, Alpine has been shipping with {{Pkg|musl}} instead of [https://www.uclibc.org/ uclibc], as such, the instructions in this guide may be obsolete}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Draft}}&lt;br /&gt;
&lt;br /&gt;
If you want to run [https://www.gnu.org/software/libc/ glibc] programs in Alpine Linux, there are a few ways of doing so.  You could install glibc as additional to [https://uclibc.org/about.html uclibc] (you would have to do this manually), or you could do it the easy way and use a chroot.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because there are different use cases, this is just a slight overview about what&#039;s possible and what&#039;s intelligent.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Your options =&lt;br /&gt;
&lt;br /&gt;
== Using BusyBox ==&lt;br /&gt;
&lt;br /&gt;
First, the simplest approach for setting up a chroot is by using a glibc build of [https://www.busybox.net/about.html BusyBox].&lt;br /&gt;
&lt;br /&gt;
This approach has just a few downsides:-&lt;br /&gt;
* You have to link most &amp;lt;code&amp;gt;/bin/&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt; programs against &amp;lt;code&amp;gt;/bin/busybox&amp;lt;/code&amp;gt;, and some BusyBox builds break if you don&#039;t configure them correctly.&lt;br /&gt;
* You have to manually download every library you need for your program manually.&lt;br /&gt;
&lt;br /&gt;
However, if you want a small environment for one simple use case, then this is the solution you want.&lt;br /&gt;
&lt;br /&gt;
== Using a live CD ==&lt;br /&gt;
&lt;br /&gt;
If you prefer using any special distro, you can always download and extract a live CD and use it as a chroot enviroment.&lt;br /&gt;
&lt;br /&gt;
== Using an image ==&lt;br /&gt;
&lt;br /&gt;
For Gentoo, it is the slowest approach especially on slow machines since it is not binary distribution and can be indecisive, but you have the advantage of controlling the package version of whichever library you will install. A drawback would be a big build. You have to install a Portage tree, which uses up a lot of space.  (It&#039;s not 100% necessary if you don&#039;t have to install any additional content that you won&#039;t need.)  Sometimes the package will fail on compilation phase of emerge.  You either end up patching it yourself or waiting for a fix to appear on their Bugzilla from an experienced user.&lt;br /&gt;
&lt;br /&gt;
For Arch or Debian, it is recommended since packages are precompiled and better at unattended package installation.  This approach isn&#039;t as easily executed as the other alternatives, but this may be the cleanest and most recommended one for the every day user.&lt;br /&gt;
&lt;br /&gt;
= How to do it =&lt;br /&gt;
&lt;br /&gt;
This is just a quick draft, so here it comes.&lt;br /&gt;
&lt;br /&gt;
== Using BusyBox ==&lt;br /&gt;
&lt;br /&gt;
First, we need to download BusyBox.  You can choose any of your favourite distros to download a prebuilt version.  For instance, you could use Arch Linux [https://www.archlinux.org/packages/?q=busybox packages], as follows:&lt;br /&gt;
&lt;br /&gt;
 wget http://www.archlinux.org/packages/community/i686/busybox/download/ -O busybox.pkg.tar.xz&lt;br /&gt;
 wget http://www.archlinux.org/packages/core/i686/glibc/download/ -O glibc.pkg.tar.xz&lt;br /&gt;
 mkdir -p ~/chroot/usr/bin/ ~/chroot/{dev,proc,root,etc}&lt;br /&gt;
 for i in *.pkg.tar.xz;do&lt;br /&gt;
 bsdtar xfJ $i -C ~/chroot&lt;br /&gt;
 done&lt;br /&gt;
 cp /etc/resolv.conf ~/chroot/etc/&lt;br /&gt;
 ln -s /bin/busybox ~/chroot/bin/sh&lt;br /&gt;
 ln -s /bin/busybox ~/chroot/bin/ln&lt;br /&gt;
 sudo chroot ~/chroot/ /bin/sh&lt;br /&gt;
&lt;br /&gt;
This creates a simple chroot enviroment, which we will expand through all the commands included in BusyBox:&lt;br /&gt;
&lt;br /&gt;
 for i in $(busybox --list);do ln -s /bin/busybox /usr/bin/$i;done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using a live CD ==&lt;br /&gt;
{{Draft|Contributions welcome}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using an image ==&lt;br /&gt;
&lt;br /&gt;
=== Gentoo Linux ===&lt;br /&gt;
&lt;br /&gt;
Select a stage3 from [https://www.gentoo.org/downloads/ here] and portage latest from [https://www.gentoo.org/downloads/mirrors/ here] at gentoo/snapshots/portage-latest.tar.xz.&lt;br /&gt;
&lt;br /&gt;
First,&lt;br /&gt;
&lt;br /&gt;
 sudo apk add xz&lt;br /&gt;
&lt;br /&gt;
You also may need the vanilla kernel.  If any time Gentoo decides to update PAM, you need it for it to emerge successfully without problems.&lt;br /&gt;
&lt;br /&gt;
 sudo apk add kernel-vanilla&lt;br /&gt;
&lt;br /&gt;
Add the kernel-vanilla to Grub and reboot with the vanilla kernel if you are going to pull in both git and layman which they use to download user community supported packages.&lt;br /&gt;
&lt;br /&gt;
Enter the chroot:&lt;br /&gt;
 mkdir ~/chroot&lt;br /&gt;
 cd ~/chroot&lt;br /&gt;
 tar -xvf stage3-*.tar.xz&lt;br /&gt;
 tar -xvf portage-latest.tar.xz&lt;br /&gt;
 mv portage usr&lt;br /&gt;
 sudo mount --bind /dev dev&lt;br /&gt;
 sudo mount --bind /sys sys&lt;br /&gt;
 sudo mount -t proc proc proc&lt;br /&gt;
 cp /etc/resolv.conf etc&lt;br /&gt;
 sudo chroot . /bin/bash&lt;br /&gt;
&lt;br /&gt;
And voilà, you have your working Gentoo chroot!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now take a look at [https://wiki.gentoo.org/wiki/Handbook:Main_Page Gentoo&#039;s Handbook] to find out how you can configure and install your system, or simply extract/copy the program you need to run in your chroot enviroment and execute it.&lt;br /&gt;
&lt;br /&gt;
Here is a wrapper script that is similar to &amp;lt;code&amp;gt;arch-chroot&amp;lt;/code&amp;gt; when you frequently reuse this chroot:&lt;br /&gt;
&lt;br /&gt;
Also, create an account with the same user name as host current user to the chroot or make changes to the userspec option to chroot line.&lt;br /&gt;
&lt;br /&gt;
{{Cat|gentoo-chroot.sh|&amp;lt;nowiki&amp;gt;!/bin/bash&lt;br /&gt;
CHROOT_PATH=&amp;quot;/home/$USER/chroot&amp;quot;&lt;br /&gt;
cd $CHROOT_PATH&lt;br /&gt;
mount | grep $CHROOT_PATH/dev || sudo mount --bind /dev dev&lt;br /&gt;
mount | grep $CHROOT_PATH/sys || sudo mount --bind /sys sys&lt;br /&gt;
mount | grep $CHROOT_PATH/proc || sudo mount -t proc proc proc&lt;br /&gt;
cp /etc/resolv.conf etc&lt;br /&gt;
sudo chroot --userspec=$USER:users . /bin/bash&lt;br /&gt;
echo &amp;quot;You must manually unmount $CHROOT_PATH/dev, $CHROOT_PATH/sys, $CHROOT_PATH/proc.&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Do at &amp;lt;code&amp;gt;chmod +x gentoo-chroot.sh&amp;lt;/code&amp;gt; to get it to work.&lt;br /&gt;
&lt;br /&gt;
=== Arch Linux ===&lt;br /&gt;
&lt;br /&gt;
Although &#039;&#039;&#039;pacstrap&#039;&#039;&#039; is included with the arch-install-scripts package, it will not work unless the target directory is a mountpoint, so the Arch bootstrap image must be used instead (the image is updated every month, so change the date in the link as required):&lt;br /&gt;
&lt;br /&gt;
  sudo apk add arch-install-scripts&lt;br /&gt;
  mkdir ~/chroot &amp;amp;&amp;amp; cd ~/chroot&lt;br /&gt;
  curl -O https://mirrors.kernel.org/archlinux/iso/latest/archlinux-bootstrap-2018.01.01-x86_64.tar.gz&lt;br /&gt;
  tar xzf archlinux-bootstrap-2018.01.01-x86_64.tar.gz &amp;amp;&amp;amp; rm archlinux-bootstrap-2018.01.01-x86_64.tar.gz&lt;br /&gt;
  sed -i &#039;/evowise/s/^#//&#039; root.x86_64/etc/pacman.d/mirrorlist&lt;br /&gt;
  sudo arch-chroot root.x86_64&lt;br /&gt;
  [chroot]# pacman-key --init&lt;br /&gt;
  [chroot]# pacman-key --populate archlinux&lt;br /&gt;
&lt;br /&gt;
Once that is done, update the system and install the desired package(s) (denoted by &#039;&#039;&amp;quot;foo&amp;quot;&#039;&#039; in this example):&lt;br /&gt;
  &lt;br /&gt;
  [chroot]# pacman -Syu &#039;&#039;foo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
&lt;br /&gt;
Use the provided debootstrap package to create the Debian chroot. &amp;lt;code&amp;gt;--arch&amp;lt;/code&amp;gt; is optional, depending of your needs.&lt;br /&gt;
&lt;br /&gt;
On the &#039;&#039;&#039;linux-grsec&#039;&#039;&#039; kernel, you will need to relax chroot limitations:&lt;br /&gt;
&lt;br /&gt;
  sudo apk add debootstrap&lt;br /&gt;
  for i in /proc/sys/kernel/grsecurity/chroot_*; do echo 0 | sudo tee $i; done&lt;br /&gt;
  mkdir ~/chroot&lt;br /&gt;
  sudo debootstrap --arch=i386 wheezy ~/chroot http://http.debian.net/debian/&lt;br /&gt;
  for i in /proc/sys/kernel/grsecurity/chroot_*; do echo 1 | sudo tee $i; done&lt;br /&gt;
  sudo chroot ~/chroot /bin/bash&lt;br /&gt;
&lt;br /&gt;
You can now use &amp;lt;code&amp;gt;apt-get&amp;lt;/code&amp;gt; to install needed packages.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Source dedicated server ===&lt;br /&gt;
&lt;br /&gt;
Here is an easy example of how you can run [http://www.srcds.com srcds] in a simple BusyBox chroot.&lt;br /&gt;
&lt;br /&gt;
For this server, you will only need the basic chroot and an advanced tar version (the BusyBox version is not sufficient because of the missing -U command):&lt;br /&gt;
&lt;br /&gt;
 wget http://www.archlinux.org/packages/community/i686/busybox/download/ -O busybox.pkg.tar.xz&lt;br /&gt;
 wget http://www.archlinux.org/packages/core/i686/glibc/download/ -O glibc.pkg.tar.xz&lt;br /&gt;
 wget http://www.archlinux.org/packages/core/i686/tar/download/ -O tar.pkg.tar.xz&lt;br /&gt;
 mkdir -p ~/chroot/usr/bin/ ~/chroot/{dev,proc,root,etc}&lt;br /&gt;
 for i in *.pkg.tar.xz;do&lt;br /&gt;
 bsdtar xfJ $i -C ~/chroot&lt;br /&gt;
 done&lt;br /&gt;
 cp /etc/resolv.conf ~/chroot/etc/&lt;br /&gt;
 ln -s /bin/busybox ~/chroot/bin/sh&lt;br /&gt;
 ln -s /bin/busybox ~/chroot/bin/ln&lt;br /&gt;
 sudo chroot ~/chroot/ /bin/sh&lt;br /&gt;
&lt;br /&gt;
Now that you are in a working chroot, you can download the server and install it.  You just have to execute the following self-explaining commands...&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/work&lt;br /&gt;
 cd ~/work&lt;br /&gt;
 busybox wget http://www.steampowered.com/download/hldsupdatetool.bin&lt;br /&gt;
 chmod +x hldsupdatetool.bin&lt;br /&gt;
 ln -s /bin/busybox ./uncompress&lt;br /&gt;
 cp /bin/tar . #right now executing programs from $PATH is buggy, soon to be fixed (no bug in BusyBox, but in my script)&lt;br /&gt;
 ./hdsupdatetool.bin #you can accept it or not ;)&lt;br /&gt;
 ./steam&lt;br /&gt;
 ./steam&lt;br /&gt;
&lt;br /&gt;
...and you should have a working chroot with &#039;&#039;&#039;srcds&#039;&#039;&#039; installed in it.&lt;br /&gt;
&lt;br /&gt;
If you think you are clever or elegant, you can use the server with a bash script:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chroot ~/chroot /root/work/steam $@&lt;br /&gt;
&lt;br /&gt;
Just save it (in your Alpine installation) under &amp;lt;code&amp;gt;/usr/bin/steam&amp;lt;/code&amp;gt;, do a &amp;lt;code&amp;gt;chmod +x /usr/bin/steam&amp;lt;/code&amp;gt; and have fun!&lt;br /&gt;
&lt;br /&gt;
 {{Warning|This script would let &#039;&#039;&#039;Steam&#039;&#039;&#039; run with root priviliges.  This is not recommended.}}&lt;br /&gt;
&lt;br /&gt;
=== MegaCli ===&lt;br /&gt;
&lt;br /&gt;
So let&#039;s run [https://wikitech.wikimedia.org/wiki/MegaCli MegaCli] in a chroot too, shall we? ;)&lt;br /&gt;
&lt;br /&gt;
First we set up a uclibc chroot :)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MegaCli&#039;&#039;&#039; needs more than just glibc.  It needs [https://www.gnu.org/software/ncurses/ ncurses] and the gcc-libs:&lt;br /&gt;
&lt;br /&gt;
 wget http://www.archlinux.org/packages/community/i686/busybox/download/ -O busybox.pkg.tar.xz&lt;br /&gt;
 wget http://www.archlinux.org/packages/core/i686/glibc/download/ -O glibc.pkg.tar.xz&lt;br /&gt;
 wget http://www.archlinux.org/packages/core/i686/ncurses/download/ -O ncurses.pkg.tar.xz&lt;br /&gt;
 wget http://www.archlinux.org/packages/core/i686/gcc-libs/download/ -O gcc-libs.pkg.tar.xz&lt;br /&gt;
 mkdir -p ~/chroot/usr/bin/ ~/chroot/{dev,proc,root,etc,sys}&lt;br /&gt;
 cp /etc/resolv.conf ~/chroot/etc/&lt;br /&gt;
 for i in *.pkg.tar.xz;do&lt;br /&gt;
 bsdtar xfJ $i -C ~/chroot&lt;br /&gt;
 done&lt;br /&gt;
 ln -s /bin/busybox ~/chroot/bin/sh&lt;br /&gt;
 ln -s /bin/busybox ~/chroot/bin/ln&lt;br /&gt;
&lt;br /&gt;
After this, we visit [http://www.lsi.com/downloads/Public/MegaRAID%20Common%20Files/8.02.16_MegaCLI.zip this] site and download &#039;&#039;&#039;8.02.16_MegaCLI.zip&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 mkdir tmp&lt;br /&gt;
 cd tmp&lt;br /&gt;
 unzip ../8.02.16_MegaCLI.zip&lt;br /&gt;
 cd LINUX&lt;br /&gt;
 unzip MegaCliLin.zip&lt;br /&gt;
 #Now comes code stolen from rpm2cpio&lt;br /&gt;
 o=`expr 96 + 8`&lt;br /&gt;
 set `od -j $o -N 8 -t u1 MegaCli-8.02.16-1.i386.rpm`&lt;br /&gt;
 il=`expr 256 \* \( 256 \* \( 256 \* $2 + $3 \) + $4 \) + $5`&lt;br /&gt;
 dl=`expr 256 \* \( 256 \* \( 256 \* $6 + $7 \) + $8 \) + $9`&lt;br /&gt;
 sigsize=`expr 8 + 16 \* $il + $dl`&lt;br /&gt;
 o=`expr $o + $sigsize + \( 8 - \( $sigsize \% 8 \) \) \% 8 + 8`&lt;br /&gt;
 set `od -j $o -N 8 -t u1 MegaCli-8.02.16-1.i386.rpm`&lt;br /&gt;
 il=`expr 256 \* \( 256 \* \( 256 \* $2 + $3 \) + $4 \) + $5`&lt;br /&gt;
 dl=`expr 256 \* \( 256 \* \( 256 \* $6 + $7 \) + $8 \) + $9`&lt;br /&gt;
 hdrsize=`expr 8 + 16 \* $il + $dl`&lt;br /&gt;
 o=`expr $o + $hdrsize`&lt;br /&gt;
 dd if=MegaCli-8.02.16-1.i386.rpm ibs=$o skip=1 2&amp;gt;/dev/null |bsdtar -xf -&lt;br /&gt;
 #wow ...&lt;br /&gt;
 rm opt/MegaRAID/MegaCli/MegaCli64 # who needs 64bit?&lt;br /&gt;
 cp -r opt/ ~/chroot/&lt;br /&gt;
&lt;br /&gt;
Now we have a working &#039;&#039;&#039;MegaCli&#039;&#039;&#039; client in our chroot.&lt;br /&gt;
&lt;br /&gt;
As with &#039;&#039;&#039;srcds&#039;&#039;&#039;, we do not want to operate from inside the chroot, so here is a little script that should ease you up (use at your own risk):&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 user=$(whoami)&lt;br /&gt;
 if [ &amp;quot;$user&amp;quot; != &amp;quot;root&amp;quot; ];then&lt;br /&gt;
 echo &amp;quot;This script needs root access&amp;quot;&lt;br /&gt;
 exit&lt;br /&gt;
 fi&lt;br /&gt;
 mount -t proc proc ~/chroot/proc/&lt;br /&gt;
 mount --bind /dev/ ~/chroot/dev/&lt;br /&gt;
 mount --bind /sys/ ~/chroot/sys/&lt;br /&gt;
 #we may need dev and maybe proc too to use this program&lt;br /&gt;
 chroot ~/chroot /opt/MegaRAID/MegaCli/MegaCli $@&lt;br /&gt;
 umount ~/chroot/proc&lt;br /&gt;
 umount ~/chroot/dev&lt;br /&gt;
 umount ~/chroot/sys&lt;br /&gt;
&lt;br /&gt;
Save it under &amp;lt;code&amp;gt;/usr/bin/MegaCli&amp;lt;/code&amp;gt;.  Do a &amp;lt;code&amp;gt;chmod +x /usr/bin/MegaCli&amp;lt;/code&amp;gt; and good luck.&lt;br /&gt;
&lt;br /&gt;
Note:  This method takes around 50mb.  If you need something smaller, then you can strip a few files from glibc (not recommended), or work on a squashfs.&lt;br /&gt;
&lt;br /&gt;
With the following, you can create a squashfs that is around 15mb small:&lt;br /&gt;
 mksquashfs ~/chroot/ /chroot.sfs -b 65536&lt;br /&gt;
&lt;br /&gt;
When you add a [https://en.wikipedia.org/wiki/UnionFS unionfs] layer, you can even use it with write access, or you can bind some directories to the writeable directories before you chroot into it.&lt;br /&gt;
&lt;br /&gt;
I will look into it later on.&lt;br /&gt;
&lt;br /&gt;
You can save the chroot in another directory than your home directory, and you can even install a chroot through an APKBUILD (after someone wrote it).&lt;br /&gt;
&lt;br /&gt;
With this, you could use many glibc-dependent programs through one chroot, but be aware that running programs like this should not be standard.  This should only be used in extreme situations, as in _closed source_ tools linked against glibc.&lt;br /&gt;
&lt;br /&gt;
=== Skype on Debian chroot ===&lt;br /&gt;
&lt;br /&gt;
{{Draft|Not yet validated}}&lt;br /&gt;
&lt;br /&gt;
This is an example on how to run &#039;&#039;&#039;Skype&#039;&#039;&#039; from a Debian 32b chroot.&lt;br /&gt;
&lt;br /&gt;
  sudo chroot ~/chroot&lt;br /&gt;
  wget http://www.skype.com/go/getskype-linux-deb&lt;br /&gt;
  dpkg -i getskype-linux-deb&lt;br /&gt;
&lt;br /&gt;
To fix missing dependencies, you will want to use:&lt;br /&gt;
&lt;br /&gt;
  apt-get -f install&lt;br /&gt;
&lt;br /&gt;
Then, exit the chroot:&lt;br /&gt;
&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Fix PAX flags on Skype binary - &#039;&#039;&#039;linux-grsec&#039;&#039;&#039; only.&lt;br /&gt;
&lt;br /&gt;
ELF marking with paxctl cannot be used because Skype binary refuses to run if modified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CONFIG_PAX_XATTR_PAX_FLAGS&amp;lt;/code&amp;gt; is NOT yet available in &#039;&#039;&#039;linux-grsec&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
  sudo apk add attr&lt;br /&gt;
  sudo setfattr -n user.pax.flags -v &amp;quot;em&amp;quot; ~/chroot/usr/bin/skype&lt;br /&gt;
&lt;br /&gt;
Mount needed directories in the chroot read-only to limit access to the system devices.&lt;br /&gt;
&lt;br /&gt;
Give write access to &amp;lt;code&amp;gt;/dev/v4l&amp;lt;/code&amp;gt; and to &amp;lt;code&amp;gt;/dev/snd&amp;lt;/code&amp;gt; in order to let Skype use the webcam device:  Skype is not compatible with Alsa anymore and requires Pulseaudio to be running.&lt;br /&gt;
&lt;br /&gt;
  sudo mount -o bind /proc ~/chroot/proc&lt;br /&gt;
  sudo mount -o bind,ro,remount /proc ~/chroot/proc&lt;br /&gt;
  sudo mount -o bind /sys ~/chroot/sys&lt;br /&gt;
  sudo mount -o bind,ro,remount /sys ~/chroot/sys&lt;br /&gt;
  sudo mount -o bind /dev ~/chroot/dev&lt;br /&gt;
  sudo mount -o bind,ro,remount /dev ~/chroot/dev&lt;br /&gt;
  sudo mount -o bind /dev/v4l ~/chroot/dev/v4l&lt;br /&gt;
  sudo mount -t tmpfs -o nodev,nosuid,noexec shm $CHROOT_PATH/dev/shm&lt;br /&gt;
&lt;br /&gt;
Enter the chroot and create a user:&lt;br /&gt;
&lt;br /&gt;
  sudo chroot ~/chroot&lt;br /&gt;
  useradd -G audio,video &amp;lt;username&amp;gt;&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Then run Skype as your newly created user:&lt;br /&gt;
&lt;br /&gt;
  sudo chroot ~/chroot /bin/su - &amp;lt;username&amp;gt; -c /usr/bin/skype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Dungeon Crawl (Stone Soup) on Arch ===&lt;br /&gt;
&lt;br /&gt;
Once the Arch system is laid down (to &amp;lt;code&amp;gt;~/chroot/root.x86_64&amp;lt;/code&amp;gt; in this example), install the game:&lt;br /&gt;
&lt;br /&gt;
  sudo arch-chroot ~/chroot/root.x86_64&lt;br /&gt;
  [chroot]# pacman -Syu crawl-tiles&lt;br /&gt;
&lt;br /&gt;
Then exit the chroot and run it with this command:&lt;br /&gt;
&lt;br /&gt;
  sudo arch-chroot ~/chroot/root.x86_64 /bin/su -c &#039;DISPLAY=:0 crawl-tiles&#039;&lt;br /&gt;
&lt;br /&gt;
A separate user can also be created to run the game, if preferred.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Spotify ===&lt;br /&gt;
&lt;br /&gt;
==== Docker method ====&lt;br /&gt;
&lt;br /&gt;
Read the [[Docker]] page to install it.  Then clone the repository, as shown below.  It will automate the process of pulling all the dependencies, and &#039;&#039;&#039;PaX&#039;&#039;&#039; marks it for the hardened kernel.  The advantage of this container is that it is ready-to-use and has stripped down many of the &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt; executables.  The downside is that is unstable.&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/orsonteodoro/docker-arch-spotify-PaXmarked&lt;br /&gt;
&lt;br /&gt;
Follow the instructions in the &amp;lt;code&amp;gt;README.md&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Chroot method ====&lt;br /&gt;
&lt;br /&gt;
The Chroot method the preferred method;  it doesn&#039;t have the black screen bug and is more stable.  Just translate the [https://github.com/orsonteodoro/docker-arch-spotify-PaXmarked/blob/master/Dockerfile Dockerfile instructions] into native &#039;&#039;&#039;sh&#039;&#039;&#039; (Bourne shell).  The trick again is to run Spotify as root with sudo inside the chroot – not as regular user.  &lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;sudo aplay -l&amp;lt;/code&amp;gt; to verify that the soundcard is detected.  When you use either this or the Docker method, which relies on ALSA, there could be a conflict depending on who grabs the sound card.  Stop all browsers or programs using the sound device outside of the chroot or the docker image so that Spotify can use it.&lt;br /&gt;
&lt;br /&gt;
I did some translation.  You may need to make changes.&lt;br /&gt;
&lt;br /&gt;
To update, just delete it and call &amp;lt;code&amp;gt;alpine-spotify-installer.sh&amp;lt;/code&amp;gt; again.  You will still need the Arch Linux bootstrap image.  Extract the image.  Next, copy and paste the code shown below into root.x86_64;  &amp;lt;code&amp;gt;chmod +x alpine-spotify-installer.sh&amp;lt;/code&amp;gt;. Then, run &amp;lt;code&amp;gt;sudo arch-chroot root.x86_64&amp;lt;/code&amp;gt;.  Then, run &amp;lt;code&amp;gt;./alpine-spotify-installer.sh&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Cat|alpine-spotify-installer.sh|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Copyright (c) 2018 Orson Teodoro &amp;lt;orsonteodoro@hotmail.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Permission is hereby granted, free of charge, to any person obtaining a copy&lt;br /&gt;
# of this software and associated documentation files (the &amp;quot;Software&amp;quot;), to deal&lt;br /&gt;
# in the Software without restriction, including without limitation the rights&lt;br /&gt;
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell&lt;br /&gt;
# copies of the Software, and to permit persons to whom the Software is&lt;br /&gt;
# furnished to do so, subject to the following conditions:&lt;br /&gt;
#&lt;br /&gt;
# The above copyright notice and this permission notice shall be included in all&lt;br /&gt;
# copies or substantial portions of the Software.&lt;br /&gt;
#&lt;br /&gt;
# THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&lt;br /&gt;
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&lt;br /&gt;
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE&lt;br /&gt;
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER&lt;br /&gt;
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,&lt;br /&gt;
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE&lt;br /&gt;
# SOFTWARE.&lt;br /&gt;
&lt;br /&gt;
pacman --noconfirm -Syu&lt;br /&gt;
&lt;br /&gt;
pacman --noconfirm -S base-devel&lt;br /&gt;
pacman --noconfirm -S xorg-server&lt;br /&gt;
pacman --noconfirm -S shadow&lt;br /&gt;
pacman --noconfirm -S sudo&lt;br /&gt;
pacman --noconfirm -S git&lt;br /&gt;
 &lt;br /&gt;
chmod 0660 /etc/sudoers&lt;br /&gt;
sed -i -e &#039;s|# %wheel ALL=(ALL) NOPASSWD: ALL|%wheel ALL=(ALL) NOPASSWD: ALL\nspotify ALL=(ALL:ALL) NOPASSWD:ALL\n|g&#039; /etc/sudoers || return 1&lt;br /&gt;
chmod 0440 /etc/sudoers&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Creating user spotify&amp;quot;&lt;br /&gt;
useradd -m spotify&lt;br /&gt;
echo &amp;quot;Deleting password for spotify&amp;quot;&lt;br /&gt;
passwd -d spotify&lt;br /&gt;
&lt;br /&gt;
gpasswd -a spotify users&lt;br /&gt;
gpasswd -a spotify audio&lt;br /&gt;
gpasswd -a spotify video&lt;br /&gt;
gpasswd -a spotify wheel&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;switching to spotify nix account&amp;quot;&lt;br /&gt;
su spotify&lt;br /&gt;
&lt;br /&gt;
cd /home/spotify&lt;br /&gt;
mkdir aur&lt;br /&gt;
cd aur&lt;br /&gt;
&lt;br /&gt;
cd /home/spotify/aur&lt;br /&gt;
git clone https://aur.archlinux.org/spotify.git&lt;br /&gt;
cd /home/spotify/aur/spotify&lt;br /&gt;
sudo -u spotify makepkg --noconfirm -si&lt;br /&gt;
&lt;br /&gt;
cd /home/spotify/aur/&lt;br /&gt;
git clone https://aur.archlinux.org/paxctl.git&lt;br /&gt;
cd /home/spotify/aur/paxctl&lt;br /&gt;
sudo -u spotify makepkg --noconfirm -si&lt;br /&gt;
 &lt;br /&gt;
#for grsecurity kernels like Alpine&lt;br /&gt;
sudo paxctl -C /usr/share/spotify/spotify&lt;br /&gt;
sudo paxctl -z /usr/share/spotify/spotify&lt;br /&gt;
sudo paxctl -m /usr/share/spotify/spotify&lt;br /&gt;
&lt;br /&gt;
sudo pacman --noconfirm -S alsa-lib&lt;br /&gt;
 &lt;br /&gt;
sudo pacman --noconfirm -S alsa-utils&lt;br /&gt;
&lt;br /&gt;
#confirm that the sound card(s) shows up&lt;br /&gt;
sudo aplay -l&lt;br /&gt;
&lt;br /&gt;
sudo spotify&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
To make this easier, create a launcher script:&lt;br /&gt;
&lt;br /&gt;
{{Cat|run.sh|&amp;lt;nowiki&amp;gt;!/bin/bash&lt;br /&gt;
DIR=&amp;quot;$( cd &amp;quot;$( dirname &amp;quot;${BASH_SOURCE[0]}&amp;quot; )&amp;quot; &amp;amp;&amp;amp; pwd )&amp;quot;&lt;br /&gt;
cd $DIR&lt;br /&gt;
sudo arch-chroot -u spotify root.x86_64 /bin/sh -c &amp;quot;sudo spotify&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If it shows &amp;lt;code&amp;gt;(spotify:4): Gtk-WARNING **: cannot open display: :0.0&amp;lt;/code&amp;gt; Before running Spotify try:&lt;br /&gt;
&lt;br /&gt;
  xhost +local:&lt;br /&gt;
&lt;br /&gt;
You could insert it at the very top in the above wrapper script.&lt;br /&gt;
&lt;br /&gt;
You may want to look at [https://github.com/orsonteodoro/docker-arch-spotify-PaXmarked/blob/master/deflate.sh this script] to learn how to lock it down by removing the unnecessary cruft in your chroot collections that may be abused.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Wayland&amp;diff=15590</id>
		<title>Wayland</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Wayland&amp;diff=15590"/>
		<updated>2018-12-09T18:48:32Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Expand|A more thorough guide to installing, configuring, and running {{Pkg|wayland}} on Alpine would be better. }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wayland is a new display protocol that aims to replace X11.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XDG_RUNTIME_DIR ==&lt;br /&gt;
Weston and other compositors require the XDG_RUNTIME_DIR variable to be set. Simply save the following script in /etc/profile.d/xdg_runtime_dir.sh and re-login to have it set up properly.&lt;br /&gt;
&lt;br /&gt;
 if test -z &amp;quot;${XDG_RUNTIME_DIR}&amp;quot;; then&lt;br /&gt;
   export XDG_RUNTIME_DIR=/tmp/$(id -u)-runtime-dir&lt;br /&gt;
   if ! test -d &amp;quot;${XDG_RUNTIME_DIR}&amp;quot;; then&lt;br /&gt;
     mkdir &amp;quot;${XDG_RUNTIME_DIR}&amp;quot;&lt;br /&gt;
     chmod 0700 &amp;quot;${XDG_RUNTIME_DIR}&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This code was taken from Weston&#039;s build instructions. Only ${UID} (not present on Alpine Linux) has been replaced with $(id -u).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ALSA&amp;diff=15589</id>
		<title>ALSA</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ALSA&amp;diff=15589"/>
		<updated>2018-12-09T18:45:49Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Move|ALSA|More specific. Indicates that this is the alsa-utils method of configuring sound.}}&lt;br /&gt;
&lt;br /&gt;
First you will need to install Alsa packages, the Linux sound driver and volume adjuster.&lt;br /&gt;
&lt;br /&gt;
 # apk add alsa-utils alsa-utils-doc alsa-lib alsaconf&lt;br /&gt;
&lt;br /&gt;
Then you will need to add all your users (including root) to &amp;lt;code&amp;gt;/etc/group&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/group&lt;br /&gt;
&lt;br /&gt;
Scroll down until you find the line that starts with &amp;lt;code&amp;gt;audio:x:18:&amp;lt;/code&amp;gt; and add all the users, for example if the name of root is &amp;quot;root&amp;quot; and a user is &amp;quot;user&amp;quot;, separated by commas.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;audio:x:18:root,user&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save your nano work by pressing &#039;&#039;Ctrl+O&#039;&#039; and confirm the changes by pressing &#039;&#039;Enter&#039;&#039;. Then exit nano by pressing &#039;&#039;Ctrl+X&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Find the default sound card.&lt;br /&gt;
&lt;br /&gt;
 # alsamixer&lt;br /&gt;
&lt;br /&gt;
The default sound card will show up. Try turning up the volume of Master and the device(s) such as speakers or microphones that you need, and audio should work.&lt;br /&gt;
&lt;br /&gt;
If there are no volume controls visible, try hitting &#039;&#039;F6&#039;&#039; on your keyboard and toggling between the sound cards (which all might have the same name in the context menu that pops up except for the numbers next to and before the names).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve found the sound card name that gives you volume controls, set the unique number that showed up in the &#039;&#039;F6&#039;&#039; context menu as your default soundcard.&lt;br /&gt;
&lt;br /&gt;
 # nano /usr/share/alsa/alsa.conf&lt;br /&gt;
&lt;br /&gt;
Scroll down until you find the lines that start with &amp;lt;code&amp;gt;defaults.ctl.card&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;defaults.pcm.card&amp;lt;/code&amp;gt; and put the number (you found in the &#039;&#039;F6&#039;&#039; context menu of the alsamixer command for the soundcard you want as your default) at the end of those lines separated by a space for each. For example, if the default sound card you want is &amp;quot;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;defaults.ctl.card 1&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;defaults.pcm.card 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save your nano work by pressing &#039;&#039;Ctrl+O&#039;&#039; and confirm the changes by pressing &#039;&#039;Enter&#039;&#039;. Then exit nano by pressing &#039;&#039;Ctrl+X&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Try turning up the volume of Master and the device(s) such as speakers or microphones that you need with the &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; command, and audio should work.&lt;br /&gt;
&lt;br /&gt;
Alsa service is not started on install, you need to start it and to add it on rc.&lt;br /&gt;
 rc-service alsa start&lt;br /&gt;
 rc-update add alsa&lt;br /&gt;
&lt;br /&gt;
Gstreamer can now catch the device and the audio mixer is working.&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Talk:ALSA&amp;diff=15588</id>
		<title>Talk:ALSA</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Talk:ALSA&amp;diff=15588"/>
		<updated>2018-12-09T18:40:16Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: Created page with &amp;quot;As this page specifically refers to setting up {{Pkg|alsa-utils}} it should be renamed to Alsa-utils configuration under the category of sound. This way when other sound wikis...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As this page specifically refers to setting up {{Pkg|alsa-utils}} it should be renamed to Alsa-utils configuration under the category of sound. This way when other sound wikis are created ({{Pkg|pulseaudio}} or {{Pkg|jack}}, etc) there is no confusion.&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ALSA&amp;diff=15587</id>
		<title>ALSA</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ALSA&amp;diff=15587"/>
		<updated>2018-12-09T18:35:56Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First you will need to install Alsa packages, the Linux sound driver and volume adjuster.&lt;br /&gt;
&lt;br /&gt;
 # apk add alsa-utils alsa-utils-doc alsa-lib alsaconf&lt;br /&gt;
&lt;br /&gt;
Then you will need to add all your users (including root) to &amp;lt;code&amp;gt;/etc/group&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/group&lt;br /&gt;
&lt;br /&gt;
Scroll down until you find the line that starts with &amp;lt;code&amp;gt;audio:x:18:&amp;lt;/code&amp;gt; and add all the users, for example if the name of root is &amp;quot;root&amp;quot; and a user is &amp;quot;user&amp;quot;, separated by commas.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;audio:x:18:root,user&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save your nano work by pressing &#039;&#039;Ctrl+O&#039;&#039; and confirm the changes by pressing &#039;&#039;Enter&#039;&#039;. Then exit nano by pressing &#039;&#039;Ctrl+X&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Find the default sound card.&lt;br /&gt;
&lt;br /&gt;
 # alsamixer&lt;br /&gt;
&lt;br /&gt;
The default sound card will show up. Try turning up the volume of Master and the device(s) such as speakers or microphones that you need, and audio should work.&lt;br /&gt;
&lt;br /&gt;
If there are no volume controls visible, try hitting &#039;&#039;F6&#039;&#039; on your keyboard and toggling between the sound cards (which all might have the same name in the context menu that pops up except for the numbers next to and before the names).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve found the sound card name that gives you volume controls, set the unique number that showed up in the &#039;&#039;F6&#039;&#039; context menu as your default soundcard.&lt;br /&gt;
&lt;br /&gt;
 # nano /usr/share/alsa/alsa.conf&lt;br /&gt;
&lt;br /&gt;
Scroll down until you find the lines that start with &amp;lt;code&amp;gt;defaults.ctl.card&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;defaults.pcm.card&amp;lt;/code&amp;gt; and put the number (you found in the &#039;&#039;F6&#039;&#039; context menu of the alsamixer command for the soundcard you want as your default) at the end of those lines separated by a space for each. For example, if the default sound card you want is &amp;quot;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;defaults.ctl.card 1&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;defaults.pcm.card 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save your nano work by pressing &#039;&#039;Ctrl+O&#039;&#039; and confirm the changes by pressing &#039;&#039;Enter&#039;&#039;. Then exit nano by pressing &#039;&#039;Ctrl+X&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Try turning up the volume of Master and the device(s) such as speakers or microphones that you need with the &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; command, and audio should work.&lt;br /&gt;
&lt;br /&gt;
Alsa service is not started on install, you need to start it and to add it on rc.&lt;br /&gt;
 rc-service alsa start&lt;br /&gt;
 rc-update add alsa&lt;br /&gt;
&lt;br /&gt;
Gstreamer can now catch the device and the audio mixer is working.&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15586</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15586"/>
		<updated>2018-12-08T02:57:17Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the {{Pkg|*-dev}}, {{Pkg|*-lang}}, and {{Pkg|*-doc}} packages. If you would like man pages added, omit {{Path|&amp;amp;#124; grep -v &#039;\-doc&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q &amp;amp;#124; grep -v &#039;\-dev&#039; &amp;amp;#124; grep -v &#039;\-lang&#039; &amp;amp;#124; grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;$ ttfs=$(apk search -q ttf- &amp;amp;#124; grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
$ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q &amp;amp;#124; grep Standby&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15585</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15585"/>
		<updated>2018-12-08T02:56:13Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the {{Pkg|*-dev}}, {{Pkg|*-lang}}, and {{Pkg|*-doc}} packages. If you would like man pages added, omit {{Path|&amp;amp;#124; grep -v &#039;\-doc&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q &amp;amp;#124; grep -v &#039;\-dev&#039; &amp;amp;#124; grep -v &#039;\-lang&#039; &amp;amp;#124; grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;$ ttfs=$(apk search -q ttf- &amp;amp;#124; grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
{{Cmd|# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev}}&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
{{Cmd|# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
$ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q &amp;amp;#124; grep Standby&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15584</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15584"/>
		<updated>2018-12-08T02:55:04Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the {{Pkg|*-dev}}, {{Pkg|*-lang}}, and {{Pkg|*-doc}} packages. If you would like man pages added, omit {{Path|&amp;amp;#124; grep -v &#039;\-doc&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q &amp;amp;#124; grep -v &#039;\-dev&#039; &amp;amp;#124; grep -v &#039;\-lang&#039; &amp;amp;#124; grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
{{Cmd|&lt;br /&gt;
$ ttfs=$(apk search -q ttf- &amp;amp;#124; grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
{{Cmd|# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev}}&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
{{Cmd|# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
$ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q &amp;amp;#124; grep Standby&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15583</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15583"/>
		<updated>2018-12-07T23:59:58Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the {{Pkg|*-dev}}, {{Pkg|*-lang}}, and {{Pkg|*-doc}} packages. If you would like man pages added, omit {{Path|&amp;amp;#124; grep -v &#039;\-doc&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Cmd|# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q &amp;amp;#124; grep -v &#039;\-dev&#039; &amp;amp;#124; grep -v &#039;\-lang&#039; &amp;amp;#124; grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
{{Cmd|&lt;br /&gt;
$ ttfs=$(apk search -q ttf- &amp;amp;#124; grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
{{Cmd|# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev}}&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
{{Cmd|# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
$ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q &amp;amp;#124; grep Standby&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15582</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15582"/>
		<updated>2018-12-07T23:58:50Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the {{Pkg|*-dev}}, {{Pkg|*-lang}}, and {{Pkg|*-doc}} packages. If you would like man pages added, omit {{codeline|&amp;amp;#124; grep -v &#039;\-doc&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Cmd|# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q &amp;amp;#124; grep -v &#039;\-dev&#039; &amp;amp;#124; grep -v &#039;\-lang&#039; &amp;amp;#124; grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
{{Cmd|&lt;br /&gt;
$ ttfs=$(apk search -q ttf- &amp;amp;#124; grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
{{Cmd|# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev}}&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
{{Cmd|# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
$ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q &amp;amp;#124; grep Standby&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15581</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15581"/>
		<updated>2018-12-07T23:56:41Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the {{Pkg|*-dev}}, {{Pkg|*-lang}}, and {{Pkg|*-doc}} packages. If you would like man pages added, omit {{codeline|&amp;amp;#124; grep -v &#039;\-doc&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Cmd|# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
 # mate_pkgs=$(apk search mate -q &amp;amp;#124; grep -v &#039;\-dev&#039; &amp;amp;#124; grep -v &#039;\-lang&#039; &amp;amp;#124; grep -v &#039;\-doc&#039;)&lt;br /&gt;
 # apk add $mate_pkgs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
{{Cmd|&lt;br /&gt;
$ ttfs=$(apk search -q ttf- &amp;amp;#124; grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
{{Cmd|# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev}}&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
{{Cmd|# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
$ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q &amp;amp;#124; grep Standby&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15580</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15580"/>
		<updated>2018-12-07T23:51:13Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the {{Pkg|*-dev}}, {{Pkg|*-lang}}, and {{Pkg|*-doc}} packages. If you would like man pages added, omit {{codeline|&amp;amp;#124; grep -v &#039;\-doc&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Cmd|# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
 # mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
 # apk add $mate_pkgs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
$ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q &amp;amp;#124; grep Standby&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15579</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15579"/>
		<updated>2018-12-07T23:50:08Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the {{Pkg|*-dev}}, {{Pkg|*-lang}}, and {{Pkg|*-doc}} packages. If you would like man pages added, omit {{codeline|&amp;amp;#124; grep -v &#039;\-doc&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Cmd|# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
$ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q &amp;amp;#124; grep Standby&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15578</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15578"/>
		<updated>2018-12-07T23:49:21Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the {{Pkg|*-dev}}, {{Pkg|*-lang}}, and {{Pkg|*-doc}} packages. If you would like man pages added, omit {{codeline|&amp;amp;#124; grep -v &#039;\-doc&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Cmd|# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
$ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q &amp;amp;#124; grep Standby&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15577</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15577"/>
		<updated>2018-12-07T23:48:40Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the {{Pkg|*-dev}}, {{Pkg|*-lang}}, and {{Pkg|*-doc}} packages. If you would like man pages added, omit {{codeline|&amp;amp;#124; grep -v &#039;\-doc&#039;}}&lt;br /&gt;
{{Cmd|# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
$ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q &amp;amp;#124; grep Standby&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15576</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15576"/>
		<updated>2018-12-07T23:46:25Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Disabling standby and screensaver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the -dev, -lang, and -doc packages. If you would like man pages added, omit the {{codeline|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
$ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q &amp;amp;#124; grep Standby&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15575</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15575"/>
		<updated>2018-12-07T23:43:49Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Disabling standby and screensaver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the -dev, -lang, and -doc packages. If you would like man pages added, omit the {{codeline|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
$ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q | grep Standby&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15574</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15574"/>
		<updated>2018-12-07T23:43:28Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Disabling standby and screensaver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the -dev, -lang, and -doc packages. If you would like man pages added, omit the {{codeline|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
$ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q | grep Standby&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15573</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15573"/>
		<updated>2018-12-07T23:42:30Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Disabling standby and screensaver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the -dev, -lang, and -doc packages. If you would like man pages added, omit the {{codeline|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
$ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15572</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15572"/>
		<updated>2018-12-07T23:42:03Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the -dev, -lang, and -doc packages. If you would like man pages added, omit the {{codeline|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
=== Disabling standby and screensaver ===&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset&lt;br /&gt;
  $ xset q}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15571</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15571"/>
		<updated>2018-12-07T23:38:01Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages. The following command will add all components of the MATE Desktop except for the -dev, -lang, and -doc packages. If you would like man pages added, omit the {{codeline|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
==== Disabling standby and screensaver ====&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apk add xset&lt;br /&gt;
$ xset q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15570</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15570"/>
		<updated>2018-12-07T23:33:14Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Disabling standby and screensaver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
==== Disabling standby and screensaver ====&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apk add xset&lt;br /&gt;
$ xset q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
DPMS (Energy Star):&lt;br /&gt;
  Standby: 600    Suspend: 0    Off: 900&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15569</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15569"/>
		<updated>2018-12-07T23:32:20Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Disabling standby and screensaver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
==== Disabling standby and screensaver ====&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apk add xset&lt;br /&gt;
$ xset q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
&#039;&#039;&#039;DPMS (Energy Star):&#039;&#039;&#039;&lt;br /&gt;
  &#039;&#039;&#039;Standby: 600    Suspend: 0    Off: 900&#039;&#039;&#039;&lt;br /&gt;
  &#039;&#039;&#039;DPMS is Enabled&#039;&#039;&#039;&lt;br /&gt;
  &#039;&#039;&#039;Monitor is On&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15568</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15568"/>
		<updated>2018-12-07T23:31:45Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Disabling standby and screensaver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
==== Disabling standby and screensaver ====&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apk add xset&lt;br /&gt;
$ xset q&lt;br /&gt;
/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Keyboard Control:&lt;br /&gt;
  auto repeat:  on    key click percent:  0    LED mask:  00000000&lt;br /&gt;
  XKB indicators:&lt;br /&gt;
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off&lt;br /&gt;
    03: Compose:     off    04: Kana:        off    05: Sleep:       off&lt;br /&gt;
    06: Suspend:     off    07: Mute:        off    08: Misc:        off&lt;br /&gt;
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off&lt;br /&gt;
    12: Group 2:     off    13: Mouse Keys:  off&lt;br /&gt;
  auto repeat delay:  500    repeat rate:  20&lt;br /&gt;
  auto repeating keys:  00ffffffdffffbbf&lt;br /&gt;
                        fadfffefffedffff&lt;br /&gt;
                        9fffffffffffffff&lt;br /&gt;
                        fff7ffffffffffff&lt;br /&gt;
  bell percent:  0    bell pitch:  400    bell duration:  100&lt;br /&gt;
Pointer Control:&lt;br /&gt;
  acceleration:  2/1    threshold:  4&lt;br /&gt;
Screen Saver:&lt;br /&gt;
  prefer blanking:  yes    allow exposures:  yes&lt;br /&gt;
  timeout:  600    cycle:  0&lt;br /&gt;
Colors:&lt;br /&gt;
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff&lt;br /&gt;
Font Path:&lt;br /&gt;
  /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,built-ins&lt;br /&gt;
&#039;&#039;&#039;DPMS (Energy Star):&#039;&#039;&#039;&lt;br /&gt;
  &#039;&#039;&#039;Standby: 600    Suspend: 0    Off: 900&#039;&#039;&#039;&lt;br /&gt;
  &#039;&#039;&#039;DPMS is Enabled&#039;&#039;&#039;&lt;br /&gt;
  &#039;&#039;&#039;Monitor is On&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
{{cat|xset q|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15567</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15567"/>
		<updated>2018-12-07T23:24:00Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Disabling standby and screensaver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
==== Disabling standby and screensaver ====&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apk add xset&lt;br /&gt;
$ xset q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{cat|&amp;quot;xset q| grep Standby&amp;quot;|&lt;br /&gt;
  Standby: 600    Suspend: 600    Off: 600&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15566</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15566"/>
		<updated>2018-12-07T23:23:09Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, start the dbus, udev, and lxdm. This will start the display manager and allow you to login.&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
==== Disabling standby and screensaver ====&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apk add xset&lt;br /&gt;
$ xset q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{cat|xset q\\| grep Standby|&lt;br /&gt;
  Standby: 600    Suspend: 600    Off: 600&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15565</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15565"/>
		<updated>2018-12-07T23:20:38Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, let us start the lxdm service and log in to our MATE Desktop&lt;br /&gt;
&amp;lt;pre&amp;gt;# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
==== Disabling standby and screensaver ====&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset}}&lt;br /&gt;
{{Cmd|$ xset q}}&lt;br /&gt;
{{cat|xset q\| grep Standby|&lt;br /&gt;
  Standby: 600    Suspend: 600    Off: 600&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15564</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15564"/>
		<updated>2018-12-07T23:18:20Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver&lt;br /&gt;
# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $ttfs}}&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
{{Cmd|# rc-update add lxdm&lt;br /&gt;
# rc-update add dbus&lt;br /&gt;
# rc-update add udev}}&lt;br /&gt;
&lt;br /&gt;
And finally, let us start the lxdm service and log in to our MATE Desktop&lt;br /&gt;
{{Cmd|# rc-service dbus start&lt;br /&gt;
# rc-service udev start&lt;br /&gt;
# rc-service lxdm start}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
==== Disabling standby and screensaver ====&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset}}&lt;br /&gt;
{{Cmd|$ xset q}}&lt;br /&gt;
{{cat|xset q\| grep Standby|&lt;br /&gt;
  Standby: 600    Suspend: 600    Off: 600&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15563</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15563"/>
		<updated>2018-12-07T23:17:00Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!--What is going on here??--&amp;gt;&lt;br /&gt;
{{Cmd|# apk del mate-screensaver}}&lt;br /&gt;
{{Cmd|# ln -s /usr/etc/xdg/menus/ /etc/xdg/menus}}&lt;br /&gt;
{{Cmd|# apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)}}&lt;br /&gt;
{{Cmd|# apk add $ttfs}}&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
{{Cmd|# rc-update add lxdm}}&lt;br /&gt;
{{Cmd|# rc-update add dbus}}&lt;br /&gt;
{{Cmd|# rc-update add udev}}&lt;br /&gt;
&lt;br /&gt;
And finally, let us start the lxdm service and log in to our MATE Desktop&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
{{Cmd|# rc-service udev start}}&lt;br /&gt;
{{Cmd|# rc-service lxdm start}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
==== Disabling standby and screensaver ====&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ sudo apk add xset}}&lt;br /&gt;
{{Cmd|$ xset q}}&lt;br /&gt;
{{cat|xset q\| grep Standby|&lt;br /&gt;
  Standby: 600    Suspend: 600    Off: 600&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
Santiy check:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ xset q&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15562</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15562"/>
		<updated>2018-12-07T23:11:53Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{Cmd|# adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Cmd|apk del mate-screensaver&lt;br /&gt;
ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
{{Cmd|# rc-update add lxdm}}&lt;br /&gt;
{{Cmd|# rc-update add dbus}}&lt;br /&gt;
{{Cmd|# rc-update add udev}}&lt;br /&gt;
&lt;br /&gt;
And finally, let us start the lxdm service and log in to our MATE Desktop&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
{{Cmd|# rc-service udev start}}&lt;br /&gt;
{{Cmd|# rc-service lxdm start}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
==== Disabling standby and screensaver ====&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|localhost:~$ sudo apk add xset&lt;br /&gt;
$ xset q&lt;br /&gt;
... cut ...&lt;br /&gt;
  Standby: 600    Suspend: 600    Off: 600&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|localhost:~$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
If you wanna check the timers again:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|localhost:~$ xset q&lt;br /&gt;
... cut ...&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15561</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15561"/>
		<updated>2018-12-07T23:11:03Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup Xorg == &lt;br /&gt;
Use Alpine&#039;s setup script:&lt;br /&gt;
{{cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
Add any additional video drivers necessary:&lt;br /&gt;
{{cmd|# apk add xf86-video-ati}}&lt;br /&gt;
&lt;br /&gt;
Add additional input drivers (if necessary)&lt;br /&gt;
{{cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&amp;lt;!-- EDIT: Is it preferred to recommend users to install all available video drivers? Also, is using some bash piping and greping the most clear way to explain how to install these, and would this possibly break in future versions? --~~~~&lt;br /&gt;
The next commands are used to install all available video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add extra necessary packages&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
# mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
# apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a regular user:&lt;br /&gt;
{{# Cmd|adduser -h /home/&amp;lt;user&amp;gt; -g &amp;quot;Full User Name&amp;quot; &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: No longer necessary as of at least 3.8&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Cmd|apk del mate-screensaver&lt;br /&gt;
ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Add all available True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|# lbu ci}}&lt;br /&gt;
&lt;br /&gt;
Enable services to start on reboot&lt;br /&gt;
{{Cmd|# rc-update add lxdm}}&lt;br /&gt;
{{Cmd|# rc-update add dbus}}&lt;br /&gt;
{{Cmd|# rc-update add udev}}&lt;br /&gt;
&lt;br /&gt;
And finally, let us start the lxdm service and log in to our MATE Desktop&lt;br /&gt;
{{Cmd|# rc-service dbus start}}&lt;br /&gt;
{{Cmd|# rc-service udev start}}&lt;br /&gt;
{{Cmd|# rc-service lxdm start}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
==== Disabling standby and screensaver ====&lt;br /&gt;
Check the current configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|localhost:~$ sudo apk add xset&lt;br /&gt;
$ xset q&lt;br /&gt;
... cut ...&lt;br /&gt;
  Standby: 600    Suspend: 600    Off: 600&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command:&lt;br /&gt;
{{Cmd|localhost:~$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
If you wanna check the timers again:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|localhost:~$ xset q&lt;br /&gt;
... cut ...&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15560</id>
		<title>MATE</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=MATE&amp;diff=15560"/>
		<updated>2018-12-07T22:05:17Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Install MATE Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enable Community Repository ==&lt;br /&gt;
&lt;br /&gt;
= Enable Community Repository =&lt;br /&gt;
Mate is available in the Community repository. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Install MATE Desktop ==&lt;br /&gt;
&lt;br /&gt;
Mate is available in the community repository. &lt;br /&gt;
&lt;br /&gt;
The next commands are used to install all avaliable video drivers and setup Xorg server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
videodrivers=$(apk search --quiet --exact xf86-video* | grep -v -- &#039;\-doc$&#039;)&lt;br /&gt;
setup-xorg-base $videodrivers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now let us install a bunch of needed packages what includes all MATE Desktop packages avaliable in our Edge repository:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apk add desktop-file-utils gtk-engines consolekit gtk-murrine-engine caja caja-extensions marco dbus lxdm udev hicolor-icon-theme sudo&lt;br /&gt;
mate_pkgs=$(apk search mate -q | grep -v &#039;\-dev&#039; | grep -v &#039;\-lang&#039; | grep -v &#039;\-doc&#039;)&lt;br /&gt;
apk add $mate_pkgs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the next step we add some services to start up with the operating system:&lt;br /&gt;
{{Cmd|rc-update add lxdm&lt;br /&gt;
rc-update add dbus&lt;br /&gt;
rc-update add udev}}&lt;br /&gt;
&lt;br /&gt;
If you do not have a user other than root, it is time to do so. I am going to create a user called &amp;quot;monitor&amp;quot;:&lt;br /&gt;
{{Cmd|adduser -h /home/monitor -g &amp;quot;Monitor User&amp;quot; monitor}}&lt;br /&gt;
&lt;br /&gt;
We will start D-Bus before other services in order to fix D-Bus configuration file (replace the hard coded &#039;system_bus_socket&#039; path):&lt;br /&gt;
Starting D-Bus:&lt;br /&gt;
{{Cmd|rc-service dbus start}}&lt;br /&gt;
&lt;br /&gt;
Fixing the  D-Bus configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dbus_sock_path=$(find / -name system_bus_socket)&lt;br /&gt;
dbus_sock_path=$(echo $dbus_sock_path | sed &#039;s/\//\\&amp;amp;/g&#039;)&lt;br /&gt;
sed -i &#039;s/\/var\/run\/dbus\/system_bus_socket/&#039;$dbus_sock_path&#039;/&#039; /etc/dbus-1/system.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Cmd|apk del mate-screensaver&lt;br /&gt;
ln -s /usr/etc/xdg/menus/ /etc/xdg/menus&lt;br /&gt;
apk add mate-screensaver}}&lt;br /&gt;
&lt;br /&gt;
Adding avaliables True Type Fonts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ttfs=$(apk search -q ttf- | grep -v &#039;\-doc&#039;)&lt;br /&gt;
apk add $ttfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are running your Alpine from RAM, save the changes:&lt;br /&gt;
{{Cmd|lbu ci}}&lt;br /&gt;
&lt;br /&gt;
And finally, let us start the lxdm service and log in to our MATE Desktop&lt;br /&gt;
{{Cmd|rc-service udev start&lt;br /&gt;
rc-service lxdm start}}&lt;br /&gt;
&lt;br /&gt;
It just so happens that the preceding sequence of steps makes an apparently broken Xfce4 install work properly as well.&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
==== Disabling standby and screensaver ====&lt;br /&gt;
First of all check the actual configuration using xset:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|localhost:~$ sudo apk add xset&lt;br /&gt;
localhost:~$ xset q&lt;br /&gt;
... cut ...&lt;br /&gt;
  Standby: 600    Suspend: 600    Off: 600&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
To disable those timers issue the command?&lt;br /&gt;
{{Cmd|localhost:~$ xset dpms 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
If you wanna check the timers again:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|localhost:~$ xset q&lt;br /&gt;
... cut ...&lt;br /&gt;
  Standby: 0    Suspend: 0    Off: 0&lt;br /&gt;
  DPMS is Enabled&lt;br /&gt;
  Monitor is On&lt;br /&gt;
localhost:~$ &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Default_applications&amp;diff=15559</id>
		<title>Default applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Default_applications&amp;diff=15559"/>
		<updated>2018-12-07T21:58:14Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To change the default application associated with a filetype you must use the [https://linux.die.net/man/1/xdg-mime xdg-mime] command and point to the desired desktop file (if it doesn&#039;t exist, you must create one).&lt;br /&gt;
&lt;br /&gt;
= Example =&lt;br /&gt;
In the following example we want to make mupdf the default command to open pdf files.&lt;br /&gt;
First you need to create a desktop file, because mupdf doesn&#039;t provide one.&lt;br /&gt;
{{cat|~/.local/share/applications/mupdf.desktop|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Desktop Entry]&lt;br /&gt;
Type=Application&lt;br /&gt;
Terminal=false&lt;br /&gt;
Exec=/usr/bin/mupdf-gl&lt;br /&gt;
Name=mupdf&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Then you must use xdg to associate the desktop file with the pdf extension.&lt;br /&gt;
{{Cmd|$ xdg-mime default mupdf.desktop application/pdf}}&lt;br /&gt;
That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Default_applications&amp;diff=15558</id>
		<title>Default applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Default_applications&amp;diff=15558"/>
		<updated>2018-12-07T21:55:47Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To change the default application associated with a filetype you must use the xdg-mime command and point to the desired desktop file (if it doesn&#039;t exist, you must create one).&lt;br /&gt;
&lt;br /&gt;
= Example =&lt;br /&gt;
In the following example we want to make mupdf the default command to open pdf files.&lt;br /&gt;
First you need to create a desktop file, because mupdf doesn&#039;t provide one.&lt;br /&gt;
{{cat|~/.local/share/applications/mupdf.desktop|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Desktop Entry]&lt;br /&gt;
Type=Application&lt;br /&gt;
Terminal=false&lt;br /&gt;
Exec=/usr/bin/mupdf-gl&lt;br /&gt;
Name=mupdf&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Then you must use xdg to associate the desktop file with the pdf extension.&lt;br /&gt;
{{Cmd|$ xdg-mime default mupdf.desktop application/pdf}}&lt;br /&gt;
That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Default_applications&amp;diff=15557</id>
		<title>Default applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Default_applications&amp;diff=15557"/>
		<updated>2018-12-07T21:55:19Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To change the default application associated with a filetype you must use the xdg-mime command and point to the desired desktop file (if it doesn&#039;t exist, you must create one).&lt;br /&gt;
&lt;br /&gt;
= Example =&lt;br /&gt;
In the following example we want to make mupdf the default command to open pdf files.&lt;br /&gt;
First you need to create a desktop file, because mupdf doesn&#039;t provide one.&lt;br /&gt;
{{cat|~/.local/share/applications/mupdf.desktop|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[Desktop Entry]&lt;br /&gt;
Type=Application&lt;br /&gt;
Terminal=false&lt;br /&gt;
Exec=/usr/bin/mupdf-gl&lt;br /&gt;
Name=mupdf&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Then you must use xdg to associate the desktop file with the pdf extension.&lt;br /&gt;
{{Cmd|$ xdg-mime default mupdf.desktop application/pdf}}&lt;br /&gt;
That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Default_applications&amp;diff=15556</id>
		<title>Default applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Default_applications&amp;diff=15556"/>
		<updated>2018-12-07T21:54:46Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To change the default application associated with a filetype you must use the xdg-mime command and point to the desired desktop file (if it doesn&#039;t exist, you must create one).&lt;br /&gt;
&lt;br /&gt;
= Example =&lt;br /&gt;
In the following example we want to make mupdf the default command to open pdf files.&lt;br /&gt;
First you need to create a desktop file, because mupdf doesn&#039;t provide one.&lt;br /&gt;
{{cat|~/.local/share/applications/mupdf.desktop&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[Desktop Entry]&lt;br /&gt;
Type=Application&lt;br /&gt;
Terminal=false&lt;br /&gt;
Exec=/usr/bin/mupdf-gl&lt;br /&gt;
Name=mupdf&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Then you must use xdg to associate the desktop file with the pdf extension.&lt;br /&gt;
{{Cmd|$ xdg-mime default mupdf.desktop application/pdf}}&lt;br /&gt;
That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Talk:AwesomeWM&amp;diff=15555</id>
		<title>Talk:AwesomeWM</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Talk:AwesomeWM&amp;diff=15555"/>
		<updated>2018-12-07T21:51:34Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Shouldn&#039;t we assume that if a user is installing awesome then they&#039;ve already performed the setup-alpine script? Is this redundant? &lt;br /&gt;
* Installing aterm (and the other packages) isn&#039;t necessarily a required component of a working awesome config, should this be removed as a personal preference, or perhaps put under a different heading?&lt;br /&gt;
&lt;br /&gt;
--[[User:Astrawso|Astrawso]] ([[User talk:Astrawso|talk]]) 21:36, 7 December 2018 (UTC)&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=AwesomeWM&amp;diff=15554</id>
		<title>AwesomeWM</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=AwesomeWM&amp;diff=15554"/>
		<updated>2018-12-07T21:46:49Z</updated>

		<summary type="html">&lt;p&gt;Astrawso: /* Enable Community Repository */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Initial setup =&lt;br /&gt;
Start by booting up Alpine (see [[Installation|these]] instructions on how to do that)&amp;lt;BR&amp;gt;&lt;br /&gt;
When Alpine is up and running, do the initial setup.&lt;br /&gt;
{{Cmd|# setup-alpine}}&lt;br /&gt;
&lt;br /&gt;
= Enable Community Repository =&lt;br /&gt;
In order to install the awesome package (see &amp;quot;Install packages&amp;quot; below), you need to enable the community repository for your version. Uncomment {{codeline|http://&amp;lt;url&amp;gt;/alpine/&amp;lt;version&amp;gt;/community}} in {{path|/etc/apk/repositories}}. For example:&lt;br /&gt;
{{cat|/etc/apk/repositories|&amp;lt;nowiki&amp;gt;# /etc/apk/repositories&lt;br /&gt;
&lt;br /&gt;
#/media/sdb/apks&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/main&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/alpine/v3.8/community&lt;br /&gt;
#http://mirror.csclub.uwaterloo.ca/alpine/v3.8/testing&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Install packages =&lt;br /&gt;
Install awesome, feh, aterm as basic desktop system.&amp;lt;BR&amp;gt;&lt;br /&gt;
This might take a few minutes depending on your network speed. &lt;br /&gt;
{{Cmd|# apk add awesome feh aterm}}&lt;br /&gt;
If aterm is not recognized by apk (Alpinelinux 3.2.x or above) instead of it you can install lxterminal.&amp;lt;BR&amp;gt;&lt;br /&gt;
On the same version of Alpinelinux (3.2.x or above) you have to install the package lua otherwise awesome will not start&lt;br /&gt;
{{Cmd|# apk add lua}}&lt;br /&gt;
Add other apps on need, eg. firefox, gnumeric, xchat, gimp, pidgin, geany, vim, etc.&amp;lt;BR&amp;gt;&lt;br /&gt;
For Alpinelinux 2.6.x add additional pkgs&lt;br /&gt;
{{Cmd|# apk add cairo-gobject pango}}&lt;br /&gt;
&lt;br /&gt;
== Optional packages ==&lt;br /&gt;
=== Video and Input packages ===&lt;br /&gt;
You &amp;lt;u&amp;gt;might&amp;lt;/u&amp;gt; also want to install a package suitable for your video chipset and input devices.&amp;lt;BR&amp;gt;&lt;br /&gt;
For example, if you have an Sis video chipset install &#039;xf86-video-sis&#039;, for Intel video chipset install &#039;xf86-video-intel&#039;.&amp;lt;BR&amp;gt;&lt;br /&gt;
{{Cmd|# apk add xf86-video-sis}}&lt;br /&gt;
and / or &lt;br /&gt;
{{Cmd|# apk add xf86-input-synaptics}}&lt;br /&gt;
&lt;br /&gt;
Run &#039;apk search xf86-video*&#039; to see available xf86-video packages.&amp;lt;BR&amp;gt;&lt;br /&gt;
Run &#039;apk search xf86-input*&#039; to see available xf86-input packages.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== acpid ===&lt;br /&gt;
If you installed your Alpine Linux as a VirtualBox or VMWare guest you might find it handy to be able send ACPI shutdown.&amp;lt;BR&amp;gt;&lt;br /&gt;
{{Cmd|# rc-update add acpid}}&lt;br /&gt;
&lt;br /&gt;
= Configure xorg-server =&lt;br /&gt;
On most systems, xorg should be able to autodetect all devices. However you can still configure xorg-server by hand by launching:&lt;br /&gt;
{{Cmd|# setup-xorg-base}}&lt;br /&gt;
&lt;br /&gt;
= Create user accounts =&lt;br /&gt;
Create a normal user account.&lt;br /&gt;
{{Cmd|# adduser &amp;lt;user&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Optionally, give that user sudo permissions in /etc/sudoers. When doing so, it is important to use the command: {{Cmd|# visudo}} This ensures that only one user is changing the file at any given time.  Visudo has two modes: Command mode and Insert mode.  To edit the file, use the arrows to navigate to the appropriate line and enter Insert mode by pressing the &#039;i&#039; key.  To save and exit, enter Command mode by pressing the &#039;Esc&#039; key, then &#039;:w&#039; + &#039;enter&#039; to save, and finally &#039;:q&#039; + &#039;enter&#039; to quit.&lt;br /&gt;
&lt;br /&gt;
Logout from root and login into new created account.&lt;br /&gt;
&lt;br /&gt;
= Start your desktop =&lt;br /&gt;
{{Cmd|$ echo &#039;awesome&#039; &amp;gt;&amp;gt; /home/&amp;lt;newuser&amp;gt;/.xinitrc}}&lt;br /&gt;
{{Cmd|$ mkdir /home/&amp;lt;newuser&amp;gt;/.config}}&lt;br /&gt;
{{Cmd|$ cp -r /etc/xdg/awesome  /home/&amp;lt;newuser&amp;gt;/.config}}&lt;br /&gt;
{{Cmd|$ vi /home/&amp;lt;newuser&amp;gt;/.config/awesome/rc.lua}}&lt;br /&gt;
Replace instances of xterm with aterm or (if 3.2.x or above use lxterminal instead)&lt;br /&gt;
&lt;br /&gt;
Start awesome.&lt;br /&gt;
{{Cmd|$ startx}}&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
D-Bus problems:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open &amp;quot;/var/lib/dbus/machine-id&amp;quot;: No such file or directory}}&lt;br /&gt;
&lt;br /&gt;
If startx fails and returns an error about D-Bus failed to read machine uuid, as shown above, proceed as follow:&lt;br /&gt;
&lt;br /&gt;
Install dbus from apk (you must be logged in as root, as for the step below)&lt;br /&gt;
{{Cmd|# apk add dbus}}&lt;br /&gt;
&lt;br /&gt;
Login or su to root account then launch the follow command (Note: sudo is not working for this step):&lt;br /&gt;
{{Cmd|# dbus-uuidgen &amp;gt; /var/lib/dbus/machine-id}}&lt;br /&gt;
&lt;br /&gt;
Now if startx is launched it should load correctly the desktop&lt;br /&gt;
&lt;br /&gt;
= Screenshot =&lt;br /&gt;
[[{{ns:image}}:awesome-01.png|awesome-01.png]]&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>Astrawso</name></author>
	</entry>
</feed>