I’m trying to get an old Sony Vaio VPC115FM working with openSUSE. Everything goes rather well except for my screen resolution: it gives me a resolution of 2048x1536, when it should be 1920x1080. The video card in the machine is an Nvidia Geforece GT 330M. Since it’s such a higher resolution, only part of the desktop is displayed on screen.
I’m trying to use LXQT, but I’ve tried various DE’s as well. I’ve also tried Ubuntu, Fedora, Manjaro, and Zorin. ZorinOS is the only distro that works properly; while all the other distros have the same result as openSUSE.
I believe the issue is related to the monitor detection since that’s the only difference I can see between Zorin and the other distros: using ixni, it shows that Zorin detects the monitor, while the others do not.
I have also posted this issue on Reddit, but thought I’d try here before I accept defeat and move on to Zorin. Anyone have any ideas?
If you are using X11 instead of Wayland - you can change the resolution with this:
change eDP-1 to what the video is on you laptop - might be VGA-0, HDMI-0
xrandr will show the correct display name (and all the choices on you laptop)
Before doing anything else, on freshly logging in, collect output from inxi -GSaz --za to paste here.
According to your xrandr output, xrandr --output eDP-1 --mode 1920x1080 should be sufficient to employ the mode switch. This can be made automatic upon GUI login by creating a file, using root authority, in /etc/X11/xinit/xinitrc.d/ containing it. Indeed, this file might be necessary to avoid the missing desktop sections, until the problem’s cause is found and corrected.
The question is why your GPU reports to TW it supports those high 4:3 modes. According to xrandr, your display reports 2048x1536 is its optimal mode, indicated by the "+ on the 2048x1536 line. Do you have a file /etc/X11/xorg.conf, or any files that obviously would impact graphics in /etc/X11/xorg.conf.d/? Does your Zorin have such files?
I remember copying and pasting a portion of comment 2 to save typing when I replied. Obviously I did not verify the appropriate output name.
Right, but a 16:9 display reporting support for elevated 4:3 modes only to most distros is puzzling. I don’t remember ever seeing it before, and neither a 16:9 display reporting a 4:3 aspect mode as native.
Sorry for the delayed response. I very much appreciate the replies!
No xorg configuration files. I’ve played around with the configuration files a bunch to try and replicate Zorin’s result to no avail; the resolution will change and/or the size of the fonts and what not, but the display still shows the same amount of screen real estate.
I might add that ZorinOS works straight out of the box from live usb. All other distros give me the same result: 2048x1536 with ~50% of the desktop not being displayed (i.e., it seems like just the top left quadrant is being displayed).
Inxi reports you’re running on the default modesetting DIX display driver. You could try the nouveau DDX display driver provided by installing xf86-video-nouveau to see if it makes a difference. By simply installing the package, it should automatically be used on next startup, but if it does not, you may force it by creating as root /etc/X11/xorg.conf.d/15-nouveau.conf containing:
and restarting. If it doesn’t help, switching back can be done by moving the comment in the file to the other driver line, or removing the file and the package. It’s possible there’s another file already in /etc/X11/xorg.conf.d/ (or buried in /usr/ somewhere) forcing modesetting, and/or xf86-video-nouveau is already installed. If it is already installed, you’d need to edit the any existing file to specify nouveau instead of modesetting, or replace the existing file with your own creation. Files in /etc/X11/xorg.conf.d/ are normally optional, but openSUSE does on occasion populate it some. All files in /etc/X11/xorg.conf.d/ that do not end in .conf are ignored by the system.
There could be clues readily available for us to see:
cat /var/log/Xorg.0.log | susepaste
should, assuming that file exists, pastebin the log for us to peruse once you’ve shared the resulting URL here. If it doesn’t exist, check for it in ~/.local/share/xorg/. Journal and dmesg also could possibly provide clues why this is happening to you.
While perusing your susepastes I remember something that often works when xrandr won’t, the old-fashioned method of configuring Xorg. Create file /etc/X11/xorg.conf.d/50-output.conf containing:
Adding the monitor section didn’t do anything, but including them both did change the resolution; however, the issue persists. It’s as if the monitor is being mistaken for a much larger monitor with a different aspect ratio.
I wasn’t able to find a lot of time to play around with it today; hopefully tomorrow will be different. I’m thinking of grabbing the logs from Zorin and compare them to tumbleweed… hopefully that’ll turn up something.
I don’t know any details regarding how, as I’ve never had the need, but there is such a thing as loading an alternative EDID from disk to override that which X gets from the display. I would check to see if possibly Zorin managed to employ this because of some Zorin developer at some point running directly into your exact problem, knowing what to do about it, fixing it for Zorin, but not sending the fix upstream.
Something else to try is adding a third section to /etc/X11/xorg.conf.d/50-output.conf:
A quick examination of the Xorg log shows that the physical display size (as reported by EDID) is wrong… Setting screen physical size to 541 x 406
That would be massive (for a laptop) and a 4:3 ratio. Instead, the specs I found for the “Sony Vaio VPC115FM” is more like 16.4" diagonal, which translates to a 363mm(w) x 204mm(h) or similar display size.
Xorg also uses 96 DPI (as expected)…
modeset(0): DPI set to (96, 96)
Maybe worthwhile trying to set the physical display size to reflect reality? That might help Xorg to calculate the real DPI value and accommodate the desktop properly?
DisplaySize <width> <height> in ‘Section “Monitor”’ in /etc/X11/xorg.conf.d/<whatever>.conf can be expected to be applied to achieve whatever the desired DPI result. Before discovering xrandr many moons ago, it was my method to globally control DPI. I have a 15k lookup table for the purpose. If 120 DPI @ 1920x1080 is desired, ‘Section “Monitor”’ needs
DisplaySize 406 228
Also, for 1920x1080, 507 285 produces 96 DPI, 369 208 = 132, and 338 190 = 144.
Xorg picks whatever horizontal and vertical numbers it needs out of thin air in order that its DPI is reported to be (96, 96), unless a configured DisplaySize overrides it. I suspect OP using it on this errant laptop will not solve his problem this way, but it’s worth trying.