Prova a utilizzare RDM per impostare quello che ti piace e il suo free / oss, quindi id lo consiglia. Puoi anche dare un'occhiata a QuickRes che può (probabilmente) fare lo stesso, ma non è gratuito. C'è anche SwitchResX puoi provare se ha qualcosa di cui potresti aver bisogno.
Aggiornamento: ho trovato anche questo qui chiamato risolutore e c'è un util brew di cui mi sono completamente dimenticato in botte cscreen , puoi provare ad installarlo con brew brew cask install cscreen
e poi, ad esempio:
cscreen -d 32 -x 1420 -y 1080 -s b42e7f0 -r 59 -f
Puoi anche provare questo essenza: link
Dopo aver pensato al tuo problema sembra essere in EDID. Inoltre, qual è la tua GPU nel MBP e cosa succede se cambi l'opzione overscan in pref?
Ho dimenticato che per applicare questa patch è necessario disabilitare la protezione dell'integrità del sistema di Apple con csrutil disable
dalla modalità di salvataggio e poi nuovamente in macOS e (re) applicare lo script da gist eseguendolo con ruby: cd ~/Downloads; sudo ruby patch-edid.rb
(presupponendo che download sia la cartella in cui l'hai salvato), quindi riavvia di nuovo.
Per riattivare la protezione dell'integrità del sistema devi csrutil enable
dal terminale in modalità Rescue e riavviare, quindi controlla csrutil status
se funziona di nuovo.
Quindi ... il modo in cui proverei a risolvere il tuo problema sarebbe:
- controlla le opzioni di risoluzione personalizzate in una delle app sopra,
- imposta una risoluzione personalizzata che non include la parte danneggiata dello schermo
- applica la risoluzione personalizzata.
-
se l'applicazione non è fattibile tramite le preferenze di sistema personalizzate:
iniettare EDID personalizzato tramite trifoglio durante l'avvio.
- assicurandoti che questa soluzione sia persistente dopo il riavvio
Aggiornamento 07/01/2017
Dopo alcuni scavi di base, ci sono le impostazioni native nei file .plist di default di macOS che descrivono le proprietà dello schermo. Non l'ho ancora provato, ma ci sono alcune impostazioni interessanti che descrivono le schermate, snippet:
UnmirroredOriginX = 1920;
UnmirroredOriginY = 0;
UnmirroredResolution = 1;
UnmirroredWidth = 1920;
Width = 1920;
Modificando quelli puoi impostare nuovi default di sistema senza troppa hacking di sistema e (forse) macOS dovrebbe applicarli a logout / reboot
Ricorda , devi disabilitare SIP (vedi sopra), altrimenti macOS non ti lascerà scrivere cambiamenti anche quando usi sudo
Ottieni i valori predefiniti di Window Server plist (elenco delle proprietà)
sudo defaults read /Library/Preferences/com.apple.windowserver.plist
Dopo questo, defaults
elencherà qualcosa di simile a questo:
{
DisplayAnyUserSets = (
(
{
Active = 1;
Depth = 4;
DisplayID = XXX;
DisplayProductID = XXX;
DisplaySerialNumber = XXX;
DisplayVendorID = XXX;
ForceDeepMode = 0;
Height = 1080;
IOFlags = 34603015;
LimitsHeight = 1080;
LimitsOriginX = 0;
LimitsOriginY = 0;
LimitsWidth = 1920;
MirrorID = 0;
Mirrored = 0;
Mode = {
BitsPerPixel = 32;
BitsPerSample = 8;
DepthFormat = 4;
Height = 1080;
IODisplayModeID = "-2147459072";
IOFlags = 34603015;
Mode = 0;
PixelEncoding = "--------RRRRRRRRGGGGGGGGBBBBBBBB";
RefreshRate = 60;
SamplesPerPixel = 3;
UsableForDesktopGUI = 1;
.....
La lettura è possibile senza sudo
anche se non sono sicuro di come (e se) utente / amministratore NS differisca, ma l'elenco inizia con DisplayAnyUserSets
.
Per coerenza usa sudo
per le operazioni di lettura / scrittura.
Per modificare un singolo nodo:
sudo defaults write /Library/Preferences/com.apple.windowserver.plist dot.path.PropertyName -int XXXX
-int
è il tipo, può essere float
, bool
, int
o ... [vedi documenti].
XXXX
è un numero (intero in questo caso).
È fondamentalmente un documento XML che descrive le proprietà, prima di cambiarle però - assicurati di eseguirne il backup, quelle non sono Default utente ma Impostazioni predefinite del sistema. Leggi la documentazione per i dettagli- man defaults
.
Modifica un singolo nodo, esci, vedi se qualcosa cambia, se non- riavvia.
Ancora niente? Modifica 3 nodi, disconnetti / riavvia di nuovo e speriamo di vedere un cambiamento. Prova a modificare le note di Orgin / Width / Height di conseguenza per saltare l'area danneggiata.
Inoltre, aggiungi un account Admin aggiuntivo nel caso in cui qualcosa vada storto, così puoi accedere con diversi set predefiniti di default (bella dicitura heh, o.O)