Install Nvidia 396 Driver for Ubuntu 18.04

Just some quick notes to upgrade Nvidia driver from 390 to 396 on Ubuntu 18.04. By default Ubuntu 18.04 only has Nvidia driver 390.

# add ubuntu official ppa for nvidia
# all commands below run as root
add-apt-repository ppa:graphics-drivers/ppa
apt update
# install 396 files
apt install nvidia-dkms-396 nvidia-driver-396 nvidia-compute-utils-396 libnvidia-compute-396
# reboot at the end.

After reboot, the new driver can be verified by:

| NVIDIA-SMI 396.54 Driver Version: 396.54 |
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| 0 GeForce GTX 1070 Off | 00000000:01:00.0 Off | N/A |
| 44% 67C P2 150W / 230W | 3211MiB / 8117MiB | 100% Default |


Mining ZCash on Ubuntu Linux

I didn’t quite believe that mining crypto currencies is viable as an individual, until I saw the news that AMD graphics cards were sold out because they’re good at mining Ethereum. To be convinced I tried to order AMD RX 570 from some online vendors, and they all cancelled my orders and refunded me shortly.

So even if I wanted to mine Ethereum I will have to wait indefinitely for the AMD cards to be re-stocked. At least I can buy some NVidia GTX 1070 cards and mine ZCash instead, before NVidia cards are sold out.

Here’s how to mine ZCash with NVidia cards on Ubuntu.

First, you need a wallet so I can receive payments, if there will be any.  It’s quite easy to install zcash on Arch Linux(because I run Arch on my laptop):

sudo pacman -S zcash
mkdir .zcash
echo "" >~/.zcash/zcash.conf
echo "rpcuser=<your user>" >>~/.zcash/zcash.conf
echo "rpcpassword=`head -c 32 /dev/urandom | base64`" >>~/.zcash/zcash.conf

For other operating systems, see

Then you can download the bootstrap data with


It will download about 800MB, after finished, you can start your wallet with


When it’s running, you can use zcash-cli command to create your wallet:

zcash-cli getnewaddress

There will be a long hash started with ‘t’, which is a transparent address, with which you can send and receive zcash. You don’t have to run your wallet and your miner on the same machine, but your miner will use the t address(you will get paid to your wallet).

Now onto your miner machine. You will need to install some dependencies for the miner:

sudo apt-get install nvidia-opencl-dev nvidia-375

System needs to be restarted to load the driver. You can load the driver without restarting too, eg. sudo modprobe nvidia-375. Then you can follow the post below to use the miner:


Install OS X Sierra on VirtualBox on Ubuntu

Following the guide below I installed Sierra in a VirutalBox VM running on Ubuntu quite easily.

How to Install macOS Sierra Final on VirtualBox on Windows

Update: sample vboxmanage commands.

 vboxmanage modifyvm Sierra --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
 vboxmanage setextradata Sierra "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
 vboxmanage setextradata Sierra "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
 vboxmanage setextradata Sierra "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
 vboxmanage setextradata Sierra "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
 vboxmanage setextradata Sierra "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1


在 Ubuntu 上搞定了 LOL(英雄联盟)

Workspace 1_061 Workspace 1_060

League of Legends(LOL/英雄联盟) 是个不错的小队竞技游戏, 玩的好了竟然还能拿到美国工作签证. 只是代码写的可能比较”另类”, 在 Wine 环境里跑的很是吃力. 我把图像质量调到中等, 依旧只能达到约 20FPS. 对比图像质量开到高等依旧流畅的 Elder Scroll: Skyrim, 代码质量的差异就可以想像了.

Screenshot from 2013-12-28 20:50:06 Screenshot from 2013-12-24 22:00:33

如果是初次安装 Wine, 需要如下 Windows DLLs:

winetricks winxp d3dx9 vcrun2005 vcrun2008 wininet corefonts

不习惯 CLI 的朋友也可以运行 winetricks 然后在对话框里勾选以上组件. 详情请参考 WineHQ.

另外 LOL 还用了一些独特的贴图类型, 以至于 Wine 还不会处理, 导致游戏中在商店买装备就会崩溃! 🙁 下面是解决方法之一: 下载 tuxlol 补丁, 然后运行以下命令:

sudo apt-get install mono-runtime libmono-system-core4.0-cil
mono tuxlol.exe patch –dir “/home/[USERNAME]/.wine/drive_c/Riot Games/League of Legends”

顺便提及, 微软的 .NET 框架也有了开源的实施方案: mono, 而且支持 Linux & Mac OSX. 补丁作者看来是横跨 Windows 和 Linux 的高手.

就可以了. 游戏开始加载时, 系统会提示无响应… 选择”等待”即可. 这个过程一贯很慢.  🙂