Bonjour à tous,
J'ai installé Stretch (Gnome + Wayland) sur mon portable Asus K73T et, pour préserver la batterie (et mes oreilles - à cause des ventilateurs qui se mettent en route à intervalles réguliers), je cherche à désactiver la seconde carte graphique.
lspci -nnk | grep -i vga -A3
00:01.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] BeaverCreek [Radeon HD 6520G] [1002:9647]
Subsystem: ASUSTeK Computer Inc. BeaverCreek [Radeon HD 6520G] [1043:108c]
Kernel driver in use: radeon
Kernel modules: radeon
--
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] [1002:6741]
Subsystem: ASUSTeK Computer Inc. Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] [1043:108c]
Kernel driver in use: radeon
Kernel modules: radeon
J'ai farfouillé un peu partout sur le net et à priori il n'y a que deux méthodes pour y arriver.
La première consiste à faire
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
La seconde fait appel à acpi_call
modprobe acpi_call
/usr/share/doc/acpi-call-dkms/examples/turn_off_gpu.sh
Dans les deux cas, ça semble fonctionner, puisque qu'après l'exécution de la commande, je me retrouve avec ça :
lspci -nnk | grep -i vga -A3
00:01.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] BeaverCreek [Radeon HD 6520G] [1002:9647]
Subsystem: ASUSTeK Computer Inc. BeaverCreek [Radeon HD 6520G] [1043:108c]
Kernel driver in use: radeon
Kernel modules: radeon
Par contre, ça semble planter quelque chose :
[ 104.699985] radeon: switched off
[ 105.520969] [drm] radeon: finishing device.
[ 105.528692] radeon 0000:01:00.0: ffff92c94889dc00 unpin not necessary
[ 105.530561] [drm] radeon: ttm finalized
[ 105.530567] vga_switcheroo: disabled
[ 105.588741] ------------[ cut here ]------------
[ 105.588754] WARNING: CPU: 0 PID: 113 at /build/linux-me40Ry/linux-4.9.30/fs/sysfs/group.c:237 device_del+0x54/0x260
[ 105.588756] sysfs group 'power' not found for kobject 'acpi_video1'
[ 105.588757] Modules linked in: fuse bnep ctr ccm binfmt_misc uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev media amdkfd radeon asus_nb_wmi ath3k arc4 asus_wmi ath9k sparse_keymap ath9k_common ath9k_hw evdev btusb ath btrtl mac80211 btbcm btintel kvm_amd bluetooth kvm joydev snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec_hdmi snd_hda_intel snd_hda_codec serio_raw snd_hda_core cfg80211 snd_hwdep snd_pcm snd_timer rfkill pcspkr ttm snd drm_kms_helper irqbypass soundcore drm k10temp sg wmi sp5100_tco shpchp i2c_algo_bit ac battery acpi_cpufreq video button parport_pc ppdev lp parport ip_tables x_tables autofs4 ext4 crc16 jbd2 crc32c_generic fscrypto ecb glue_helper lrw gf128mul ablk_helper cryptd aes_x86_64 mbcache sr_mod cdrom sd_mod ohci_pci i2c_piix4
[ 105.588855] psmouse ahci libahci xhci_pci xhci_hcd sdhci_pci sdhci ehci_pci ohci_hcd libata ehci_hcd mmc_core usbcore scsi_mod r8169 usb_common mii thermal
[ 105.588881] CPU: 0 PID: 113 Comm: kworker/u8:2 Not tainted 4.9.0-3-amd64 #1 Debian 4.9.30-2+deb9u3
[ 105.588883] Hardware name: ASUSTeK Computer Inc. K73TA/K73TA, BIOS 214 04/06/2012
[ 105.588889] Workqueue: kacpi_hotplug acpi_hotplug_work_fn
[ 105.588893] 0000000000000000 ffffffff94528574 ffffa423809b3bb8 0000000000000000
[ 105.588899] ffffffff94276ebe ffff92c946d2f898 ffffa423809b3c10 ffff92c949f290a0
[ 105.588904] ffff92c9459749c0 ffff92c9459749f0 0000000000000000 ffffffff94276f3f
[ 105.588909] Call Trace:
[ 105.588918] [<ffffffff94528574>] ? dump_stack+0x5c/0x78
[ 105.588924] [<ffffffff94276ebe>] ? __warn+0xbe/0xe0
[ 105.588929] [<ffffffff94276f3f>] ? warn_slowpath_fmt+0x5f/0x80
[ 105.588934] [<ffffffff94670a74>] ? device_del+0x54/0x260
[ 105.588940] [<ffffffff94803cce>] ? down_write+0xe/0x40
[ 105.588945] [<ffffffff94670c96>] ? device_unregister+0x16/0x60
[ 105.588953] [<ffffffffc051fd0a>] ? acpi_video_bus_unregister_backlight.part.13+0x5a/0x110 [video]
[ 105.588959] [<ffffffffc051f870>] ? brightness_switch_event.part.10+0x30/0x30 [video]
[ 105.588964] [<ffffffffc052034d>] ? acpi_video_bus_remove+0xed/0x100 [video]
[ 105.588969] [<ffffffff945b7d8a>] ? acpi_device_remove+0x5a/0xa0
[ 105.588975] [<ffffffff94674f8a>] ? __device_release_driver+0x9a/0x150
[ 105.588980] [<ffffffff9467505e>] ? device_release_driver+0x1e/0x30
[ 105.588984] [<ffffffff945b8e07>] ? acpi_bus_trim+0x87/0x90
[ 105.588988] [<ffffffff9458f202>] ? disable_slot+0x72/0x90
[ 105.588992] [<ffffffff9458f946>] ? acpiphp_check_bridge.part.8+0x116/0x150
[ 105.588995] [<ffffffff945901f1>] ? acpiphp_hotplug_notify+0x151/0x220
[ 105.588998] [<ffffffff945900a0>] ? free_bridge+0x110/0x110
[ 105.589003] [<ffffffff945bae87>] ? acpi_device_hotplug+0x97/0x4b0
[ 105.589007] [<ffffffff945b2bea>] ? acpi_hotplug_work_fn+0x1a/0x30
[ 105.589011] [<ffffffff94290384>] ? process_one_work+0x184/0x410
[ 105.589014] [<ffffffff9429065d>] ? worker_thread+0x4d/0x480
[ 105.589018] [<ffffffff94290610>] ? process_one_work+0x410/0x410
[ 105.589022] [<ffffffff942965d7>] ? kthread+0xd7/0xf0
[ 105.589027] [<ffffffff94296500>] ? kthread_park+0x60/0x60
[ 105.589032] [<ffffffff948064f5>] ? ret_from_fork+0x25/0x30
[ 105.589035] ---[ end trace 2c19e7ba1819f97f ]---
Y'aurait-y pas un moyen un peu plus propre de faire ça ?
Je sais que dans Gnome 3.24, il y aura ce qu'il faut pour gérer ça, mais faut attendre la sortie de Buster pour ça...