LINUX.ORG.RU

Как починить видеокарту для Linux

 , ,


1

1

Не работает дискретная видеокарта, как было выяснено в прошлом треде. Как её включить/починить мне? Железо новое, под windows грузится.

Мои хар-ки: Ноутбук, две видеокарты: интегрированная (Intel UHD Graphics 620); дискретная (AMD ATI Radeon RX 550/550X по крайней мере так определяет система и говорит neofetch, на самом же деле в ноутбуке стоит 540)

xrandr

 Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
   1920x1080     60.05*+  59.93  
   1680x1050     59.88  
   1400x1050     59.98  
   1600x900      60.00    59.95    59.82  
   1280x1024     60.02  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1368x768      60.00    59.88    59.85  
   1280x800      59.81    59.91  
   1280x720      59.86    60.00    59.74  
   1024x768      60.00  
   1024x576      60.00    59.90    59.82  
   960x540       60.00    59.63    59.82  
   800x600       60.32    56.25  
   864x486       60.00    59.92    59.57  
   640x480       59.94  
   720x405       59.51    60.00    58.99  
   640x360       59.84    59.32    60.00  
HDMI1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
xrandr --listproviders
 Providers: number : 1
Provider 0: id: 0x46 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 3 associated providers: 0 name:Intel
lspci -k
 00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 08)
	Subsystem: Lenovo Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers
	Kernel driver in use: skl_uncore
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
	Subsystem: Lenovo UHD Graphics 620
	Kernel driver in use: i915
	Kernel modules: i915
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 08)
	Subsystem: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem
	Kernel driver in use: proc_thermal
	Kernel modules: processor_thermal_device
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
	Subsystem: Lenovo Sunrise Point-LP USB 3.0 xHCI Controller
	Kernel driver in use: xhci_hcd
	Kernel modules: xhci_pci
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
	Subsystem: Lenovo Sunrise Point-LP Thermal subsystem
	Kernel driver in use: intel_pch_thermal
	Kernel modules: intel_pch_thermal
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
	Subsystem: Lenovo Sunrise Point-LP Serial IO I2C Controller
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
	Subsystem: Lenovo Sunrise Point-LP CSME HECI
	Kernel driver in use: mei_me
	Kernel modules: mei_me
00:17.0 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 21)
	Subsystem: Lenovo 82801 Mobile SATA Controller [RAID mode]
	Kernel driver in use: ahci
	Kernel modules: ahci
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #1 (rev f1)
	Kernel driver in use: pcieport
00:1c.5 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #6 (rev f1)
	Kernel driver in use: pcieport
00:1f.0 ISA bridge: Intel Corporation Sunrise Point LPC Controller/eSPI Controller (rev 21)
	Subsystem: Lenovo Sunrise Point LPC Controller/eSPI Controller
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
	Subsystem: Lenovo Sunrise Point-LP PMC
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
	Subsystem: Lenovo Sunrise Point-LP HD Audio
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel, snd_soc_skl
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
	Subsystem: Lenovo Sunrise Point-LP SMBus
	Kernel driver in use: i801_smbus
	Kernel modules: i2c_i801
01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Lexa PRO [Radeon RX 550/550X] (rev c3)
	Subsystem: Lenovo Lexa PRO [Radeon RX 550/550X]
	Kernel driver in use: amdgpu
	Kernel modules: amdgpu
02:00.0 Network controller: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter (rev 31)
	Subsystem: Lenovo QCA9377 802.11ac Wireless Network Adapter
	Kernel driver in use: ath10k_pci
	Kernel modules: ath10k_pci
Xorg.0.log https://pastebin.com/M9hTHs08 dmesg (чуток ошибок про amd) https://pastebin.com/k35Nj81H

Где у вас было выяснено, что видео карта не работает? :)

У вас сейчас xorg-server сам авто конфигурируется и настраивается только на работу с картой Intel, а вам нужно настроить, что бы он загружал ещё и драйвер для карты radeon и тогда вы сможете переключать провайдеры.

