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