to get pd-mapper to work you need to remove /etc/modprobe.d/anaconda-denylist.conf and regenerate the initrd. you can modprobe qcom_q6v5_pas and then start pd-mapper to get battery reporting working without a reboot
On Sat, Dec 16, 2023 at 4:17 PM Dennis Gilmore <den...@ausil.us> wrote: > > Hi Luke, > > Using today's rawhide Workstation Live iso image I was able to boot > and install to the NVMe drive. I added to the bootargs "arm64.nopauth > clk_ignore_unused pd_ignore_unused modprobe.blacklist=qcom_q6v5_pas" > post install I also had to add "arm64.nopauth clk_ignore_unused > pd_ignore_unused" and fix up grub after logging in t make it > permanent. there seems to be a bug in anaconda not carrying over boot > arguments to the installed system. With that I was able to boot and > log in. there is extra steps to get the touchscreen, 5g modem and > bluetooth working. additionally pd-mapper needs to be installed and > running for power management and a some other things to work > correctly, right now it looks like something has changed in 6.7 kernel > from 6.6 that is stopping pd-mapper from running. > > Dennis > > > On Wed, Dec 13, 2023 at 3:46 PM Luke Short <ekulta...@gmail.com> wrote: > > > > Hey folks, > > > > Germano - thank you so much for putting that wiki together. It has been > > really helpful and insightful. It sucks to hear that the laptop does not > > support virtualization. I would definitely use it if it was possible. Even > > with just troubleshooting my black screen issue, I have noticed the battery > > dying very quickly. Hopefully that can at least be addressed one day. Kind > > of defeats the purpose of an Arm laptop, right? > > > > Dennis - thank you for the suggestions! I have not recently run into issues > > with USB itself. A few tests I did last week resulted in the root file > > system UUID not being found and another test led to the USB drive powering > > off (the RGB lights would flicker for a second and then turn off). > > Thankfully, that is not something I am seeing with my latest configuration > > settings. For whatever it is worth, I am currently using an external NVMe > > drive connected via USB-C. I have tried swapping out the internal drive > > that has Windows installed for another NVMe drive but the BIOS seems to > > cache the old boot entries and does not detect the new internal drive. It > > is unbootable. > > > > I have taken your suggestions and that all seems to simplify my > > configuration. However, I still encounter a black screen. > > > > New steps taken so far: > > * Only testing with Fedora 39 Workstation (GNOME desktop environment) for > > consistency in tests. > > * Using only "arm64.nopauth clk_ignore_unused pd_ignore_unused > > rd.driver.blacklist=msm" for boot arguments. > > * Removed the firmware file that was known to cause USB boot issues. > > * Appended the "modprobe.blacklist=qcom_q6v5_pas" boot argument. > > * Built the initramfs with only the "qtr" kernel module: `add_drivers+=" > > qrtr "` > > * Updated Fedora 39 to the latest stable. This bumped the Linux kernel from > > 6.5.6 to 6.5.4 and the qcom-firmware up to 20231111-1.fc39. > > * In Windows 11, using Windows Updates and the Lenovo control panel, I > > installed all available BIOS and hardware updates (it has been a few months > > since I last updated). > > * Using only "arm64.nopauth clk_ignore_unused pd_ignore_unused > > rd.blacklist=msm modprobe.blacklist=msm > > initcall_blacklist=regulator_init_complete" for boot arguments. > > * This was suggested in the wiki to deal with a blank screen during > > boot. > > * The workaround resulted in the root file system not being found. > > Dracut showed a bunch of errors related to that after about a minute. > > > > These are the logs shown on my screen before it goes black (it takes 10-15 > > seconds to go black and then it stays black). Even appending the > > "iommu.passthrough=0 iommu.strict=0" boot arguments still leads to the two > > IOMMU errors. > > > > ``` > > [ OK ] Started plymouth-start.service - Show Plymouth Boot Screen. > > [ OK ] Started systemd-ask-password-plymouth.service - Forward Password > > Requests to Plymouth Directory Watch. > > [ OK ] Reached target paths.target - Path Units. > > [ OK ] Reached target basic.target - Basic System. > > [ 12.<TIME_STAMP>] geni_se_qup 8c0000.geniqup: deferred probe timeout, > > ignoring dependency > > [ 12.<TIME_STAMP>] geni_se_qup 9c0000.geniqup: deferred probe timeout, > > ignoring dependency > > [ 12.<TIME_STAMP>] geni_se_qup ac0000.geniqup: deferred probe timeout, > > ignoring dependency > > [ 12.<TIME_STAMP>] arm-smmu: 3da000.iommu: deferred probe pending > > [ 12.<TIME_STAMP>] arm-smmu: probe of 3da000.iommu failed with error -110 > > [ 12.<TIME_STAMP>] platform 15000000.iomu: deferred probe pending > > [ 12.<TIME_STAMP>] platform 33c0000.pinctrl: deferred probe pending > > [ 12.<TIME_STAMP>] platform firmware:scm: deferred probe pending > > [ 12.<TIME_STAMP>] platform 1c00000.pcie: deferred probe pending > > [ 12.<TIME_STAMP>] platform regulator-edp-bl: deferred probe pending > > [ 12.<TIME_STAMP>] platform 1c10000.pcie: deferred probe pending > > [ 12.<TIME_STAMP>] platform regulator-misc-3p3: deferred probe pending > > [ 12.<TIME_STAMP>] platform regulator-wlan: deferred probe pending > > [ 12.<TIME_STAMP>] platform 1c20000: deferred probe pending > > [ 12.<TIME_STAMP>] platform regulator-wwan: deferred probe pending > > [ 12.<TIME_STAMP>] platform 988000.serial: deferred probe pending > > [ 12.<TIME_STAMP>] qcom-rpmhpd 18200000.rsc:power-controller: > > sync_state() pending due to 1b3000000.remoteproc > > [ 12.<TIME_STAMP>] qcom-rpmhpd 18200000.rsc:power-controller: > > sync_state() pending due to af000000.clock-controller > > [ 12.<TIME_STAMP>] qcom-rpmhpd 18200000.rsc:power-controller: > > sync_state() pending due to aec5a00.phy > > [ 12.<TIME_STAMP>] qcom-rpmhpd 18200000.rsc:power-controller: > > sync_state() pending due to ae000000.display-subsystem > > [ 12.<TIME_STAMP>] qcom-rpmhpd 18200000.rsc:power-controller: > > sync_state() pending due to 30000000.remoteproc > > [ 12.<TIME_STAMP>] qcom-rpmhpd 18200000.rsc:power-controller: > > sync_state() pending due to 3d900000.clock-controller > > [ 12.<TIME_STAMP>] qcom-rpmhpd 18200000.rsc:power-controller: > > sync_state() pending due to 894000.i2c > > [ 12.<TIME_STAMP>] qcom-rpmhpd 18200000.rsc:power-controller: > > sync_state() pending due to 988000.serial > > [ 12.<TIME_STAMP>] qcom-rpmhpd 18200000.rsc:power-controller: > > sync_state() pending due to 990000.i2c > > ``` > > > > Anything else I should try or log files I can look at? I appreciate your > > time! > > > > Sincerely, > > Luke Short > > > > On Wed, Dec 13, 2023 at 8:40 AM Dennis Gilmore <den...@ausil.us> wrote: > >> > >> On Tue, Dec 12, 2023 at 10:01 PM Luke Short <ekulta...@gmail.com> wrote: > >> > > >> > Hey folks, > >> > > >> > I recently purchased the X13s Qualcomm Arm laptop. I am very excited to > >> > try Linux on it! I'd like to use Fedora to align with what I use for > >> > work. The [Fedora Wiki](https://fedoraproject.org/wiki/Thinkpad_X13s) > >> > page appears to be out-of-date for this laptop and I would be happy to > >> > help update it once I get it working on my end. > >> > > >> > From what I've read online, Linux support for it is good these days with > >> > many users reporting success with Arch Linux, Debian (Armbian, > >> > specifically), Ubuntu, and even Fedora running on it. However, I am > >> > having issues with Fedora and always end up with a black screen once the > >> > GPU gets loaded. I have tested with Fedora 39 (fully updated with the > >> > latest firmware and Linux 6.6) and Rawhide/40 (Linux 6.7.0-rc4 > >> > currently). Both GNOME (Workstation) and Xfce (Spin) desktop builds have > >> > been tested (I can never actually get that far to see them, though). > >> > > >> > From my research, these are all of the steps required to get the laptop > >> > to even boot (kernel modules are missing from the initramfs and > >> > additional boot arguments are needed). > >> > > >> > ``` > >> > $ export DEVICE=sda > >> > $ sudo -E mount -t btrfs -o subvol=root /dev/${DEVICE}3 /mnt > >> > $ sudo -E mount -t btrfs -o subvol=home /dev/${DEVICE}3 /mnt/home > >> > $ sudo -E mount -t ext4 /dev/${DEVICE}2 /mnt/boot > >> > $ sudo -E mount -t vfat /dev/${DEVICE}1 /mnt/boot/efi > >> > $ sudo mount -t proc none /mnt/proc > >> > $ sudo mount --rbind /dev /mnt/dev > >> > $ sudo mount --rbind /sys /mnt/sys > >> > $ sudo mkdir -p /mnt/run/systemd/resolve/ > >> > $ echo "nameserver 8.8.8.8" | sudo tee > >> > /mnt/run/systemd/resolve/stub-resolv.conf > >> > $ sudo nano /mnt/etc/dracut.conf.d/20_thinkpad-x13s.conf > >> > force_drivers+=" nvme phy_qcom_qmp_pcie i2c_hid_of i2c_qcom_geni > >> > leds_qcom_lpg pwm_bl qrtr pmic_glink_altmode gpio_sbu_mux > >> > phy_qcom_qmp_combo panel-edp msm phy_qcom_edp i2c_hid_of i2c_qcom_geni > >> > qcom_q6v5_pas usb_storage uas " > >> > $ sudo chroot /mnt dracut --regenerate-all --force > >> > $ sudo nano /mnt/etc/default/grub > >> > GRUB_CMDLINE_LINUX="efi=noruntime clk_ignore_unused pd_ignore_unused > >> > arm64.nopauth iommu.passthrough=0 iommu.strict=0 > >> > pcie_aspm.policy=powersupersave console=tty1 splash > >> > plymouth.ignore-serial-consoles loglevel=3" > >> > >> I am using " clk_ignore_unused pd_ignore_unused arm64.nopauth" as the > >> bootargs. I had to add rd.driver.blacklist=msm for 6.5 kernels. I also > >> only made sure that qrtr ended up in the initramfs by using add_driver > >> in a config. If booting from usb you have to make sure to follwo waht > >> is documented in > >> https://fedoraproject.org/wiki/Thinkpad_X13s#Rawhide_hacking. I have > >> only tried booting with the firmware removed. > >> > >> Dennis > >> > >> > GRUB_DEFAULT_DTB="dtb/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb" > >> > $ sudo chroot /mnt grub2-mkconfig -o /boot/grub2/grub.cfg > >> > $ sudo sync > >> > ``` > >> > > >> > Vanilla/upstream Fedora Arm raw image builds do not even boot without > >> > these tweaks. With these tweaks, I can boot to the GRUB menu and > >> > eventually see the Plymouth boot screen which shows the Fedora logo and > >> > then a loading spinner. When it switches to a graphical environment, the > >> > screen flashes and goes blank. I also seem to be unable to switch to a > >> > TTY console which could be due to the F keys not working properly. > >> > > >> > There is a kernel thread > >> > [here](https://lore.kernel.org/all/zuidvuomjf8gm...@hovoldconsulting.com/T/) > >> > that explains how to get the stable Fedora 39 working. I did all of the > >> > steps but the same thing happened: the screen ends up being black once > >> > the system is fully booted up. I have tested using USB and the internal > >> > drive. The USB, despite historically being unreliable, has been more > >> > reliable in my testing. I believe those issues with low power voltage > >> > for USB devices have been fixed. > >> > > >> > Does anyone have any advice on how to get graphics working so I can get > >> > to the desktop environment? I feel so close to a solution but I seem to > >> > be missing a piece of the puzzle here. Thank you for any insight you may > >> > have! > >> > > >> > Research references: > >> > - [Thinkpad X13s - Fedora Project > >> > Wiki](https://fedoraproject.org/wiki/Thinkpad_X13s) > >> > - [ThinkPad X13s - Gentoo > >> > wiki](https://wiki.gentoo.org/wiki/ThinkPad_X13s) > >> > - [External display on the > >> > x13s?](https://lore.kernel.org/all/zuidvuomjf8gm...@hovoldconsulting.com/T/) > >> > - [HCL:ThinkpadX13s - openSUSE > >> > Wiki](https://en.opensuse.org/HCL:ThinkpadX13s) > >> > > >> > Sincerely, > >> > Luke Short > >> > -- > >> > _______________________________________________ > >> > arm mailing list -- arm@lists.fedoraproject.org > >> > To unsubscribe send an email to arm-le...@lists.fedoraproject.org > >> > Fedora Code of Conduct: > >> > https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > >> > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > >> > List Archives: > >> > https://lists.fedoraproject.org/archives/list/arm@lists.fedoraproject.org > >> > Do not reply to spam, report it: > >> > https://pagure.io/fedora-infrastructure/new_issue > >> -- > >> _______________________________________________ > >> arm mailing list -- arm@lists.fedoraproject.org > >> To unsubscribe send an email to arm-le...@lists.fedoraproject.org > >> Fedora Code of Conduct: > >> https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > >> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > >> List Archives: > >> https://lists.fedoraproject.org/archives/list/arm@lists.fedoraproject.org > >> Do not reply to spam, report it: > >> https://pagure.io/fedora-infrastructure/new_issue -- _______________________________________________ arm mailing list -- arm@lists.fedoraproject.org To unsubscribe send an email to arm-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/arm@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue