2

I have a Radeon HD 6950 GPU and a LG 21:9 monitor (LED IPS 25 Full HD 25UM58-P.AWZ).

Problem

I recently installed Debian 9 (stretch) and can't get the display to show in 2560x1080, just 1920x1080 (with black bars on both sides, or really stretched if I configure my monitor to widen it forcefully). The correct resolution won't show up as default in the display manager.

What I've already tried to do

Manually set the resolution using xrandr

I've tried adding the resolution to xrandr (using both gtf and cvt), but it still shows a 16:9 resolution, with a really messed up image, like it was a 21:9 display scaled. Even if I set my monitor to forcefully widen the image to 21:9 the image is still messed up.

Install the proprietary drivers (fglrx)

This worked when I was using Debian 8 (jessie). I have had this problem since I bought this monitor, and because of it I actually changed OSs a bunch of times trying to get it to work. It seemed to only work with fglrx (that only worked on Debian).

In Debian 9, however, it seems fglrx is not available [1]. I even tried to get the driver from AMD's site, but it failed saying my XServer version was too new.

Let me know if more info on my computer is needed.

1

I managed to get it to work by downgrading both X and the kernel version. It was based on this answer. I know the solution isn't optimal, and it's probably gonna bring me some headache in the future, but nothing else worked.

If anyone else is having this problem, here's what I found. Please only do this as a last resource, since it is risky. Procede with care.

This problem happens with "old" AMD cards (before GCN), like mine. The open-source drivers do not support 21:9 resolution with the old cards (not sure if they work properly with new cards). The proprietary drivers work fine.

The problem is, there are two main versions of proprietary drivers: fglrx, for pre-GCN cards, and amdgpu, for GCN cards. Support for fglrx has been dropped, and because Debian 9 uses a new kernel that uses a more recent Xserver version, that version is not compatible with fglrx.

So my solution was downgrading X. Here's how it went:

First, you need to add the old versions to the sources so aptitude can find it easily. To do this, create the file /etc/apt/sources.list.d/jessie-versions.list, with this content:

#jessie sources
deb http://httpredir.debian.org/debian/ jessie main contrib non-free
deb-src http://httpredir.debian.org/debian/ jessie main contrib non-free

This will tell aptitude to also search for the versions of all packages that were available in jessie. It won't break anything, since those versions are all older than the current ones so won't be installed.

To make the old versions of X and the kernel preferred to the new version, create the file /etc/apt/preferences.d/old-X, with this content:

Package: xserver* xorg* linux-image-* glx-diversion*
Pin: release a=oldstable
Pin-Priority: 1001

This tells aptitude that the jessie version of all xserver, xorg , kernel stuff is preferred to the new version. Using a priority above 1000 makes downgrades possible.

Now comes the risky part. Running aptitude update and aptitude upgrade should downgrade all necessary packages. Check everything aptitude says it is installing, downgrading, upgrading and removing to make sure everything is all right. It is also gonna confirm with you if you want to mess with the kernel.

If it doesn't go perfectly at first (it didn't for me), here's the main things that should be happening:

  • linux-image-* being downgraded from 4.9+80 to 3.16+63
  • xorg and xserver-xorg being downgraded from 1:1.7.7+19 to 1:1.7.7+7
  • xserver-xorg-core being downgraded from 2:1.19.2-1 to 2:1.16.4-1

When these packages are in their intended versions, installing fglrx should work without any conflicts (aptitude install fglrx-driver), and the screen should work fine after rebooting the computer. Since we changed the preferences, aptitude and apt-get should not bother you about updating those packages again.

For me, at least, doing this erased /usr/bin/X and so it didn't work at first. I just reinstalled all X stuff (aptitude reinstall xorg xserver-xorg xserver-xorg-core) and it worked after that.

0

Have a look at /var/log/Xorg.0.log . It tends to be long, but very informative once you get over the first scare.

In the file you will see which modes are available on your monitor (it'll say things about EDID near the table).

It will also print a table of modes which are available with the video modes of you graphics system (GPU). It has to reconcile both tables and find a mode which is present in both tables. Some combinations just don't work, frequently because they require too much throughput in pixels/second (I believe the AMD GPU switches to 25Hz screen speed for 2560 pixels/line)

It also depends on the graphics port you use (VGA, DVI-D or HDMI).

  • Thanks for the help. This is my log file. It starts getting interesting in line 273. Nothing about 2560x1080, but in line 291 it shows up. From what I can guess, lines 336-360 show options available to the GPU (or available by default) (no 21:9), and 578-601 the options for the monitor. This topic seems to have the same problem, tried the same things, and the only solution seems to be installing fglrx. So maybe there's no fix? :(. I'm not even sure if I should buy another GPU or another monitor. – Yan Couto Jun 19 '17 at 18:21
0

with my Radeon HD6670 it worked fine just by installing the (non-free) 'firmware-amd-graphics' package and rebooting.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.