KB_*_*KB_ 8 radeon drivers ubuntu-gnome gpu-drivers amd-graphics
我在AMD GPU PRO为 Ubuntu Gnome 16.04 系统安装驱动程序时遇到问题。安装并重启后屏幕变黑。GUI 模式下的图像不完整,大部分为黑色,登录屏幕的小部分闪烁。鼠标光标可见。
我可以访问tty并卸载它。
我从 AMD 官网链接下载了驱动程序。他们说它与我的显卡兼容:AMD Radeon™ R9 285 显卡。我按照网站上提供的安装指南进行操作。安装顺利完成,重启后黑屏。
跑步uname -r给出:
4.4.0-28-generic
Run Code Online (Sandbox Code Playgroud)
跑步dpkg -l amdgpu-pro给出:
dpkg-query: no packages found matching amdgpu-pro
Run Code Online (Sandbox Code Playgroud)
跑步./amdgpu-pro-install给出:
Reading package lists... Done
Building dependency tree
...........................
Reading state information... Done
The following packages were automatically installed and are no longer required:
gcc-5-base:i386 libdrm-radeon1:i386 libdrm2:i386 libelf1:i386
libssl1.0.0:i386 libstdc++6:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386
libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386
libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386
libxfixes3:i386 libxshmfence1:i386 libxxf86vm1:i386 linux-headers-4.4.0-21
linux-headers-4.4.0-21-generic linux-image-4.4.0-21-generic
linux-image-extra-4.4.0-21-generic
Use 'sudo apt autoremove' to remove them.
......................
Reading package lists... Done
deb file:/var/opt/amdgpu-pro/ ./
Reading package lists... Done
W: The repository 'file:/var/opt/amdgpu-pro ./ Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
linux-headers-4.4.0-21 linux-headers-4.4.0-21-generic
linux-image-4.4.0-21-generic linux-image-extra-4.4.0-21-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
amdgpu-pro-clinfo amdgpu-pro-computing amdgpu-pro-core amdgpu-pro-firmware
amdgpu-pro-graphics amdgpu-pro-libopencl-dev amdgpu-pro-libopencl-dev:i386
amdgpu-pro-libopencl1 amdgpu-pro-libopencl1:i386 amdgpu-pro-opencl-icd
amdgpu-pro-opencl-icd:i386 amdgpu-pro-vulkan-driver
amdgpu-pro-vulkan-driver:i386 libdrm-amdgpu-pro-amdgpu1
libdrm-amdgpu-pro-amdgpu1:i386 libdrm2-amdgpu-pro libdrm2-amdgpu-pro:i386
libegl1-amdgpu-pro libegl1-amdgpu-pro:i386 libgbm1-amdgpu-pro:i386
libgbm1-amdgpu-pro libgl1-amdgpu-pro-dev libgl1-amdgpu-pro-dev:i386
libgl1-amdgpu-pro-dri libgl1-amdgpu-pro-dri:i386 libgl1-amdgpu-pro-glx:i386
libgl1-amdgpu-pro-glx libgles2-amdgpu-pro libgles2-amdgpu-pro:i386
libvdpau-amdgpu-pro libvdpau-amdgpu-pro:i386 xserver-xorg-video-amdgpu-pro
The following NEW packages will be installed
amdgpu-pro amdgpu-pro-clinfo amdgpu-pro-computing amdgpu-pro-core
amdgpu-pro-dkms amdgpu-pro-firmware amdgpu-pro-graphics
amdgpu-pro-lib32:i386 amdgpu-pro-libopencl-dev amdgpu-pro-libopencl-dev:i386
amdgpu-pro-libopencl1 amdgpu-pro-libopencl1:i386 amdgpu-pro-opencl-icd
amdgpu-pro-opencl-icd:i386 amdgpu-pro-vulkan-driver
amdgpu-pro-vulkan-driver:i386 libdrm-amdgpu-pro-amdgpu1
libdrm-amdgpu-pro-amdgpu1:i386 libdrm2-amdgpu-pro libdrm2-amdgpu-pro:i386
libegl1-amdgpu-pro libegl1-amdgpu-pro:i386 libgbm1-amdgpu-pro:i386
libgbm1-amdgpu-pro libgl1-amdgpu-pro-dev libgl1-amdgpu-pro-dev:i386
libgl1-amdgpu-pro-dri libgl1-amdgpu-pro-dri:i386 libgl1-amdgpu-pro-glx:i386
libgl1-amdgpu-pro-glx libgles2-amdgpu-pro libgles2-amdgpu-pro:i386
libvdpau-amdgpu-pro libvdpau-amdgpu-pro:i386 xserver-xorg-video-amdgpu-pro
0 to upgrade, 35 to newly install, 0 to remove and 0 not to upgrade.
Need to get 0 B/84.0 MB of archives.
After this operation, 400 MB of additional disk space will be used.
Run Code Online (Sandbox Code Playgroud)
问题:如何进行,我应该在哪里查找错误的依赖项或阻止驱动程序正常运行的东西,如何使其工作?
到目前为止,我已经尝试过这个:
我已经用 HDMI 和 DisplayPort 进行了测试,两者都给出了相同的结果。
尝试使用sudo dpkg --add-architecture i386和sudo apt -get update。
dmesg输出:(我包含了dmesg日志中可能有助于识别问题的片段。)
amdgpu: module verification failed: signature and/or required key missing - tainting kernel
[drm] amdgpu kernel modesetting enabled.
AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de>
AMD IOMMUv2 functionality not available on this system
fb: switching to amdgpudrmfb from VESA VGA
amdgpu 0000:01:00.0: Invalid ROM contents
ATOM BIOS: C76601
amdgpu 0000:01:00.0: VRAM: 2048M 0x0000000000000000 - 0x000000007FFFFFFF (2048M used)
amdgpu 0000:01:00.0: GTT: 2048M 0x0000000080000000 - 0x00000000FFFFFFFF
amdgpu 0000:01:00.0: amdgpu: using MSI.
[drm] amdgpu: irq initialized.
Can't find requested voltage id in vdd_dep_on_sclk table!
amdgpu: powerplay initialized
amdgpu 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000080000008, cpu addr 0xffff880425497008
[drm] [FeatureOverride_overriden feature] Overridden FEATURE_ENABLE_GPU_SCALING is enabled now
fbcon: amdgpudrmfb (fb0) is primary device
amdgpu 0000:01:00.0: fb0: amdgpudrmfb frame buffer device
[drm] Initialized amdgpu 3.2.0 20150101 for 0000:01:00.0 on minor 0
Run Code Online (Sandbox Code Playgroud)
引用自http://www.phoronix.com/scan.php?page=article&item=amd-gpu-pro&num=1
\n\n\n\n\n起初我尝试使用 Ubuntu 16.04 日常系统及其打包的 Xenial 内核。然而,即使这个打包的 AMDGPU 二进制驱动程序使用 DKMS,该内核驱动程序代码与 Linux 4.4 的兼容性仍然存在问题。由于Linux 4.4的DRM内核接口发生一些变化,构建DKMS模块失败。正如 Bridgman 在论坛中指出的那样,AMD 应该会尽快修复此问题,但目前,简单的修复方法只需在 Ubuntu 16.04 机器上安装 Linux 4.2
\n
我没有尝试简单的解决方案,但我在当天早些时候发现了困难的解决方案,它对我来说没有任何问题。
\n\n\n\n\n但是,如果您尝试此操作,我建议您在尝试此操作之前备份您的系统。
\n
Ubuntu GNOME 上的 AMDGPU-PRO 的问题是 COGL 无法正确编译。
\n\n有一个补丁文件:
\n\n由 Ashley Sommer 修复 AMDGPU-PRO 驱动程序的 COGL。\n https://gist.github.com/ashleysommer/25118d366bf8c1608f3b1a64bc52d4e5
\n\n --- a/cogl/driver/gl/gl/cogl-driver-gl.c\n +++ b/cogl/driver/gl/gl/cogl-driver-gl.c\n @@ -403,9 +403,13 @@\n &ctx->glsl_minor);\n }\n\n - if (COGL_CHECK_GL_VERSION (ctx->glsl_major, ctx->glsl_minor, 1, 2))\n - /* We want to use version 120 if it is available so that the\n - * gl_PointCoord can be used. */\n + if (COGL_CHECK_GL_VERSION (ctx->glsl_major, ctx->glsl_minor, 1, 5))\n + ctx->glsl_version_to_use = 150;\n + else if (COGL_CHECK_GL_VERSION (ctx->glsl_major, ctx->glsl_minor, 1, 4))\n + ctx->glsl_version_to_use = 140; \n + else if (COGL_CHECK_GL_VERSION (ctx->glsl_major, ctx->glsl_minor, 1, 3))\n + ctx->glsl_version_to_use = 130; \n + else if (COGL_CHECK_GL_VERSION (ctx->glsl_major, ctx->glsl_minor, 1, 2))\n ctx->glsl_version_to_use = 120;\n else\n ctx->glsl_version_to_use = 110;\nRun Code Online (Sandbox Code Playgroud)\n\n用户illwieckz提供了有关如何应用修复程序的指南:
\n\n\n\n要做的事情:
\n\n\n\n\n您必须重建
\nlibcogl20软件包。由于我无法成功重建cogl软件包,因此我只是替换了libcogl.so二进制文件本身。
sudo apt-get build-dep cogl\nRun Code Online (Sandbox Code Playgroud)\n\n如果你得到:E: Unable to find a source package for cogl
sudo gedit /etc/apt/sources.list\nRun Code Online (Sandbox Code Playgroud)\n\n并将其添加到文件末尾:
\n\n # COGL\n deb-src ftp://ftp.de.debian.org/debian/ stable main contrib\nRun Code Online (Sandbox Code Playgroud)\n\n下一个:
\n\n sudo apt-get update && sudo apt-get build-dep cogl\nRun Code Online (Sandbox Code Playgroud)\n\n安装构建所需的几个软件包cogl:
sudo apt-get install devscripts libcogl-gst-dev\nRun Code Online (Sandbox Code Playgroud)\n\n然后继续:
\n\n The following commands I executed from the home directory,\n because of permission errors and `command is not found`\n errors I was getting.\nRun Code Online (Sandbox Code Playgroud)\n\n apt-get source cogl\n cd cogl-1.22.0\n wget -O /tmp/cogl.patch https://gist.githubusercontent.com/ashleysommer/25118d366bf8c1608f3b1a64bc52d4e5/raw/e35e535e7ea9684538a63fe6ea0eb2709b1813f1/cogl_driver_gl_gl_cogl-driver-gl.c\n patch -p1 < /tmp/cogl.patch\n dpkg-source --commit\n debuild -us -uc -j$(nproc)\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n\n如果构建成功结束,您只需使用或安装生成的
\nlibcogl20deb 文件(在父目录中):gdebidpkg
sudo dpkg -i libcogl20_1.22.0-2_amd64.deb\nRun Code Online (Sandbox Code Playgroud)\n\n如果它对你来说失败了,就像对我来说失败了一样,那么还有另一个选择,你可以像我一样做。
\n\n因为就我而言,构建在一些不必要的部分失败了,但是修补后的库构建得很好,我只是手动替换了二进制文件:
\n\n代码:
\n\n sudo cp -a debian/tmp/usr/lib/x86_64-linux-gnu/libcogl.so.20.4.1 /usr/lib/x86_64-linux-gnu/libcogl.so.20.4.1\nRun Code Online (Sandbox Code Playgroud)\n\n桌面冻结了几秒钟。
\n\n\n\n\n由于我覆盖了来自某个包的文件,因此我将该包标记为 \xe2\x80\x9chold\xe2\x80\x9d 以确保将来的更新不会覆盖它,最好保留它如果您成功构建了软件包,出于同样的原因。
\n
代码:
\n\nsudo apt-mark hold libcogl20
\n\n\n如果你想恢复脏东西,你只需要做:
\n
代码:
\n\n sudo apt-mark unhold libcogl20\n sudo apt-get install --reinstall libcogl20\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n\n专业提示,您可以使用 debsums 工具(来自 debsums 软件包)来检查您是否正在从软件包运行 libcogl.so 或像我一样快速而肮脏的修补程序:
\n
代码:
\n\n debsums -s libcogl20\n debsums: changed file /usr/lib/x86_64-linux-gnu/libcogl.so.20.4.1 (from libcogl20:amd64 package)\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n\n如果您成功构建了软件包并以 dpkg 方式安装了它,debsums 不会抱怨。
\n
Setting up amdgpu-pro (16.30.3-315407) ...\n\nSetting up amdgpu-pro-dkms (16.30.3-315407) ...\n\nLoading new amdgpu-pro-16.30.3-315407 DKMS files...\n\nFirst Installation: checking all kernels...\n\nBuilding for 4.4.0-36-generic and 4.8.0-rc5\n\nBuilding for architecture x86_64\n\nBuilding initial module for 4.4.0-36-generic\n\nDone.\n\n\namdgpu:\n\nRunning module version sanity check.\n\n- Original module\n\n- Installation\n\n- Installing to /lib/modules/4.4.0-36-generic/updates/dkms/\n\n\ndepmod....\n\n\nDKMS: install completed.\n\nBuilding initial module for 4.8.0-rc5\n\nERROR: Cannot create report: [Errno 17] File exists:\n \'/var/crash/amdgpu-pro-dkms.0.crash\'\n\nError! Bad return status for module build on kernel: 4.8.0-rc5 (x86_64)\nConsult /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/make.log for more information.\n\nupdate-initramfs: deferring update (trigger activated)\n\nSetting up amdgpu-pro-lib32:i386 (16.30.3-315407) ...\n\nProcessing triggers for libc-bin (2.23-0ubuntu3) ...\n\nProcessing triggers for initramfs-tools (0.122ubuntu8.1) ...\n\nupdate-initramfs: Generating /boot/initrd.img-4.8.0-rc5\n\nWarning: Not updating LILO; /etc/lilo.conf not found!\nRun Code Online (Sandbox Code Playgroud)\n\n2016 年 10 月 9 日更新:\n 使用 RX 480。
\n\n\n\n内核安装成功 4.4.0-36-generic,
但内核模块构建4.8.0-rc5失败。
确保您有:sudo apt-mark hold libcogl20
此命令可防止用较新的版本gnome package updater替换已编译的版本libgogl20。
它还会阻止安装其他软件包,因为某些软件包依赖于更新版本cogl等。
我们只需要等待官方修复此问题,在此之前这是让驱动程序amdgpu-pro正常工作的好方法Ubuntu Gnome 16.04。
| 归档时间: |
|
| 查看次数: |
34618 次 |
| 最近记录: |