切换到 AMD 独立显卡时出现黑屏

切换到 AMD 独立显卡时出现黑屏

我在一台 HP Pavilion 15 n004TX 上运行 Ubuntu 16.04 和 Windows 7 双启动系统,该电脑配有混合显卡,专用的 AMD 显卡是 Radeon HD 8600M 系列芯片。我遵循指南尝试切换到集成 AMD 显卡。更准确地说,我做了以下事情:

  • 添加modprobe radeon.modeset=1GRUB_CMDLINE_LINUX_DEFAULT字段。
  • 跑步sudo update-grub
  • 重新启动笔记本电脑。
  • 运行sudo bash以以 root 身份使用 bash。
  • 以 root 身份执行echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch
  • 退出后重新登录。

当我退出时,屏幕立即变黑,并一直保持黑色。

我认为一些日志和内容可能会提供一些见解:

  • dmesg | grep vga

    [    0.353271] vgaarb: setting as boot device: PCI:0000:00:02.0
    [   0.353274] vgaarb: device added:  PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
    [    0.353278] vgaarb: loaded
    [    0.353280] vgaarb: bridge control possible 0000:00:02.0
    [    1.404921] vga_switcheroo: detected switching method \_SB_.PCI0.GFX0.ATPX handle
    [    1.407099] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
    [    1.443796] vga_switcheroo: enabled    
    
  • dmesg | grep radeon

    [    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-83-generic root=UUID=36fda289-737c-4df7-a5d3-31cdb1af29fe ro quiet splash modprobe radeon.modeset=1 vt.handoff=7
    [    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-83-generic root=UUID=36fda289-737c-4df7-a5d3-31cdb1af29fe ro quiet splash modprobe radeon.modeset=1 vt.handoff=7
    [    1.404905] [drm] radeon kernel modesetting enabled.
    [    1.413192] radeon 0000:0a:00.0: enabling device (0006 -> 0007)
    [    1.448380] radeon 0000:0a:00.0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used)
    [    1.448382] radeon 0000:0a:00.0: GTT: 2048M 0x0000000040000000 - 0x00000000BFFFFFFF
    [    1.448503] [drm] radeon: 1024M of VRAM memory ready
    [    1.448504] [drm] radeon: 2048M of GTT memory ready.
    [    1.456350] [drm] radeon: dpm initialized
    [    1.460830] radeon 0000:0a:00.0: WB enabled
    [    1.460832] radeon 0000:0a:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff8800349b0c00
    [    1.460834] radeon 0000:0a:00.0: fence driver on ring 1 use gpu addr 0x0000000040000c04 and cpu addr 0xffff8800349b0c04
    [    1.460835] radeon 0000:0a:00.0: fence driver on ring 2 use gpu addr 0x0000000040000c08 and cpu addr 0xffff8800349b0c08
    [    1.460837] radeon 0000:0a:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xffff8800349b0c0c
    [    1.460838] radeon 0000:0a:00.0: fence driver on ring 4 use gpu addr 0x0000000040000c10 and cpu addr 0xffff8800349b0c10
    [    1.460839] radeon 0000:0a:00.0: VCE init error (-22).
    [    1.460843] radeon 0000:0a:00.0: radeon: MSI limited to 32-bit
    [    1.460883] radeon 0000:0a:00.0: radeon: using MSI.
    [    1.460913] [drm] radeon: irq initialized.
    [    1.699412] [drm] Initialized radeon 2.43.0 20080528 for 0000:0a:00.0 on minor 1
    [   13.343929] radeon 0000:0a:00.0: WB enabled
    [   13.343933] radeon 0000:0a:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff8800349b0c00
    [   13.343934] radeon 0000:0a:00.0: fence driver on ring 1 use gpu addr 0x0000000040000c04 and cpu addr 0xffff8800349b0c04
    [   13.343936] radeon 0000:0a:00.0: fence driver on ring 2 use gpu addr 0x0000000040000c08 and cpu addr 0xffff8800349b0c08
    [   13.343937] radeon 0000:0a:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xffff8800349b0c0c
    [   13.343939] radeon 0000:0a:00.0: fence driver on ring 4 use gpu addr 0x0000000040000c10 and cpu addr 0xffff8800349b0c10
    [   13.343941] radeon 0000:0a:00.0: VCE init error (-22).
    [   37.170761] radeon 0000:0a:00.0: WB enabled
    [   37.170766] radeon 0000:0a:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff8800349b0c00
    [   37.170769] radeon 0000:0a:00.0: fence driver on ring 1 use gpu addr 0x0000000040000c04 and cpu addr 0xffff8800349b0c04
    [   37.170771] radeon 0000:0a:00.0: fence driver on ring 2 use gpu addr 0x0000000040000c08 and cpu addr 0xffff8800349b0c08
    [   37.170774] radeon 0000:0a:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xffff8800349b0c0c
    [   37.170776] radeon 0000:0a:00.0: fence driver on ring 4 use gpu addr 0x0000000040000c10 and cpu addr 0xffff8800349b0c10
    [   37.170779] radeon 0000:0a:00.0: VCE init error (-22).
    
  • lspci | grep Display

    0a:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430] (rev ff)
    
  • lspci | grep VGA

    0a:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430] (rev ff)
    
  • glxinfo | grep OpenGL

    OpenGL vendor string: Intel Open Source Technology Center
    OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile 
    OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.2.0
    OpenGL core profile shading language version string: 3.30
    OpenGL core profile context flags: (none)
    OpenGL core profile profile mask: core profile
    OpenGL core profile extensions:
    OpenGL version string: 3.0 Mesa 11.2.0
    OpenGL shading language version string: 1.30
    OpenGL context flags: (none)
    OpenGL extensions:
    OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.2.0
    OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
    OpenGL ES profile extensions:
    

我很乐意提供任何必要的进一步信息。提前感谢您的帮助。

相关内容