You are not logged in.

#1 2017-08-21 12:01:57

themissingcode
Member
Registered: 2016-08-21
Posts: 6

xorg config dual head HiDPI

Hi,

I have Dell XPS-13 with QHD screen and an external Dell UltraSharp U3415W screen.

At first both the Laptop screen and the external one size were incorrectly reported using xdpyinfo and xrandr even that when I use the laptop screen by itself, it was showing correct scaling even with wrong screen size reported and scaling of 96x96. !

So I have added the laptop screen config in xorg as follows:

Section "Monitor"
        Identifier              "eDP1"
        Option "PreferredMode"  "3200x1800"
        DisplaySize             293.76 165.24    # In millimeters
EndSection

Now when using the laptop screen alone, I am getting the correct screen size and scaling of 271x271 which seems perfect.

Now I am trying to configure the external screen, first I am trying to run the external screen separately without the laptop screen. I have configured the other monitor as follows:

Section "Monitor"
        Identifier              "DP1-8"
        VendorName              "Dell"
        ModelName               "UltraSharp U3415W"
        Option "PreferredMode"  "3440x1440"
        DisplaySize             798.20 334.80    # In millimeters
EndSection

Section "Screen"
        Identifier "Screen0"
        Device "Intel Graphics" # e.g. Radeon, Intel, nvidia
        Monitor "DP1-8"
        DefaultDepth 24
        SubSection "Display"
                Depth 24
                Virtual 3440 1440 # 1920 + 1680 (3600), 1080 + 1050 (2130)
        EndSubSection
EndSection

And this is my intel graphics config:

Section "Device"
        Identifier  "Intel Graphics"
        Driver      "intel"
EndSection

Now even with the above configuration, I am still getting wrong screen size for the external monitor and the wrong scaling, even that  some stuff looks ok on the screen, for example Firefox window decoration looks good, but the websites' content looks small.

If I enable both screens the laptop screen scaling becomes tiny and I hardly see anything there.

The problem is that the screen size is not correct:

M. ~ 
○ xrandr -q
Screen 0: minimum 8 x 8, current 3440 x 1440, maximum 32767 x 32767
eDP1 connected (normal left inverted right x axis y axis)
   3200x1800     59.98 +
   2560x1440     60.00  
   2048x1536     60.00  
   1920x1440     60.00  
   1856x1392     60.01  
   1792x1344     60.01  
   2048x1152     60.00  
   1920x1080     60.00  
   1600x1200     60.00  
   1400x1050     59.98  
   1600x900      60.00  
   1280x1024     60.02  
   1280x960      60.00  
   1368x768      60.00  
   1280x720      60.00  
   1024x768      60.00  
   1024x576      60.00  
   960x540       60.00  
   800x600       60.32    56.25  
   864x486       60.00  
   640x480       59.94  
   720x405       60.00  
   640x360       60.00  
DP1 disconnected (normal left inverted right x axis y axis)
DP1-1 disconnected (normal left inverted right x axis y axis)
DP1-8 connected primary 3440x1440+0+0 (normal left inverted right x axis y axis) 800mm x 330mm
   3440x1440     59.97*+  49.99  
   2560x1440     59.95  
   2560x1080     60.00  
   1720x1440     60.00  
   1920x1080     60.00    60.00    50.00    59.94  
   1600x1200     60.00  
   1280x1024     75.02    60.02  
   1280x800      59.81  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    60.00    59.94  
   720x400       70.08  
HDMI1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

M. ~ 
○ xdpyinfo | grep -B2 resolution
screen #0:
  dimensions:    3440x1440 pixels (910x381 millimeters)
  resolution:    96x96 dots per inch

One more thing, while writing this post, I tried deactivating the external monitor screen and I realized that the laptop monitor was wrongly identified again as it was before, both the size and scaling were not correct even that the scaling looks ok. !

Offline

#2 2017-08-22 10:16:06

themissingcode
Member
Registered: 2016-08-21
Posts: 6

Re: xorg config dual head HiDPI

I have started to play a bit with my configuration so I tried to get the laptop screen to be reported correctly by xdpyinfo and to do this I pretty much commented everything out in my 90-monitor.conf file and left only the Monitor section for eDP1. Now if I start my x without connecting the external screen I get the correct size and scaling of 277x277 which is awesome.