Вам нужно сгенерирвать xorg.conf и описать в нём конфигурацию для двух ваших видео карт.

Читайте wiki, разбирайтесь.

infomeh ★★ ()
Ответ на: комментарий от challenger128

Уважаемый вы либо действительно троль, либо у вас проблема с логикой.

Я вам написал, что нужно сделать.

Вы сказали, что сгенерировали xorg.conf и он у вас создался /root/xorg.conf.new.

Я вам написал:

infomeh

Скопируйте сгенерированный.

Какое стандартное расположение xorg.conf? Если не знаете - спросите в гугл.

infomeh

Но в начале покажите что в нём. Можно просто здесь в тегах code, либо на pastebin.

Где содержимое полученного файла?

Если вам нужна помощь выполняйте то, что вам советуют и отвечайте на вопросы.

infomeh ★★ ()
Ответ на: комментарий от challenger128

А почему? Вы в начале уведомления проверяйте, а потом пишите.

https://wiki.archlinux.org/index.php/PRIME#XRandR_specifies_only_1_output_pro...

Section "ServerLayout"
  Identifier     "X.org Configured"
  Screen      0  "Screen0" 0 0 # Screen for your primary GPU
  Inactive       "Card1"       # Device for your second GPU
EndSection
Что вам здесь не понятно?

Здесь нужно оставить только Screen0:

Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection
Дописать то, что указано выше в ссылке.

И удалить запись о Screen1, а потом скопировать в стандартное место.

infomeh ★★ ()
Ответ на: комментарий от n1rdeks

Что зря? Троллишь пока только ты.

Повторяю, исторически xorg.conf был файлом, потом добавили поддержку xorg.conf.d, при запуске xorg-server`а содержимое всех файлов считыватся xorg-server`ом в один конфиг в алфавитном порядке.

Просто с отдельными файлами несколько удобнее работать, чем с один длинным файлом.

Аналогично и /etc/resolv.conf и /etc/resolv.conf.d, в Debian /etc/network/interfaces и /etc/network/interfaces.d, в Gentoo /etc/portage/package.use и /etc/portage/package.use.d и прочие другие примеры.

infomeh ★★ ()

Xorg -configure
В конце эта команда напишет файл в котором сохранены настройки.
В этом файле находишь секцию [device], а в ней два параметра Driver и BusID
По идее у тебя должно быть две таких секции, тебе надо чтобы осталась одна с нужной видеокартой.
Ну конечно и в другие секции тебе надо будет внести соответствующие исправления, устройство то с одним из индификаторов у тебя пропадёт, ну и вообще от лишнего почистить.

torvn77 ★★★★★ ()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от n1rdeks

Файл отправил в /etc/X11/xorg.conf

Спецом троллит. Все уважающие себя тролли знают, что этот путь уже давно не актуален.

Теперь опять актуален, видимо авторов замучали запутавшиеся в xorg.conf.d

torvn77 ★★★★★ ()
Ответ на: комментарий от n1rdeks

Во первых - legacy

И что ты этим хочешь сказать, текст написанный мной ты не понял и не хочешь понимать, файл xorg.conf будет поддерживаться всегда.

во вторых:

А по поводу этого, так и должно быть, настройки в xorg.conf более приоритетны над настройками в xorg.conf.d, а настройки xorg.conf.d более приоритетны над настройками в /usr/share/X11.

Так что делаем только один вывод: xorg.conf более приоритетен и его можно использовать. И он будет работать в любом случае.

Так что проблем я не вижиу, если тебе удобнее разносить один сгенерированный конфиг на несколько файл - разноси.

Мне удобонее просто скопировать файл.

infomeh ★★ ()
Ответ на: комментарий от torvn77

Теперь опять актуален, видимо авторов замучали запутавшиеся в xorg.conf.d

Это вернули совместимость. И слава Богу! Всё равно разные дистры по разному подхватывают (может, версии разные xorg) конфиги.

n1rdeks ()
Ответ на: комментарий от torvn77

