Buying 4K monitor
Wednesday, December 9th, 2015So I bought me a monitor/display. I kinda wanted it to be 4K but things didn’t go that well as you can see below. This howto is for hardware-lamas like me not to fall to the same sh..pit.
Configuration
How to figure out what I (can) have…
I had planty of questions before I figured out everything I needed to make a good buy.
Some questions are trivial, some not so much, I’d like to answer all of them here so anyone could follow it step by step.
What stuff do I need to enable in kernel?
TBD – I tried quite some stuff and I’m kinda lazy to reverse-build the settings just to figure out which ones would break the DP support.
I know there were some settings for ALSA to enable palying sounds through the display
I can’t see the DisplayPort in my xrandr output. What shall I do?
I waddled up and tried planty of things, I tripple checked my kernel settings, but my bet is the following command was the one.. the lifesaver:
emerge -av -1 $(qlist -IC x11-drivers)
It updates all installed x11 drivers.
What system do I have?
$ uname -a Linux t1x 4.1.12-gentoo #4 SMP Mon Dec 7 09:15:02 CET 2015 x86_64 Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz GenuineIntel GNU/Linux
What does my graphical card support?
First what is my graphical card anyway..?
t1x kub1x # lspci
(…)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [NVS 5400M] (rev a1)
Well then I just waddled it up and got to the specs.
As I planed to use the mini DisplayPort, I see the sad truth on the specs site (sad because I already bought that bloody display), that my card does NOT support the 4K: Up to 2560×1600. I even asked the support on the page Does the NVS 5400M support 4K?… Well as you can guess, after some 15 minutes they showily pointed me to the specs page and saind: “You can see it here.” instead of actually answering the question. And yes.. this is a hate to NVidia. If I was an unexperienced user (which I am, when it comes to grapical cards) I would be well fucked.
But wait doesn’t it really support the resolution? You can see in the xrandr output below, that it does support the 3840×2160 mode BUT with frequency of around 30 fps. This is really bad if you try to play a movie on it. But if you just want to see some huge picture or so, it might actually work for a bit.
Foot note: I decided to keep the screen anyway as I might as well buy a HTPC later that would handle such a resolution (thx Jeff Atwood for the inspiration). So far, I’m gonna use it with 2560×1440 a it’s huuuge.. Compared to what I had so far ;)
What does my screen support?
Using the xrandr tool, we can figure out what screens we have and what modes they support. I tend to use console for everything, but you can use graphical tools like arandr to do the job.
kub1x@t1x ~ $ xrandr Screen 0: minimum 320 x 200, current 2560 x 1440, maximum 8192 x 8192 LVDS-1 unknown connection (normal left inverted right x axis y axis) 1600x900 60.00 + 1152x864 59.96 1024x768 59.92 800x600 59.86 640x480 59.38 720x400 59.55 640x400 59.95 640x350 59.77 VGA-1 disconnected (normal left inverted right x axis y axis) DP-1 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 527mm x 296mm 3840x2160 29.98 2560x1440 59.95* 2048x1280 59.99 1920x1200 59.88 1920x1080 60.00 60.00 50.00 59.94 30.00 25.00 24.00 29.97 23.98 1920x1080i 60.00 50.00 59.94 1600x1200 60.00 1600x900 59.98 1280x1024 75.02 60.02 1152x864 75.00 1280x720 60.00 50.00 59.94 1024x768 75.08 60.00 800x600 75.00 60.32 720x576 50.00 720x576i 50.00 720x480 60.00 59.94 720x480i 60.00 59.94 640x480 75.00 60.00 59.94 720x400 70.08 DP-2 disconnected (normal left inverted right x axis y axis) DP-3 disconnected (normal left inverted right x axis y axis)
How do I add a mode to my screen support? (I didn’t have to do this)
Sometimes it just doesn’t show all you need. To add a mode to xrandr, you need to find a modeline and to add it to xrandr modes list.
We got current modes running the xrandr without any parameters. Now say we want to add 3840×2160 mode to it. To find a modeline we can use either cvt or gtf tools.
kub1x@t1x ~ $ cvt 3840 2160 # 3840x2160 59.98 Hz (CVT 8.29M9) hsync: 134.18 kHz; pclk: 712.75 MHz Modeline "3840x2160_60.00" 712.75 3840 4160 4576 5312 2160 2163 2168 2237 -hsync +vsync kub1x@t1x ~ $ gtf 3840 2160 60 # 3840x2160 @ 60.00 Hz (GTF) hsync: 134.10 kHz; pclk: 712.34 MHz Modeline "3840x2160_60.00" 712.34 3840 4152 4576 5312 2160 2161 2164 2235 -HSync +Vsync
Then you simply pass it to xrandr:
xrandr --newmode "3840x2160_60.00" 712.34 3840 4152 4576 5312 2160 2161 2164 2235 -HSync +Vsync
And youre done.
Is dat all?
I might add some more howtos and details later ;)







