How to dump my Nvidia GPU ROM

This page summarizes the projects mentioned and recommended in the original post on /r/VFIO

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • rom-parser

  • NVIDIA VBIOS Step 1: How to extract or obtain your VBIOS Option 1 (preferred): Pull the rom via nvidia's proprietary tool nvflash (https://www.techpowerup.com/download/nvidia-nvflash/). The download is a zipped binary (not source), simply unzip it, chmod +x, and run it: ./nvflash --save original.rom. Note1: This tool does not work when the nvidia proprietary driver is bound to the card. It will work with no driver bound, vfio-pci, or in some cases nouveau (sketchy). Note2: This can also be done with windows both native and virtualized using GPU-z's save vbios button. GPU-z uses nvflash internally Option 2: Download a rom from Techpowerup's database that matches your PCI ID's and Subsystem ID's. Here is an example with a GT 710: $ lspci -nnk (...) 0a:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208B [GeForce GT 710] [10de:128b] (rev a1) Subsystem: Micro-Star International Co., Ltd. [MSI] GK208B [GeForce GT 710] [1462:8c93] The ID's are 10de:128b and 1462:8c93. Google techpowerup + these numbers and download a rom that matches. Double check that all ID's match. (edited) [10:30 PM]Aiber: NVIDIA VBIOS Step 2: Determining the start of the VBIOS within the ROM file NVIDIA rom files contain extra data (IFR, other firmware, etc.) at the start of the file. We can obtain the vbios portion of the rom by trimming off the unwanted bits. This must be removed before passing it to a VM. Use rom-parser (https://github.com/awilliam/rom-parser) and look for the first entry Valid ROM signature found @XXXXh: $ rom-parser original.rom Valid ROM signature found @600h, PCIR offset 190h PCIR: type 0 (x86 PC-AT), vendor: 10de, device: 128b, class: 030000 PCIR: revision 0, vendor revision: 1 Valid ROM signature found @fc00h, PCIR offset 1ch PCIR: type 3 (EFI), vendor: 10de, device: 128b, class: 030000 PCIR: revision 3, vendor revision: 0 EFI: Signature Valid, Subsystem: Boot, Machine: X64 Last image The header size is the hexadecimal value @600h which is 1536 bytes in decimal. (edited) [10:30 PM]Aiber: NVIDIA VBIOS Step 3: Removing the headers If the value from step 2 is not zero, the extraneous data must be removed, 0x600 bytes in particular this case: $ dd if=original.rom of=vbios.rom bs=$((0x600)) skip=1 You may verify the result by redoing step 2 on the new file to confirm the rom now starts at @0h (the beginning of the file.) NVIDIA VBIOS Step 4: Passing a VBIOS to the VM Libvirt: Under for the GPU video device add Qemu: -device vfio-pci,host=01:00.0,romfile=/path/to/vbios.rom (edited) August 26, 2018

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • What do you want to watch next? This is why I built GoodWatch.

    6 projects | dev.to | 5 May 2024
  • BlackHole: macOS Audio Loopback Driver

    1 project | news.ycombinator.com | 5 May 2024
  • Tasmota: Open-source firmware for ESP devices

    3 projects | news.ycombinator.com | 5 May 2024
  • Drink Me: (Ab)Using a LLM to Compress Text

    2 projects | news.ycombinator.com | 4 May 2024
  • Credentials Fetcher

    1 project | news.ycombinator.com | 5 May 2024