[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Xorg en "dual-head dual-graphics card AMD/ATI 570 + 6450"



Bonsoir,


(ce message est volontairement en HTML)

Je suis sous Debian/Sid sur mon PC rimski, avec une carte mère haut de gamme et processeur AMD 2970WX, chipset X399 et 64Go de RAM et une capacité disque (aussi bien SSD que rotatifs) à faire des envieux -des téraoctets! Il a plusieurs PCs à la maison, mais ils sont tous sous Linux.

Ma tendre épouse m'a offert récemment -pour mes 60 ans- un Samsung S34J550WQU qui fonctionne isolément sans souci avec une Gigabyte Geforce GTX Nvidia 1050TI installé dans son PC à elle, sous Ubuntu 18.04,  hermes (et à peu près aussi bien avec le pilote nouveau qu'avec le pilote propriétaire Nvidia; les différences étaient des problèmes de performance ou de lignes parasites à l'écran, sans importance ici). Ce Samsung S34J550WQU (très lourd à transporter!) a remplacé moralement mon précédent écran LG Flatron E2250V. La carte graphique AMD dans mon PC rimski est donc donnée par lspci -v comme:

42:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev ef) (prog-if 00 [VGA controller])
        Subsystem: ASUSTeK Computer Inc. Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
        Flags: bus master, fast devsel, latency 0, IRQ 145, NUMA node 2
        Memory at 80000000 (64-bit, prefetchable) [size=256M]
        Memory at 90000000 (64-bit, prefetchable) [size=2M]
        I/O ports at 8000 [size=256]
        Memory at 9dc00000 (32-bit, non-prefetchable) [size=256K]
        Expansion ROM at 000c0000 [disabled] [size=128K]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150] Advanced Error Reporting
        Capabilities: [200] Resizable BAR <?>
        Capabilities: [270] Secondary PCI Express <?>
        Capabilities: [2b0] Address Translation Service (ATS)
        Capabilities: [2c0] Page Request Interface (PRI)
        Capabilities: [2d0] Process Address Space ID (PASID)
        Capabilities: [320] Latency Tolerance Reporting
        Capabilities: [328] Alternative Routing-ID Interpretation (ARI)
        Capabilities: [370] L1 PM Substates
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu

et commercialement cette carte graphique est une Asus EX RX570 O4G d'après sa facture donnée par materiel.net.

Idéologiquement je déteste NVIDIA (le fameux "fuck you Nvidia" de Linus Torvards explique pourquoi) et à la maison mon ordinateur à moi préfère AMD à Nvidia. Et comme j'ai été opéré de la cataracte, j'y vois encore un peu mal (mais objectivement, la chirurgie de la cataracte a fait des miracles, et je suis ravi de mes nouveaux yeux 2.0).

A 60 ans, j'aime me vautrer dans le luxe, et je souhaite même pouvoir, malgré la fabuleuse qualité de ce Samsung S34J550WQU utiliser en plus mon ancien écran qui était un LG Flatron E2250V (en effet je développe bismon, et j'ai besoin de plein d'écrans). J'ai essayé plein de choses pendant deux jours, mais en vain. J'avais lu quelque part que c'est galère de configurer Linux + Xorg + xrandr pour un écran logique de plus de 5000 pixels de large (et je crois que ça explique mes échecs, et je suis trop vieux pour investir une semaine de mon temps à débroussailler ce problème encore plus; même à la maison time is money en ce qui concerne le temps consacré à l'administration système; je préfère m'éclater à développer du logiciel libre)

Je viens d'acheter, pour brancher mon "ancien" écran LG Flatron E2250V, une carte graphique secondaire, Sapphire Radeon HD6450 2Gb (ça coûte pas cher, et pour un écran secondaire, ça suffit amplement!). Elle est vue par lspci -v comme

0a:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (prog-if 00 [VGA controller])
        Subsystem: PC Partner Limited / Sapphire Technology Radeon HD 6450 1 GB DDR3
        Flags: bus master, fast devsel, latency 0, IRQ 114, NUMA node 0
        Memory at b0000000 (64-bit, prefetchable) [size=256M]
        Memory at c1f20000 (64-bit, non-prefetchable) [size=128K]
        I/O ports at 3000 [size=256]
        Expansion ROM at c1f00000 [disabled] [size=128K]
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150] Advanced Error Reporting
        Kernel driver in use: radeon
        Kernel modules: radeon

Les deux cartes et les deux écrans fonctionnent, vus du noyau: pendant le boot, je vois des trucs s'afficher sur les deux écrans. C'est donc une question de configuration logicielle. Je veux donc ce que les anglosaxons appellent Xorg with dual-head, dual-screen, dual-card

Dans mon Xorg.0.log je lis des choses un peu inquiétantes, comme:

[   975.719] (EE) AMDGPU(0): amdgpu_device_initialize failed
[   975.719] (EE) AMDGPU(G0): amdgpu_device_initialize failed
[   975.719] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[   975.719] (EE) Screen 0 deleted because of no matching config section.
[   975.719] (II) UnloadModule: "amdgpu"

et ce, malgré ce fichier xorg.conf ci - dessous... (obtenu par Xorg -config, puis largement bidouillé).

