this post was submitted on 24 Jun 2024
42 points (100.0% liked)
Linux
5384 readers
222 users here now
A community for everything relating to the linux operating system
Also check out [email protected]
Original icon base courtesy of [email protected] and The GIMP
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This already exists to some degree, the Raspberry Pi 5 has 2 exposed pcie lanes and people have been (kind of hackily, since some parts of the driver depend on x86) getting AMD cards to run with the pi.
I'm not an expert on drivers so I don't know entirely how close fully functioning GPU support is but in theory there's nothing stopping that from happening eventually.
As far as I'm aware specifications/implementations that have been on PCs for ages like UEFI and PCIE are not architecture specific, but it's just that a significant amount of code needs to be rewritten since it's low-level enough that the CPU architecture makes a difference.
(If someone is more knowledgeable on this, please correct me because this is all just my understanding and I could be wrong)
Another part of it is the gpu bios. The gpu bios contains x86 opcodes that it expects the host system to run for gpu-specific functions like video mode switching and probably lots of other stuff. I know that Vesa bios extensions mode switching requires a pointer to the functions in the gpu bios which the cpu runs. I tried to make a platform independent Vesa driver one time and couldn't figure out how to circumvent using the gpu bios for it since the functions you're supposed to call are compiled for x86. Even the well-refined projects like Seabios still rely on the VBE pointers for non-legacy video modes.
Legacy vga does also has a bios but it's relatively not that difficult to circumvent using the bios on legacy vga cards, only issue is that legacy vga modes are mostly useless.
I think there's a newish way of doing this stuff that doesn't involve Vesa or legacy vga but I don't know what it is. This I'm sure is only one of the many problems that have to be overcome if someone wanted to hack a 1080ti onto a raspberry pi or something.