[Tony Yip] First Taste on GNOME Ubuntu

As the task of Google Code-In required and the needs of improvement of control users, I installed GNOME Ubuntu in the school library computer as the OPAC. The original version is Ubuntu Desktop 14.04.3 LTS and I installed the GNOME Ubuntu 14.04 LTS which means I can use the same kernel and commands in the computer.

Advantage compare with Ubuntu

After doing tests on the GNOME Ubuntu, I figure out some advantage of GNOME Ubuntu than Ubuntu Desktop. The starting up time of GNOME Ubuntu is much shorter than the Ubuntu Desktop. It took 2 to 3 minutes to start up the OPAC with the Ubuntu Desktop in the old days but now it just takes less than 2 minutes to bootstrap the OPAC.

Moreover, GUI supporting is much better. Since many GUI application is written with GTK+ and GNOME, GNOME Ubuntu has a better support than Unity and provides a better user experience.

Furthermore, GNOME Ubuntu provides a more natural UI for users than Ubuntu Desktop. The button are placed on the top right corner instead of top left corner which is more easy to use for Windows users. Also, the menu bar is place at the top of the application instead of the top of the whole window.

Disadvantage compared with Ubuntu

However, no pay no gain. There is cost in taking the advantage of GNOME Ubuntu.

The layout of GNOME Ubuntu is a bit boring for those using the colourful Unity. The colour using in GNOME Ubuntu make users feeling repeating and easily being upset in using. This would be a bad news as the computer is providing service for students search books.

What is more, GNOME Ubuntu does not have as much support as Ubuntu Desktop. For the field of desktop, Canonical Ltd. is still putting the focus on Ubuntu Desktop instead of GNOME Ubuntu. This is a unfavourable factor for putting GNOME Ubuntu in production.

Next, GNOME Ubuntu is much harder to download. As I am living in Hong Kong, I can easily get the Ubuntu install image from the mirror of CUHK. However, I need to get the GNOME Ubuntu installation image from cdimage.ubuntu.com which is far away from my home and takes me a long time to download.


Finally, installing GNOME Ubuntu on the school library computer as OPAC seems not a bad idea for now. I would observe whether the users prefer which Ubuntu.

Creative Commons Licence
This work is licensed under a Creative Commons Attribution 4.0 International License.

Installing NVENC SDK and CUDA SDK on Ubuntu 14.04

After I set up my streaming server, there are some problems brought by the design. Using CPU to process the streams will consume lots of CPU cycles and if the streaming server have lots of connections, resource to handle them will run low if the machine itself does not have strong CPUs. NVIDIA’s NVENC is a way of offload the transcoding to GPUs that is dedicated to such processing and leaves much more CPU cycles for other purposes. However, installing NVIDIA’s driver is a nightmare, which is why I decided to write it down for future reference.

# Fetch system updates (if it is a fresh install)
apt-get install update && apt-get install upgrade

# Install required packages for NVIDIA driver installation
apt-get install build-essential linux-source linux-headers-3.13.0-68-generic linux linux-image-extra-virtual -y

# Get NVIDIA CUDA SDK (this is v7.5, for the latest version please visit NVIDIA's site)
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.5-18_amd64.deb
dpkg -i cuda-repo-ubuntu1404_7.5-18_amd64.deb

# Install CUDA SDK (which includes the NVIDIA graphics driver)
apt-get update
apt-get install cuda -y

# Check whether NVIDIA kernel module is loaded
modprobe nvidia

# If the above fails, try installing NVIDIA graphics drive seperately (this is drier version 352.63, for the latest one go check NVIDIA's website)
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/352.63/NVIDIA-Linux-x86_64-352.63.run
chmod +x NVIDIA-Linux-x86_64-352.63.run

# Run the installer. Accept the EULA and it will ask you whether to overwrite the previously installed driver, choose continue. The installation here should complete.

# Check whether NVIDIA kernel module is loaded
modprobe nvidia

# If all things go well here, this command will show detailed information about your GPU

Then the below installs NVENC SDK’s header into your system.

wget http://developer.download.nvidia.com/compute/nvenc/v5.0/nvenc_5.0.1_sdk.zip

# Uncompress the zip and copy the headers to /usr/local/include/
unzip -q nvenc_5.0.1_sdk.zip
mv nvenc_5.0.1_sdk/Samples/common/inc/*.h /usr/local/include/

You can then now compile programs that uses NVIDIA’s NVENC to speed up video processing, including ffmpeg.