{"id":2044,"date":"2026-02-18T09:08:13","date_gmt":"2026-02-18T09:08:13","guid":{"rendered":"https:\/\/asgardius.company\/?p=2044"},"modified":"2026-03-08T15:06:20","modified_gmt":"2026-03-08T15:06:20","slug":"instalar-gentoo-con-phosh-y-systemd-en-pinephone","status":"publish","type":"post","link":"https:\/\/asgardius.company\/?p=2044","title":{"rendered":"Instalar Gentoo con Phosh y Systemd en Pinephone"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/asgardius.company\/wp-content\/uploads\/2025\/03\/20250325_180804-768x1024.jpg\" alt=\"\" class=\"wp-image-1915\" srcset=\"https:\/\/asgardius.company\/wp-content\/uploads\/2025\/03\/20250325_180804-768x1024.jpg 768w, https:\/\/asgardius.company\/wp-content\/uploads\/2025\/03\/20250325_180804-225x300.jpg 225w, https:\/\/asgardius.company\/wp-content\/uploads\/2025\/03\/20250325_180804-1152x1536.jpg 1152w, https:\/\/asgardius.company\/wp-content\/uploads\/2025\/03\/20250325_180804-1536x2048.jpg 1536w, https:\/\/asgardius.company\/wp-content\/uploads\/2025\/03\/20250325_180804-1568x2091.jpg 1568w, https:\/\/asgardius.company\/wp-content\/uploads\/2025\/03\/20250325_180804-scaled.jpg 1920w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<p>Pinephone es un smartphone interesante para probar diferentes sistemas operativos. Un reto interesante es instalar Gentoo, una distribuci\u00f3n de GNU\/Linux conocida por su curva de aprendizaje. En este tutorial se da por hecho que el lector tiene conocimientos sobre GNU\/Linux y ha utilizado Gentoo por lo menos una vez. En mi caso voy a utilizar Qemu para realizar el procedimiento de instalaci\u00f3n, aprovechando tami\u00e9n lo que hice en <a href=\"https:\/\/asgardius.company\/?p=1895\">este art\u00edculo<\/a>. Recomiendo crear una instancia gemela de gentoo en otro dispositivo para compilar los paquetes nuevos ahi en lugar del pinephone. En mi caso utilizo una instancia gratuita de Oracle Cloud, pero puede ser cualquier proveedor que ofrezca instancias basadas en servidores Ampere o similares (Scaleway Elements tambien ofrece este tipo de instancia). Puede que una SBC como Raspberry Pi 5 tambien funcione, pero no lo he probado<\/p>\n\n\n\n<p>Esta guia sirve como complemento al manual oficial de Gentoo, por lo que aqui se muestran los pasos especificos para Pinephone<\/p>\n\n\n\n<p>Actualmente es posible utilizar pipewire como servidor de audio, aunque en caso de tener problemas de compatibilidad con dispositivos de audio bluetooth es posible volver a pulseaudio<\/p>\n\n\n\n<p>En mi caso el archivo make.conf de portage qued\u00f3 as\u00ed<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>COMMON_FLAGS=\"-march=armv8-a+crypto+crc -mtune=cortex-a53 -O2 -pipe -fomit-frame-pointer -ftree-vectorize\"\nCFLAGFS=\"${COMMON_FLAGS}\"\nCXXFLAGS=\"${COMMON_FLAGS}\"\nFCFLAGS=\"${COMMON_FLAGS}\"\nFFLAGS=\"${COMMON_FLAGS}\"\nMAKEOPTS=\"-j5\"\n\nUSE=\"gtk webp avif jpeg gif png openmpt vaapi x264 dvd bluray aacs libass mp3 fluidsynth gme matroska opus fdk css ssh v4l mtp pipewire wayland phosh gles2 p-boot eg25-manager pinephone chromium samba truetype elogind bluetooth cups vaapi systemd networkmanager -opengl egl wifi mobile tkip nftables bluetooth voip pipewire-alsa modemmanager\"\n\n# WARNING: Changing your CHOST is not something that should be done lightly.\n# Please consult https:\/\/wiki.gentoo.org\/wiki\/Changing_the_CHOST_variable before changing.\nCHOST=\"aarch64-unknown-linux-gnu\"\n\n# NOTE: This stage was built with the bindist USE flag enabled\n\n# This sets the language of build output to English.\n# Please keep this setting intact when reporting bugs.\nLC_MESSAGES=C.UTF-8\nVIDEO_CARDS=\"lima\"\nACCEPT_LICENSE=\"-* @FREE @BINARY-REDISTRIBUTABLE\"\nFEATURES=\"${FEATURES} getbinpkg\"\nGENTOO_MIRRORS=\"https:\/\/elda.asgardius.company\/gentoo\"\nL10N=\"es-mx es\"\nLINGAS=\"es\"<\/code><\/pre>\n\n\n\n<p>Los par\u00e1metros que elegi en COMMON_FLAGS son importantes si se va a compilar los paquetes en un dispositivo diferente al pinephone, los paquetes se optimizaran para el pinephone y no para el hardware que ejecuta el compilador. El controlador de video elegido es el requerido para la gpu del pinephone. Las etiquetas USE son elegidas para mi caso de uso espec\u00edfico<\/p>\n\n\n\n<p>El archivo packages.use queda as\u00ed en mi caso<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sys-apps\/systemd cryptsetup homed\nmedia-libs\/mesa -llvm\n&gt;=x11-libs\/libdrm-2.4.102 libkms\nnet-misc\/networkmanager connection-sharing\nmedia-libs\/libsdl2 gles2 -tslib\nmedia-libs\/libvpx postproc\nsys-libs\/zlib minizip\nmedia-fonts\/dejavu -X\nmedia-video\/vlc -X opus\nmedia-tv\/v4l-utils -bpf -qt5\nmedia-video\/ffmpeg vaapi\nsci-geosciences\/gpsd -X -qt5 python\n&gt;=media-plugins\/grilo-plugins-0.3.12 flickr\n&gt;=sys-libs\/zlib-1.2.11-r3 static-libs\nmedia-libs\/libsdl2 kms tslib\n&gt;=media-video\/ffmpeg-4.3.1 opus\nx11-libs\/tslib -sdl\nnet-wireless\/bluez user-session\nx11-libs\/cairo gles2-only\nnet-libs\/webkit-gtk gles2-only\n&gt;=dev-lang\/python-3.9.2 -bluetooth -sqlite\ndev-qt\/qtbase opengl\ndev-qt\/qtdeclarative opengl\ndev-qt\/qtmultimedia opengl\nmedia-video\/vlc X ffmpeg\nmedia-libs\/libsdl3 opengl\n# required by dev-qt\/qtmultimedia-6.10.1-r1::gentoo&#91;qml]\n# required by dev-libs\/kirigami-addons-1.11.0::gentoo\n# required by kde-misc\/kdeconnect-25.08.3-r2::gentoo\n# required by kdeconnect (argument)\n&gt;=dev-qt\/qtquick3d-6.10.1 opengl\n# required by dev-qt\/qtmultimedia-6.10.1-r1::gentoo&#91;opengl,gstreamer]\n# required by dev-libs\/kirigami-addons-1.11.0::gentoo\n# required by kde-misc\/kdeconnect-25.08.3-r2::gentoo\n# required by kdeconnect (argument)\n&gt;=media-libs\/gst-plugins-base-1.24.11-r1 opengl\n# required by kde-misc\/kdeconnect-25.08.3-r2::gentoo\n# required by kdeconnect (argument)\n&gt;=dev-qt\/qttools-6.10.1-r1 opengl\nwww-client\/firefox -gnome-shell -wifi\nnet-libs\/nodejs npm\nmedia-plugins\/gst-plugins-gtk opengl\n# required by media-video\/mpv-0.41.0::gentoo&#91;egl]\n# required by net-misc\/s3manager-3.1.3::laylarepo\n# required by s3manager (argument)\n&gt;=media-libs\/libplacebo-7.351.0 opengl\n# required by x11-wm\/phoc-0.51.0::gjdwebserver\n# required by gui-wm\/phosh-0.51.0::gjdwebserver\n# required by @selected\n# required by @world (argument)\n&gt;=sys-auth\/seatd-0.9.2 server\n# required by net-im\/chatty-0.8.8::gjdwebserver\n# required by @selected\n# required by @world (argument)\n=gnome-extra\/evolution-data-server-3.58.2 phonenumber\n# required by media-sound\/lollypop-1.4.45::gentoo\n# required by @selected\n# required by @world (argument)\n&gt;=dev-lang\/python-3.13.11:3.13 sqlite\nmedia-video\/mpv -alsa pipewire -pulseaudio\nmedia-plugins\/gst-plugin-gtk4 opengl<\/code><\/pre>\n\n\n\n<p>El archivo packages.accept_keywords queda as\u00ed en mi caso<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># required by gui-wm\/phosh-0.51.0::gjdwebserver\n# required by gui-wm\/phosh (argument)\ndev-libs\/feedbackd ~arm64\n# required by kde-frameworks\/kwindowsystem-6.22.0::gentoo&#91;X]\n# required by app-crypt\/pinentry-1.3.2-r1::gentoo&#91;qt6,wayland]\n# required by app-crypt\/gnupg-2.5.17::gentoo\n# required by app-alternatives\/gpg-1-r3::gentoo&#91;reference]\n# required by app-portage\/getuto-1.15-r1::gentoo\n# required by sys-apps\/portage-3.0.72-r1::gentoo&#91;-build]\n# required by virtual\/package-manager-2::gentoo\n# required by @system\n# required by @world (argument)\ndev-qt\/qtbase ~arm64\n# required by dev-libs\/feedbackd-0.8.8::guru\n# required by gui-wm\/phosh-0.51.0::gjdwebserver\n# required by gui-wm\/phosh (argument)\ndev-libs\/feedbackd-device-themes ~arm64\n# required by gui-wm\/phosh-0.51.0::gjdwebserver\n# required by gui-wm\/phosh (argument)\nmedia-sound\/callaudiod ~arm64\n# required by dev-libs\/feedbackd-0.8.8::guru\n# required by gui-wm\/phosh-0.51.0::gjdwebserver\n# required by gui-wm\/phosh (argument)\ndev-libs\/gmobile ~arm64\n# required by gui-wm\/phosh-0.51.0::gjdwebserver\n# required by gui-wm\/phosh (argument)\nx11-wm\/phoc ~arm64\n# required by dev-qt\/qtbase-6.10.2::gentoo\n# required by dev-libs\/libportal-0.9.1::gentoo\n# required by gnome-base\/nautilus-48.4.1-r1::gentoo\n# required by gnome-extra\/sushi-46.0::gentoo\ndev-qt\/qttranslations ~arm64\n# required by dev-qt\/qtbase-6.10.2::gentoo\n# required by dev-libs\/libportal-0.9.1::gentoo\n# required by gnome-base\/nautilus-48.4.1-r1::gentoo\n# required by gnome-extra\/sushi-46.0::gentoo\ndev-libs\/icu ~arm64\n# required by gui-wm\/phosh (argument)\ngui-wm\/phosh ~arm64\nx11-misc\/stevia ~arm64\nnet-misc\/eg25-manager ~arm64\nnet-im\/chatty ~arm64\nnet-voip\/gnome-calls ~arm64\nnet-libs\/sofia-sip ~arm64\ngnome-extra\/evolution-data-server ~arm64\nx11-plugins\/purple-mm-sms ~arm64\nx11-misc\/phosh-mobile-settings ~arm64\napp-mobilephone\/mobile-config-firefox ~arm64\nmedia-sound\/pavucontrol ~arm64\ngnome-extra\/iio-sensor-proxy ~arm64\nwww-client\/librewolf-bin ~arm64\n=net-im\/nheko-0.12.1 **\ndev-db\/lmdb++ **\ndev-libs\/kdsingleapplication ~arm64\ndev-cpp\/blurhash **\ndev-libs\/mtxclient **\ndev-cpp\/coeurl **\ngames-rpg\/midori-school ~arm64\ngames-puzzle\/r3-game ~arm64 \nnet-misc\/s3manager ~arm64\nmedia-sound\/lollypop ~arm64\nsci-geosciences\/gnome-maps ~arm64\nmedia-plugins\/gst-plugins-faad ~arm64\nmedia-libs\/gst-plugins-bad ~arm64\nsys-power\/powersupply ~arm64\napp-containers\/distrobox ~arm64\nmedia-libs\/gstreamer ~arm64\nmedia-plugins\/gst-plugins-dtls ~arm64\nmedia-libs\/gst-plugins-base ~arm64\nmedia-plugins\/gst-plugins-webrtc ~arm64\nmedia-plugins\/gst-plugins-sctp ~arm64\nmedia-libs\/webrtc-audio-processing ~arm64\napp-text\/foliate **\nphosh-base\/xdg-desktop-portal-phosh **\nphosh-base\/pfs **<\/code><\/pre>\n\n\n\n<p>Es necesario elegir un perfil de sistema con systemd que sea apto para Gnome<\/p>\n\n\n\n<p>Para poder agregar repositorios de terceros es necesario instalar eselect-repository<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>emerge --ask app-eselect\/eselect-repository<\/code><\/pre>\n\n\n\n<p>Para poder instalar Phosh es necesario el repositorio gjdwebserver<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>eselect repository add gjdwebserver git https:\/\/git.gjdwebserver.nl\/gjdwebserver\/gjdwebserver-overlay.git<\/code><\/pre>\n\n\n\n<p>En el repositorio Layla hay algunos paquetes interesantes<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>eselect repository add laylarepo git https:\/\/git.asgardius.company\/asgardius\/laylarepo.git<\/code><\/pre>\n\n\n\n<p>Algunos paquetes dependen de otros que se encuentran en el repositorio Guru<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>eselect repository enable guru<\/code><\/pre>\n\n\n\n<p>Elegi los siguientes servidores de paquetes binarios<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;gentoo]\npriority = 1\nsync-uri = https:\/\/elda.asgardius.company\/gentoo\/releases\/arm64\/binpackages\/23.0\/arm64\nlocation = \/var\/cache\/binhost\/gentoo\nverify-signature = true\n\n&#91;gjdwebserver]\npriority = 1\nsync-uri = https:\/\/distfiles.gjdwebserver.nl\/\nlocation = \/var\/cache\/binhost\/gjdwebserver\nverify-signature = false\n\n&#91;layla-bin]\nsync-uri = https:\/\/layla-bin.momo.asgardius.company\/arm64\npriority = 10<\/code><\/pre>\n\n\n\n<p>Instalaremos los siguientes paquetes para tener la interfaz de usuario phosh<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>emerge --ask gui-wm\/phosh net-misc\/eg25-manager x11-misc\/stevia net-im\/chatty net-voip\/gnome-calls gnome-extra\/gnome-contacts x11-misc\/phosh-mobile-settings x11-misc\/sddm net-misc\/networkmanager phosh-base\/xdg-desktop-portal-phosh<\/code><\/pre>\n\n\n\n<p>Habilitamos NetworkManager<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl enable NetworkManager\nsystemctl enable ModemManager<\/code><\/pre>\n\n\n\n<p>Configuramos SDDM<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/sddm.conf.d\/01gentoo.conf<\/code><\/pre>\n\n\n\n<p>Agregamos lo siguiente<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Autologin]\nUser=&lt;Usuario&gt;\nSession=phosh<\/code><\/pre>\n\n\n\n<p>Habilitamos SDDM<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl enable sddm<\/code><\/pre>\n\n\n\n<p>En caso de que no funcione el audio, ser\u00e1 necesario corregir los perfiles de ALSA. Editamos primero el siguiente archivo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/usr\/share\/alsa\/ucm2\/Allwinner\/A64\/PinePhone\/PinePhone.conf <\/code><\/pre>\n\n\n\n<p>Colocamos lo siguiente<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Syntax 2\n\n# https:\/\/wiki.pine64.org\/index.php\/PinePhone\n# https:\/\/files.pine64.org\/doc\/PinePhone\/PinePhone%20v1.2%20Released%20Schematic.pdf\n# https:\/\/xnux.eu\/devices\/feature\/audio-pp.html\n\nSectionUseCase.\"HiFi\" {\n        File \"\/Allwinner\/A64\/PinePhone\/HiFi.conf\"\n        Comment \"Play HiFi quality music\"\n}\n\nSectionUseCase.\"Voice Call\" {\n        File \"\/Allwinner\/A64\/PinePhone\/VoiceCall.conf\"\n        Comment \"Make a phone call\"\n}<\/code><\/pre>\n\n\n\n<p>Seguimos con el perfil de llamadas<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/usr\/share\/alsa\/ucm2\/Allwinner\/A64\/PinePhone\/VoiceCall.conf<\/code><\/pre>\n\n\n\n<p>Lo dejamos asi<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SectionVerb {\n        EnableSequence &#91;\n                cset \"name='Headphone Playback Switch' off\"\n                cset \"name='Headphone Source Playback Route' DAC\"\n                cset \"name='Line In Playback Switch' off\"\n                cset \"name='Line Out Playback Switch' off\"\n                cset \"name='Line Out Source Playback Route' Mono Differential\"\n                cset \"name='Mic1 Playback Switch' off\"\n                cset \"name='Mic2 Playback Switch' off\"\n                cset \"name='AIF1 DA0 Playback Volume' 160\"\n                cset \"name='AIF2 DAC Playback Volume' 184\"\n                cset \"name='AIF2 DAC Stereo Playback Route' Mix Mono\"\n                cset \"name='AIF3 ADC Source Capture Route' None\"\n                cset \"name='AIF2 DAC Source Playback Route' AIF2\"\n                cset \"name='DAC Playback Switch' on\"\n                cset \"name='DAC Playback Volume' 160\"\n                cset \"name='ADC Digital DAC Playback Switch' off\"\n                cset \"name='AIF1 Slot 0 Digital DAC Playback Switch' on\"\n                cset \"name='AIF2 Digital DAC Playback Switch' on\"\n                cset \"name='DAC Reversed Playback Switch' off\"\n                cset \"name='Earpiece Playback Switch' off\"\n                cset \"name='Earpiece Source Playback Route' DACL\"\n\n                cset \"name='Line In Capture Switch' off\"\n                cset \"name='Mic1 Capture Switch' off\"\n                cset \"name='Mic2 Capture Switch' off\"\n                cset \"name='Mixer Capture Switch' off\"\n                cset \"name='Mixer Reversed Capture Switch' off\"\n                cset \"name='ADC Capture Volume' 160\"\n                cset \"name='AIF1 AD0 Capture Volume' 160\"\n                cset \"name='AIF1 Data Digital ADC Capture Switch' on\"\n                cset \"name='AIF2 ADC Capture Volume' 160\"\n                cset \"name='AIF2 ADC Mixer ADC Capture Switch' on\"\n                cset \"name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off\"\n                cset \"name='AIF2 ADC Mixer AIF2 DAC Rev Capture Switch' off\"\n        ]\n\n        DisableSequence &#91;\n        ]\n\n        Value {\n                PlaybackRate 8000\n        }\n}\n\nSectionDevice.\"Speaker\" {\n        Comment \"Internal speaker\"\n\n        EnableSequence &#91;\n                cset \"name='AIF1 DA0 Stereo Playback Route' Mix Mono\"\n                cset \"name='Line Out Playback Switch' on\"\n                cset \"name='Line Out Playback Volume' 100%\"\n        ]\n\n        DisableSequence &#91;\n                cset \"name='Line Out Playback Switch' off\"\n        ]\n\n        Value {\n                PlaybackVolume \"Line Out Playback Volume\"\n                PlaybackSwitch \"Line Out Playback Switch\"\n                PlaybackChannels \"2\"\n                PlaybackPriority 100\n                PlaybackPCM \"hw:${CardId},0\"\n        }\n}\nSectionDevice.\"Earpiece\" {\n        Comment \"Internal Earpiece\"\n\n        EnableSequence &#91;\n                cset \"name='AIF1 DA0 Stereo Playback Route' Mix Mono\"\n                cset \"name='Earpiece Playback Switch' on\"\n                cset \"name='Earpiece Playback Volume' 100%\"\n        ]\n\n        DisableSequence &#91;\n                cset \"name='Earpiece Playback Switch' off\"\n        ]\n\n        Value {\n                PlaybackVolume \"Earpiece Playback Volume\"\n                PlaybackSwitch \"Earpiece Playback Switch\"\n                PlaybackChannels \"2\"\n                PlaybackPriority 300\n                PlaybackPCM \"hw:${CardId},0\"\n        }\n}\n\nSectionDevice.\"Mic\" {\n        Comment \"Internal Microphone\"\n\n        ConflictingDevice &#91;\n                \"Headset\"\n        ]\n\n        EnableSequence &#91;\n                cset \"name='Mic1 Capture Switch' on\"\n        ]\n\n        DisableSequence &#91;\n                cset \"name='Mic1 Capture Switch' off\"\n        ]\n\n        Value {\n                CapturePriority 100\n                CapturePCM \"hw:${CardId},0\"\n                CaptureChannels \"2\"\n        }\n}\n\nSectionDevice.\"Headset\" {\n        Comment \"Headset Microphone\"\n\n        ConflictingDevice &#91;\n                \"Mic\"\n        ]\n\n        EnableSequence &#91;\n                cset \"name='Mic2 Capture Switch' on\"\n        ]\n\n        DisableSequence &#91;\n                cset \"name='Mic2 Capture Switch' off\"\n        ]\n\n        Value {\n                CapturePriority 200\n                CapturePCM \"hw:${CardId},0\"\n                CaptureChannels \"2\"\n                JackControl \"Headset Microphone Jack\"\n        }\n}\n\nSectionDevice.\"Headphones\" {\n        Comment \"Headphones\"\n\n        EnableSequence &#91;\n                cset \"name='AIF1 DA0 Stereo Playback Route' Stereo\"\n                cset \"name='Headphone Playback Switch' on\"\n                cset \"name='Headphone Playback Volume' 100%\"\n        ]\n\n        DisableSequence &#91;\n                cset \"name='Headphone Playback Switch' off\"\n        ]\n\n        Value {\n                PlaybackVolume \"Headphone Playback Volume\"\n                PlaybackSwitch \"Headphone Playback Switch\"\n                PlaybackChannels \"2\"\n                PlaybackPriority 500\n                PlaybackPCM \"hw:${CardId},0\"\n                JackControl \"Headphone Jack\"\n        }\n}<\/code><\/pre>\n\n\n\n<p>Ahora el perfil de audio Hi-Fi<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/usr\/share\/alsa\/ucm2\/Allwinner\/A64\/PinePhone\/HiFi.conf<\/code><\/pre>\n\n\n\n<p>Lo deamos asi<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SectionVerb {\n        EnableSequence &#91;\n                cset \"name='Headphone Playback Switch' off\"\n                cset \"name='Headphone Source Playback Route' DAC\"\n                cset \"name='Line In Playback Switch' off\"\n                cset \"name='Line Out Playback Switch' off\"\n                cset \"name='Line Out Source Playback Route' Mono Differential\"\n                cset \"name='Mic1 Playback Switch' off\"\n                cset \"name='Mic2 Playback Switch' off\"\n                cset \"name='AIF1 DA0 Playback Volume' 160\"\n                cset \"name='AIF3 ADC Source Capture Route' None\"\n                cset \"name='AIF2 DAC Source Playback Route' AIF2\"\n                cset \"name='DAC Playback Switch' on\"\n                cset \"name='DAC Playback Volume' 160\"\n                cset \"name='ADC Digital DAC Playback Switch' off\"\n                cset \"name='AIF1 Slot 0 Digital DAC Playback Switch' on\"\n                cset \"name='AIF2 Digital DAC Playback Switch' off\"\n                cset \"name='DAC Reversed Playback Switch' off\"\n                cset \"name='Earpiece Playback Switch' off\"\n                cset \"name='Earpiece Source Playback Route' DACL\"\n\n                cset \"name='Line In Capture Switch' off\"\n                cset \"name='Mic1 Capture Switch' off\"\n                cset \"name='Mic2 Capture Switch' off\"\n                cset \"name='Mixer Capture Switch' off\"\n                cset \"name='Mixer Reversed Capture Switch' off\"\n                cset \"name='ADC Capture Volume' 160\"\n                cset \"name='AIF1 AD0 Capture Volume' 160\"\n                cset \"name='AIF1 Data Digital ADC Capture Switch' on\"\n                cset \"name='AIF2 ADC Mixer ADC Capture Switch' off\"\n                cset \"name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off\"\n                cset \"name='AIF2 ADC Mixer AIF2 DAC Rev Capture Switch' off\"\n        ]\n\n        DisableSequence &#91;\n        ]\n\n        Value {\n        }\n}\n\nSectionDevice.\"Speaker\" {\n        Comment \"Internal speaker\"\n        EnableSequence &#91;\n                cset \"name='AIF1 DA0 Stereo Playback Route' Mix Mono\"\n                cset \"name='Line Out Playback Switch' on\"\n                cset \"name='Line Out Playback Volume' 100%\"\n        ]\n\n        DisableSequence &#91;\n                cset \"name='Line Out Playback Switch' off\"\n        ]\n\n        Value {\n                PlaybackVolume \"Line Out Playback Volume\"\n                PlaybackSwitch \"Line Out Playback Switch\"\n                PlaybackChannels \"2\"\n                PlaybackPriority 300\n                PlaybackPCM \"hw:${CardId},0\"\n        }\n}\n\nSectionDevice.\"Earpiece\" {\n        Comment \"Internal Earpiece\"\n\n        EnableSequence &#91;\n                cset \"name='AIF1 DA0 Stereo Playback Route' Mix Mono\"\n                cset \"name='Earpiece Playback Switch' on\"\n                cset \"name='Earpiece Playback Volume' 100%\"\n        ]\n\n        DisableSequence &#91;\n                cset \"name='Earpiece Playback Switch' off\"\n        ]\n\n        Value {\n                PlaybackVolume \"Earpiece Playback Volume\"\n                PlaybackSwitch \"Earpiece Playback Switch\"\n                PlaybackChannels \"2\"\n                PlaybackPriority 100\n                PlaybackPCM \"hw:${CardId},0\"\n        }\n}\n\nSectionDevice.\"Mic\" {\n        Comment \"Internal Microphone\"\n\n        ConflictingDevice &#91;\n                \"Headset\"\n        ]\n\n        EnableSequence &#91;\n                cset \"name='Mic1 Capture Switch' on\"\n        ]\n\n        DisableSequence &#91;\n                cset \"name='Mic1 Capture Switch' off\"\n        ]\n\n        Value {\n                CapturePriority 100\n                CapturePCM \"hw:${CardId},0\"\n                CaptureChannels \"2\"\n        }\n}\n\nSectionDevice.\"Headset\" {\n        Comment \"Headset Microphone\"\n\n        ConflictingDevice &#91;\n                \"Mic\"\n        ]\n\n        EnableSequence &#91;\n                cset \"name='Mic2 Capture Switch' on\"\n        ]\n\n        DisableSequence &#91;\n                cset \"name='Mic2 Capture Switch' off\"\n        ]\n\n        Value {\n                CapturePriority 200\n                CapturePCM \"hw:${CardId},0\"\n                CaptureChannels \"2\"\n                JackControl \"Headset Microphone Jack\"\n        }\n}\n\nSectionDevice.\"Headphones\" {\n        Comment \"Headphones\"\n\n        EnableSequence &#91;\n                cset \"name='AIF1 DA0 Stereo Playback Route' Stereo\"\n                cset \"name='Headphone Playback Switch' on\"\n                cset \"name='Headphone Playback Volume' 100%\"\n        ]\n\n        DisableSequence &#91;\n                cset \"name='Headphone Playback Switch' off\"\n        ]\n\n        Value {\n                PlaybackVolume \"Headphone Playback Volume\"\n                PlaybackSwitch \"Headphone Playback Switch\"\n                PlaybackChannels \"2\"\n                PlaybackPriority 500\n                PlaybackPCM \"hw:${CardId},0\"\n                JackControl \"Headphone Jack\"\n        }\n}<\/code><\/pre>\n\n\n\n<p>Configuramos systemd resolved y eg25-manager (para poder utilizar el modem del pinephone)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -sf ..\/run\/systemd\/resolve\/stub-resolv.conf \/etc\/resolv.conf\nsystemctl enable systemd-resolved.service\nsystemctl enable eg25-manager.service<\/code><\/pre>\n\n\n\n<p>Referencias<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.gjdwebserver.nl\/ords\/f?p=107:HOME:::::ARTICLE:gentoo-on-a-pinephone\">https:\/\/blog.gjdwebserver.nl\/ords\/f?p=107:HOME:::::ARTICLE:gentoo-on-a-pinephone<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.gjdwebserver.nl\/ords\/f?p=107:HOME:::::ARTICLE:gentoo-on-a-pinephone-making-it-a-usable-phone\">https:\/\/blog.gjdwebserver.nl\/ords\/f?p=107:HOME:::::ARTICLE:gentoo-on-a-pinephone-making-it-a-usable-phone<\/a><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pinephone es un smartphone interesante para probar diferentes sistemas operativos. Un reto interesante es instalar Gentoo, una distribuci\u00f3n de GNU\/Linux conocida por su curva de aprendizaje. En este tutorial se da por hecho que el lector tiene conocimientos sobre GNU\/Linux y ha utilizado Gentoo por lo menos una vez. En mi caso voy a utilizar&hellip; <a class=\"more-link\" href=\"https:\/\/asgardius.company\/?p=2044\">Seguir leyendo <span class=\"screen-reader-text\">Instalar Gentoo con Phosh y Systemd en Pinephone<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2044","post","type-post","status-publish","format-standard","hentry","category-sin-categoria","entry"],"_links":{"self":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/posts\/2044","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2044"}],"version-history":[{"count":14,"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/posts\/2044\/revisions"}],"predecessor-version":[{"id":2058,"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/posts\/2044\/revisions\/2058"}],"wp:attachment":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2044"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2044"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2044"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}