📅 May 30, 2017
Running Linux at high resolutions with fancy desktop effects works well on low-end graphics cards, but I wanted smoother performance, silent or near-silent graphics, and plenty of ports for different monitors. What to do?
Why, look for a new card, of course!
The latest 1080 line from Nvidia is overkill for my needs, but the 1060 is perfect. I wanted smoother desktop effects compared to the older Radeon card I had been using, and when I found the EVGA 1060 SC 3GB graphics card on sale, it was a must-buy.
Featuring lower power consumption, more cores, higher clock speeds, five ports to connect a variety of monitors, and favorable performance (in case my original plans on Linux are lackluster I can still use this card elsewhere), this 1060 card is a winner for my humble needs.
There are two versions of the GTX 1060: a 3GB version and a 6GB version. After pondering various benchmarks and reviews, I saw almost no difference between the two versions (other than the huge price difference at the time), so I chose the 3GB version. After all, it was on sale comparable to the cost of a lesser 1050, which only had three ports.
The real questions are these:
- “How does the EVGA GTX 1060 SC perform in Linux Mint 18.1?”
- “Is it easy to install drivers?”
- “Does it even work at all?”
Here is my experience installing and using this card with Linux Mint 18.1 64-bit.
The Quick Answer
Yes, the 1060 works well with Linux Mint 18.1…IF the proprietary drivers are installed.
Driver installation is the tricky part. Installing the card itself was flawless, and the system recognized it fine.
Get ready, because this is a big but.
BUT…it needs a compatible kernel to get started, and the proprietary drivers are a requirement, not an option. For my system, the default Nouveau drivers were useless as was the 4.10.13 kernel I was using. With them, the 1060 booted to a black screen and frozen input. Only a hard reset would work. I had to try several kernels until I found one that would boot into a working system. For me, I had to revert to kernel 4.8.16, and then I could install the proprietary driver.
But even that did not go as smoothly as expected. Details regarding driver installation will follow, but for now, let’s look at the card.
EVGA GTX 1060 3GB Package. What’s Inside?
A Few Extra Notes
This 1060 is short, stubby, and cute…kind of like the neighbor’s cat. There is no SLI support, which is fine for my purposes. Linux has never played well with SLI (at least not for me). In fact, Linux LiveCDs/USBs refuse to boot in a 980 Ti SLI system.
Not a problem, since my goal is to upgrade the graphics for smoother performance at high resolutions so I can enjoy fancy desktop effects at a low price.
Also, this card occupies two slot spaces on the motherboard. It is PCIe v3.0, so install it in the topmost, first PCIe x16 slot.
Is it quiet? Yes! At system idle and low usage, the card is silent despite using a fan. Mechanical hard drives are louder. It needs to ramp up to full load (such as a game in Windows 7) in order to be audible. Despite having a fan, the silence surprised me during everyday usage.
When running the Unigine Heaven and Valley benchmarks in both Linux and Windows, the fan ramped up to full speed, and it was loud — what you would expect from a graphics card. Yes, I could definitely hear the fan from over 6 meters away.
Once the benchmarks finished, the fan returned to its silent, inaudible level.
This is the most important part because without the proprietary driver installed, this card is useless in Linux. Brace yourself.
Linux is great, but when it comes to new graphics cards, Linux has always been a difficult beast to wrestle with. Sure, there are default drivers, such as Nouveau, that work well most of the time with many cards. In fact, previous Radeon and Nvidia cards that I tried worked perfectly with any kernel out of the box. No proprietary driver installation was necessary.
However, installation became a rebooting trial and error chore again with Nvidia’s latest GeForce cards. I noticed significant installation issues with the 900 series, and it seems to continue with this 1060 card.
Find a Working Kernel
My existing Linux Mint 18.1 system would not boot with the 1060. It would POST fine and BIOS visuals were normal, but once Linux took over, the system froze at a black screen with green bars.
This was a kernel issue, so I reverted to older kernels one by one from newest to oldest (rebooting each time) until I found one that would boot. The latest kernel I had installed was kernel 4.8.16. That worked, and I booted to a usable desktop in software rendering mode.
With a working system, I could now install the driver. Kind of. One technique failed, while another worked.
Failed Technique (Manual Installation)
With Windows, simply download and install the driver, reboot, and the card works. Easy.
With Linux, well, you can tell that the Linux love is lacking.
- Revert to usable kernel
- Download drivers from Nvidia site
- Copy Linux driver to root (/) for easier command-line access
- Reboot to Recovery mode (press Right Control on keyboard during system boot)
- Remount / as read-write: mount -o remount,rw /
- cd to root and run the driver (version 375.66 in this case)
- Choose DKMS when prompted
- Reboot, and hope it works.
At first, I downloaded the latest stable Linux 64-bit 375.66 driver for the 1060 card from the Nvidia site. (Actually, it appears that most cards share the same driver download.) Then, I installed it manually from recovery mode. Drop to a root shell and remount / as read-write or else the driver installation will halt.
However, the system still did not work properly. The boot graphics were different and the system was usable, but Linux Mint Cinnamon would always boot into software rendering mode at a very low resolution on one monitor while showing a high resolution on another monitor. Linux Mint refused to allow options to alter resolutions with the 1060.
I tried purging the Nvidia drivers and installing them again and again. I even tried installation from CTRL+ALT+F1. If you do this, stop mdm first.
sudo service mdm stop
Still nothing. However, after two successful reboots, I did get proper graphics as intended, but this would only happen in about 1-of-5 reboots. This is not reliable. It is unacceptable.
Successful Technique (PPA)
It was time to change tactics. After researching similar incidents, the recurring theme was to NOT perform a manual installation like I just described because it rarely works. Whaaa—-?
Instead add a PPA dedicated to graphics drivers (ppa:graphics-drivers/ppa), and install using apt-get.
- Revert to usable kernel (already working, so skipped this step)
- Add the PPA: sudo add-apt-repository ppa:graphics-drivers/ppa && sudo apt-get update
- Install gui-apt-key
- Add the PPA key using gui-apt-key
- Update: sudo apt-get update
- From Synaptic, install nvidia-381 and nvidia-settings
- Install kernel 4.10.17
Plus, I was able to upgrade to the latest kernel (4.10.17 at the time). After installing 4.10.17, I reinstalled nvidia-381 from Synaptic again, but I think that this additional step was unnecessary. I had reinstalled the graphics driver so many times up to this point that it became a habit.
nvidia-381 was the latest driver in the repository up to this point, and it installed version 381.22.
There is a Linux version of the Nvidia Settings that you also want to install. Install nvidia-settings.
“Why not use Driver Manager from System Settings to install the Nvidia driver?”
Nothing shows up, so there is no option to add proprietary drivers. Despite many pretty screenshots on the Internet showing the available Nvidia drivers, nothing ever showed up for me — partly because this system had limited Internet access.
“Why use gui-apt-key to install the PPA signing key?”
Adding the repository did not automatically install the key. Neither did manual key installation work from the command line. My solution was to open the key in a browser, copy and paste it into a text file, and then import the key using gui-apt-key. After that, driver installation worked. The key is required or else Synaptic and apt-get will not download and install the graphics drivers from an unverified source. The needed key signature for the graphics-driver PPA is 0xfcae110b1118213c.
Another driver installation technique that worked for me was to install the driver BEFORE installing the GTX 1060. Add the graphics-drive PPA as before, and then install the nvidia-381 driver using the existing system and whatever graphics card might already be present.
Shut down the system, and install the 1060. Power on the system, and the 1060 should work. Make sure to remove the drivers if you remove the card or else Cinnamon will crash to fallback mode. Driver removal is best performed while the 1060 is present. Uninstall using Synaptic (mark for complete removal), power off the system, and remove the 1060.
Whew! What a chore. After several hours of tinkering, Linux Mint 18.1 was running flawlessly with the 1060 card. Desktop effects were buttery smooth, and the upgrade was immediately noticeable. I had fun switching workspaces and watching Expo view glide across the screen with fluid animations. Wow!
With the card running, let’s have a look at performance and how it compares with the 980 Ti.
1060 and 980 Ti Comparison
Before installing the card for Linux Mint, I tested it with Windows 7 to see how it would compare with 980 Ti SLI and 980 Ti alone. Since Linux and SLI are incompatible for me, I had to use Windows in order to perform this comparison using the same system in an effort to keep all factors equal.
For benchmarks, I used Unigine Heaven 2009 and Valley 2013 since Linux and Windows versions exist. All tests utilized the same CPU and RAM with all cards running at stock speeds. No overclocking.
- 5760×1080 resolution
- Ultra Quality
- Extreme Tessellation
- 5760×1080 resolution
- Ultra Quality
I ran the Linux versions of Heaven and Valley in Linux Mint 18.1 to see what would happen. I expected the 1060 results to be similar for both Linux and Windows, but the Linux results were lower. Not certain why given that the same CPU and benchmark settings were used for the Linux and Windows versions of the programs.
In all cases, the 1060 still cannot compete with the power of a 980 Ti. Keep in mind that these are 5760×1080 resolutions. At 1920×1080, the 1060 achieved 57-60fps during the benchmarks for Linux and Windows.
Are There Any Issues?
After all of the effort to make the fancy graphics card function in Linux, are there any issues to be aware of?
Yes, but they are minor in my opinion.
1) Small, brief flicker in remote areas of the desktop. Sometimes — and this rarely happens — small portions of the Linux Mint Cinnamon desktop will flash. Kind of like a brief, black flicker. Not the entire desktop, just a small portion on multimonitor setups. It only happens on one monitor at a time, not the whole desktop. It could be the left monitor, or maybe the right. There is no logic or prediction. Not sure what causes this since it is rare and random, but I have encountered it three times. Again, it only affects a small region near a window’s border or the edge of a monitor. The region could be a thin black bar along the bottom of one monitor or a 100x100px square section adjacent to an open window. It only lasts about one second if it happens, but using Expo view or switching workspaces removes the effect.
2) VLC flickers when adjusting the volume. When playing a video in VLC (the VideoLAN Client media player), the video will flicker when adjusting the volume control from the keyboard. On certain videos (depending upon the codec), the video will freeze when seeking to a new location in the video while the sound plays. This happens when VLC is set to use the OpenGL GLX video output (XCB) mode for its output mode. In VLC, go to Tools > Preferences > Video. In the Output section, there is a dropdown menu that displays the various output mode for VLC.
Not all will display video. Some are sound-only. The OpenGL GLX mode lets the GTX 1060 render the video. This is noticeable by viewing System Monitor while playing a video using VLC. There is hardly any CPU usage since the work is offloaded to the GPU.
To eliminate the flicker, switch the output mode to X11 video output (XCB). This mode uses the CPU to render the video, and System Monitor will show a rise in core usage. However, all flicker is eliminated, and some video will seek without freezing.
The Accelerated video output (Overlay) setting did not seem to affect anything that I could tell, but I left it enabled anyway. Flicker was present with the OpenGL mode whether this was checked or not.
3) VLC window flickers briefly upon focus. Upon Blur/Focus of the VLC player, such as grabbing the title bar to drag the window to a new desktop location, the entire VLC window with blink black. It is very brief, but slightly noticeable, and it is the same kind of flicker as the volume control flicker issue described above. The solution is the same: switch to X11 output mode, and it disappears. It only happens when using the OpenGL GLX mode to render the video.
For additional information regarding VLC’s GPU acceleration, have a look at the VLC wiki.
How Good Is 4K Video Playback?
This card shines.
When using VLC, the output mode matters. I had to set the mode to OpenGL GLX in order to let the 1060 process the video, but doing so caused the volume flicker issue to return. 4K playback in OpenGL mode is silky smooth without any traces of slowdown, stuttering, or display issues. It is impressive. System Monitor showed that the CPU cores rarely exceeded 20%. Most cores stayed in the 4-12% range.
The video card I replaced with the 1060 could not achieve this. Video would stutter, the framerate would be too low, the video would pause, and horrible artifacts would appear during scenes of high motion, which made watching the video unpleasant and sometimes impossible. Yes, the 1060 improves 4K playback immensely on Linux.
When VLC is set to X11 mode to let the CPU process the video, the playback can be smooth if the processor is fast enough, but GPU hardware acceleration yields better results. System Monitor showed higher CPU usage across all cores in the 20-30% range with X11 mode.
The fluid 4K playback present with the OpenGL GLX output mode makes the minor flicker issue tolerable.
720p and lower (as well as most 1080p) videos played well with almost 1% CPU usage using VLC’s OpenGL GLX mode.
Graphics cards are known for their electricity guzzling habits, and the 1060 enjoys a good guzzle. Using the Kill-A-Watt tool, I measured the wattage of the entire system (system unit only, no monitors or other peripherals) with and without the 1060 installed at idle and during the Valley benchmark.
At idle and low usage, the 1060’s fan was silent, but higher current draw caused the fan to ramp up and be noticeable.
With the drivers installed and running properly, the EVGA GTX 1060 SC is an excellent upgrade, and I am very happy with the improved graphics performance in Linux Mint 18.1. This was a worthwhile purchase.
The 3GB of VRAM is plenty for my needs, and it provides ample memory for multiple workspaces and smooth desktop effects. The added cores of the 1060 also open programming opportunities with Python, CUDA, and OpenCL in Linux.
Driver installation should not have to be this tedious. Linux graphics driver installation has a long way to go before it reaches the pain-free simplicity of Windows, but the fault here seems to lie with Nvidia’s proprietary drivers rather than with Linux itself.
Everything from videos to 3D graphics benefit from this modest upgrade, and I am having fun enjoying the added graphics power this toy brings.