Вы сами сделали правильную выдержку про алфавитный порядок, если у вас в разных файлах описаны секции с одинаковыми именами, то в результирующем конфиге xorg-server`а будет использоваться секция из последнего файла по алфавитному порядку.

И если вам нужно добавить новую модификацию секции, то вам будет проще следить за порядком сортировки по цифровому префикску.

infomeh ★★ ()
Ответ на: комментарий от n1rdeks

Это вернули совместимость.

Да пойми ты, что поддержку xorg.conf никто не удалял, она как была, так и есть.

Все версии xorg-server одинаково выставляют приоритет своих конфигов, самый низкий в /usr/share, более высокий в xorg.conf.d и самый наивысший в xorg.conf.

Так есть во всех версиях xorg-server, просто в документации по настройке xorg-server мантейнеры пакетов советуют использовать xorg.conf.d, как только добавили его поддержку, но xorg.conf как работа, так и работае и будет работать.

infomeh ★★ ()
Ответ на: комментарий от challenger128

Давайте гадать, я пойду гущу кофейную заварю.

А лучше покажит ваш конфиг и лог xorg-server`а.

Понимаете, ваш коментарий без логов и конфигов не несёт никакого смысла, прежде чем нажать кнопку «Поместить» подумайте головой.

infomeh ★★ ()
Ответ на: комментарий от infomeh

Да пойми ты, что поддержку xorg.conf никто не удалял, она как была, так и есть.

Однажды в своём Дебиане я обнаружил что xorg.conf просто игнорируется X сервером, но теперь он его снова видит.

torvn77 ★★★★★ ()
Ответ на: комментарий от infomeh

