[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freedesktop-xorg
Subject:    Problem with xorg tryng to dual head setup with two graphics cards (intel and nvidia)
From:       Mario Marietto <marietto2008 () gmail ! com>
Date:       2022-07-29 9:50:39
Message-ID: CA+1FSihyyuzrb3V61L8vo1JuzQo448UizPSZdCKhoMmzMXaAwA () mail ! gmail ! com
[Download RAW message or body]

Hello.

What I'm trying to do is to correctly configure the file xorg.conf because
I want to use two gpus at the same time connected to two different monitors
while using FreeBSD 13.1. It could be useful when I want to make some 3d
modelling using Blender on one monitor / gpu and using the second one
(nvidia 1060 or Intel UHD graphics 630) to watch some tutorial. I've also
got a third gpu (geforce RTX 2080 ti) ,but I want to keep it free to be
passed through on a bhyve linux virtual machine. On the BIOS I can set up
the Nvidia Geforce 1060 or the Intel gpu as the GPU with which the PC
boots. I'm not sure which is the correct gpu to choose as default. So,this
is the scheme that I want to follow :

   1.

   monitor AOC -> hdmi cable ---> gpu nvidia geforce 1060
   2.

   monitor Samsung SynchMaster ---> hdmi cable ---> gpu intel 'CoffeeLake-S
   GT2 [UHD Graphics 630]'
   3.

   gpu geforce RTX 2080 ti connected to another monitor that I will buy
   later


Actually I'm using this xorg.conf :
https://pastebin.ubuntu.com/p/DhW6RHS3zb/

instead this is the Xorg.0.log file :
https://pastebin.ubuntu.com/p/YtdPq9fngQ/


In front of me I have the AOC monitor connected to the HDMI port of the
Geforce 1060. On my right I have the monitor samsung syncmaster,that's
connected to the HDMI port of the intel GPU. What happens is that the
samsung monitor works partially. The only 2 apps which can be directed to
it (it is attached to the Intel GPU with the HDMI cable) are :


[marietto@marietto ~]$ export DISPLAY=:0.1 ; konsole

and :

[marietto@marietto ~]$ export DISPLAY=:0.1 ; chrome

(firefox can be displayed only on the screen 0.0 : don't know why)

Here you can find the list of every PCI device attached to my PC :

https://pastebin.ubuntu.com/p/Gx5DqckFQP/


I can export some applications to the DISPLAY=:0.1 (monitor Samsung
SynchMaster ---> hdmi cable ---> gpu intel 'CoffeeLake-S GT2 [UHD Graphics
630]). But this kind of usage is not comfortable at all. Infact I can't run
another session of xorg because it says that one session is already
running. And I'm not able to run another xfce4 session. Only some
applications are displayed over it and If I invert the cable and the
drivers on the xorg.conf file,placing as primary GPU the intel gpu attached
to the AOC monitor and as secondary GPU the nvidia 1060 attached to the
samsung syncmaster,the behavior is the same,with the difference that I've
inverted the monitors. I've tried to enable xinerama,but it does not work
well. It freezes the mouse and anyway,attaching virtually two screens into
only one is ridiculous,because they aren't attached physically. What I want
to do is to be able to do some tasks on monitor 1 and some different tasks
on monitor 2.

# xrandr -q

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
DVI-D-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y
axis) 598mm x 336mm
   1920x1080     60.00*+  59.94    50.00    60.00    50.04
   1680x1050     59.95
   1440x900      59.89
   1280x1024     75.02    60.02
   1280x960      60.00
   1280x720      60.00    59.94    50.00
   1024x768      75.03    70.07    60.00
   800x600       75.00    72.19    60.32    56.25
   720x576       50.00
   720x480       59.94
   640x480       75.00    72.81    59.94    59.93
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)

arandr says that the only monitor connected is the HDMI-0,the monitor AOC
connected to the nVidia 1060 gpu. But if I invert the drivers on xorg.conf
and the cables,the only monitor connected will again be the HDMI-0,but this
time it will be the Samsung Synchmaster.

The problem could be caused by the NVidia driver because it actually
replaced some Xorg libraries. Nowadays this is solved by clever use of
libmap.conf(5). But this doesn't change the fact Xorg itself may not like
having two different video cards working simultaneously. The NVidia driver
uses a modified version of libEGL.so for example. Xorg (well, mesa
actually) supplies the exact same library but the NVidia driver requires
the NVidia modified version. Back in the olden days the NVidia driver
installation would simply overwrite/replace the Xorg libEGL.so. It's not
allowed to do this anymore (one package overwriting another package's files
is not allowed). This was solved by saving the NVidia modified version of
libEGL.so as NVidia-libEGL.so and configuring libmap.conf(5) accordingly.
Now, if the Nvidia driver requests to load libEGL.so it actually loads
NVidia-libEGL.so (because of the mappings in libmap.conf(5)).

I don't have a solution. Do you ?
-- 
Mario.

