Configuration for ultrawide screen resolutions - with Wayland and X
Open, LowPublic

Description

E-mail from customer:

I have an ASUS ROG PG348 monitor, which I have successfully used with Debian on ThinkPad T570, over HDMI, ith out any custom tweaks - it was detected and worked at native resolution of 3440x1440 60Hz.

On Librem 15, over HDMI, with either PureOS or Debian, with or without manually-copied non-free firmware, the initial boot steps output to the monitor at 3440x1440 50Hz, then, right before prompting to decrypt the drive - the outputted resolution switches to 1920x1080 60Hz. From that point on - it is the maximum resolution reported by xrandr (I tried and failed to add the missing mode using a modeline generated by cvt).

Would highly appreciate your help in getting the correct resolution to work!

I own an LG 29WK600-W that has a native resolution of 2560x1080 (21:9) but GNOME won't even show that as an option, only 1920x1080 (16:9).

Is there any way to manually add resolutions (like the 21:9 ones) in PureOS since it runs Wayland? Or is there another way to fix this issue?

jeremiah.foster changed the title from "PureOS doesn't allow for ultrawide resolutions" to "Configuration for ultrawide screen resolutions".Aug 16 2019, 2:11 PM
jeremiah.foster triaged this task as "Low" priority.

PureOS does allow for various screen resolutions as shown by the screen shot above. I configured my 34" screen via GNOME Display. I am running x11.

Is running x11 to configure your resolution a possibility? Are you sure you're running Wayland? PureOS' default is x11. You can find out this way by issuing this command on the command line;

echo $XDG_SESSION_TYPE

PureOS defaults to Wayland and has for sometime as per my testing of old ISOs. Both the customer and myself are using Wayland. He tried X.org and got the same result he said.

I confirmed that I'm using Wayland with this command 'loginctl show-session 2 -p Type' and the one you listed shows the same as well.

Is there no way to manually add resolutions or change them when running GNOME in Wayland? I know with X you can manually edit files to show those resolutions but can't find said solution with Wayland.

There is a way at least find the capabilities of your graphics card to see if the card support's your screen's resolution;

for i in $( ls /sys/class/drm/ ); do cat /sys/class/drm/${i}/modes; done

But that command is for actual hardware.

jeremiah.foster changed the title from "Configuration for ultrawide screen resolutions" to "Configuration for ultrawide screen resolutions - with Wayland and X".Mon, Aug 19, 5:09 PM

PureOS defaults to Wayland and has for sometime as per my testing of old ISOs. Both the customer and myself are using Wayland. He tried X.org and got the same result he said.

What does the "same result" mean? Does it mean that the user could not get a higher screen resolution in X.org? If so, that points to the fact that the graphics card they're using may not support higher resolutions. They should determine this by finding out which graphics card they're using and it's support for higher resolutions. (See previous comment in this thread.)

I confirmed that I'm using Wayland with this command 'loginctl show-session 2 -p Type' and the one you listed shows the same as well.

Excellent, this gives us some good data to go on.

Is there no way to manually add resolutions or change them when running GNOME in Wayland? I know with X you can manually edit files to show those resolutions but can't find said solution with Wayland.

If they want to use Wayland for the window management protocol, then there may be extra steps to set any modes. Modes are done now via EDID files and the Kernel Mode Setting.

So if it's pulling the wrong info from the EDID then we need to find a way to override it. I found this link https://wiki.archlinux.org/index.php/kernel_mode_setting#Forcing_modes_and_EDID and will delve into it later.

That URL looks good and has some good resources. It also fits with my understanding of EDID and KMS.

E-mail from customer:

I managed to hack it into working order by moving to 30Hz as opposed to 60Hz, this is good enough for now:

xrandr --newmode "2560x1440_30.00"  146.25  2560 2680 2944 3328 \
    1440 1443 1448 1468 -hsync +vsync
xrandr --addmode HDMI1 2560x1440_30.00
xrandr --output eDP1 --off --output HDMI1 --mode 2560x1440_30.00

The only issue I have left with the laptop are some odd freezes that happens at most once a week (I have been running the laptop 24/7 for the last few weeks and only had a freeze once), but perhaps these are gone after flashing an updated version of coreboot earlier today. I will report back if I figure anything out. The last line in the journal last time it crashed was “pulseaudio[1339]: W: [alsa-source-USB Audio] alsa-util.c: Could not recover from POLLERR|POLLNVAL|POLLHUP with snd_pcm_prepare(): No such device”, which in no way seems related to bringing the box down. Especially as that line shows up in the log every few hours without causing a crash.

Know that you have a very happy customer and community member in me, seeing how you guys upstream patches is beautiful and makes me confident that supporting you is very much the right thing to do. I shall spread the word about – happy hacking!

Was able to get it working in X by manually changing the output to 30Hz even though its not a 4k resolution. Closing.

siraaj added a subscriber: siraaj.Sat, Sep 14, 10:48 PM

Add Comment