Last month I received Beelink GS-King X for review and started with an unboxing and teardown to check out the hardware. I’ve now had time to test the device with Android 9 including the file server function, a key selling point since of the device since it supports up to two 3.5″ SATA drives internally.
Eventually, I managed to boot the TV box and access the launcher, but it was no pleasure cruise. The first time, I connected the power, there was nothing at all, with the LED turned off, and no noise from the device. I thought the device was dead. The company asked me to check the power supply, and indeed a quick check with a multimeter confirmed it was dead despite the blue LED (on the power supply) implying the contrary.
Nevermind, bad things happen, and the company sent me a new power supply, and the TV box could start… But… Oh no! Another problem. No launcher at all, and no way to do anything.
Rebooting the device did not work, and I was told to re-install Android with USB burning tool especially there may be a problem with Google Play:
Our GS-King X sample sent to you has a problem that Google play can not be used. You can check whether your machine has this problem. If you have this problem, please install the latest version of the burning tool sent to you to reburn the link The 914P0 version of the firmware, and then burn the usid_elinkid.img file. Because this key file was not previously recognized by Google, Google Play cannot be used. We have redefined this key file.
Reviewers often get early samples, and again bad things can happen, so I installed the latest version of USB Burning Tool in Windows 7 running in VirtualBox using Ubuntu 20.04 as a host, loaded the firmware. Note you’ll need a male to male USB cable to do the upgrade, but none are included in the packages, after spending some times looking through my cables, I found two such cables. But when I connected the USB OTG port of the TV box to my laptop using those cables, Ubuntu 20.04 did not accept the device:
[440845.247216] usb 1-1: device not accepting address 12, error -71
[440845.379212] usb 1-1: new low-speed USB device number 13 using xhci_hcd
[440845.379617] usb 1-1: Device not responding to setup address.
[440845.587584] usb 1-1: Device not responding to setup address.
[440845.795206] usb 1-1: device not accepting address 13, error -71
[440845.795282] usb usb1-port1: unable to enumerate USB device
[440889.622576] usb 1-1: new high-speed USB device number 14 using xhci_hcd
[440889.650116] usb 1-1: New USB device found, idVendor=1b8e, idProduct=c003, bcdDevice= 0.07
[440889.650119] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Trying both cables, and different USB ports. Same issues. Later on, as I completed the review of ODYSSEY-X86J4105 Windows 10 SBC, I tried again and no luck… Usually, you don’t need to connect HDMI when during the update, but somehow I did, and to my surprise, I saw the launcher.
Yeah! It works. It was really a pain to get started though. The culprit appears to be the USB 3.0 drive I use for testing as if I connect it the same problem will occur. It has really many files including source code, and Beelink may have software scanning files at startup blocking Launcher at boot time until the scan is complete. So I asked Beelink about this, and they confirmed:
This situation rarely occurs, and usually only occurs after two conditions are met:
1. The hard disk format is Exfat or fat32
2. There are enough very small files on the hard drive
Such a large number of small files are actually rare. The most common one is the source code file of the program, which is located in a folder in the main collection;
The exfat or fat32 format is like this. In fact, we have tried to skip the hard disk loading step after booting, but many apps cannot be clicked after booting. The ntfs format does not have this problem. The exfat format has the most serious problem and the longest boot time, followed by fat32.
My hard drive is used for testing and I have four partitions: NTFS, EXT-4, exFAT, and BTRFS. The exFAT partition should be causing the problem, so better used NTFS file system, unless you are sure you’re only going to store larger files like videos.
Since I had access to the user interface, I went to check if the update was available through the settings, and it was.
It also adds the SAMBA function, which we’ll test as part of the review. It had now troubles to update that way, and everything went smoothly.
Those are the pre-installed app with Googe Chrome and the Play Store.
Sadly, I’m unable to use the Play Store because I could not flash usid_elinkid.img over USB OTG.
I don’t expect people who purchase the device now to have this problem since Beelink should already have flashed the correct key file. It’s just the drawback of receiving an earlier sample. So instead, I installed APKPure and installed apps from there.
The device runs Android 9 as promised. There’s no Ethernet MAC address shown because the Ethernet cable was not inserted when I did the screenshot. Elinkid Status showing “No key” is likely the reason I don’t have access to my Google account and services like Google Play. As mentioned previously, this should not be an issue anymore.
The 64GB eMMC flash is shown as storage, and the 4TB hard drive pre-installed by Beelink is mounted as “android” portable storage.
- Network & Internet for Ethernet and WiFi configuration
- Accounts & Sign In
- Device Preferences, a subset of Android settings with options for Date & Time, Language, Keyboard, Sound, Storage, accessibility, etc…
- “Flie server” to set-up the device as a SAMBA server (aka Windows network share)
- “Blue tooth equipment pair” to connect Bluetooth devices
- Droid Settings for Display resolution and position (overscan adjustment), HDR/SDR conversions, HDMI CEC, Audio, Power Key definition, and More settings redirecting to Android 9 settings.
I’ll go into some of the settings when testing specific features like SAMBA server and HDMI audio pass-through.
Finally, a screenshot with the SoC, Device, and System tabs from CPU-Z.
The Amlogic S922X processor used in GS-King X is clocked at up to 2.21 GHz for the Cortex-A73 cores, and 1.8 GHz for the Cortex-A53 cores. It’s exactly the same as for Amlogic A311D processor found in Khadas VIM3 SBC, except the lower clock speed starts at 100 MHz instead of 500 MHz.
The user interface is set to 1920×1080 as is common for 99% of Android TV boxes, and 3792 MB total RAM can be detected in Android, so some of the memory must be used by hardware buffers. GS-King X (codenamed galilei) runs Android 9 on top of Linux 4.9.113. Note the kernel architecture is arm7l, so some apps and games that require 64-bit Arm (e.g. Fortnite) won’t run.
Time for some benchmarks, and we’ll compare results with the ones for Khadas VIM3 since both platforms should offer similar results.
124,162 points in Antutu 8.3.4. We should probably not compare it to the 131,555 points for Khadas VIM3 since it was done in Antutu 7.x, and scores in major revisions of Antutu cannot be compared. For reference, the 100th phone in Antutu Ranking – Realme 5 (Snapdragon 665) – gets 164,070 points.
Let’s look at PCMwrk 10 – Work 2.0 benchmark results instead.
GS King-X gets 6,324 in PCMark 10 and Khadas VIM3 SBC got 5,968 points. A slight advantage for the TV box especially thanks to the Photo Editing 2.0 score. For reference, Rockchip RK3399 SBC’s typically get right under 5,000 points.
The 1,606 points in 3D Mark Sling Short is nearly identical to the 1,659 points for the AMlogic A311D SBC. Overall that means Beelink GS-King X performs as expected for this type of hardware
I used A1 SD Bench to test RAM and storage performance. The eMMC flash reads at 114.47 MB/s and write at 107.91 MB/s. That’s a bit weak for a 64GB flash, but did not affect my experience. The 4TB SATA hard drive gets a little over 150MB/s write/read, so all good here.
Let’s check Gigabit Ethernet full duplex with iperf:
Client connecting to 192.168.1.13, TCP port 5001
TCP window size: 416 KByte (default)
[ 6] local 192.168.1.4 port 41838 connected with 192.168.1.13 port 5001
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-60.0 sec 4.43 GBytes 634 Mbits/sec
[ 6] 0.0-60.0 sec 638 MBytes 89.1 Mbits/sec
89.1 Mbps in one direction is fairly slow, but let’s try upload only:
[ 4] local 192.168.1.4 port 5001 connected with 192.168.1.13 port 51722
[ 4] 0.0-60.0 sec 4.79 GBytes 685 Mbits/sec
and download only:
Client connecting to 192.168.1.13, TCP port 5001
TCP window size: 272 KByte (default)
[ 3] local 192.168.1.4 port 42002 connected with 192.168.1.13 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-60.0 sec 6.56 GBytes 939 Mbits/sec
That’s much better. So Gigabit Ethernet will be good enough for most people, but if you seed a torrent while downloading another, or other tasks that require simultaneous high-speed download and upload throughput, performance may not be optimal.
Time for WiFI 5 (802.11ac) testing
Client connecting to 192.168.1.10, TCP port 5001
TCP window size: 85.0 KByte (default)
[ 3] local 192.168.1.4 port 54220 connected with 192.168.1.10 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-60.0 sec 1.26 GBytes 180 Mbits/sec
Server listening on TCP port 5001
TCP window size: 128 KByte (default)
[ 4] local 192.168.1.4 port 5001 connected with 192.168.1.10 port 36688
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-60.0 sec 1.71 GBytes 244 Mbits/sec
The best performance I usually get is 250 Mbps for upload and download, so GS-King X WiFI 5 performance is not too bad here.
Enough with benchmarks. Let’s try the TV box’s “File Server” function.
I had to change the Workgroup name from WORKGROUD to WORKGROUP, define a password, and click on the On/Off icon on the top right corner to get started.
I’m using Ubuntu 20.04 and SMB v1 is disabled for security reasons, so the server will not show in Nautilus. So I reverted to the command line for testing.
smbclient -L BEELINK -U elinke
WARNING: The "syslog" option is deprecated
Enter WORKGROUP\elinke's password:
Sharename Type Comment
--------- ---- -------
.sdvnfs.data Disk Android /mnt/media_rw/.sdvnfs.data
1F40-B636 Disk Android /mnt/media_rw/1F40-B636
BC1E-7E52 Disk Android /mnt/media_rw/BC1E-7E52
sdcard Disk Android sdcard
IPC$ IPC IPC Service (azw on Android)
SMB1 disabled -- no workgroup available
The share names are automatically assigned. sdcard is the eMMC flash, BC1E-7E52 is the internal 4TB hard drive, and 1F40-B636, the exFAT partition of my USB drive. I connected the USB drive after boot due to the issue we mentioned previously.
Another method would be to enable SMB1 in /etc/samba/smb.conf:
workgroup = WORKGROUP
client min protocol = NT1
But it’s not recommended, because it’s not secure. So instead I went to nautilus and typed in the SMB share links using the IP address or NetBios name:
I could hear the drive wake up at the beginning of the transfer so it was a bit slow at first, and eventually, the transfer was made at 23MB/s on average. That’s fairly slow, and Beelink may want to optimize their code, as Zidoo X9S could transfer at around 50 MB/s with a Gigabit Ethernet to USB 3.0 SATA drive transfer.
I tested 4K video playback after installing Kodi 18.7:
- sintel-2010-4k.mkv (H.264, 24 fps, 4096×1744) – OK
- Beauty_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (H.265) – OK
- Bosphorus_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (H.265) – OK
- Jockey_3840x2160_120fps_420_8bit_HEVC_TS.ts (H.265) – OK
- MHD_2013_2160p_ShowReel_R_9000f_24fps_RMN_QP23_10b.mkv (10-bit HEVC) – OK, but not perfect due to lack of automatic frame rate switching (24fps video playing on 60 Hz display)
- phfx_4KHD_VP9TestFootage.webm (VP9) – OK
- OK ( compliant video; 36 Mbps; 59.97 Hz) –
- big_buck_bunny_4k_H264_30fps.mp4 – OK
- big_buck_bunny_4k_H264_60fps.mp4 – Not smooth, and will automatically jump (e.g. skip forward) from time to time. Expected since the hardware does not support H.264 @ 60 fps.
- Fifa_WorldCup2014_Uruguay-Colombia_4K-x265.mp4 (4K, H.265, 60 fps) – OK
- Samsung_UHD_Dubai_10-bit_HEVC_51.4Mbps.ts (10-bit HEVC / MPEG-4 AAC) – OK
- 暗流涌动-4K.mp4 (10-bit H.264; 120 Mbps) – Lots of artifacts and around 2/3 fps (software decode)
- Ducks Take Off [2160p a 243 Mbps].mkv (4K H.264 @ 29.97 fps; 243 Mbps; no audio) – Not smooth despite hardware decode (maybe the bitrate is too high?)
- tara-no9-vp9.webm (4K VP9 YouTube video @ 60 fps, Vorbis audio) – OK
- OK with most scenes perfectly smooth (4K VP9 @ 60 fps + opus audio) –
That’s not too bad, except for the lack of automatic frame rate switching.
I also checked HDMI audio pass-through with common codec in Kodi using Onkyo TX-NR636 A/V receiver:
- AC3 / Dolby Digital 5.1 – OK
- E-AC-3 / Dolby Digital+ 5.1 – OK
- Dolby Digital+ 7.1 – PCM 2.0 (stereo audio)
- TrueHD 5.1 – PCM 2.0
- TrueHD 7.1 – PCM 2.0
- Dolby Atmos 7.1 – PCM 2.0
- DTS HD Master – PCM 2.0
- DTS HD High Resolution – PCM 2.0
- DTS:X (not supported by Onkyo TX-NR636) – PCM 2.0
The good news is that all videos had audio, but obviously if you purchase an expensive 7.2 A/V receiver and only Dolby 5.1 pass-through is working this won’t cut it. I exited Kodi, and looked for audio options in the settings, and indeed there are specific audio settings for Dolby and DTS audio which were all disabled. I enabled them all.
Sadly, it did not help in Kodi with the exact same results. So instead, I started MoviePlayer app, pre-install with the system, and it was worse than Kodi with some videos only outputting stereo audio, and others completely silent.
I installed YouTube from APKPure, and had no troubles playing YouTube videos up to 1080p60 (HDR), but 4K was not an option. I could not sign-in into YouTube either for the same reason I was unable to login to Google Play.
DRM info confirms Widewine L1 is supported together with HDCP 1.x, but no HDCP 2.x.
I played two games Beach Buggy Racing 2 using a wireless gamepad, and PUBG Mobile with USB keyboard and mouse both with maximum graphics settings, and the games were perfectly smooth with an experience similar to Khadas VIM3 SBC. Since the system is actively cooled, there were no issues with overheating, and the CPU temperature was reported to be under 45°C even after playing for 30+ minutes. Inquiring minds may want to check Android Gaming on Khadas VIM3 video.
The device comes with Bluetooth. But it’s not working for me with either Xiaomi Mi A2 Android smartphone or a Bluetooth headset.
I started by going to “Blue tooth equipment pair” menu, but all I got for “Searching for accessories” message.
After one or two minutes, still nothing, so I switched to another method by going directly into Android settings.
Both my phone and headphone are detected, but I could not pair them.
After trying to pair with SPORT-S9 Bluetooth headset, the system would show the message “Can’t communicate with SPORT-S9”. At some point, I thought I had pair the TV box with my phone, but then I was unable to share pictures, and GS-King X disappeared from the list of paired devices on my phone.
Beelink GS-King X is really a versatile device. It’s your TV box/media center, Gigabit Ethernet NAS, HiFi system (I could not test that part since I don’t have the cables and speakers), and Android game console. The system is fairly powerful with an Amlogic S922X processor, 4GB RAM, and 64GB eMMC flash storage, and benchmarks show it performs as expected. Networking and storage performance is also good, but there are still many details to work out.
4K video playback is working fairly well in Kodi, but the lack of automatic frame rate switching won’t cut it for advanced users, and neither is the lack of proper HDMI audio pass-through unless you are satisfied with Dolby 5.1 only. The “File server” function is nice to have, but it’s pretty basic, and better file transfer performance over SAMBA would be appreciated. One cannot be impressed with the lack of working Bluetooth either, or maybe I was just unlucky… Hopefully, the company will provide more OTA firmware upgrade to offer a better experience to current and future customers.
I’d like to thank the company for sending a review sample, and if you are interested, Beelink GS-King X is sold on GeekBuying for $269.99 plus shipping which brings the price to a little over $300 to the US. You’ll also find it on Aliexpress for $289 and up with free shipping, as well as GearBest for $279.99 plus shipping.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.