[Attachment #3 (text/html)]

<div dir="ltr"><div class="gmail-s-prose gmail-js-post-body">
                
<p>Hello.<br></p><p>What I&#39;m trying to do is to correctly configure the file \
xorg.conf  because I want to use two gpus at the same time connected to two 
different monitors while using FreeBSD 13.1. It could be useful when I 
want to make some 3d modelling using Blender on one monitor / gpu and 
using the second one (nvidia 1060 or Intel UHD graphics 630) to watch 
some tutorial. I&#39;ve also got a third gpu (geforce RTX 2080 ti) ,but I 
want to keep it free to be passed through on a bhyve linux virtual 
machine. On the BIOS I can set up the Nvidia Geforce 1060 or the Intel 
gpu as the GPU with which the PC boots. I&#39;m not sure which is the 
correct gpu to choose as default. So,this is the scheme that I want to 
follow :</p>
<ol><li><p>monitor AOC -&gt; hdmi cable ---&gt; gpu nvidia geforce 1060</p>
</li><li><p>monitor Samsung SynchMaster ---&gt; hdmi cable ---&gt; gpu intel \
&#39;CoffeeLake-S GT2 [UHD Graphics 630]&#39;</p> </li><li><p>gpu geforce RTX 2080 ti \
connected to another monitor that I will buy later</p></li></ol><div><br></div> \
<p>Actually I&#39;m using this xorg.conf : <a \
href="https://pastebin.ubuntu.com/p/DhW6RHS3zb/" rel="nofollow \
noreferrer">https://pastebin.ubuntu.com/p/DhW6RHS3zb/</a></p> <p>instead this is the \
Xorg.0.log file : <a href="https://pastebin.ubuntu.com/p/YtdPq9fngQ/" rel="nofollow \
noreferrer">https://pastebin.ubuntu.com/p/YtdPq9fngQ/</a></p> <p><br></p><p>In front \
of me I have the AOC monitor connected to the HDMI port of  the Geforce 1060. On my \
right I have the monitor samsung  syncmaster,that&#39;s connected to the HDMI port of \
the intel GPU. What  happens is that the samsung monitor works partially. The only 2 \
apps  which can be directed to it (it is attached to the Intel GPU with the 
HDMI cable) are :</p><p><br></p>
<pre><code>[marietto@marietto ~]$ export DISPLAY=:0.1 ; konsole

and :

[marietto@marietto ~]$ export DISPLAY=:0.1 ; chrome
</code></pre>
<p>(firefox can be displayed only on the screen 0.0 : don&#39;t know why)</p>
<p>Here you can find the list of every PCI device attached to my PC :</p>
<p><a href="https://pastebin.ubuntu.com/p/Gx5DqckFQP/" rel="nofollow \
noreferrer">https://pastebin.ubuntu.com/p/Gx5DqckFQP/</a></p><p><br></p> <p>I can \
export some applications to the DISPLAY=:0.1 (monitor Samsung  SynchMaster ---&gt; \
hdmi cable ---&gt; gpu intel &#39;CoffeeLake-S GT2 [UHD  Graphics 630]). But this \
kind of usage is not comfortable at all. Infact  I can&#39;t run another session of \
xorg because it says that one session is  already running. And I&#39;m not able to \
run another xfce4 session. Only  some applications are displayed over it and If I \
invert the cable and  the drivers on the xorg.conf file,placing as primary GPU the \
intel gpu  attached to the AOC monitor and as secondary GPU the nvidia 1060 
attached to the samsung syncmaster,the behavior is the same,with the 
difference that I&#39;ve inverted the monitors. I&#39;ve tried to enable 
xinerama,but it does not work well. It freezes the mouse and 
anyway,attaching virtually two screens into only one is 
ridiculous,because they aren&#39;t attached physically. What I want to do is
 to be able to do some tasks on monitor 1 and some different tasks on 
monitor 2.</p>
<pre><code># xrandr -q

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
DVI-D-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 598mm x \
336mm  1920x1080     60.00*+  59.94    50.00    60.00    50.04  
   1680x1050     59.95  
   1440x900      59.89  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1280x720      60.00    59.94    50.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94    59.93  
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)<br>
</code></pre>
<p>arandr says that the only monitor connected is the HDMI-0,the monitor
 AOC connected to the nVidia 1060 gpu. But if I invert the drivers on 
xorg.conf and the cables,the only monitor connected will again be the 
HDMI-0,but this time it will be the Samsung Synchmaster.</p>
<p>The problem could be caused by the NVidia driver because it actually 
replaced some Xorg libraries. Nowadays this is solved by clever use of 
libmap.conf(5). But this doesn&#39;t change the fact Xorg itself may not 
like having two different video cards working simultaneously. The NVidia
 driver uses a modified version of libEGL.so for example. Xorg (well, 
mesa actually) supplies the exact same library but the NVidia driver 
requires the NVidia modified version. Back in the olden days the NVidia 
driver installation would simply overwrite/replace the Xorg libEGL.so. 
It&#39;s not allowed to do this anymore (one package overwriting another 
package&#39;s files is not allowed). This was solved by saving the NVidia 
modified version of libEGL.so as NVidia-libEGL.so and configuring 
libmap.conf(5) accordingly. Now, if the Nvidia driver requests to load 
libEGL.so it actually loads NVidia-libEGL.so (because of the mappings in
 libmap.conf(5)).</p>
<p>I don&#39;t have a solution. Do you ?</p></div>-- <br><div dir="ltr" \
class="gmail_signature" data-smartmail="gmail_signature">Mario.<br></div></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic