Condividi tramite


Supporto dell'output di visualizzazione e degli eventi ACPI

Un approccio completo alla configurazione del sistema e al controllo dell'alimentazione del dispositivo è integrato in Windows, in base alla specifica ACPI (Advanced Configuration and Power Interface). Windows supporta funzionalità che possono essere usate dai driver per gestire la configurazione e la potenza dei dispositivi di output di visualizzazione. Per ulteriori informazioni, consultare la specifica ACPI disponibile sul sito Web ACPI.

Requisiti BIOS per supportare i dispositivi di output di visualizzazione

Il driver miniport di visualizzazione o i metodi ACPI esposti dal BIOS di sistema supportano la configurazione dei dispositivi di output di visualizzazione. La funzione DxgkDdiNotifyAcpiEvent viene chiamata per notificare al driver miniport di visualizzazione gli eventi ACPI. Ad esempio, quando l'utente preme la scorciatoia da tastiera per il cambio del dispositivo di output, viene chiamata la funzione DxgkDdiNotifyAcpiEvent con la notifica ACPI_NOTIFY_CYCLE_DISPLAY_HOTKEY e un tipo di richiesta DXGK_ACPI_CHANGE_DISPLAY_MODE. Di conseguenza, il sistema operativo chiama la funzione DxgkDdiRecommendFunctionalVidPn per eseguire una query sul dispositivo di output di visualizzazione selezionato.

Gli alias seguenti per l'output di visualizzazione ACPI sono definiti in Dispmprt.h:

  • ACPI_METHOD_DISPLAY_DOD: enumera tutti i dispositivi collegati alla scheda di visualizzazione. Questo metodo è obbligatorio se il controller integrato supporta il cambio di dispositivi di output. Si tratta del nome alias per il metodo DOD_ definito dalla specifica ACPI.
  • ACPI_METHOD_DISPLAY_DOS - Indica che il firmware di sistema è in grado di cambiare automaticamente l'uscita video attiva. Si tratta del nome alias per il metodo SOD_ definito dalla specifica ACPI. Di seguito sono riportati i parametri consentiti:
    • ACPI_ARG_ENABLE_SWITCH_EVENT. Indica che il firmware di sistema non deve cambiare automaticamente il dispositivo attivo di output video. Deve invece salvare la modifica desiderata nelle variabili di stato associate a ogni dispositivo di output di visualizzazione e generare un evento switch di visualizzazione. Il sistema operativo può eseguire una query sullo stato attivo di un dispositivo chiamando il metodo ACPI_METHOD_OUTPUT_DGS.
    • ACPI_ARG_ENABLE_AUTO_SWITCH. Indica che il firmware di sistema deve cambiare automaticamente il dispositivo di output di visualizzazione attivo senza interagire con il sistema operativo. Non genera un evento di cambio di visualizzazione.
    • ACPI_ARG_DISABLE_SWITCH_EVENT. Indica che il firmware di sistema non deve eseguire alcuna azione; ovvero, né cambiare il dispositivo di output né notificare al sistema operativo. I valori restituiti dal metodo ACPI_METHOD_OUTPUT_DGS sono bloccati.
  • ACPI_METHOD_OUTPUT_DCS: restituisce lo stato di un dispositivo di output di visualizzazione. Si tratta del nome alias per il metodo CSD_ definito dalla specifica ACPI.
  • ACPI_METHOD_OUTPUT_DGS : controlla se lo stato di un dispositivo di output di visualizzazione è attivo. Si tratta del nome alias per il metodo SGD_ definito dalla specifica ACPI.
  • ACPI_METHOD_OUTPUT_DSS: imposta lo stato di un dispositivo di output di visualizzazione su attivo o inattivo. Si tratta del nome alias per il metodo SSD_ definito dalla specifica ACPI. Il sistema operativo gestisce questa azione per evitare sfarfallio.
  • ACPI_METHOD_DISPLAY_GPD : esegue una query sulla voce CMOS per determinare quale dispositivo video viene visualizzato all'avvio del sistema. Si tratta del nome alias per il metodo DPG_ definito dalla specifica ACPI.
  • ACPI_METHOD_DISPLAY_SPD - Aggiorna la voce CMOS che determina quale dispositivo video viene pubblicato in fase di avvio. Si tratta del nome alias per il metodo DPS_ definito dalla specifica ACPI.
  • ACPI_METHOD_DISPLAY_VPO: determina le opzioni video implementate. Si tratta del nome alias per il metodo OPV_ definito dalla specifica ACPI.

Eventi asincroni esterni

Il sistema operativo deve ricevere una notifica sugli eventi esterni e asincroni che influiscono sui dispositivi di output di visualizzazione. Le notifiche e i tipi di richiesta correlati seguenti sono definiti in Dispmprt.h e usati nella funzione DxgkDdiNotifyAcpiEvent .

  • ACPI_NOTIFY_CYCLE_DISPLAY_HOTKEY : notifica al sistema operativo che l'utente ha premuto il tasto di scelta rapida per la visualizzazione del ciclo.
  • ACPI_NOTIFY_NEXT_DISPLAY_HOTKEY - notifica al sistema operativo che l'utente ha premuto la scorciatoia da tastiera per il prossimo display.
  • ACPI_NOTIFY_PREV_DISPLAY_HOTKEY : notifica al sistema operativo che l'utente ha premuto la scelta rapida da tastiera di visualizzazione precedente.

Nota Le notifiche precedenti dipendono dalla gestione dell'evento causato dall'utente quando si preme i tasti di scelta rapida.

Di seguito sono riportati i tipi di richieste che il driver miniport di visualizzazione può effettuare al sistema operativo.

  • DXGK_ACPI_CHANGE_DISPLAY_MODE: richiede di avviare una modifica della modalità alla nuova rete di presentazione video attiva (VidPN) consigliata.
  • DXGK_ACPI_POLL_DISPLAY_CHILDREN: richiede di eseguire il polling della connettività degli elementi figlio della scheda di visualizzazione.

Nota Le richieste precedenti sono i valori del parametro AcpiFlags restituito dalla funzione DxgkDdiNotifyAcpiEvent .

Supporto dei controlli luminosità nei pannelli di visualizzazione integrati