Announcement

Collapse
No announcement yet.

VGABIOS for ATI Mobility Radeon 5470 needed (Virtualization)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • VGABIOS for ATI Mobility Radeon 5470 needed (Virtualization)

    Hello,

    I have an ATI Mobility Radeon 5470 (as the title suggests).
    I recently got GPU passthrough working (via. PCI-Passthrough) from a GNU/Linux host to a GNU/Linux Guest (using KVM).

    In the Guest, the FOSS Radeon Drivers work great, however, the fglrx Driver complains about a "Invalid BIOS Signature".

    For me to be able to get the fglrx Drivers (and also the AMD Drivers on Windows) working I need to acquire my VGABIOS...

    I thought this would be a piece of Cake (my bad...).

    As I have a Laptop, I can't set my GPU as a "Secondary" Device and therefore I can't get my VGABIOS pre-POST (important!).
    The reason I need to get a pre-POST VGABIOS is because (I have read) the AMD VGABIOS' modify themselves, therefore it is pointless to get the VGABIOS from my Memory.

    I have already tried using the VGABIOS from my Memory, without success (Guest seems to hang/freeze).
    I have also tried using the VGABIOS' from similar models, without luck.

    I have tried some tools to get my VGABIOS, some of them are:
    - flashrom (DOS and GNU/Linux)
    - atiflash (DOS)
    - atiwinflash (Win NT)
    - GPU-z (Win NT)
    - ... and other tools I probably forgot.

    ... but as they seem to get the VGABIOS from my Memory, and some of them aren't able to extract, the battle seems futile.

    I was talking to someone on the kvm irc on freenode, who said, that he only knows of a single Person who got fglrx working (in a Guest), and that he was an AMD employee who had access to the VGABIOS'.

    Right now it seems impossible for me to acquire my VGABIOS, as the only Options seem like:
    1.) Hope for a miracle.
    2.) Ask AMD for my VGABIOS (I doubt that would work..... still worth a try, maybe?).
    3.) Hope someone here knows something that could help.

    ... any suggestions?
    Last edited by bug!; 06-27-2012, 10:57 AM. Reason: typo, additinal info

  • rachid
    replied
    Originally posted by Aquous View Post
    Forgive my ignorance, but can't you simply run those commands in the *guest* (with the FOSS radeon drivers loaded) to extract the VBIOS?
    the problem is, that the *host* don't recognize the video card. Error message:
    radeon 0000:16:00.0: Invalid ROM contents.
    drm:radeon_get_bios] *ERROR* Unable to locate a BIOS ROM"

    So I tought, if I can read somehow the bios, I could implement it as workaround in radeon_get_bios() function.

    Leave a comment:


  • Aquous
    replied
    Originally posted by rachid View Post
    thank you.
    but that doesn't work, because my host does not recognize the card So there are no entries in /sys/ for the radeon card...
    Forgive my ignorance, but can't you simply run those commands in the *guest* (with the FOSS radeon drivers loaded) to extract the VBIOS?

    Leave a comment:


  • rachid
    replied
    Originally posted by bug! View Post
    Execute the following (replacing __PCI__ with your cards PCI, for example, 0000:02:00.0):
    Code:
    sudo su
    echo "1" > /sys/class/drm/card0/device/driver/__PCI__/rom
    cat /sys/class/drm/card0/device/driver/__PCI__/rom > ~/vgabios.bin
    echo "0" > /sys/class/drm/card0/device/driver/__PCI__/rom
    thank you.
    but that doesn't work, because my host does not recognize the card So there are no entries in /sys/ for the radeon card...

    with gpu-z or the atitool it is also not possible to get the bios. Maybe sony did blocked the bios?

    Leave a comment:


  • bug!
    replied
    Execute the following (replacing __PCI__ with your cards PCI, for example, 0000:02:00.0):
    Code:
    sudo su
    echo "1" > /sys/class/drm/card0/device/driver/__PCI__/rom
    cat /sys/class/drm/card0/device/driver/__PCI__/rom > ~/vgabios.bin
    echo "0" > /sys/class/drm/card0/device/driver/__PCI__/rom
    The VGABIOS will then be in your home folder.
    (You should however check the vgabios with your favorite hex editor to make sure it's the vgabios in there, and not an error message, for example. Or "cat ~/vgabios.bin", you'll notice if it's the vgabios or not)

    However, there are also other methods, for instance ATITool (Win64/Win32/Dos) etc..
    Last edited by bug!; 08-08-2012, 03:31 PM.

    Leave a comment:


  • rachid
    replied
    Originally posted by bug! View Post
    Bump.
    The VGABIOS that I got from my memory seems to be correct, because newer version of qemu/kvm don't crash the VM, so it must have been a regression/bug.
    How did you get the bios from the memory? Which tool did you used.
    I tried to the vbios from my card and it did't work.

    Leave a comment:


  • bug!
    replied
    Bump.

    The VGABIOS that I got from my memory seems to be correct, because newer version of qemu/kvm don't crash the VM, so it must have been a regression/bug.

    I have also tried coreboot with my VGABIOS built into it, and using it in the VM.
    However, fglrx still says "Invalid BIOS Signature".

    Other than that, I haven't really gotten any further.

    PS0:
    The performance of the radeon driver inside a VM is really amazing.
    PS1:
    The CPU performance is also amazing.
    In the bug report I have written:
    I have even played Nexuiz inside the Virtual Machine, with GPU performance near
    native.
    Only the cpus are having trouble, but that's another story.
    Which was my fault for manually setting the CPU topology.
    Set the virtual CPU's to the amount of logical cores your hosts CPU has, forget about the topology.

    Leave a comment:


  • bug!
    replied
    So, I have finished writing the bug report.

    http://ati.cchtml.com/show_bug.cgi?id=554

    Leave a comment:


  • bug!
    replied
    Originally posted by bug! View Post
    As I have a Laptop, I can't set my GPU as a "Secondary" Device and therefore I can't get my VGABIOS pre-POST (important!).
    The reason I need to get a pre-POST VGABIOS is because (I have read) the AMD VGABIOS' modify themselves, therefore it is pointless to get the VGABIOS from my Memory.
    ...
    I have also tried using the VGABIOS' from similar models, without luck.
    In other words, the VGABIOS from memory is modified, as the AMD VGABIOS' apparently modify themselves at the POST.
    https://en.wikipedia.org/wiki/Power-on_self-test

    Leave a comment:


  • Kano
    replied
    Whats wrong when you read the vga bios from memory? Thats the usual way you would do that when you want to use some gfx cards on mac using direct efi boot instead of the csm.

    Leave a comment:

Working...
X