Scientific Linux Forum.org



  Reply to this topicStart new topicStart Poll

> Project: full SL6 support for SAPPHIRE Pure Fusion Mini E350 motherboard
tux99
 Posted: Jun 1 2011, 03:56 AM
Quote Post


SLF Guru
********

Group: Members
Posts: 1301
Member No.: 224
Joined: 28-May 11









I recently got myself a Sapphire Pure Fusion Mini E350 mini-ITX mainboard primarily as a testing platform, since I'm curious to see how well the new AMD Fusion APU works with Linux.

I'm starting this thread to document compatibility (or lack thereof) of all devices of this board with SL6.

HW setup overview:

- Sapphire Pure Fusion Mini E350 mini-ITX mainboard
(paid the equivalent of 125 USD for it)

- 2x Samsung 1GB DDR3 8500 (1066Mhz) SoDIMMs = 2GB RAM total
(left-overs from a laptop memory upgrade)

- 8GB Samsung 233x SLC CF card with CF->SATA adapter
(poor man's SSD smile.gif 'hdparm -t' gives ~42MB/sec, not bad for a CF card)
SL6 takes only 31 seconds to boot from grub to the GDM login screen with this setup

- Broadcom Crystal HD BCM70012 HD video decoder mini-PCIe card (link)
(not essential as the AMD APU should be capable of HD video but included for testing purposes, since I had one lying around)

- mini-box M350 mini-ITX case

- picoPSU-90-XLP 90W DC-DC 12V power converter

- external brick-style 75W passive AC adapter


Detailed list of HW components and SL6 compatibility:

CPU: AMD Dual-Core Processor E350, 1.6GHz, 18W TDP (incl. GPU)
Both cores are recognized and cpu frequency scaling (800-1600Mhz) is active out-of-the box with SL6.
Furthermore the cpu supports 64bit and has hardware virtualization support
For temperature monitoring I have packaged up the latest k10temp kernel module, available here:
http://pkgrepo.linuxtech.net/el6/release/noarch/

GPU: AMD Radeon HD 6310 Graphics (integrated with the CPU)
After default desktop installation SL6 boots up with the Vesa xorg driver and a 800x600 screen resolution. In other words the GPU is not recognized. I will have to install the binary drivers (which I had planned anyway, since they are faster and support HD video decoding).
Update:
I have packaged up the latest AMD/ATI FGLRX binary drivers version 11.6 that work very well with this board:
http://pkgrepo.linuxtech.net/el6/testing/x86_64/fglrx-x11-drv-11.6-1.el6.x86_64.rpm
http://pkgrepo.linuxtech.net/el6/testing/x86_64/kmod-fglrx-11.6-1.el6.x86_64.rpm
Update2:
Since the ElRepo repo maintains regularly updated AMD/ATI FGLRX binary drivers I have now removed the old 11.6 packages from my repo and I recommend using the ElRepo FGLRX packages.

I also have GPU hardware video decoding working using XvBA and VA-API, for details see this thread:
http://scientificlinuxforum.org/index.php?showtopic=1629

RAM: 2GB
'free' is showing 1775944 KB RAM available, so the 2GB are fully recognized, the missing ~300MB are used by the GPU as video memory (set to 256MB, user configurable between 32MB-2GB in BIOS) and as IOMMU memory (user configurable in BIOS between 32MB-2GB).

Chipset: AMD Hudson-M1 (A50M)
provides:
- 8x USB 1.1/2.0 ports (working fine out of the box)
- 5x SATA 3 6Gb/s (working fine at SATA 2 speeds, don't have SATA 3 HDD to test)
- PCIe 2.0 x16 slot (4 lanes) (not tested yet)
- mini PCIe x1 slot (the BCM70012 inserted in this slot is seen by SL6 with 'lspci')

NIC: Marvell Yukon PCI-e GigE network interface
works out-of-the-box with SL6 at gigabyte ethernet speed

Audio: Realtek ALC892 HD Audio 8 channels +S/PDIF optical out
detected as generic HDA audio by SL6, kernel modules are loaded, stereo audio out works fine, haven't had an opportunity yet to test other sound inputs/outputs

NEC D720200F1 USB 3.0 controller
- works and uses the xhci_hcd kernel module
- tested only at USB 2.0 speed so far (due to lack of a USB 3.0 device)

Fintek F71808E hardware monitor
- not supported by the default f71882fg kernel module that ships with SL6
- updated f71882fg kernel module with F71808E support available from my repo as dkms package:
http://pkgrepo.linuxtech.net/el6/release/noarch/
after installing the kernel module add the following to /etc/sysconfig/lm_sensors :
CODE
HWMON_MODULES="f71882fg"

then enable lm_sensors at boot by running:
CODE
chkconfig lm_sensors on

Here is the customized /etc/sensors3.conf file:
CODE
# lm-sensors config for Sapphire Pure Fusion Mini E350 board

chip "f71808e-*"

   label  in0  "VCC  +3.3V"
   # E-350 Vcore range is ~ 0.5V-1.35V (lowest idle state to max load)
   label  in1  "CPU  Vcore"
   ignore in2
   label  in3  "DDR3 VDIMM"
   label  in4  "FCH  +1.1V"
   label  in5  "PCIe +1.8V"
   label  in7  "3VSB +3.3V"
   label  in8  "VBAT +3.0V"

   compute in0  @*2, @/2
   compute in3 (@ * 1.465), (@ / 1.465)
   compute in7  @*2, @/2
   compute in8  @*2, @/2

   label fan1 "CPU Fan"
   label fan2 "SYS Fan"

   ignore fan3

   label  temp1 "SYS Temp1"
   label  temp2 "SYS Temp2"

chip "k10temp-*"

  label temp1 "CPU Temp"


Atheros AR3011 Bluetooth 2.1 receiver/transmitter
- not tested yet

Broadcom Crystal HD BCM70012 HD video decoder
- no suitable kernel module included in SL6, I will need to build one myself
- Update: I have now build the packages necessary to use the Crystal HD with SL6, here they are:
http://pkgrepo.linuxtech.net/el6/release/noarch/dkms-crystalhd-20110917-1.el6.noarch.rpm
http://pkgrepo.linuxtech.net/el6/release/noarch/crystalhd-firmware-20110917-1.el6.noarch.rpm
http://pkgrepo.linuxtech.net/el6/release/x86_64/libcrystalhd-20110917-1.el6.x86_64.rpm
http://pkgrepo.linuxtech.net/el6/release/x86_64/libcrystalhd-devel-20110917-1.el6.x86_64.rpm
And the following plugin provides hardware decoding in Gstreamer (and therefore Totem):
http://pkgrepo.linuxtech.net/el6/release/x86_64/gstreamer-plugin-crystalhd-20110917-1.el6.x86_64.rpm


--------------------
My personal SL6 repository, specialized in audio/video software: http://pkgrepo.linuxtech.net/el6/
(can be used together with EPEL and ELRepo repositories) - repository mirror: http://linuxsoft.cern.ch/linuxtech/el6/
PM
^
joutlan
 Posted: Jun 1 2011, 04:11 AM
Quote Post


SLF Founder
********

Group: Admins
Posts: 1115
Member No.: 1
Joined: 8-April 11









Nice. And thank you for the contribution to help build our archives of data. cool.gif


--------------------
DΞLL Precision M6700: 17 inch NB//i7-quad w/USB 3.0, 16.0GB, Quadro K5000M 2.0GB DDR3, RGBLED //W8P64/Scientific Linux 6.4 x64
DΞLL Vostro 3350 Nirvana: 13 inch NB w/ IntelSSD// W8Px64 (Work;Games)
Nexus 4 //Android
PMEmail PosterUsers WebsiteIntegrity Messenger IM
^
tux99
 Posted: Jun 3 2011, 04:32 AM
Quote Post


SLF Guru
********

Group: Members
Posts: 1301
Member No.: 224
Joined: 28-May 11









I have now prepared two dkms kernel module packages, one for the cpu temperature sensor (dkms-k10temp) and one for the fintek f71808e hw monitoring chip used on this mobo (dkms-f71882fg).

The f71882fg kernel module is an updated version of the one included in the default kernel, which was too old to support the f71808e chip on this mobo.

I have also figured out a matching /etc/sensors3.conf file, I have done a lot of research to get the labels and multipliers correct, so I'm very confident that the config is ok. Should you spot any errors, then please let me know!

Please see updated first post for further details.


--------------------
My personal SL6 repository, specialized in audio/video software: http://pkgrepo.linuxtech.net/el6/
(can be used together with EPEL and ELRepo repositories) - repository mirror: http://linuxsoft.cern.ch/linuxtech/el6/
PM
^
tux99
 Posted: Jun 3 2011, 05:01 AM
Quote Post


SLF Guru
********

Group: Members
Posts: 1301
Member No.: 224
Joined: 28-May 11









I actually have a question for you all:

this mobo has a BIOS setting called IOMMU Mode with the following description in the manual:

QUOTE
IOMMU Mode
IOMMU is supported on LINUX based system to convert 32bit I/O to 64bit MMIO.

Options: Disabled, 32MB, 64MB, 128MB, 256MB, 512MB, 1GB, 2GB.


I have googled this but I'm still confused what it actually does and what the best setting for this is.
I have SL6 64 bit installed on this mobo with 2GB RAM.

Does anyone know how I should configure this setting and what exactly it is useful for?


--------------------
My personal SL6 repository, specialized in audio/video software: http://pkgrepo.linuxtech.net/el6/
(can be used together with EPEL and ELRepo repositories) - repository mirror: http://linuxsoft.cern.ch/linuxtech/el6/
PM
^
zxq9
 Posted: Sep 16 2011, 09:54 PM
Quote Post


SLF Advocate
*****

Group: Members
Posts: 376
Member No.: 611
Joined: 5-August 11









I have done quite a few mass-installs on Gigabyte GA-E350N-USB3 boards lately -- they are almost identical to the board you discuss above (we've also deployed some ASRock E350/Hudson M1 boards that are a bit uglier looking than the Gigabyte ones, but have nearly the same specs and the results have been the same -- accept for the ASRocks that arrived broken!). We have really grown to like these things -- and they are perfect for 3D CAD stations with the ATI drivers installed.

We are running these tiny (silent) boards with 58cm LCD displays at 1920x1080 on the HDMI out -- and at that resolution and size not having the fglrx kernel module installed is not acceptable (horrible screen tearing), and neither is the idea of falling back on ugly, incorrectly detected 4:3 VESA modes. As a side note, our setups all have 8Gb RAM, 7200rpm 500Gb HDDs (but leave ~470Gb unallocated because they mount /home over NFS... its just hard to find anything smaller these days unless going to SSDs, which is overkill here in either case).

So... the following will create and install the fglrx kernel module alongside everything else and should have you feeling good once its done.

A lightly scriptified version of the relevant parts of our kickstart file could look like this:
CODE
yum -y update
yum -y install gcc freetype kernel-devel zlib libgcc libstdc++ fontconfig rpm-build
wget http://www2.ati.com/drivers/linux/ati-driver-installer-11-8-x86.x86_64.run
chmod +x ati-driver-installer-11-8-x86.x86_64.run
./ati-driver-installer-11-8-x86.x86_64.run --buildpkg RedHat/RHEL6_64a
yum localinstall --nogpgcheck fglrx64_p_i_c-8.881-1.x86_64.rpm
amdconfig --initial
rm -f ati-driver-installer-11-8-x86.x86_64.run

The above generates the necessary kernel module (fglrx.ko) and loads it next time you completely kill and restart X (testing this from init 3 is convenient and prevents Windows reboot habits from kicking in by mistake).

It is very common for folks to run the ati-driver-installer without having gcc, feetype or kernel-devel installed when doing this outside of a more formalized process like a mass network install. The driver install will go, and it won't tell you anything is amiss -- but you will be missing the fglrx.ko module in the kernel, and that leads to frustrating behavior. For example, you can open the Catalyst Control Center and click on about half the buttons, but there is no effect the next time you restart X -- and the most critical button (probably the only one you really care about unless you're a gamer), labelled "Tear Free", resets to "off" every time you restart the control center. This is really puzzling to folks because the Control Center seems to work, the driver seems to have installed properly and yet there is just crap performance (but a correct screen ratio!) to show for it.

In this case you need to
CODE
yum -y install gcc freetype kernel-devel
cd /lib/modules/fglrx/build_mod
sh ./make.sh
cd ..
sh ./make_install.sh
mv /etc/X11/xorg.conf xorg.conf.bak
amdconfig --initial

And then startx again.

I only played with doing it by hand once before working the kinks out, and when I ran make.sh above the first time I got an error telling me that /usr/src/linux/include/linux/kernel.h didn't exist. I in fact did not have kernel-devel installed just then (dumb oversight -- though kernel-headers was installed, so kernel.h did actually exist), so symlinking /usr/src/include/ to /usr/include/ didn't do the trick, just gave me a different error saying that my kernel devel files were labelled "" instead of "2.6.32-blahblah". Installing kernel-devel made this go away, but since I forgot to remove the symlink I'm not sure now if I needed it or not (likely not) -- but its worth mentioning if anyone winds up with a similar error about nonexistant kernel.h files.

QUOTE (tux99 @ Jun 3 2011, 05:01 AM)
I actually have a question for you all:

this mobo has a BIOS setting called IOMMU Mode with the following description in the manual:

QUOTE
IOMMU Mode
IOMMU is supported on LINUX based system to convert 32bit I/O to 64bit MMIO.

Options: Disabled, 32MB, 64MB, 128MB, 256MB, 512MB, 1GB, 2GB.


Does anyone know how I should configure this setting and what exactly it is useful for?


If you run virtual machines then this is a good thing. It dedicates a region of memory to be remapped and enables a hardware utility to assist/enforce the mapping. This is a great step for people who use virtualization a lot on x86, but for the average user its just one more string of cryptic letters in the sea of marketing bullets on the packaging. If you aren't running virtual guest machines inside your system then you can disable this and lose nothing. If you are virtualizing then you'll have to play with the requirements of the respective systems to figure out what settings you like. This is similar to selecting how much shared memory to give the GPU in a way, just allocating it to a guest VM instead.
PMEmail PosterUsers Website
^
Amirul
 Posted: Dec 24 2011, 12:32 PM
Quote Post


SLF Rookie
*

Group: Members
Posts: 20
Member No.: 1146
Joined: 24-December 11









I'm running SL6 64-bit on the Sapphire Pure Fusion Mini E350 with 8G Ram. Great silent, low-power boards when they're running. Trouble is after a day or two uptime, it reboots itself. Had me scratching my head for sometime. Installed mcelog, found out there was some cryptic Machine Check Exception in the logs right about the time the machine rebooted. Tried swapping in new RAM, reseating etc, nothing worked. Even swapped in a MSI E350 board, same thing.
Somehow I stumbled on a kernel boot option nomce to turn off the machine check exception. Now its been running 4 days so hopefully that has fixed it.
PM
^
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

Topic Options Reply to this topicStart new topicStart Poll