Bug 66791
Summary: | Radeon fails to find vbios on macbook pro 2,1 (2007) for x1600 using kernel EFI stub | ||
---|---|---|---|
Product: | Drivers | Reporter: | moonman (moonman.ca) |
Component: | Video(DRI - non Intel) | Assignee: | drivers_video-dri |
Status: | NEW --- | ||
Severity: | blocking | CC: | alan, alexdeucher, johnson, szg00000 |
Priority: | P1 | ||
Hardware: | IA-32 | ||
OS: | Linux | ||
Kernel Version: | 3.12.3 | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
moonman
2013-12-09 10:07:15 UTC
Apple's EFI implementation does not provide a way to fetch the vbios after the OS takes over. IIRC, you need a special bootloader and kernel support for fetching the vbios before passing control to the OS. I think Matthew Garret had patches to support this at some point, I'm not sure what their status is. The other option is to boot using the legacy bios interface (not EFI). Do you have any pointers where the patches are please? Yes, I can boot in legacy mode but I don't want to do it this way due to certain limitations it imposes I can't find the patches off hand, but IIRC, you cannot use grub to load the firmware as the information is only accessible before you exit the boot services in EFI. The kernel must be booted using EFI stub booting (that's where the code for getting the bios image is). If you are already using EFI stub booting, maybe you need to add additional handling for your mac? Anyway, this isn't really a radeon driver issue per se, it's a mac platform bug. I've read that I need to use EFI stub booting, and I did. I only used grub to set things up for ssh. Is there any way to dump vbios and load it separately using grub (loadbios?) IIRC, the efi stub driver fetches the vbios via EFI and copies it to the legacy vga shadow location (0xc0000). It's probably worth checking the efistub source to see how it handles that for other systems to make sure you don't have to add a special case for your laptop and to see if your system even makes a vbios available via EFI at that point. Just a quick update: I managed to get it to work finally, though this is not really an optimal solution. 1. Patched the kernel with this patch: https://bugs.freedesktop.org/attachment.cgi?id=33766 from this bugreport: https://bugs.freedesktop.org/show_bug.cgi?id=26891 2. Extracted the vbios while booted into archlinux live cd in bios mode (by the way the live cd needs to be patched to be booted because it comes with EFI 64bit support and not 32bit - well described how to do it in ArchWiki) 3. Only 1 method worked to extract the bios: echo 1 > /sys/devices/pci0000:00/<id>/rom cat /sys/devices/pci0000:00/<id>/rom > vbios.dump for me id=0000:00:02.0 The resulted image is 64000 bytes and does not work for loadbios in grub. Really don't know why. Actually there's another method: If you have windows installed you can use aida64 to extract the vbios. GPUZ does not work. Now I can succesfully boot into KDE, BUT only if booted using grub. With EFI Stub I get to console (screen does not stay black anymore), but X server fails to start. I seem to have run into a similar situation. I filed this Bug #95651 |