Now to the problem, if I have the external monitor connected I get wrong size and scaling for both even if i set a similar section for the external monitor. So I thought let me try something else:
I turned off my external monitor from Display window from cinnamon, have I mentioned that I am using Cinnamon with mdm? Anyway turning external monitor leave laptop screen with wrong size in xdpyinfo and wrong scaling of 96x96 even that size is reported quite ok using xrandr -q.. ! weird enough.

Now I did a small test, I kept external monitor turned off and restarted x from another tty

systemctl restart mdm.service

now I am back to logging with only laptop screen on and guess what xdpyinfo report correct size and scaling. Enabling external monitor and disabling it again screws up laptop screen size and scaling reported by xdpyinfo

So now I am getting to the assumption that turning screens on and off using Display window is overriding my xorg config and not respecting whatever I am setting there. So is my assumption correct? And does anyone has experience with that?

Offline

#3 2017-08-22 11:06:40

themissingcode
Member
Registered: 2016-08-21
Posts: 6

Re: xorg config dual head HiDPI

Hi again,

I have searched around a bit and found a suggestion to delete ~/.config/monitors.xml, so I took a backup and deleted it, then restart X and finally the scaling looks good in both screens. ! A bit over scaled I would say, but that's better than the unreadable texts I had earlier.

But I am still puzzled, the screen sizes reported by xrandr -q looks ok, there is some rounding, but I think that is fine. but what is reported by xdpyinfo is not correct.

○ xdpyinfo | grep -B2 resolution
screen #0:
  dimensions:    6640x1800 pixels (1757x476 millimeters)
  resolution:    96x96 dots per inch

○ xrandr -q                                                                                                                                                                                              
Screen 0: minimum 8 x 8, current 6640 x 1800, maximum 32767 x 32767                                                                                                                                      
eDP1 connected 3200x1800+0+0 (normal left inverted right x axis y axis) 290mm x 170mm                                                                                                                    
   3200x1800     59.98*+                                                                                                                                                                                 
   2560x1440     60.00                                                                                                                                                                                   
   2048x1536     60.00                                                                                                                                                                                   
   1920x1440     60.00                                                                                                                                                                                   
   1856x1392     60.01                                                                                                                                                                                   
   1792x1344     60.01                                                                                                                                                                                   
   2048x1152     60.00                                                                                                                                                                                   
   1920x1080     60.00                                                                                                                                                                                   
   1600x1200     60.00                            
   1400x1050     59.98                            
   1600x900      60.00                            
   1280x1024     60.02                            
   1280x960      60.00                            
   1368x768      60.00                            
   1280x720      60.00                            
   1024x768      60.00                            
   1024x576      60.00                            
   960x540       60.00                            
   800x600       60.32    56.25                   
   864x486       60.00                            
   640x480       59.94                            
   720x405       60.00                            
   640x360       60.00                            
DP1 disconnected (normal left inverted right x axis y axis)                                         
DP1-1 disconnected (normal left inverted right x axis y axis) 
DP1-8 connected primary 3440x1440+3200+0 (normal left inverted right x axis y axis) 800mm x 330mm   
   3440x1440     59.97*+  49.99                   
   2560x1440     59.95                            
   2560x1080     60.00                            
   1720x1440     60.00                            
   1920x1080     60.00    60.00    50.00    59.94                                                   
   1600x1200     60.00                            
   1280x1024     75.02    60.02                   
   1280x800      59.81                            
   1152x864      75.00                            
   1280x720      60.00    50.00    59.94          
   1024x768      75.03    60.00                   
   800x600       75.00    60.32                   
   720x576       50.00                            
   720x480       60.00    59.94                   
   640x480       75.00    60.00    59.94          
   720x400       70.08                            
HDMI1 disconnected (normal left inverted right x axis y axis)                                       
VIRTUAL1 disconnected (normal left inverted right x axis y axis) 

I do not know why there is a discrepancy in xdpyinfo, so if anyone have a suggestion please let me know.

Also I feel that the screen is over scaled a bit, so if there is a way to know the current scaling so that I can play around with it would be awesome as well.

Offline

Board footer

Powered by FluxBB