aarch64-laptops / build

Build an Linux OS based image
221 stars 47 forks source link

The list of Firmware from Windows on the Lenovo Yoga c630 used by Linux #62

Open rhenwood-arm opened 3 years ago

rhenwood-arm commented 3 years ago

In order to get Wifi, GPU, etc working, we currently need to pull binary firmware off the Windows partition. @Celliwig has a script to do this automatically: https://github.com/Celliwig/Lenovo-Yoga-c630/tree/master/yoga_fw_extract

This Issue is to record a list of the file paths to the relevant firmware blogs on the Windows partition. Once the list is completed, an interested party could begin to pursue licensing these blobs for distribution in the Linux Kernel tree. With firmware included in the tree, the out-of-box Linux experience for these laptops can be significantly improved.

bm16ton commented 3 years ago

A little more firmware is required not from windows partition like a630_sqe.fw ,a630_gmu.fw for gpu and *.jsn files for audio. Plus sum newer versions of ath firmware. I made a poor mans attempt at all that plus venus decoder and IPA firmware. This was a ruff but working draft forked from Celliwig before he had added the venus stuff. https://github.com/bm16ton/yoga-c630-linux-kernel/blob/master/C630/yoga_fw_extract.sh

RussianNeuroMancer commented 3 years ago

@bm16ton

https://github.com/bm16ton/yoga-c630-linux-kernel/blob/master/C630/yoga_fw_extract.sh

Why extract older a630 firmware when there is newer one in upstream?

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/qcom?id=f48fec44127f88ce83ea1bcaf5824de4146ca2f9

https://launchpad.net/ubuntu/+archive/primary/+files/linux-firmware_1.191_all.deb

bm16ton commented 3 years ago

wrote that a while ago. ill hafta update. thank you! good catch

On Sat, Oct 31, 2020, 4:34 PM RussianNeuroMancer notifications@github.com wrote:

@bm16ton https://github.com/bm16ton

https://github.com/bm16ton/yoga-c630-linux-kernel/blob/master/C630/yoga_fw_extract.sh

Why extract older a630 firmware when there is newer one in upstream?

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/qcom?id=f48fec44127f88ce83ea1bcaf5824de4146ca2f9

https://launchpad.net/ubuntu/+archive/primary/+files/linux-firmware_1.191_all.deb

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/aarch64-laptops/build/issues/62#issuecomment-719985229, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADAWMP4MOKMVEVHCHD6BN23SNRYETANCNFSM4SWNGGQA .

bm16ton commented 3 years ago

I changed the script to get a630_sqe.fw from upstream. Tho this script needs to be rewritten, celliwig is considerably better at scripting then me. Maybe I can work with him on a fw script that gets everything. Or two one for windows partition and another for online or maybe one script with options

On Sat, Oct 31, 2020 at 5:42 PM benjamin maddocks bm16ton@gmail.com wrote:

wrote that a while ago. ill hafta update. thank you! good catch

On Sat, Oct 31, 2020, 4:34 PM RussianNeuroMancer notifications@github.com wrote:

@bm16ton https://github.com/bm16ton

https://github.com/bm16ton/yoga-c630-linux-kernel/blob/master/C630/yoga_fw_extract.sh

Why extract older a630 firmware when there is newer one in upstream?

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/qcom?id=f48fec44127f88ce83ea1bcaf5824de4146ca2f9

https://launchpad.net/ubuntu/+archive/primary/+files/linux-firmware_1.191_all.deb

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/aarch64-laptops/build/issues/62#issuecomment-719985229, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADAWMP4MOKMVEVHCHD6BN23SNRYETANCNFSM4SWNGGQA .

shawnguo2 commented 3 years ago

@rhenwood-arm Here is the firmware list I think we need to retrieve from Windows partition.

# GPU zap-shader
Windows/System32/DriverStore/FileRepository/qcdx850.inf_arm64_91999951aaa6f3c8/qcdxkmsuc850.mbn
# venus-5.2 video codec
Windows/System32/DriverStore/FileRepository/qcdx850.inf_arm64_91999951aaa6f3c8/qcvss850.mbn
# aDSP
Windows/System32/DriverStore/FileRepository/qcsubsys850.inf_arm64_3a2b93010ff21198/qcadsp850.mbn
# cDSP
Windows/System32/DriverStore/FileRepository/qcsubsys850.inf_arm64_3a2b93010ff21198/qccdsp850.mbn
# Modem
Windows/System32/DriverStore/FileRepository/qcsubsys850.inf_arm64_3a2b93010ff21198/qcdsp1v2850.mbn
Windows/System32/DriverStore/FileRepository/qcsubsys850.inf_arm64_3a2b93010ff21198/qcdsp2850.mbn
# SLPI
Windows/System32/DriverStore/FileRepository/qcsubsys850.inf_arm64_3a2b93010ff21198/qcslpi850.mbn

Other firmware files can be found in either linux-firmware repository or Linaro OBS package.