Gigabyte GA-Z77X-UP7

Introduction
Product Page Gigabyte GA-Z77X-UP7

My Opinions
In my opinion, after experiencing the ASUS P8V77-V motherboard with the bad Realtek ALC 892 chip when recording line/mic, hibernate issues with add-in video cards likely due to legacy PCI, technical support contact issues; this Gigabyte GA-Z77X-UP7 board was an extreme pleasure working with. I did find the BIOS somewhat trivial to navigate, but it's similar to all motherboard BIOS these days.

Bought this hardware several months ago and has been rock solid ever since. Not one issue. A good example of, you get what you pay for! And at this cost, it better! ;-)

This motherboard does include an onboard serial DB9 port, incase there is ever a LinuxBIOS/Coreboot attempt.

From my past experience, I would just install the maximum amount of RAM now, rather than waiting; as the prices may likely increase or the type of RAM may not be as readily available. RAM prices are not like they were a decade or more ago! (ie. Corsair Vengeance 32 GB DDR3 1600MHz CMZ32GX3M4X1600C10) Expect Windows 7/8 to only use 4-8G of RAM. Almost all applications/games currently expect to use no more than 4G. However, you'll notice Linux will gladly buffer whatever you have!

A good quality cheap basic case is the Cooler Master HAF 922 (RC-922M-KKN3-GP). (Switch for turning-off the eye candy red lights.)

If you're an audiophile or Blu-ray Movie buff, you might want to pipe your audio through an external DAC (ie. Yamaha RX-V375) via HDMI. Lots more options are stated below.

Performance
Compiling the kernel takes mere minutes to no more than a minute using MAKEOPTS -j8. Compiling world, or all your needed applications and packages for your Gentoo O/S, takes only a few hours -- or maybe an hour. I'm not sure, and have no desire to know the exact amount of time, as I have been more accustomed to requiring 24-48 hours for compiling world on a x86 hardware!

Linux Compatibility
To the best of my knowledge, everything works.


 * 1) USB-3 Ports work, but I have no USB-3 hardware for benchmarking to verify USB-3 speeds. I assume they are.
 * 2) I have no Bluetooth hardware, but Fedora states Bluetooth is working.  No warnings or issues.

Integrated Motherboard Chips
These are some chip details, which are omitted within the sales brochure and vendor documentation. You'll need to know this if you're looking for drivers, or comparing chips (ie. Intel SATA vs Marell SATA specs) for optimizing your setup for best performance.

Realtek ALC898
The audio and microphone is of good quality with no static or low volume issue during playback or while recording. Comparing to a ASUS Xonar Essence STX PCIx card, the Xonar displays a, to be expected, better frequency range of sound. If you're an audiophile or demand quality mic recording, then as usual, consider the ASUS Xonar Essence STX PCIx add-in card upgrade. However, I am very impressed with the quality and find the ALC898 very good for everyday use by most normal users. (Used several months, but migrated to a ASUS Xonar Essence STX PCIx card.)

I have heard one report, SPDIF/Toslink port provided by these many onboard audio chips, can only transport uncompressed two channel stereo audio and not compressed Dolby/DTS, as the SPDIF protocol specifies compressed Dolby/DTS should be possible. During extensive research of the forums looking for quality reports, I've heard the onboard SPDIF/Toslink is slightly not as good as a dedicated high quality sound card. (Although, this is for those finicky with audio quality!)

Driver: SND_HDA_INTEL, SND_HDA_CODEC_REALTEK, SND_HDA_CODEC_ANALOG, etc.

Atheros 8161-BL-3A or AR8161 Ethernet Controller
The Atheros chip looks like it has less pins and surface area then the Intel chip. Use alx driver from compat-drivers. (Disabled within my BIOS settings as I use the below Intel Ethernet port, with no need for a second port.)

Intel 82579V Ethernet Controller
Likely use this, #2 port, as the primary Ethernet port as it likely will perform better than the above Atheros Ethernet chip.

Driver: e1000e

VIA VL-800-Q8 USB 3.0 Host Controller
Rear case ports.

Driver: xhci_hcd

Etron EJ168 USB 3.0 Host Controller
Internal case ports, for wiring to front case ports.

Driver: xhci_hcd

