我的视频卡时不时崩溃。这很烦人,但我忍受它——通常我只是用 重新启动图形sudo systemctl restart lightdm.service,或者如果需要重新启动整个系统。
在这种特殊情况下,systemctl呼叫挂起,我不想重新启动,因为我在机器上有一个长时间运行的工作。
崩溃登录dmesg为
[944520.212254] Call Trace:
[944520.212256] [<ffffffff818384d5>] schedule+0x35/0x80
[944520.212257] [<ffffffff8183b625>] schedule_timeout+0x1b5/0x270
[944520.212280] [<ffffffffc0235244>] ? dce_v6_0_program_watermarks+0x514/0x720 [amdgpu]
[944520.212282] [<ffffffffc0196d2c>] kcl_fence_default_wait+0x1cc/0x260 [amdkcl]
[944520.212287] [<ffffffff815b4f50>] ? fence_free+0x20/0x20
Run Code Online (Sandbox Code Playgroud)
显然amdgpu模块崩溃了。我想重新启动它,所以我尝试了
sudo modprobe -r amdgpu
modprobe: FATAL: Module amdgpu is in use.
Run Code Online (Sandbox Code Playgroud)
当我试图找出谁在使用amdgpu我时
lsmod | grep amdgpu
amdgpu 2129920 7
amdttm 102400 1 amdgpu
amdkcl 32768 1 amdgpu
i2c_algo_bit 16384 1 amdgpu
drm_kms_helper 155648 1 amdgpu
drm 364544 10 …Run Code Online (Sandbox Code Playgroud) video kernel-modules graphics proprietary-drivers amd-graphics
该系统使用其中一种混合 Intel/ATI 产品(无复用器)进行设置。在对内核设置和驱动程序进行了一些摆弄之后,我认为这两张卡都能正常工作(在内核设置中添加 radeon.dpm=1 并仅使用开源驱动程序)。
但是我不知道系统使用的是哪张卡。根据我对较新内核 (3.12) 的理解,amd 动态电源管理将在需要时关闭/打开卡的电源,因此理论上它应该在大部分时间使用集成 hd4000,但是我找不到简单的方法检查哪个正在使用中。
lspci | grep VGA 只列出所有卡,并没有指定当前使用的是哪一张。
一些转向正确的方向非常感谢。
系统
Debian 7 稳定版,3.12 amd64 内核 7670M AMD + Intel HD4000
从输出中lspci我如何解释BUSIDfor xorg.conf.d?
例子:
00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07)
01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / Radeon 520 Mobile] (rev 83)
Run Code Online (Sandbox Code Playgroud)
BUSID如何为AMD卡编写?
它是否正确 ?BUSID PCI 0@1:00:0
是否有类似nvidia-smiAMD APU GPU 的东西?(我有 A8-7600 APU)
nvidia-smi可以显示当前在 GPU 上运行的进程,甚至 Xorg/系统应用程序,而不仅仅是 CUDA。
我正在使用来自firmware-amd-graphics(Debian Stretch) 的二进制驱动程序。我想看看我的 GPU 运行的频率,使用了多少 GPU 内存,等等。
Lenovo IdeaPad Gaming 3(15ARH05、LCD 显示屏、AMD Renoir CPU Ryzen 5 4600H、独立 NVIDIA GeForce 1650 Ti Mobile)上的亮度(LCD 背光)控件不起作用:
Fn 键显示显示屏上的亮度滑块在移动。/sys/class/backlight/amdgpu_bl0/brightness 相应地从 0 更改为 255。brightness也不会改变显示器的亮度。/sys/class/backlight/amdgpu_bl0/actual_brightness停留在311。我认为这表明 amdgpu 驱动程序存在问题。调整在 Windows 10 上工作正常。笔记本电脑正在运行:
linux-image-5.8.0-kali[23]-amd64 (基于 5.8.14)和定制内核 5.9、5.9.1 和 5.10-rc1,主要基于 Kali 配置amdgpu驱动程序,未使用独立显卡(加载和卸载专有 NVIDIA 驱动程序以进行测试)。我尝试使用各种acpi_backlight内核选项启动,这导致各种背光可用/sys/class/backlight/*/brightness:
acpi_backlight=video: acpi_video0 acpi_video1 amdgpu_bl0acpi_backlight=vendor: amdgpu_bl0 ideapadacpi_backlight=native: amdgpu_bl0acpi_backlight=none: amdgpu_bl0其他不起作用的事情:
acpi_osi=Linux …我在带有可切换显卡的笔记本电脑上使用 Manjaro Linux:
\n\n00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)\n\n03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Venus PRO [Radeon HD 8850M / R9 M265X] (rev ff)\nRun Code Online (Sandbox Code Playgroud)\n\n这是 Manjaro 设置管理器的驱动程序部分的屏幕截图:
\n\n\n\n上面显示bumblebee的驱动已经安装,但是守护进程失败:
\n\n[luke@manjaro ~]$ sudo systemctl status bumblebeed\n\xe2\x97\x8f bumblebeed.service - Bumblebee C Daemon\n Loaded: loaded (/usr/lib/systemd/system/bumblebeed.service; enabled; vendor preset: disabled)\n Active: activating (auto-restart) (Result: exit-code) since pi\xc4\x85 2015-09-18 16:22:55 CEST; 29s ago\n Process: 1192 ExecStart=/usr/bin/bumblebeed (code=exited, status=1/FAILURE)\n Main PID: 1192 …Run Code Online (Sandbox Code Playgroud) 很高兴看到 AMD 通过发布 amdgpu Linux 内核驱动程序源代码来支持开源社区。
但是这个开源 amdgpu 驱动程序是否需要加载非自由固件?
我的 Intel/AMD-GPU 设置遇到一些问题。
我使用的是配备“Intel Core i3-2350M 'Sandy Bridge'”的笔记本电脑,它具有内置 iGPU“Intel HD 3000”。除了这个 iGPU 之外,我的笔记本电脑还有 dGPU“AMD Radeon HD 6490M”。
几周前,我将系统从 Linux Mint 17.3(基于 Ubuntu 14.04-LTS,带有专有 fglrx-driver 的内核 3.19)更改为 Linux Mint 18.0(基于 Ubuntu 16.04-LTS,带有开源 radeon 的内核 4.4.0)司机)。
在这个新版本的 Mint/Ubuntu 中,带有 Catalyst Control Center 的 AMD 专有 fglrx 驱动程序不再受支持和安装,并且 dGPU 对于新的 amdgpu 驱动程序来说太旧了。所以我的系统现在运行在 radeon-driver 上。
借助 fglrx-driver 和 Catalyst Control Center,我能够根据我的用例手动激活和停用 AMD dGPU。现在有了 radeon 驱动程序,情况有点不同了。
当我检查当前的 GPU 状态时
$ sudo cat /sys/kernel/debug/vgaswitcheroo/switch
Run Code Online (Sandbox Code Playgroud)
结果总是
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :DynOff:0000:01:00.0
Run Code Online (Sandbox Code Playgroud)
这意味着 iGPU 处于活动状态,而 dGPU 处于停用状态(通过软件/驱动程序)。由于我(像所有现代笔记本电脑一样)有一个无复用器设备,因此条目 0:IGD 看起来不错,但 1:DIS …
正如该线程中所述,Ubuntu 18.04 似乎在使用 AMD Ryzen 5 集成图形控制器时遇到了一些问题,其中 Ubuntu 偶尔会冻结,包括鼠标。我也可以为专用图形控制器(RX570)证明这个问题。
新的 Wayland 或其他任何东西都可能存在未记录的问题。这个问题的结果应该是收集足够的信息或解决方案来向社区提交错误报告。
用户@SD 解决了环境切换到metacity 的问题 (sudo apt install gnome-session-flashback)。他说这个问题不仅与内部 GPU 相关。
此外,除了提到的环境之外,还有哪些环境可以工作?
我已经安装了AUR 的amdgpu-pro-libgl驱动程序,希望它能解决问题。
Pikaur 似乎没有触发任何类型的重新编译、DKMS 或 mkinitcpio,但据我了解,该软件包包含一些内核组件.. 如何检查 AMDGPU-PRO 驱动程序确实正在运行?
amd-graphics ×10
amd ×2
graphics ×2
radeon ×2
arch-linux ×1
backlight ×1
brightness ×1
bumblebee ×1
drivers ×1
firmware ×1
freeze ×1
gpu ×1
manjaro ×1
monitoring ×1
pci ×1
ubuntu ×1
video ×1
xorg ×1