4k output from Librem13 HDMI port?

I have a 4k 60hz monitor that I hooked up to the Librem 13. The max resolution option that I see is 1920x1080.

How do I change the resolution to 4k? I have 3 other laptops that can output to this monitor at 4k 60hz. Is this 1920x1080 resolution a limitation because this machine is not using proprietary drivers? From the little reading I did, the Skylake iGPU should be able to output 4k.

I have been able to get 4k at 33.7Hz from Librem 13 v4 through HDMI. I used cvt to generate modelines and xrandr to apply them and after some experiments I came up with this:

$ xrandr --newmode 3840x2160R 300.00 3840 3888 3920 4000 2160 2163 2168 2222 +hsync -vsync
$ xrandr --addmode HDMI-1 3840x2160R
$ xrandr --output HDMI-1 --mode 3840x2160R
$ xrandr --output HDMI-1 --left-of eDP-1  # This just lays out the multi-screen desktop

Some additional notes:

  • This only works with Xorg, so if you’re running Gnome on XWayland, this advice doesn’t apply. As far as I understand Wayland does it’s own monitor detection and configuration (I might be wrong though).
  • 33.7Hz is not that great – the screen feels quite laggy (it’s definitely a lot better than 26Hz though, which was the best I found on the internet).
  • This is more or less the limit of what you can get through HDMI provided I’m right about Librem 13 v4 having HDMI v1.4 (HDMI v2.0 would be able to support much higher bandwidth and refresh frequency).
  • The USB-C port on Librem 13 v4 has a little lightning bolt next to it, which makes me suspect that there might be a Thunderbolt 3 in there, which would make it possible to run a 4k display at 60Hz or more but so far I haven’t found any confirmation of this, so I’m going to do more research before buying the cable.

Good luck with you monitor.


The GPU on Skylake/Kabylake devices can process 4Kp60 no problem, it just can’t output it natively via HDMI, because Intel decided to only support HDMI 1.4b (rather than 2.0). To get 4Kp60 out of a Skylake/Kabylake device, you need to either use DisplayPort, or an internal/external converter (called a LSPCON, level shifter/protocol converter), which the Librem laptops don’t support. So 4Kp30 is max supported due to HDMI 1.4b and Intel’s decision to use that.


33.75Hz with 4K? Not bad. How you create this modeline? I need modeline for 2560 1440 with maximum possible frequency (screen limit is 144 hz), but i can’t create more than 60 hz.

Look what i found!

Theoretically, this guide can help with wayland, because it have section about editing EDID firmware. I will check this later.

I create 2560 1440 mode with 75 hz refresh rate and it works great.

./cvt12 2560 1440 75 -b
# 2560x1440 @ 75.000 Hz Reduced Blank (CVT) field rate 75.000 Hz; hsync: 111.900 kHz; pclk: 295.42 MHz
Modeline "2560x1440_75.00_rb2"  295.42  2560 2568 2600 2640  1440 1478 1486 1492 +hsync -vsync

Kvas, i also create modeline for your screen with higher refresh rate. 34.85 hz.

./cvt12 3840 2160 34.85 -b
# 3840x2160 @ 34.850 Hz Reduced Blank (CVT) field rate 34.850 Hz; hsync: 76.530 kHz; pclk: 300.00 MHz
Modeline "3840x2160_34.85_rb2"  300.00  3840 3848 3880 3920  2160 2182 2190 2196 +hsync -vsync

Hey! Thanks for sharing the overclocking guide – nice find.

How you create this modeline?

I cheated with the normal version of cvt: generated a -b modeline for 60Hz and then replaced the clock (first number in the modeline) with 300MHz, which is the limit for HDMI 1.4 as far as I can see (trying 301MHz doesn’t work).

Your 4k modeline is a bit better though, I will try it.

Are you sure there’s no Thunderbolt 3 in the USB-C port?
(I’m kind of suspecting it, just want to be sure)

And if it’s not TB3, why is there a lightning bolt next to the port? What does it mean, I wonder…

There was some confusion about that in another thread, but a Purism rep confirmed it’s not Thunderbolt

So our guess on the lightning bolt symbol is that it’s just to indicate you can charge small devices from that port.

1 Like

Thanks… that’s kinda sad but good to know.

yes but that tiny igpu in there is going to strugle with 4k video. it’s ok for light desktop use but for smooth performance in 4k video a 630 or an external dedicated gpu will surely do the trick better.

having the option to do 4k on this tiny igpu is good but it is only the minimum to expect as such it is more of a pain than a gain to use it.

i have in my desktop media player an amd am4 platform with a 2400g and i can tell you it’s much better but it still strugles with 4k. it simply doesn’t have the video bandwith of a dedicated solution. great for power consumption yes but less so for productivity.

I have to disagree completely. the iGPU in the v4 Librems is fully capable of hardware decoding all modern codecs (HEVC, VP9) at 4Kp60 without breaking a sweat. My current media box is a Kabylake Celeron 3865U (so a less capable iGPU from same family), and it handles high-bitrate 4Kp60 video playback without an issue.

The v3 Librems have a slightly older iGPU, which is limited to 8-bit hardware decoding of HEVC/VP9, so if you’re trying to play back 10-bit encoded content, then that’s where you’e going to run into issues because it’s going to be CPU, rather than GPU, decoded.

@MrChromebox so you’re saying that with the 620 igpu in the librem v4 laptop it’s more a question of the media player for 4k 10bit content. if you don’t mind me asking - what is the player of your choice for 4k/hdr hevc encoded video content ?

definitely. LibreELEC/Kodi is my go-to standalone media player setup, but VLC should be able to take full advantage of the GPU hardware decoding as well. If that doesn’t work for you, LMK and I’ll do some testing here

@MrChromebox from my personal tests VLC 3.04 on ubuntu 18.10 with linux 4.18.0-15-generic kernel at the present time on am4 amd ryzen 2400g APU does play 4k/hdr content on my samsung smart tv connected through hdmi 2.0b but it does so very slugishly. the ssd is a samsung nvme so it’s not a question of hardware here. will give kodi a go once ubuntu 19.04 gets releseased because i want to see it compared to the built in playback of the smart tv itself ( this play 4k/hdr content with no lag or stutter but the blotches from the local dimming are not a nice thing to watch )

i’m not that excited about 4k/hdr yet because i haven’t got a real OLED option that i can use for desktop without risk of burn-in.

Many thanks for the reply @kvas!

Been struggling with this for a longer time than what I will admit to, and now I have it solved.

Reading on the Librem laptop specs it states the following:

External monitor output 1 HDMI Port (4K capable @30Hz max)

So technically speaking, 33.75 Hz is already pushing it.