Using a Gigabyte BXBT-1900 as a HTPC
Gigabyte mini PC with Intel Baytrail J1900 Celeron.
4 core CPU, but weak GPU. Old tech released in 2014, optimized for Windows 8.
Known for locking up without warning. That condition supposed to have been fixed by BIOS F8 (03/02/2016).
Mine had BIOS F8 already installed (which is good, because I've been unable to get it to boot off USB stick). I added 4G DDR3 SODIMM(1.35v) and 64G Sandisk SSD. O/S installed is Ubuntu 18.04 desktop.
In my testing locked up during playing of Vimeo video at 720p and higher resolution. Also experienced stuttering audio on playback of both video and audio files.
The following took me a few weeks to research and test. The system would have been unusable without these changes.
Note: Framerates for video played through browser at 720p and above are still sub standard.
Latest advice for avoiding the locking problem on Ubuntu 16.04 found here:
Recommended this config in the BIOS (hit F2 or DEL during system start to access):
BIOS Version: F8 CPU SMART FAN Function: Enabled [fan controller] CPU FAN Fail Detect: Disabled [HD video performance] Wake system from S5: Disabled [no sleeping!] Intel Virtualization: Disabled [HD video performance] EIST: Disabled [EIST is Intel SpeedStep: HD video performance] CPU C state Report: Disabled [helps prevent lock-up] SATA Mode: AHCI Mode [legacy /OS SATA compatibility] SATA Port: KINGSTON SV300 (120.0GB) CSM Support: Enabled [legacy O/S UEFI compatibility module] LAN PXE OpROM: Disabled [prevent PXE boot] DVMT Pre-Allocated: 512M [HD video performance] Onboard Audio: Enabled Onboard LAN: Enabled OS Selection: Windows 7 ERP Lowest Power State Mode: Enabled [prevents sleep mode, keeps HDMI signal alive] Restore AC Power Loss: Power Off Secure Boot: Disabled [Ubuntu can't boot if enabled] Secure Boot Mode: Standard [Secure Boot not required] Fast Boot: Enabled XHCI Hand Off: Enabled [any other setting prevents system poweroff]
See related articles on performance under FreeBSD and poweroff issue:
Per the kernel mailing list ( https://bugzilla.kernel.org/show_bug.cgi?id=109051), also add the following to GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub:
I also like forcing the system to use the traditional network device names (eth0, wlan0), rather than the (un)predictable device names that no one I know thinks were a good idea.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash net.ifnames=0 biosdevname=0 intel_idle.max_cstate=1"
Looks similar to https://forums.fedoraforum.org/showthread.php?303830-Fedora-21-Audio-Stuttering-Problems. Add the following to the end of the line "load-module module-udev-connect" in /etc/pulse/default.pa:
so the line looks like:
load-module module-udev-connect tsched=0
In addition, edit /etc/pulse/daemon.conf to add the following:
; realtime-scheduling = yes realtime-scheduling = no
After making changes to pulse config, run the following as user (not root or sudo root) to restart pulse:
I disabled NetworkManager and configured for traditional (ifupdown) networking in an effort to get the system to boot without the TV/monitor turned on. That didn't fix the problem, but networking was more reliable. This is for hardwired ethernet only. If you have to rely on wifi for connectivity, stick with NetworkManager.
- Install ifupdown (disabling netplan) and configure /etc/network/interfaces.
$ sudo apt install ifupdown $ sudo reboot
# /etc/network/interfaces source /etc/network/interfaces.d/* auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 10.0.1.15 netmask 255.255.255.0 network 10.0.1.0 broadcast 10.0.1.255 gateway 10.0.1.1 dns-nameservers 10.0.1.8 dns-nameservers 10.0.1.9 dns-search example.com
- Mask systemd-resolved (& recreate /etc/resolv.conf).
$ sudo systemctl stop systemd-resolved $ sudo systemctl mask systemd-resolved $ sudo rm /etc/resolv.conf
# /etc/resolv.conf search example.com nameserver 10.0.1.8 nameserver 10.0.1.9 nameserver 188.8.131.52
(We've got a pair of BIND servers here at the house, Google DNS is our fallback)
- Disable NetworkManager if installed and enabled.
$ sudo systemctl stop NetworkManager $ sudo systemctl disable NetworkManager $ sudo systemctl mask NetworkManager $ sudo reboot
- Install and configure chrony (which will disable systemd-timesyncd)
$ sudo apt install chrony $ sudo vi /etc/chrony/chrony.conf
The defaults will work fine for a desktop that doesn't need a local time server, but I like to at lease replace the ubuntu servers with the local us.pool.ntp.org counterparts
# pool ntp.ubuntu.com iburst maxsources 4 # pool 0.ubuntu.pool.ntp.org iburst maxsources 1 # pool 1.ubuntu.pool.ntp.org iburst maxsources 1 # pool 2.ubuntu.pool.ntp.org iburst maxsources 2 server 0.us.pool.ntp.org iburst server 1.us.pool.ntp.org iburst server 2.us.pool.ntp.org iburst server 3.us.pool.ntp.org iburst