то в результирующем конфиге xorg-server`а будет использоваться секция из последнего файла по алфавитному порядку.

Ага, делаешь настройки, а они не применяются…
Ну теперь ясно в чём дело.

torvn77 ★★★★★ ()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от challenger128

Проверь свой xorg.conf, секции путём связей через индификаторы должны образовывать древовидную структуру сходящуюся к корневому элементу.

torvn77 ★★★★★ ()
Последнее исправление: torvn77 (всего исправлений: 1)
02:00.0 Network controller: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter (rev 31)
	Subsystem: Lenovo QCA9377 802.11ac Wireless Network Adapter
	Kernel driver in use: ath10k_pci
	Kernel modules: ath10k_pci



Хорошо работает под линуксом ? Связь устойчивая ? Хочу новый ноут брать , но боюсь что этот ath10k будет похуже , чем мой ath9k .
anonymous ()
Ответ на: комментарий от challenger128

Не заметил, у вас сейчас запускается всё на карте Intel, так и должно быть.

Но в конфиге она имеет идентификатор Card1.

В итоге вам нужно сделать вот так:

Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen      0  "Screen1" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
    Inactive       "Card0"
EndSection
 
Section "Files"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/misc"
    FontPath     "/usr/share/fonts/TTF"
    FontPath     "/usr/share/fonts/OTF"
    FontPath     "/usr/share/fonts/Type1"
    FontPath     "/usr/share/fonts/100dpi"
    FontPath     "/usr/share/fonts/75dpi"
EndSection
 
Section "Module"
    Load  "glx"
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   "Monitor1"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection
 
Section "Device"
        ### 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>]
    Identifier  "Card0"
    Driver      "amdgpu"
    BusID       "PCI:1:0:0"
EndSection
 
Section "Device"
        ### 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     "AccelMethod"           # <str>
        #Option     "Backlight"             # <str>
        #Option     "CustomEDID"            # <str>
        #Option     "DRI"                   # <str>
        #Option     "Present"               # [<bool>]
        #Option     "ColorKey"              # <i>
        #Option     "VideoKey"              # <i>
        #Option     "Tiling"                # [<bool>]
        #Option     "LinearFramebuffer"     # [<bool>]
        #Option     "HWRotation"            # [<bool>]
        #Option     "VSync"                 # [<bool>]
        #Option     "PageFlip"              # [<bool>]
        #Option     "SwapbuffersWait"       # [<bool>]
        #Option     "TripleBuffer"          # [<bool>]
        #Option     "XvPreferOverlay"       # [<bool>]
        #Option     "HotPlug"               # [<bool>]
        #Option     "ReprobeOutputs"        # [<bool>]
        #Option     "XvMC"                  # [<bool>]
        #Option     "ZaphodHeads"           # <str>
        #Option     "VirtualHeads"          # <i>
        #Option     "TearFree"              # [<bool>]
        #Option     "PerCrtcPixmaps"        # [<bool>]
        #Option     "FallbackDebug"         # [<bool>]
        #Option     "DebugFlushBatches"     # [<bool>]
        #Option     "DebugFlushCaches"      # [<bool>]
        #Option     "DebugWait"             # [<bool>]
        #Option     "BufferCache"           # [<bool>]
    Identifier  "Card1"
    Driver      "intel"
    BusID       "PCI:0:2:0"
EndSection
 
Section "Screen"
    Identifier "Screen1"
    Device     "Card1"
    Monitor    "Monitor1"
    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

Ну либо поменять идентификаторы.

infomeh ★★ ()
Ответ на: комментарий от challenger128

А где их меняли? Тут сценарий автонастройки назначил карте radeon идентификатор Card0, а карте Intel - Card1 и карту Card0 прописал основной, а нам нужно чтобы основной была карта Intel, т.е. Card1.

infomeh ★★ ()
Ответ на: комментарий от infomeh

Благодарю

 Providers: number : 2
Provider 0: id: 0x6b cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 3 associated providers: 1 name:Intel
Provider 1: id: 0x44 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 5 outputs: 0 associated providers: 1 name:Radeon 500 Series @ pci:0000:01:00.0
А нормально то что lspci | grep VGA
 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
Мне теперь просто для себя понять, где можно увидеть что радеоновская робит сейчас или это только xrandr --listproviders

challenger128 ()
Ответ на: комментарий от challenger128
lspci | grep -i "vga\|display"

где можно увидеть что радеоновская робит сейчас или это только xrandr --listproviders

Команда выше покажет оборудование, которое видно на PCI / PCI-E шине. А listproviders покажет доступные для xorg-server видео карты. И как переключать через что делать отрисовку указано в wiki странице.

infomeh ★★ ()
Ответ на: комментарий от challenger128

Ну тогда либо напишите скрипт, который вы будут руками запускать после запуска графической оболочки.

Либо пропишите в авторан вашего DE (Desktop Environment), если запускаете графику по startx, то можно прописать в .xinitrc.

infomeh ★★ ()
Ответ на: комментарий от challenger128

Понимаете в чём суть, т.к. у вас ноутбук и там гибридная графика, то непосредственный вывод графики на монитор всё равно в конечном счёте осуществляется через видео карту Intel. Т.е. к ней подключен видео выход / выход монитора. Т.е. картинка отправляется на монитор с карты Intel.

А вот заниматься её обраткой (рендерингом), построением может заниматься как карта Intel, так и карта Radeon, если вы переключите провайдер.

Так в зависимости от того как вы настроите запуск команды переключения в скрипте и как настроите его запуск так и будет, само или руками.

Если вы используете DM (Desktop Manager), то в некоторых DM можно настроить выполнение некоторой команды при его запуске, вот туда и можно прописать выполение команды переключения провайдера.

Так что читайте и разбирайтесь.

infomeh ★★ ()
Ответ на: комментарий от challenger128

Просто от Intel отказаться нельзя, если у вас сгорит Intel, то даже если у вас будет работать чип radeon на экране монитора вы ничего не увидите.

Но можете попробовать, сохраните копию файла xorg.conf, а этот отредактируйе, осавив в нём только настройки для radeon.

infomeh ★★ ()

Не покупайте ноуты с двойной графикой . Просто не покупайте и всё . Я когда себе ноут брал , то это был один из критериев выбора - никакой двойной графики . Для ноута , это нинужно .

anonymous ()