Using OpenBSD with a Dell U2723QE monitor
487 words, 3 minutes
Not so long ago, I bought a Dell U2723QE 4K monitor. I was not sure OpenBSD would support using it with only a USB-C connection.
Spoiler alert, it does.
The main reasons for choosing this particular monitor were:
- large monitor (between 24" and 27") providing at least 1920x1080 ;
- high pixel density (at least 162ppi) because I tend to “see” pixels on font rendering ;
- ships with a hub that can power-on computer using USB-C and provide USB and HDMI connections.
Color rendering, power consumption and VESA connection also was on my criteria list but any monitor matching the above 3 points were about the same regarding those. Bonus point, it has some sort of KVM feature that allows using either the USB-C connection or the HDMI connector. It can even do PictureInPicture ; but I never tried it. It also has a Gigabit Ethernet port.
It is connected to the “data” USB-C port of my ThinkPad X1 Carbon gen10, running OpenBSD 7.4/amd64.
The relevant dmesg
part is:
bsd: uhub2 at uhub1 port 1 configuration 1 interface 0 "Generic 4-Port USB 2.0 Hub" rev 2.10/0.06 addr 5
bsd: uhub3 at uhub2 port 1 configuration 1 interface 0 "Generic 4-Port USB 2.0 Hub" rev 2.10/0.05 addr 6
bsd: uhidev0 at uhub2 port 5 configuration 1 interface 0 "Realtek USB2.0 HID" rev 2.01/1.01 addr 7
bsd: uhidev0: iclass 3/0
bsd: uhid0 at uhidev0: input=192, output=192, feature=0
bsd: uhub4 at uhub0 port 2 configuration 1 interface 0 "Generic 4-Port USB 3.0 Hub" rev 3.20/0.06 addr 2
bsd: uhub5 at uhub4 port 1 configuration 1 interface 0 "Generic 4-Port USB 3.0 Hub" rev 3.20/0.05 addr 3
bsd: ure0 at uhub5 port 2 configuration 1 interface 0 "Realtek USB 10/100/1000 LAN" rev 3.20/33.10 addr 4
bsd: ure0: RTL8153D (0x7420), address xx:xx:xx:xx:xx:xx
I have configured a trunk(4)
link failover interface using the laptop
iwx(4)
wireless network device and the monitor ure(4)
Ethernet
device. It works great ; I achieved to copy data at nearly 1Gbps.
# doas ifconfig ure0 hwfeatures
ure0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
hwfeatures=37<CSUM_IPv4,CSUM_TCPv4,CSUM_UDPv4,VLAN_MTU,VLAN_HWTAGGING> hardmtu 1500
lladdr xx:xx:xx:xx:xx:xx
index 8 priority 0 llprio 3
media: Ethernet autoselect (1000baseT full-duplex)
status: active
The XFCE “Display” dialog box works great to configure dual-monitor.
With cwm(1)
and openbox(1)
, I’m using a script that issues
xrandr(1)
commands to configure the Dell monitor as the main and only
screen.
# xrandr --output DP-1 --primary --mode 3840x2160 \
--pos 0x0 --rotate normal \
--output eDP-1 --off --output HDMI-1 --off \
--output DP-2 --off --output DP-3 --off --output DP-4 --off
# xrandr
(...)
DP-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
3840x2160 60.00*+ 29.98
(...)
There is a Logitech Logi Bolt receiver plugged into the monitor’s hub. And it works properly without latency.
I had difficulty finding information about OpenBSD support for 4K display and USB-C power / data sharing. If you were wondering too and landed here, now you know :)