ASMEDIA 1442 x 2 HDMI Chips
If I'm not mistaken, one chip or port is for the HDMI Display, the other chip and port are for HDMI Audio. (Differernt sized cables for different types of HDMI ports.)

HDMI Ports. Likely you can utilize these to pipe audio to an external DAC or Receiver. (ie. Yamaha RX-V375). Using the HDMI port for better audio quality than onboard, will allow you to pass through uncompressed audio for Blu-ray and Dolby/DTS movies. SPDIF/Toslink can only transport either uncompressed two channel stereo audio or compressed Dolby/DTS and not Blu-ray quality audio. It is preferred to utilize the HDMI ports for DVD Dolby/DTS or Blu-ray audio. Most music still uses stereo, and an add-in sound card with SPDIF/Toslink might take some load-off the bus for other CPU demanding tasks, while simply passing through digital audio to the receiver with maybe better quality then the onboard optical or HDMI ports. Lots of choices here!

Driver: There is no mention within the Linux kernel for the ASMEDIA ASM1442 chips.

However, "aplay -l" does show the following.

card 0: PCH [HDA Intel PCH], device 0: ALC898 Analog [ALC898 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 1: ALC898 Digital [ALC898 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0

I'm just not getting any sound currently through the hw:0,1 port.

Marvell 88SE9172(-NNX2?) x 2 Storage Controller Chips
Use this controller for the Windows XP hard drive. Trying to install Windows XP on the Intel Storage Controller will result in blue screens and other instability issues! (Windows 7/8 can go on the Intel Storage Controller.)

Driver: ahci

Add-in 802.11 & Bluetooth PCIx card
Atheros AR5B22 (or ARB522, see AR9462 for specs?) mini-half-sized card with 802.11 & Bluetooth (04ca 3006), with bluetooth being attached to internal USB port.

Driver: Wireless uses ath9k driver and the Bluetooth part of the combo card uses the basic USB Bluetooth driver or btusb.)

Optional Aftermarket Accessories
The parts below are not purchased with the Gigabyte GA-Z77X-UP7 mainboard. The Intel i7 i7-3770K CPU, as of this writing, is probably the CPU you will likely buy for this board, unless a newer faster one is available. The ASUS Xonar Essence STX and EVGA NVidia GTX 670 2G RAM are completely optional, and for most users, not needed at all as I think the onboard RealTek ALC898 sound and the onboard Intel i7 i7-3770K CPU graphics (called iGPU) are completely adequate. Only reason why you would want to upgrade, you want to reserve more CPU for other tasks or are an audiophile. (The information provided below is to advise you these pieces of popular hardware work well with this mainboard.)

Intel i7 i7-3770K CPU
This specific Intel CPU provides some accelerated Virtualization features (ie. VirtualBox) along with adequate onboard graphics output commonly referred to as iGPU. Open Source drivers for iGPU are within the Linux Kernel, including source code for accelleration for media players. (ie. MPlayer) (As of this writing, it's still the best bang for the buck.)

This BX80637I73770K or boxed version, does include an adequate fan. I didn't initially realize this and based on past experiences, I just bought a Cooler Master Hyper 212 Plus CPU Cooler (RR-B10-212P-G1). I'm not sure if I wasted my money on the fan, as the included generice seems similar.

cat /proc/cpuinfo processor     : 0 vendor_id      : GenuineIntel cpu family     : 6 model          : 58 model name     : Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz stepping       : 9 microcode      : 0x12 cpu MHz        : 1600.000 cache size     : 8192 KB physical id     : 0 siblings       : 8 core id        : 0 cpu cores      : 4 apicid         : 0 initial apicid : 0 fpu            : yes fpu_exception  : yes cpuid level    : 13 wp             : yes flags          : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms bogomips       : 7007.31 clflush size   : 64 cache_alignment : 64 address sizes  : 36 bits physical, 48 bits virtual power management:

ASUS Xonar Essence STX
The ASUS Xonar Essence STX PCIx card, a competitor motherboard manufacture, works fine on this Gigabyte motherboard. Apart from the other ASUS hardware, this card's quality is phenomenal. If you're an audiophile, well worth the money for the Brown-Burr SNR 128db DAC, still far superior from todays receivers. Even so, still provides SPDIF/Toslink for digital audio pass through, likely off-loading some of the audio digitization from the onboard parts to a soundcard dedicated to audio quality.

lspci -k -nn 05:04.0 Multimedia audio controller [0401]: C-Media Electronics Inc CMI8788 [Oxygen HD Audio] [13f6:8788] Subsystem: ASUSTeK Computer Inc. Virtuoso 100 (Xonar Essence STX) [1043:835c] Kernel driver in use: snd_virtuoso

NVidia GTX 670 2G RAM
A EVGA NVidia GeForce GTX670 FTW 2048MB GDDR5 PCIx card works fine, even when using NVidia's binary drivers -- including full bug-free hibernate and suspend support, so far. The basic Linux Kernel Nouveau video driver, without 3D accelleration, works as expected.

lspci -k -nn 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK104 [GeForce GTX 670] [10de:1189] (rev a1) Subsystem: eVga.com. Corp. Device [3842:2678] Kernel driver in use: nvidia 01:00.1 Audio device [0403]: NVIDIA Corporation GK104 HDMI Audio Controller [10de:0e0a] (rev a1) Subsystem: eVga.com. Corp. Device [3842:2678]

Testing Your Hardware
In the meantime while waiting for me to publish a complete listing of chips with driver names (ie. Linux Config file), users can easily use a recent Fedora LiveCD which should certainly display and test that all your hardware is certainly working! I haven't tested with the latest Gentoo LiveCD, as the latest version wasn't released until after I had put my board together. Readers can follow-up here and note if the Gentoo LiveCD displays working wireless and bluetooth drivers. Most everything else should just work.

PCIx Bus
00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller [8086:0150] (rev 09) Subsystem: Giga-byte Technology Device [1458:5000]

00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:0151] (rev 09) Kernel driver in use: pcieport

00:14.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller [8086:1e31] (rev 04) Subsystem: Giga-byte Technology Device [1458:5007] Kernel driver in use: xhci_hcd

00:16.0 Communication controller [0780]: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 [8086:1e3a] (rev 04) Subsystem: Giga-byte Technology Device [1458:1c3a]

00:19.0 Ethernet controller [0200]: Intel Corporation 82579V Gigabit Network Connection [8086:1503] (rev 04) Subsystem: Giga-byte Technology Device [1458:e000] Kernel driver in use: e1000e

00:1a.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 [8086:1e2d] (rev 04) Subsystem: Giga-byte Technology Device [1458:5006] Kernel driver in use: ehci_hcd

00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller [8086:1e20] (rev 04) Subsystem: Giga-byte Technology Device [1458:a002] Kernel driver in use: snd_hda_intel

00:1c.0 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 [8086:1e10] (rev c4) Kernel driver in use: pcieport 00:1c.1 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 [8086:1e12] (rev c4) Kernel driver in use: pcieport 00:1c.2 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 [8086:1e14] (rev c4) Kernel driver in use: pcieport 00:1c.3 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 [8086:1e16] (rev c4) Kernel driver in use: pcieport 00:1c.4 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 5 [8086:1e18] (rev c4) Kernel driver in use: pcieport 00:1c.5 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 6 [8086:1e1a] (rev c4) Kernel driver in use: pcieport 00:1c.6 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 7 [8086:1e1c] (rev c4) Kernel driver in use: pcieport 00:1c.7 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 8 [8086:1e1e] (rev c4) Kernel driver in use: pcieport

00:1d.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 [8086:1e26] (rev 04) Subsystem: Giga-byte Technology Device [1458:5006] Kernel driver in use: ehci_hcd

00:1f.0 ISA bridge [0601]: Intel Corporation Z77 Express Chipset LPC Controller [8086:1e44] (rev 04) Subsystem: Giga-byte Technology Device [1458:5001]

00:1f.2 SATA controller [0106]: Intel Corporation 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] [8086:1e02] (rev 04) Subsystem: Giga-byte Technology Device [1458:b005] Kernel driver in use: ahci

