USB-C & DP Alt

USB 3-s

3.2 Gen1 x1 : 5Gbps x1 Lane = 5Gb

3.2 Gen2 x1 : 10Gbps x1 Lane = 10Gb

3.2 Gen1 x2 : 5Gbps x2 Lane = 10Gb

3.2 Gen2 x2 : 10Gbps x2 Lane = 20Gb

USB 3.0 == USB 3.1 Gen 1 == USB 3.2 Gen 1 x 1

USB 3.1 == USB 3.1 Gen 2 == USB 3.2 Gen 2 x 1

So basically USB 3.X doesnt mean actual “interface version”. it means version of “naming” version.

Surface Laptop 4

USB-C has 4-pair SuperSpeed links, totaling 2 lanes. So if we use x1 versions, (as Gen1x1 and Gen2x1), there is one lane that is just left over. We can use that to run other interface, like DP or Analog signals. Since DP doesn’t require RX/TX pair and rather just TX links, we can use two differential pair as two lanes.


about my laptop

Surface Laptop 4

It only ’ve been two years, but its already my most used thing in my entire life.

The one and only thing I cannot give up from this laptop is this perfectly made 3:2 ratio display, which gives me ~5cm clearance vertically. Its like I have dedicated display space for panel (titlebar, or taskbar), and yet its still most tall display ever. Its like actually useful TouchBar.

The only thing I hate about it is battery and I/O port, and maybe display resoultion. Even only with Linux and basic internet browsing battery drains really fast, it can barely hold up 3 hours. But its Intel laptop.. what do you expect, right?

Also it has only one USB-A port, one USB-C port (NOT THUNDERBOLT), and one PROPRIETART crap port. Oh, and 3.5mm combo jack.. I mean that’s fine, I dont use Thunderbolt anyways.. and I use wireless mouse all the time so its just bit annoying..

But one thing. This one thing really annoys me.

2496x1664 2K display.

Yeah 4K will drain my battery in less than hour and FHD is too bad these days, but 2K is really bad resolution for 38cm (15in) displays.. Why? It forces us to use… “Fractional Scaling”.

100% scaling for those display would be too small, and 200% scaling will be too big. So we need to use 150% scaling (which is fine in most case) but since its “3/2” percent, it makes them to render at “half of pixel”, which causes a bunch of problem.

Fundamentally it would render anything blurry, or at most incorrectly. macOS was the first who adapted high-res retina display so they handle it beautifully, and since Windows is commertially sold and big company-backed, it handles it just only bad enough that is fine enough. Linux, is always a problem.

Linux has two GUI system. Old X11 and new Wayland. X11 is really old protocol, designed for like terminal monitors and stuff. We cant use that on those 4K high res monitors, so we need new protocol to handle it thus Wayland. As you might already know, Linux is bad at adapting new technologies. It’s taking eternity for linux ecosystem to switch to Wayland, but right on these days it’s becoming feasible to use Wayland.

In case of fractional scaling, X11 solve it like maxOS. it over-renders it and scale-down to display. it would add quite a bunch of overhead to graphical system, but at least it would look good and crisp and elegant. But its not ““correct””, so Wayland handles it properly by actually using pixel-level to render. So we can think as “0.5x zooming 30px font” and “15px font”. In some case, x0.5 zooming can look more crisp and better, but 15px will be accurate.

I think most people will prefer “crisp inaccurate” than “blurry accurate”, and I also prefer it, so