Open-Source AMD Fusion E-350 Support Takes A Dive
If you have been thinking about picking up a motherboard with one of AMD's new Fusion E-350 "Zacate" APUs to use with the open-source Fusion driver, you may want to hold off for a bit or be forewarned that it could be a bumpy ride.
It was back in November that AMD pushed open-source Fusion code for kernel mode-setting (KMS) / DRM and classic Mesa / Gallium3D support. The kernel bits are to be found in the Linux 2.6.38 kernel, however, they aren't working right at the moment. This week I bought an ASUS E35M1-M PRO (after returning the buggy ASUS H67 Sandy Bridge motherboard), which has an AMD E-350 Zacate APU.
Installing Ubuntu 10.10 to this setup worked fine -- aside from two of the USB 3.0 ports causing problems if using them to boot from an Ubuntu Maverick USB installer. When tossing on the Linux 2.6.38 kernel, xf86-video-ati Git, libdrm Git, and Mesa 7.11-devel Gallium3D Git code is where problems were hit. Well, in particular, with the Linux 2.6.38 kernel even when fetching it from the Ubuntu mainline kernel repository.
The very latest Linux 2.6.38 kernel Git code produces a screen like this upon booting the AMD E-350 system with its Radeon HD 6130 graphics:
The screen is obviously unusable. Remotely connecting in reveals that the TTM/GEM is failing. Here's the dmesg as the system is defenestrated.
Pulling back to a 2.6.38 kernel from last month yielded more memory problems, but not the same picture as with this week's kernel as it ended up being partially usable but without acceleration. Disabling kernel mode-setting on the 2.6.38 system let the display properly light up with user-space mode-setting on the latest xf86-video-ati DDX, but without acceleration.
I am not the only one with open-source graphics problems on Fusion.
When talking with AMD's Alex Deucher about this code, who is currently on holiday, he had the following to say. "None that I know of. It was working fine when I merged the code, but my ontario board recently got bricked in a bios upgrade and I haven't set up a new one yet, so it's possible something broke later in the 2.6.38 release cycle. I'm on vacation at the moment, so I won't be able to look at this until next week. You might try a 2.6.38 kernel closer to when the ontario code was originally merged."
Now off to trying a kernel from late last year. Sadly, the Ubuntu daily mainline kernels aren't preserved that long and building kernels on the Fusion E-350 setup is painfully slow. Though due to these problems happening during the end of the Linux 2.6.38 kernel development cycle and Alex being on holiday this week, chances are it will not be resolved prior to the Linux 2.6.38 kernel being officially released, which is happening in just a couple days.
At least the Catalyst 11.2 binary driver is working fine on this Fusion system, with working acceleration. The only problem I have encountered during my initial AMD Fusion Linux tests is a floating point exception when attempting to launch AMDCCCLE, the AMD Catalyst Control Center Linux Edition panel.
Stay tuned for more AMD Fusion Linux information.
UPDATE: It turns out that the Ubuntu mainline kernels are missing the Fusion firmware. However, when dropping in the upstream PALM and SUMO firmware, the graphics still fail; black screen with the cursor and it's soft locked-up but there is still remote access. The new dmesg.
UPDATE 2: A fix is available and should be in the Linux 2.6.38 final kernel.
It was back in November that AMD pushed open-source Fusion code for kernel mode-setting (KMS) / DRM and classic Mesa / Gallium3D support. The kernel bits are to be found in the Linux 2.6.38 kernel, however, they aren't working right at the moment. This week I bought an ASUS E35M1-M PRO (after returning the buggy ASUS H67 Sandy Bridge motherboard), which has an AMD E-350 Zacate APU.
Installing Ubuntu 10.10 to this setup worked fine -- aside from two of the USB 3.0 ports causing problems if using them to boot from an Ubuntu Maverick USB installer. When tossing on the Linux 2.6.38 kernel, xf86-video-ati Git, libdrm Git, and Mesa 7.11-devel Gallium3D Git code is where problems were hit. Well, in particular, with the Linux 2.6.38 kernel even when fetching it from the Ubuntu mainline kernel repository.
The very latest Linux 2.6.38 kernel Git code produces a screen like this upon booting the AMD E-350 system with its Radeon HD 6130 graphics:
The screen is obviously unusable. Remotely connecting in reveals that the TTM/GEM is failing. Here's the dmesg as the system is defenestrated.
Pulling back to a 2.6.38 kernel from last month yielded more memory problems, but not the same picture as with this week's kernel as it ended up being partially usable but without acceleration. Disabling kernel mode-setting on the 2.6.38 system let the display properly light up with user-space mode-setting on the latest xf86-video-ati DDX, but without acceleration.
I am not the only one with open-source graphics problems on Fusion.
When talking with AMD's Alex Deucher about this code, who is currently on holiday, he had the following to say. "None that I know of. It was working fine when I merged the code, but my ontario board recently got bricked in a bios upgrade and I haven't set up a new one yet, so it's possible something broke later in the 2.6.38 release cycle. I'm on vacation at the moment, so I won't be able to look at this until next week. You might try a 2.6.38 kernel closer to when the ontario code was originally merged."
Now off to trying a kernel from late last year. Sadly, the Ubuntu daily mainline kernels aren't preserved that long and building kernels on the Fusion E-350 setup is painfully slow. Though due to these problems happening during the end of the Linux 2.6.38 kernel development cycle and Alex being on holiday this week, chances are it will not be resolved prior to the Linux 2.6.38 kernel being officially released, which is happening in just a couple days.
At least the Catalyst 11.2 binary driver is working fine on this Fusion system, with working acceleration. The only problem I have encountered during my initial AMD Fusion Linux tests is a floating point exception when attempting to launch AMDCCCLE, the AMD Catalyst Control Center Linux Edition panel.
Stay tuned for more AMD Fusion Linux information.
UPDATE: It turns out that the Ubuntu mainline kernels are missing the Fusion firmware. However, when dropping in the upstream PALM and SUMO firmware, the graphics still fail; black screen with the cursor and it's soft locked-up but there is still remote access. The new dmesg.
UPDATE 2: A fix is available and should be in the Linux 2.6.38 final kernel.
67 Comments