00:1f.3 SMBus [0c05]: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller [8086:1e22] (rev 04) Subsystem: Giga-byte Technology Device [1458:5001]

01 -> Discrete Video Card usually inserts here.

03:00.0 SATA controller [0106]: Marvell Technology Group Ltd. 88SE9172 SATA 6Gb/s Controller [1b4b:9172] (rev 11) Subsystem: Giga-byte Technology Device [1458:b000] Kernel driver in use: ahci

04:00.0 PCI bridge [0604]: PLX Technology, Inc. PEX8112 x1 Lane PCI Express-to-PCI Bridge [10b5:8112] (rev aa)

05 - Discrete Sound Card may insert here.

06:00.0 USB controller [0c03]: VIA Technologies, Inc. VL80x xHCI USB 3.0 Controller [1106:3432] (rev 03) Subsystem: Giga-byte Technology Device [1458:5007] Kernel driver in use: xhci_hcd

07:00.0 Network controller [0280]: Atheros Communications Inc. AR9462 Wireless Network Adapter [168c:0034] (rev 01) Subsystem: Lite-On Communications Inc Device [11ad:6621] Kernel driver in use: ath9k

08:00.0 USB controller [0c03]: Etron Technology, Inc. EJ168 USB 3.0 Host Controller [1b6f:7023] (rev 01) Subsystem: Giga-byte Technology Device [1458:5007] Kernel driver in use: xhci_hcd