# fichier xorg.conf.rimski
# many things commented out in commit 6e08857ae364a95bd25
# Author: Basile Starynkevitch <basile@starynkevitch.net>
# Date:   Wed Jul 17 23:12:45 2019 +0200
#
#     commented many things, but remaining
#
#

Section "ServerLayout"
    Identifier     "X.org Multihead Basile patched"
    Screen      0  "BasileBigScreen" 0 0
    Screen      1  "BasileSmallScreen" RightOf "BasileBigScreen"
#       Screen      2  "NoScreen2" RightOf "BasileSmallScreen"
#       Screen      3  "Screen3" RightOf "NoScreen2"
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
        Option "Xinerama"
EndSection

Section "Files"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/X11/misc"
    FontPath     "/usr/share/fonts/X11/cyrillic"
    FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
    FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
    FontPath     "/usr/share/fonts/X11/Type1"
    FontPath     "/usr/share/fonts/X11/100dpi"
    FontPath     "/usr/share/fonts/X11/75dpi"
    FontPath     "built-ins"
EndSection

Section "Module"
    Load  "glx"
    Load  "vnc"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
EndSection

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option        "Protocol" "auto"
    Option        "Device" "/dev/input/mice"
    Option        "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
    Identifier   "BasileBigMonitor"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Monitor"
    Identifier   "BasileSmallMonitor"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Monitor"
    Identifier   "BasileSmallMonitor"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Monitor"
    Identifier   "Monitor3"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Device"
    Identifier  "BasileBigCard"
#####
# lspci -v is giving here for this card
#####
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "Accel"                  # [<bool>]
        #Option     "SWcursor"               # [<bool>]
        #Option     "EnablePageFlip"         # [<bool>]
        #Option     "SubPixelOrder"          # [<str>]
        #Option     "ZaphodHeads"            # <str>
        #Option     "AccelMethod"            # <str>
        #Option     "DRI3"                   # [<bool>]
        #Option     "DRI"                    # <i>
        #Option     "ShadowPrimary"          # [<bool>]
        #Option     "TearFree"               # [<bool>]
        #Option     "DeleteUnusedDP12Displays"     # [<bool>]
        #Option     "VariableRefresh"        # [<bool>]
    Driver      "amdgpu"
    BusID       "PCI:10:0:0"
EndSection


Section "Device"
    Identifier  "BasileSmallCard"
################
## newer, cheaper card
## lspci -v giving
#+  0a:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (prog-if 00 [VGA controller])
#+      Subsystem: PC Partner Limited / Sapphire Technology Radeon HD 6450 1 GB DDR3
#+      Flags: bus master, fast devsel, latency 0, IRQ 83, NUMA node 0
#+      Memory at b0000000 (64-bit, prefetchable) [size=256M]
#+      Memory at c1f20000 (64-bit, non-prefetchable) [size=128K]
#+      I/O ports at 3000 [size=256]
#+      Expansion ROM at c1f00000 [disabled] [size=128K]
#+      Capabilities: <access denied>
#+      Kernel driver in use: radeon
#+      Kernel modules: radeon
################
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "Accel"                  # [<bool>]
        #Option     "SWcursor"               # [<bool>]
        #Option     "EnablePageFlip"         # [<bool>]
        #Option     "SubPixelOrder"          # [<str>]
        #Option     "ZaphodHeads"            # <str>
        #Option     "AccelMethod"            # <str>
        #Option     "DRI3"                   # [<bool>]
        #Option     "DRI"                    # <i>
        #Option     "ShadowPrimary"          # [<bool>]
        #Option     "TearFree"               # [<bool>]
        #Option     "DeleteUnusedDP12Displays"     # [<bool>]
        #Option     "VariableRefresh"        # [<bool>]
    Driver      "amdgpu"
    BusID       "PCI:66:0:0"
EndSection


Section "Screen"
    Identifier "BasileBigScreen"
    Device     "BasileBigCard"
    Monitor    "BasileBigMonitor"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Section "Screen"
    Identifier "BasileSmallScreen"
    Device     "BasileSmallCard"
    Monitor    "BasileSmallMonitor"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection


Et mon noyau a

rimski.x86_64 ~ 2:12 .0 % lsmod |grep amd
edac_mce_amd           28672  0
kvm_amd               106496  0
kvm                   724992  1 kvm_amd
ccp                    98304  1 kvm_amd
amdkfd                233472  1
amdgpu               3416064  6
chash                  16384  1 amdgpu
gpu_sched              28672  1 amdgpu
ttm                   126976  2 amdgpu,radeon
drm_kms_helper        200704  2 amdgpu,radeon
drm                   483328  12 gpu_sched,drm_kms_helper,amdgpu,radeon,ttm
i2c_algo_bit           16384  3 igb,amdgpu,radeon
gpio_amdpt             16384  0
gpio_generic           16384  1 gpio_amdpt

avec d'après /proc/version un noyau

Linux version 4.19.0-5-amd64 (debian-kernel@lists.debian.org) (gcc version 8.3.0 (Debian 8.3.0-7)) #1 SMP Debian 4.19.37-5 (2019-06-19)

Avez vous des idées pour m'aider?


Librement


-- 
Basile STARYNKEVITCH   == http://starynkevitch.net/Basile
opinions are mine only - les opinions sont seulement miennes
Bourg La Reine, France; <basile@starynkevitch.net>
(mobile phone: cf my web page / voir ma page web...)

Reply to: