I recently got a new computer with a GTX 960M (10de:139b, GM107M) with NVIDIA Optimus.
The laptop itself has a 4K screen, with an external 1080p display. Usually this won’t be an issue, but Ubuntu is not that great at HiDPI displays, especially with a non-HiDPI display as a secondary.
In short, the easiest solution to my problem would be to use XRandR
's scaling functionality to increase the virtual size of my external display, like so:
xrandr --output HDMI-1-1 --scale 2x2
The expected result is of course for my external scale to have double scaling, but instead XRandR outputs the below errors:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 26 (RRSetCrtcTransform)
Value in failed request: 0x40
Serial number of failed request: 38
Current serial number in output stream: 39
I am running NVIDIA’s driver (version 378.09) with PRIME enabled, obviously. Output of
nvidia-smi
is as follows:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 378.09 Driver Version: 378.09 |
|-------------------------------+----------------------+----------------------+
| 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 960M Off | 0000:01:00.0 Off | N/A |
| N/A 45C P0 N/A / N/A | 1183MiB / 2002MiB | 5% Default |
+-------------------------------+----------------------+----------------------+
XRandR’s binary is reporting itself as version 1.5.0, while the server reports RandR version 1.5. The X server is version 1.18.4, running on kernel 4.4.0-62-generic. UEFI is enabled, but SecureBoot is not.
Additional/same information is over on a question I asked on Ask Ubuntu regarding the same thing.
What can I do to resolve this issue, or this a problem with the NVIDIA drivers/PRIME that is out of my control?
Bug report is not uploaded due to it consisting sensitive information (sorry), but will be available to NVIDIA staff upon request.