09:00.0 Ethernet controller [0200]: Qualcomm Atheros AR8161 Gigabit Ethernet [1969:1091] (rev 10) Subsystem: Giga-byte Technology Device [1458:e000] /* alx driver */

0a:00.0 SATA controller [0106]: Marvell Technology Group Ltd. 88SE9172 SATA 6Gb/s Controller [1b4b:9172] (rev 11) Subsystem: Giga-byte Technology Device [1458:b000] Kernel driver in use: ahci

Linux Kernel Config
Work In Progress. (If you must have one now, can send me an EMail request and will gladly send you my dot config file.)

Compile in Memory
The following tip, if you've installed a large amount of memory such as the full 32G, will specify Portage to compile all packages within memory instead of using a hard disk filesystem. The speed-up is phenomenal, but I'm finding on these 64bit platforms, it might not be as fast as you would think due to bottlenecks and collisions. Some packages also may have bugs with this feature and will fail during compile. Probably not a good idea during your initial "emerge world". (If you do use this, and find a package fails, remember to submit a bug to Gentoo Bugs.)

Audio Chip Quality Check
Check the audio quality using the ALSA Test Mic Recording page and using arecord. Checking the microphone recording, checks the audio playback quality at the same time.

Even though I experienced absolutely no problems with this motherboard's RealTek ALC898 chip, if you do have any problems, any problems will likely be presented when recording. Also, be sure to activate the Mic Boost option by unmuting it within alsamixer. And going from memory, if there's a volume meter for the Mic Boost, elevate it to anywhere from 30-70-80%, appropriately for your microphone. Without Mic Boost, you may or will have low volume.

Signs of a bad or poor quality chip are; sounding extremely low volume, muffled or contains static within recordings. An example is the RealTek 892 implementation on the ASUS P8Z77-V board.

As such, my lesson is well learned! Even if the microphone is never used, always check your microphone recording for quality problems. Use the microphone at least once to make sure you're getting what you paid for!

Onboard
TODO: Verify this audio routing method can be used without requiring iGPU and document the modules required. It is very likely, the HDMI port on this motherboard is an HDMI port sized for an HDMI Display cable connector. There are two types of HDMI connectors, a larger connector for HDMI Display ports and a smaller for HDMI Audio or Ethernet ports. Also, the onboard also include SPDIF Toslink/Optical, further suggesting this is an HDMI port only able to work when the iGPU is used with a display with speakers.


 * 1) modprobe snd_hda_intel
 * 2) modprobe snd-hda-codec-analog

Discrete NVidia or AMD Card
This section is only relevant if you have a discrete NVidia, AMD or other addon card!

Proprietary nvidia driver works, if you have an NVidia card with HDMI ports.

The in kernel ALSA sound driver has a generic HD driver. Make sure you link in NVidia, AMD, or other HD support within the snd_hda_intel kernel module.
 * 1) modprobe snd_hda_intel
 * 2) modprobe snd-hda-codec-analog

My Experience with HDMI vs SPDIF Quality
The relevancy of this section is to aid users decide on a method of quality sound output.

