正如标题所述,我遇到了屏幕黑屏的问题,这种情况只发生在我开始游戏时,无论是通过 Wine 还是 Linux 原生,都没有区别。
注意:我正在使用 AMD 的最新 AMDgpu-pro 驱动程序堆栈(17.10)。
lspci -v
00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06)
Subsystem: Gigabyte Technology Co., Ltd 4th Gen Core Processor DRAM Controller
Flags: bus master, fast devsel, latency 0
Capabilities: <access denied>
Kernel driver in use: hsw_uncore
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 25
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 0000e000-0000efff
Memory behind bridge: f7e00000-f7efffff
Prefetchable memory behind bridge: 00000000e0000000-00000000f07fffff
Capabilities: <access denied>
Kernel driver in use: pcieport
Kernel modules: shpchp
00:14.0 USB controller: Intel Corporation 9 Series Chipset Family USB xHCI Controller (prog-if 30 [XHCI])
Subsystem: Gigabyte Technology Co., Ltd 9 Series Chipset Family USB xHCI Controller
Flags: bus master, medium devsel, latency 0, IRQ 26
Memory at f7f00000 (64-bit, non-prefetchable) [size=64K]
Capabilities: <access denied>
Kernel driver in use: xhci_hcd
00:16.0 Communication controller: Intel Corporation 9 Series Chipset Family ME Interface #1
Subsystem: Gigabyte Technology Co., Ltd 9 Series Chipset Family ME Interface
Flags: bus master, fast devsel, latency 0, IRQ 30
Memory at f7f18000 (64-bit, non-prefetchable) [size=16]
Capabilities: <access denied>
Kernel driver in use: mei_me
Kernel modules: mei_me
00:1a.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2 (prog-if 20 [EHCI])
Subsystem: Gigabyte Technology Co., Ltd 9 Series Chipset Family USB EHCI Controller
Flags: bus master, medium devsel, latency 0, IRQ 16
Memory at f7f17000 (32-bit, non-prefetchable) [size=1K]
Capabilities: <access denied>
Kernel driver in use: ehci-pci
00:1b.0 Audio device: Intel Corporation 9 Series Chipset Family HD Audio Controller
Subsystem: Gigabyte Technology Co., Ltd 9 Series Chipset Family HD Audio Controller
Flags: bus master, fast devsel, latency 0, IRQ 31
Memory at f7f10000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
00:1c.0 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 1 (rev d0) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 16
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
Capabilities: <access denied>
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1c.2 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 3 (rev d0) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 18
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: 0000d000-0000dfff
Memory behind bridge: f7d00000-f7dfffff
Prefetchable memory behind bridge: 00000000f0900000-00000000f09fffff
Capabilities: <access denied>
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1c.3 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 4 (rev d0) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 19
Bus: primary=00, secondary=04, subordinate=05, sec-latency=0
Capabilities: <access denied>
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1d.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1 (prog-if 20 [EHCI])
Subsystem: Gigabyte Technology Co., Ltd 9 Series Chipset Family USB EHCI Controller
Flags: bus master, medium devsel, latency 0, IRQ 23
Memory at f7f16000 (32-bit, non-prefetchable) [size=1K]
Capabilities: <access denied>
Kernel driver in use: ehci-pci
00:1f.0 ISA bridge: Intel Corporation 9 Series Chipset Family Z97 LPC Controller
Subsystem: Gigabyte Technology Co., Ltd 9 Series Chipset Family Z97 LPC Controller
Flags: bus master, medium devsel, latency 0
Capabilities: <access denied>
Kernel driver in use: lpc_ich
Kernel modules: lpc_ich
00:1f.2 SATA controller: Intel Corporation 9 Series Chipset Family SATA Controller [AHCI Mode] (prog-if 01 [AHCI 1.0])
Subsystem: Gigabyte Technology Co., Ltd 9 Series Chipset Family SATA Controller [AHCI Mode]
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 28
I/O ports at f070 [size=8]
I/O ports at f060 [size=4]
I/O ports at f050 [size=8]
I/O ports at f040 [size=4]
I/O ports at f020 [size=32]
Memory at f7f15000 (32-bit, non-prefetchable) [size=2K]
Capabilities: <access denied>
Kernel driver in use: ahci
Kernel modules: ahci
00:1f.3 SMBus: Intel Corporation 9 Series Chipset Family SMBus Controller
Subsystem: Gigabyte Technology Co., Ltd 9 Series Chipset Family SMBus Controller
Flags: medium devsel, IRQ 10
Memory at f7f14000 (64-bit, non-prefetchable) [disabled] [size=256]
I/O ports at f000 [size=32]
Kernel modules: i2c_i801
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT [Radeon R9 290X] (rev 80) (prog-if 00 [VGA controller])
Subsystem: PC Partner Limited / Sapphire Technology Hawaii XT [Radeon R9 290X]
Flags: bus master, fast devsel, latency 0, IRQ 29
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f0000000 (64-bit, prefetchable) [size=8M]
I/O ports at e000 [size=256]
Memory at f7e00000 (32-bit, non-prefetchable) [size=256K]
Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: amdgpu
Kernel modules: radeon, amdgpu
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii HDMI Audio
Subsystem: PC Partner Limited / Sapphire Technology Hawaii HDMI Audio
Flags: bus master, fast devsel, latency 0, IRQ 32
Memory at f7e60000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
Subsystem: Gigabyte Technology Co., Ltd Motherboard
Flags: bus master, fast devsel, latency 0, IRQ 27
I/O ports at d000 [size=256]
Memory at f7d00000 (64-bit, non-prefetchable) [size=4K]
Memory at f0900000 (64-bit, prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: r8169
Kernel modules: r8169
04:00.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 41) (prog-if 01 [Subtractive decode])
Flags: bus master, fast devsel, latency 0, IRQ 11
Bus: primary=04, secondary=05, subordinate=05, sec-latency=32
Capabilities: <access denied>
恢复的唯一方法是进行硬重置,我讨厌这样做,但到目前为止我还没有找到解决方案。我编辑了 /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
我认为这可能是内置内核 dpm 功能的问题,我尝试禁用它,但没有成功。以下命令产生:
connected|card detect|primary dev" /var/log/Xorg.0.log
[ 13.125] (II) AMDGPU(0): Output HDMI-A-0 connected
我已禁用屏幕保护程序、电源选项以使显示器永不暗淡等。
有人能帮我解决这个问题吗,我已经从健康的 Arch 安装切换到 Ubuntu,因为需要专有驱动程序中的 Vulkan 库来运行 Doom,之前我使用 Mesa-git 时没有遇到任何问题。
答案1
我相信我已经解决了这个问题。
我看到了以下帖子:
https://askubuntu.com/questions/796055/screen-flickering-and-freezing-after-clean-install-16-04
我现在已编辑以下文件 /etc/default/grub
我添加了以下代码行来禁用似乎导致问题的电源管理功能。
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.dpm=0"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.runpm=0"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.dpm=0"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.runpm=0"
完成此文件中的这些更改后,运行以下命令,然后重新启动:
sudo update-grub
更新:
问题仍然存在,我现在可以玩游戏,但图形会随机抽搐,屏幕会变黑而没有反应,需要硬重置。
我现在真的陷入困境,不知道下一步该做什么。
答案2
我发现问题是,虽然禁用 DPM 可以提高性能,这很好,但黑屏的原因却完全不同。
进入System settings
——我需要选择正确的显示器,出于某种原因它是自动选择Screen display
的。"scale all window contents to match:"
"display with largest controls"
我认为这会在游戏过程中改变显示器的频率和分辨率,从而导致黑屏,issue now resolved.