SpaceInvaderOne Posted December 25, 2020 Share Posted December 25, 2020 Hi Guys. So I have found that recently i have had to use a vbios with both my GPUs in my server whether Primary or Secondary GPUs. So i thought i would try and write a script that would automatically dump the vbios from a GPU in the server even if its a Primary GPU without having to do any command line work or without having to download a vbios from techpowerup and then hex edit it. I have tested this in about a half a dozen servers and it has worked for all of them. Before running the script I recommend shuting down the server completely (not rebooting) the start it back up. Make sure no containers are running (disable docker service) and make sure no VMs are running. This is because if the GPU is Primary the script will need to temporarily put the server to sleep for a few seconds to allow the GPU to be in a state where it can have the vbios dumped from it. If alot of containers are running the server doesnt always goto sleep and the script fails. How the script works. It will list the GPUs in the server showing the ids. Then with your choosen GPU id the script will dump the vbios using these steps. It will make a temporary seabios vm with the card attached, then quickly start and stop the vm with GPU passed through. This will put the GPU in the correct state to dump the vBios. It will then delete the temporary vm as no longer needed. It will try to dump the vbios of the card then check the size of the vbios. If the vbios looks correct (which normally if gpu is NOT primary it will be) it will finish the process and put the vbios in the location specified in the script (default /mnt/user/isos/vbios) However if the vbios looks incorrect and the vbios is under 70kb then it was probably dumped from a primary GPU and will need an additional stage. This is because the vbios was shadowed during the boot process of the server and so the resulting vbios is a small file which is not correct. So the script will now disconnect the GPU then put the server to sleep. Next it will prompt you to press the power button to resume the server from its sleep state. Once server is woken the script will rescan the pci bus reconnecting the GPU. This now allows the primary gpu to be able to have the vbios dumped correctly. Script will then redump the vbios again putting the vbios in the loaction specified in the script (defualt /mnt/user/isos/vbios) Here is a video showing how to use the script Of course you will need squids excellent user scripts plugin to use this script. You wil find the dump script on my github here https://github.com/SpaceinvaderOne/Dump_GPU_vBIOS I was hoping that if this script works for most people then we could get a big repository of dumped vbioses (not hexedited) and I will put them in the github. I have made a start with a few of my GPUs. So if you want to contribute then please post a link too your vbios and i will add it. Please name the vbios like this. Tith type, vendor and model and memory size. For example RTX 2080ti - Palit GAMING PRO - 11G The vbios collection is here https://github.com/SpaceinvaderOne/Dump_GPU_vBIOS/tree/master/vBIOSes Well I hope the script works for you and you find it useful. Oh and as its the now 12 midnight here in the UK - its Christmas day. So merry christmas fellow Unraiders I hope you have a great day and a good new year 1 4 Quote Link to comment
UNOPARATOR Posted December 25, 2020 Share Posted December 25, 2020 Merry Christmas and a healthy new year Ed. Cheers mate!!! And thanks for the excellent video as usual, couldn't do without you. 1 Quote Link to comment
Merlinjr Posted December 25, 2020 Share Posted December 25, 2020 (edited) I followed your instructions on setting up a VM and then dumping the bios and before I upgraded to a ryzen 2600 I had videocard passthru. I thought maybe it was me dumping the bios wrong and eagerly waded into your newest video. If I run vnc I get a video image. If I use the dumped bios, I get a black screen when I load up splashtop for the VM. I know the bios is right because if it isn't the VM pegs one cpu 100% and never changes. Its like its hanging on initialization. I'm new to this and still on my trial, but if I can't get this working and its been 2 months almost, maybe this isn't for me. I'm open to troubleshooting help I just need to know what to do. Thanks in advance Strangest thing. When I press the ctrl-alt-delete during the black screen it brings up the task manager. I choose logout, then it shows proper screen and I can log in like nothing is wrong. It just isn't showing video until I control alt delete, sign out and sign back in. Second edit. Now when I log in with splashtop to the VM I get a black screen and pressing the ctrl alt delete brings up the task manager but if I logout or sign in with another user I just get a black screen. I can see its working in the background due to certain programs running on startup that affect external conditions, but I'm blind. I hope this is an isolated incident fixed in 6.9 since I'm running 6.8.3 Edited December 26, 2020 by Merlinjr more information Quote Link to comment
frodr Posted December 25, 2020 Share Posted December 25, 2020 Great video, thanks. My AMD Vega 64 is a "fighting back gpu", not being able to pass it through in Windows or MacOS. Of, course it would not net go of the bios either. Quote Link to comment
reporrted Posted December 26, 2020 Share Posted December 26, 2020 I have been unsuccessful dumping a GTX 570 Rev. 2 vbios. I also receive the cat: rom: Input/output error. I thought this may have been due to the SMB security, but even set as public it had no change. When it does go through the initial steps it sometimes reports 70Kb seems to small and does the sleep/wake method but always ends with the Input/output error. Is there a deeper log I can look into for this? Love the video's SpaceInvaderOne. Quote Link to comment
soana Posted December 27, 2020 Share Posted December 27, 2020 (edited) Got the following error: cat: rom: Input/output eror Did powerdown the server stopped docker and had all VM's set to not autostart. The Tools/System Devices does have the Video and Audio checked. GPU is not primary. Edited December 27, 2020 by soana added info Quote Link to comment
SpaceInvaderOne Posted December 28, 2020 Author Share Posted December 28, 2020 @soana @frodr @reporrted Some extra things you can try . 1. Stub gpu 2 Shutdown fully the server then start server. (not reboot) 3. make a temp vm using ovmf attach the gpu you want vbios from start vm up then after couple seconds force stop.(the script makes one with seabios ) run script If still getting an error repeat above then edit sctipt and look for a variable forcereset="no" and change it to yes. This will force the scr4upt to always disconnect sleep the server then reconnect before dumping the vbios. 1 Quote Link to comment
SpaceInvaderOne Posted December 28, 2020 Author Share Posted December 28, 2020 On 12/26/2020 at 6:28 PM, reporrted said: I have been unsuccessful dumping a GTX 570 Rev. 2 vbios. I also receive the cat: rom: Input/output error. I thought this may have been due to the SMB security, but even set as public it had no change. When it does go through the initial steps it sometimes reports 70Kb seems to small and does the sleep/wake method but always ends with the Input/output error. Is there a deeper log I can look into for this? Love the video's SpaceInvaderOne. No sorry no more logs are available. If you get it to dump and it says its less than 70kb you could just stop the script at that point and see if that vbios is in fact okay. Some older gpus may have a smaller vbios size ( i have a very old card a cirus logic from the 1990s that is a pci card, i use in a pcie to pci bridge, its vbios is only 30kb !) 2 Quote Link to comment
frodr Posted December 29, 2020 Share Posted December 29, 2020 On 12/28/2020 at 6:55 PM, SpaceInvaderOne said: @soana @frodr @reporrted Some extra things you can try . 1. Stub gpu 2 Shutdown fully the server then start server. (not reboot) 3. make a temp vm using ovmf attach the gpu you want vbios from start vm up then after couple seconds force stop.(the script makes one with seabios ) run script If still getting an error repeat above then edit sctipt and look for a variable forcereset="no" and change it to yes. This will force the scr4upt to always disconnect sleep the server then reconnect before dumping the vbios. Many thanks, I was able to download the vbios. But I am not able to connect with the Vega 64 as GPU. I do get an IP address. When setting the GPU as secondary GPU I only get a black screen and no IP. I might be that it is something wrong with the GPU. I will pull it out, build it back to air cooling from current liquid cooling, and start all over again. Quote Link to comment
Lunch Posted December 29, 2020 Share Posted December 29, 2020 @frodr which one of the extra options worked for you? I am in similiar situation with a GTX 1660, getting same message as you posted above.... Quote Link to comment
frodr Posted December 29, 2020 Share Posted December 29, 2020 12 minutes ago, Lunch said: @frodr which one of the extra options worked for you? I am in similiar situation with a GTX 1660, getting same message as you posted above.... Well, not really sure. The first one not work out, then tried the second. I somehow misunderstood and the end. Well up and running again, I ram the script with forcereset="no". And then it worked. Quote Link to comment
Lunch Posted December 29, 2020 Share Posted December 29, 2020 Ah in answer to my own question above it seems to be working now once the extra steps includinf the YES change in the config. Thanks so much to Spaceinvader one for all your help on this and other videos also Quote Link to comment
viola2572 Posted December 30, 2020 Share Posted December 30, 2020 should it look like this? radeon7.rom Quote Link to comment
reporrted Posted December 30, 2020 Share Posted December 30, 2020 Gigabyte geforce GTX 570 Rev. 2. It didn't work for me directly yet, but here is the bios I was able to dump, sub 70 kb. Cheers. GeForce GTX 570 Rev. 2.rom Quote Link to comment
reporrted Posted December 30, 2020 Share Posted December 30, 2020 (edited) Managed to grab another old vbios from: Zotac Geforce GT 1030 https://www.zotac.com/us/product/graphics_card/zotac-geforce-gt-1030-2gb-gddr5-hdmi-vga-low-profile GeForce GT 1030.rom Edited December 30, 2020 by reporrted fixed rom Quote Link to comment
DrMucki Posted January 1, 2021 Share Posted January 1, 2021 (edited) Trying to dump a bios from a Ryzen 4650g APU was not possible. It was the only graphics in the system and was bound to the vfio, bit it still gave errors... is it possible to dump the vbios from An apu? Has anybody tried to do so? Can anybody help or provide a dump of a Ryzen 4650g APU? I added a VBIOS from my "old" AMD Radeon R7-370+ with 2GB AMD Radeon R7-370_2G.rom Edited January 5, 2021 by DrMucki Asking for help, added VBIOS Quote Link to comment
Lunch Posted January 2, 2021 Share Posted January 2, 2021 This is the dump of my Galax 1660 GTX 6GB GDDR5 rom Incidentally, and it must be something I did before I stumbled across this excellent video, every time I restart the server, and thereby windows VM, I get a black screen on my monitor, ie it will turn on but nothing will show. If I run this script again, once ive gone through it, and I start the VM again, it works every time...I think it is the script releasing the GPU from maybe unraid system? Before I read up on this fully when I was building this unraid server I downloaded the Nvidia app which I think may have bu**ered me up a bit! gpu gtx 1660.rom Quote Link to comment
Dava2k7 Posted January 14, 2021 Share Posted January 14, 2021 Hi Space Invader I recently Dumped my new Asus Dual OC RTX 3070 8gb bios Rom with GPU-Z I have attached it below I couldn't remove the Nvidia header because it didn't look the same as was stated on your past video if you could have alook for me id appreciate it I'm not looking to put this in my server as of yet!! but may do in the future once I get a much bigger case hopefullly this will help other people with RTX 3070 Asus Dual OC RTX 3070.rom Quote Link to comment
ccninja89 Posted January 15, 2021 Share Posted January 15, 2021 Thanks I will try this out soon! Quote Link to comment
steve1977 Posted January 16, 2021 Share Posted January 16, 2021 Great script, thanks for doing this. Unfortunately, I cannot get it to work. Please see error message below. It is stubbed and VM/Docker are off. Okay dumping vbios file named AMD/ATI Radeon RX 470/480/570/570X/580/580X/590 to the location /mnt/user/isos/vbios/ /tmp/user.scripts/tmpScripts/dump vbios/script: line 301: /mnt/user/isos/vbios/AMD/ATI Radeon RX 470/480/570/570X/580/580X/590: No such file or directory Um.... somethings gone wrong and I couldn't dump the vbios for some reason Sometimes when this happens all we need to do to fix this is 'stub' or 'bind to the vfio' the gpu and reboot the server Quote Link to comment
JoeBloggs Posted January 16, 2021 Share Posted January 16, 2021 11 hours ago, steve1977 said: Great script, thanks for doing this. Unfortunately, I cannot get it to work. Please see error message below. It is stubbed and VM/Docker are off. Okay dumping vbios file named AMD/ATI Radeon RX 470/480/570/570X/580/580X/590 to the location /mnt/user/isos/vbios/ /tmp/user.scripts/tmpScripts/dump vbios/script: line 301: /mnt/user/isos/vbios/AMD/ATI Radeon RX 470/480/570/570X/580/580X/590: No such file or directory Um.... somethings gone wrong and I couldn't dump the vbios for some reason Sometimes when this happens all we need to do to fix this is 'stub' or 'bind to the vfio' the gpu and reboot the server I had the same thing for my RX580. It's all the slashes in the filename, so it's trying to create a massive folder tree (and can't function). Fix: edit the script, you'll see a config option a few lines down to change the filename. Change it to something (e.g. I went for rx580.rom) and that should fix it rx580.rom Quote Link to comment
stelks Posted January 23, 2021 Share Posted January 23, 2021 (edited) Getting stuck here every time. Any idea why it will not start the temp vm? I have already tried deleting the folder where it is supposed to save the vBIOS I have to force shutdown after this as you cant cancel the script correctly and the array will not unmount the disks. When restarting this VM was stood up, but starting it freezes everything as well. Edited January 23, 2021 by stelks Quote Link to comment
RedCelicaTRD Posted January 27, 2021 Share Posted January 27, 2021 On 1/23/2021 at 10:21 AM, stelks said: Getting stuck here every time. Any idea why it will not start the temp vm? I have already tried deleting the folder where it is supposed to save the vBIOS I have to force shutdown after this as you cant cancel the script correctly and the array will not unmount the disks. When restarting this VM was stood up, but starting it freezes everything as well. Are you running unraid in the GUI mode? I was having the same problem. I switched over to the non-gui mode and after the reset it worked on the first try. Quote Link to comment
stelks Posted February 10, 2021 Share Posted February 10, 2021 (edited) On 1/26/2021 at 11:28 PM, RedCelicaTRD said: Are you running unraid in the GUI mode? I was having the same problem. I switched over to the non-gui mode and after the reset it worked on the first try. Still getting errors. I did bind the gpu to the vfio as it says. Any ideas? EDIT: I was able to manually edit a vbios I found online to get it to work in my VM. Turning off GUI mode did at least make that part of setting up a VM work, just cant get this script working. Edited February 14, 2021 by stelks Quote Link to comment
Caennanu Posted February 22, 2021 Share Posted February 22, 2021 (edited) I have succesfully extracted the Vbios from a HD 5430 mobility Radeon, But am unable to boot an VM with it, so far --update, i have succesfully booted an VM with this Vbios. --update2, i have 3 VMs, but only 1 of them is able use the passthrough, the others keep throwing errors the device is bussy (1 VM active at a time, so not trying to share the resource) And switching it on and off a couple times between VM's tends to crash Unraid alltogether. AMD5430.rom Edited February 22, 2021 by Caennanu updates Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.