2

I recently built a computer and put a fresh install of Debian 9 on it. However when I plug both monitors into the Radeon RX 550 graphics card, my desktop is mirrored instead of extended. On top of this I have been unable to change the default size of 1024x768 to the actual monitor resolution of 1600x900. Running xrandr I get

xrandr: Failed to get size of gamma for output default
Screen0: minimum 1024 x 768, curent 1024 x 768, maximum 1024 x 768
default connected primary 1024x768+0+0 0mm x 0mm
   1024x768      76.00*

One monitor is plugged into the DVI port and the other is plugged into the HDMI port.

This problem persists on both i3wm and XFCE, though currently I'm using i3wm

The package "firmware-amd-graphics" is installed.

My X logs https://gist.github.com/anonymous/fc1bb91a4778c5a43efca4a854efb164
More recent X logs https://gist.github.com/anonymous/cb6a1f2f2f7d901245d5b8869cbad25c My xorg.conf https://gist.github.com/anonymous/6864f488ae8837966cfa3fffde059385
dmesg https://gist.github.com/anonymous/8fa180a9330adf674c39b949adaa00aa

  • Can you post a link to your X logs, please? Usually it is /var/log//var/log/Xorg.0.log. You could use, for example, gist-paste /var/log//var/log/Xorg.0.log, which will create a GIST for you. You then just need to post the URL. You will need to install the gist package first - apt-get install gist. Also, what desktop/window manager are you running? – Faheem Mitha Aug 4 '17 at 7:17
  • Add that link to the question, please. Also, what desktop/window manager are you running? Based on a quick look at the logs, it's not clear what driver is being used, per X's usual transparency of reporting. It might be fb or it might be vesa. In any case, it seems unlikely it's the correct driver. Please paste your current /etc/X11/xorg.conf. – Faheem Mitha Aug 4 '17 at 8:22
  • I'm currently using i3, but I installed debian with XFCE. When I go to /etc/X11 I do not see an xorg.conf file. The only .conf file I have in that folder is Xwrapper.config. – Medynsky Aug 4 '17 at 9:12
  • 1
    I read through the X logs and found that I am using the fbdev driver as my graphics driver. In /usr/lib/xorg/modules/drivers I have the amdgpu driver, the radeon driver, the ati driver, and the fbdev driver (among other things). I'm just at a loss for how exactly I'm supposed to use any of those drivers in place of fbdev. I don't know how to change my driver and everything I find online seems to be about just downloading the driver. Do I just change the fbdev after "Driver" in the xorg.conf file to the driver? That seems to break things when I try it so I feel there has to be more. – Medynsky Aug 9 '17 at 11:11
0

I've had this issue as well in various Linux distros and have created a script that I copy to systems in which I encounter this problem, which I'll include below after a brief explanation of my findings, though I still have a problem with permanency as not all config files are created equal, or even present in some Linux OS flavors; however, I find that both utilities to query and set the modes are present ('cvt' and 'xrandr').

First of all you need to determine the parameters to set with 'xrandr' which you'll do with 'cvt' by executing the following in a terminal window. First, get the data from 'xrandr' as you already have. When I execute 'xrandr' it returns the following:

xrandr

Screen0: minimum 1024 x 768, current 1024 x 768, maximum 1024 x 768 default connected primary 1024x768+0+0 0mm x 0mm 1024x768 76.00*

The only info you really need from that block above is the device name, Screen0 which I'll put in the code below for your benefit. Make sure to change any data you get from xrandr and cvt that differs from my results as your hardware is different and may return different parameters.

You'll need to get your data from cvt doing:

cvt 1600 900

This should return something like:

# 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz Modeline "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync

You'll need the Modeline data from the quotation mark through to the end of 'vsync'

With that, if I were doing it with that resolution and the hardware I have, I'd put the following into a script, save it as something like 'fixmyres.sh'

# Resolution fix for 1600x900 - changes to 1600x900 with cvt calculation

xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
xrandr --addmode Screen0 1600x900_60.00
xrandr --output Screen0 --mode 1600x900_60.00

and set it as executable:

chmod a+x fixmyres.sh

then run it

./fixmyres.sh

I place the file on the desktop since the results have been inconsistent for me using the Xorg file(s).

  • Most of this is unnecessary these days. X is mostly self-configuring. – Faheem Mitha Aug 4 '17 at 8:39
  • I created a .sh file exactly like the one you provided (I get the same xrandr and cvt output) but while this does create another line under "default connected" when running xrandr I'm still in 1024x768. Also the script returns "cannot find output Screen0". changing Screen0 to default removes that error but the script still doesn't fix my screen resolution or mirrored monitor problem. – Medynsky Aug 4 '17 at 8:56
  • The only other thing I can suggest, especially since you confirmed that another resolution line is created under the "default connected" block is to check the Display applet in the system preferences and see if that newly entered resolution is selectable in the resolution dropdown list. That would be the same place to turn off the mirrored option as well. That the resolution didn't appear in the UI for me until I was able to append that additional resolution to the list of the default connections. You'd still have to work on the Xorg file to make it automatic which is still a problem here. – HoundCat Aug 4 '17 at 11:16

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.