Providing possible solutions for your HDMI audio & screen tearing issues:
- No HDMI audio:
A possible fix would be to check your Sound settings of Ubuntu. While your HDMI is plugged in, try opening your Sound settings and check for Output devices. There should be the HDMI / DisplayPort option, if it is configured to use mode Analog Stereo, switch it to HDMI Output Stereo. Replug your HDMI cable and see if it works. There are other possible solutions here, if you haven't tried them already.
- Screen tearing: This is a known issue with NVIDIA's proprietary drivers, however, despite this fact, those drivers are still the way to go unless you need to switch to Intel, since there is a noticeable performance boost. NVIDIA haven't provided any fix yet, but here is a possible solution, as described by Arch Wiki:
xorg-xandr package must be installed alongside the NVIDIA driver for this to work.
Check your version of
xorg-server and update it if needed, the required version is (>) 1.19.
The linux kernel's version must be 4.5 or higher.
Since nvidia 364.16, the DRM Kernel Mode Setting is supported. To enable it, you must add the following kernel parameter:
nvidia-drm.modeset=1, as well as add the following modules to the initramfs modules:
To add the DRM kernel parameter permanently in Ubuntu (see KernelBootParameters @ Ubuntu wiki), edit
/etc/default/grub and add the
nvidia-drm.modeset=1 parameter in the quotes of the
GRUB_CMDLINE_LINUX_DEFAULT setting (add space between each kernel parameter). After that, run
sudo update-grub to update the GRUB configuration file.
To add the modules to initramfs , edit
/etc/initramfs-tools/modules and add each module on a new line. Then, update the initramfs with the following command:
update-initramfs -u. The
-u options tells
update-initramfs to update your existing initramfs and not build it anew. The
modules file should look like this:
# List of modules that you want to include in your initramfs.
# They will be loaded at boot time in the order below.
# Syntax: module_name [args ...]
# You must run update-initramfs(8) to effect this change.
About the overheating issue:
I doubt it's driver-related. Depends how heavy games you play of course, however, Lenovo's internal cooling systems are not enough to handle an i7 CPU and a GTX 1060 on a laptop. Such temperatures are to be expected, although they are not good for the GPU itself and a fix should be searched for. I suggest you use an external cooler.
And about the battery life:
Especially when using the NVIDIA proprietary drive (which only uses the NVIDIA GPU and disables Intel) I cannot say that this is not expected, since a GTX 1060 consumes a lot of power (120W, according to NVIDIA GTX 1060 specifications). Especially when under high load, both the CPU and the GPU will be taking a toll on your battery.