Diffstat (limited to 'root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc')
13 files changed, 98 insertions, 0 deletions
diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/anaconda/conf.d/90-surface-pro-12-inch.conf b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/anaconda/conf.d/90-surface-pro-12-inch.conf new file mode 100644 index 0000000..0b46109 --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/anaconda/conf.d/90-surface-pro-12-inch.conf @@ -0,0 +1,19 @@ +# Surface Pro 12" (Snapdragon X1P-42-100): do not hide the GRUB menu. +# +# /etc/anaconda/profile.d/fedora-workstation.conf sets menu_auto_hide = True, +# and os-release here has VARIANT_ID=workstation, so anaconda selects that +# profile. Its grub2.py then writes both variables into grubenv: +# +# grub2-editenv - set menu_auto_hide=1 boot_success=1 +# +# deliberately, "so that the menu is hidden on the boot after install". On this +# firmware a hidden menu means GRUB counts down GRUB_TIMEOUT with nothing on +# screen and then crashes during the hand-off, so the very first boot of a fresh +# install always fails; it only succeeds from the second attempt, once the menu +# is drawn. Keeping the menu visible avoids that path entirely. +# +# conf.d is read after profile.d and is documented as the override location, and +# this file only needs to exist in the live installer environment -- it has no +# effect on, and is not needed by, the installed system. +[Bootloader] +menu_auto_hide = False diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-als b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-als new file mode 100644 index 0000000..ae14928 --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-als @@ -0,0 +1,2 @@ +[org/gnome/settings-daemon/plugins/power] +ambient-enabled=false diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/profile/user b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/profile/user new file mode 100644 index 0000000..aca0641 --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/profile/user @@ -0,0 +1,2 @@ +user-db:user +system-db:local diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dracut.conf.d/surface-pro-12-inch.conf b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dracut.conf.d/surface-pro-12-inch.conf new file mode 100644 index 0000000..9c7a9bd --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dracut.conf.d/surface-pro-12-inch.conf @@ -0,0 +1,24 @@ +# Surface Pro 12" (Snapdragon X1P-42-100) +# +# Keep the ADSP/CDSP remoteproc driver out of the initramfs. +# +# qcom_q6v5_pas has auto_boot set, so it powers up the DSPs the moment it +# probes. In a hostonly initramfs it gets pulled in and probes at ~1.7s, long +# before root is mounted, and the firmware it needs lives on the root +# filesystem: +# +# remoteproc remoteproc0: adsp is available +# Direct firmware load for .../qcadsp8380.mbn failed with error -2 +# remoteproc remoteproc0: request_firmware failed: -2 +# +# remoteproc does not retry after that, so both DSPs stay offline for the whole +# boot -- which means no glink edge, no fastrpc devices, and therefore no +# sensors. Nothing in the initramfs needs the DSPs to mount root, so deferring +# the driver until after switch-root lets auto_boot find its firmware and +# succeed. The alternative, install_items with the blobs, adds ~45MB to every +# initramfs for no benefit. +# +# dracut reads this from the target's /etc/dracut.conf.d during anaconda's +# initramfs regeneration, so it survives installation (unlike /etc/default/grub, +# which anaconda rewrites from a fixed key set). +omit_drivers+=" qcom_q6v5_pas " diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/cmdline b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/cmdline new file mode 100644 index 0000000..5b92d02 --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/cmdline @@ -0,0 +1 @@ +rootflags=subvol=root mem_sleep_default=s2idle clk_ignore_unused pd_ignore_unused systemd.tpm2_wait=0 rhgb quiet diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/devicetree b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/devicetree new file mode 100644 index 0000000..2acf815 --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/devicetree @@ -0,0 +1 @@ +qcom/x1p42100-microsoft-sp12in.dtb diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/install.conf b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/install.conf new file mode 100644 index 0000000..03aec7d --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/install.conf @@ -0,0 +1 @@ +BOOT_ROOT=/boot diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/logind.conf.d/60-surface-power-key.conf b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/logind.conf.d/60-surface-power-key.conf new file mode 100644 index 0000000..c6fc547 --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/logind.conf.d/60-surface-power-key.conf @@ -0,0 +1,2 @@ +HandlePowerKey=suspend +HandlePowerKeyLongPress=poweroff diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/hexagonrpc.service b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/hexagonrpc.service new file mode 100644 index 0000000..4ec7250 --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/hexagonrpc.service @@ -0,0 +1,10 @@ +[Unit] +Description=HexagonRPC Service +ConditionPathExists=/dev/fastrpc-adsp + +[Service] +ExecStart=/usr/local/bin/hexagonrpcd -f /dev/fastrpc-adsp -d adsp -s +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/iio-sensor-proxy.service.d/60-surface-pro-12-inch.conf b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/iio-sensor-proxy.service.d/60-surface-pro-12-inch.conf new file mode 100644 index 0000000..7b3cfcb --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/iio-sensor-proxy.service.d/60-surface-pro-12-inch.conf @@ -0,0 +1,14 @@ +# Surface Pro 12" (Snapdragon X1P-42-100) +# +# The sensors on this device are not IIO devices. They live behind the SLPI +# DSP, reached over fastrpc by hexagonrpcd, and iio-sensor-proxy only sees them +# through the SSC backend it is built with here (-Dssc-support=enabled). So it +# has to start after that daemon, and stop being useful if the daemon dies. +# +# A drop-in rather than a replacement unit: upstream's own unit is D-Bus +# activated (Type=dbus, BusName=net.hadess.SensorProxy), which is how anything +# asking for net.hadess.SensorProxy gets the service started, and overriding it +# wholesale traded that away for nothing but this ordering. +[Unit] +Requires=hexagonrpc.service +After=hexagonrpc.service diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/surface-video-firmware.service b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/surface-video-firmware.service new file mode 100644 index 0000000..5c83962 --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/surface-video-firmware.service @@ -0,0 +1,12 @@ +[Unit] +Description=Install Surface Pro 12in video codec firmware from a Windows partition +ConditionPathExists=!/lib/firmware/qcom/x1p42100/Microsoft/Surface12/qcvss8380_pa.mbn +After=local-fs.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/local/bin/surface-video-firmware.sh + +[Install] +WantedBy=multi-user.target diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/udev/rules.d/61-sensors-surface-pro-12-inch.rules b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/udev/rules.d/61-sensors-surface-pro-12-inch.rules new file mode 100644 index 0000000..82051c5 --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/udev/rules.d/61-sensors-surface-pro-12-inch.rules @@ -0,0 +1,3 @@ +ACTION=="add|change", SUBSYSTEM=="misc", KERNEL=="fastrpc-adsp*", ENV{ACCEL_MOUNT_MATRIX}="-1, 0, 0; 0, -1, 0; 0, 0, 1" +SUBSYSTEM=="misc", KERNEL=="fastrpc-adsp*", ENV{IIO_SENSOR_PROXY_TYPE}+="ssc-accel" +ACTION=="add", SUBSYSTEM=="misc", KERNEL=="fastrpc-adsp", TAG+="systemd", ENV{SYSTEMD_WANTS}+="hexagonrpc.service" diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/yum.repos.d/kernel-sp12in.repo b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/yum.repos.d/kernel-sp12in.repo new file mode 100644 index 0000000..24fe9f3 --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/yum.repos.d/kernel-sp12in.repo @@ -0,0 +1,7 @@ +[kernel-sp12in] +name=kernel-sp12in for Fedora $releasever - $basearch +baseurl=https://rpm.sayag.it/kernel-sp12in/fedora/$releasever/$basearch/ +enabled=1 +priority=1 +gpgcheck=0 +metadata_expire=6h |