The NVidia HDMI Audio utilizing NVidia proprietary drivers quality and performance versus the ASUS Xonar ST/STX SPDIF/Toslink/Optical Digital, seems equivelant. However, I'm seeing a 5db to 10db volume increase using NVidia HDMI over the Xonar Optical Toslink/Optical with a comparable 5db to 10db increase in noise while using the NVidia HDMI port. Likely, this is because of signal interference using HDMI cables versus SPDIF Toslink/Optical. So, if you're an audiophile, might want to continue using SPDIF/Optical Digital for music and most DVD movies. Also, I find ALSA SPDIF more reliable than HDMI output. Although ALSA SPDIF reliability is sometimes irratic, but can easily be mitigated by using an appropriately edited asoundrc file. Users using SPDIF with a custom asoundrc, will likely only have to perform a little more work with their current asoundrc file in order to have HDMI audio working as reliably as SPDIF.

My preference:

Music and all misc audio: Xonar STX SPDIF Toslink/Optical. (Modify mplayer.conf to use this specific device.) Bluray media: NVidia Video Card HDMI, only for handling uncompressed Dolby/DTS. (When this method is required, specify it directly via command line options.)

Xonar STX SPDIF coaxial seemed to contain very slightly more noise than SPDIF Toslink/Optical. Some users state the Xonar STX Analog, utilizing the card's quality DAC, is sometimes better than using SPDIF. I think this analog method inhibits a pre-amp, significantly unnaturally boosts the low frequency range. SPDIF seems to contain more tone and a more articulated freqency range of sound or audio. Optical seems to be the preferred method for most other tasks as well.

TODO: Verify onboard HDMI output quality. However, I speculate if it's a HDMI Display output, there's more chance of interferance than the previously forementioned HDMI Audio cable quality.

TODO: Compare onboard Realtek SPDIF Toslink/Optical to descrete Xonar STX quality. Very likely, the dedicated Xonar hardware will perform ever so slightly than the simple integrated Realtek onboard chip.

Wireless Ethernet
Install wireless tools:
 * 1) emerge -q net-wireless/wireless-tools net-wireless/madwifi-ng-tools

If ath9k built as modules, then load ath9k:
 * 1) modprobe ath9k

Check if ath9k is properly associated with your wireless chip: [ 189.412035] ieee80211 phy0: Selected rate control algorithm 'ath9k_rate_control' [ 189.412322] Registered led device: ath9k-phy0
 * 1) dmesg |grep ath9k

And, or: eno1     no wireless extensions.
 * 1) iwconfig

wlp7s0   IEEE 802.11abgn  ESSID:off/any Mode:Managed Access Point: Not-Associated   Tx-Power=0 dBm Retry long limit:7   RTS thr:off   Fragment thr:off Encryption key:off Power Management:on lo       no wireless extensions.

Finished here. Now follow Gentoo's main documention for configuring your wireless network device.

Bluetooth
If built as modules:
 * 1) modprobe bluetooth

Load BT_ATH3K. (Check to make sure this driver is for this motherboard's Bluetooth chip!)
 * 1) modprobe ath3k

The following command should show the driver is associated.
 * 1) lsusb -v

Follow common Gentoo Bluetooth or other Bluetooth configuration documentation.

Bugs

 * 1) [Not a Bug, but frequently over looked.]  This motherboard includes a wireless WI-FI and Bluetooth Combo add-in PCIx card.  The PCIx bus handles the WI-FI feature, while users need to plug the Bluetooth into an onboard internal USB port with the included USB cable.  Without the USB cable attached, users may experience no BlueTooth within Linux, while Window's users will not be able to install the Atheros drivers due to the driver package failing to find both, the Wireless and Bluetooth devices.  From memory, this device only works within Windows 7/8 and not Windows XP due to Atheros not publishing drivers for 32 bit platforms.  (Going from memory as to the reason for lacking Windows XP support.)
 * 2) [Only for MS Windows' users.]  In order to be able to use the USB-3 ports within Windows 7/8, users need to download the Intel USB3 drivers directly from Intel's website as the Gigabyte drivers for this motherboard omit them.  (This appears to be a licensing issue.)  Intel does not provide 32 bit, or Windows XP USB-3 drivers.  This issue is irrelevant for Linux only users, as USB-3 should work fine as they're included within the Linux Kernel.