Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why is AMD microcode not open source to begin with?


It's firmware. Very little firmware is. In information theoretic sense it's much more surprising if some firmware is open source.


I'm asking why. Is there some reason for them not to open it? AMD are quite positive about opening up other things, like GPU drivers for example. So why not firmware as well?

In the GPU case I know the reason - it's the DRM garbage (HDCP and Co.). Support for DRM dictates for them to keep it closed. But even there, they could provide alternative firmware without DRM, and make it open. But for CPU, there is no real reason it seems.


GPU vendors refused to open source their drivers and firmware long before HDCP was a thing.


Things have changed for drivers. Not for firmware though, and DRM it the reason.


because there's a lot of proprietary stuff in microcode that's used for accelerations. gfx drivers too. it's the reason the closed amd drivers are so much faster than the open mesa ones.


> it's the reason the closed amd drivers are so much faster than the open mesa ones.

On the contrary, Mesa is faster than their blob. AMD themselves are working on replacing blob with Mesa in the long term.

Firmware doesn't offer any acceleration advantages, it's used for different purposes.


yeah... I don't know what numbers you're looking at but that's not true in the general case. and this isn't firmware, it's microcode. firmware is already on the chip. microcode is used so the os can take advantage of chip specific features, like security patches or even acceleration.


Do you have actual benchmarks which show the closed source OpenGL driver significantly faster than the open source one? In Phoronix benchmarks I've seen, the open source driver beats the closed source one by a large margin.



That's years ago and is outdated. Today Mesa beats the blob point blank, thanks to AMD themselves working on optimizing radeonsi.


A lot has changed in the last two years. Nowadays you have an occasional game that is faster on the blob driver, but most are faster under Mesa, often significantly so.


They clearly said in the presentation, that microcode is a form of CPU firmware.


Mesa almost always uses proprietary firmware. The fail0verflow guys did some work last year to at least document it for the PS4's GPU to patch a bug. But the upstream Radeon Mesa guys are really hesitant to upstream it to avoid pissing off AMD. https://github.com/fail0verflow/radeon-tools/tree/master/f32

Of course that's all sorta orthogonal because that's all not really microcode or firmware in the classic definition, but just "code for an embedded processor I don't want to document."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: