4 ms·
Firmware isn't opensource. Kernel and userland drivers are. There's RADV as an alternative to AMDVLK which was created while AMDVLK was closed source. Both are
by boudin 8y ago
Firmware isn't opensource. Kernel and userland drivers are. There's RADV as an alternative to AMDVLK which was created while AMDVLK was closed source. Both are maintained.
- zepearl 8y agoBut it's correct to say that the firmware used under Linux is the same one that is used as well under Windows (maybe as well MacOS)... or not? (I personally understand that the "firmware" does the low-level stuff, and the drivers of the OS provide the abstraction through their functions, but I might be terribly wrong)
- woodrowbarlow 8y agoyes, the firmware is the same regardless of your OS. think of it like using an open-source client for slack: it still hits the API of a closed blob (the slack servers).
- zepearl 8y agoThx! Then, if the performance is "worse" or "better" for a specific OS, it's just because the code of the open-source part (kernel and/or userland progs) and/or the app (game/application/whatever) is not written as well as on the other OSs, right? Indirectly asking as well: even if the firmware is alway the same one, there is no "part" of the firmware that is dedicated to only a specific OS?
- boudin 8y agoPerformance-wise yes, logicaly the difference would come from the driver part. For the firmware, it's hard to know, i think only someone from AMD can answer this. It's technically possible if part of a firmware is used only by the Windows driver for example. After, I have no idea, if it's the case...
- woodrowbarlow 8y agoperformance differences come down to how the driver utilizes the firmware, or how the applications utilize the driver. there may be some other factors, like how the OS manages memory buffers. it's unlikely that the firmware has OS-specific code. it's more likely that the firmware exposes functionality that happens to be taken advantage of by one OS' drivers more than it is by another OS' drivers -- perhaps in part because of differences in driver execution models on different kernels. or sometimes (as with nvidia) because a proprietary closed-source windows driver was written by the company with access to private documentation of all the firmware's features while the community-written linux OSS driver was written with incomplete knowledge of the firmware's features derived from reverse engineering.
- makomk 8y agoOne of the obnoxious consequences of the firmware not being open source is that, even though both RADV and AMDVLK support GPUs as far back as the 7xxx series, the AMDGPU driver required to use them can't be enabled by default. The released firmware for the UVD video decode unit doesn't support the framebuffer addresses used by AMDGPU, meaning that it can't support hardware video decode until they release an up-to-date firmware: https://lists.freedesktop.org/archives/amd-gfx/2017-November/015795.html https://lists.freedesktop.org/archives/amd-gfx/2017-November... So far users have been waiting for over a year and heard only silence. I suspect, given their attitude to older hardware, the required firmware will never be released.