Jump to content

QHD Monitor @ 1920x1080 HiDPI


uglyJoe
 Share

31 posts in this topic

Recommended Posts

Hi,
my new Dell U2515H is connected via DisplayPort to a Intel HD4600.
I like this monitor very much but with the native resolution of 2560x1440 pixel system-font looks really small.
So I activated HiDPI from the terminal:

sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true

but with the "1280x720 HiDPI" resolution the screen is to small :(

After a long search I found a solution - display overrides.

For this I put an override-file 'DisplayProductID-d06f' with the code below to
/System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-10ac/DisplayProductID-d06f

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>DisplayProductName</key>
  <string>Dell U2515H (HiDPI)</string>
  <key>DisplayVendorID</key>
  <integer>4268</integer>
  <key>DisplayProductID</key>
  <integer>53359</integer>
  <key>scale-resolutions</key>
  <array>
    <data>AAAPAAAACHAAAAAB</data> <!-- 3840x2160 to get 1920x1080 HiDPI -->
    <data>AAAMgAAABwgAAAAB</data> <!-- 3200x1800 to get 1600x900 HiDPI -->
    <data>AAALQAAABlQAAAAB</data> <!-- 2880x1620 to get 1440x810 HiDPI -->
  </array>
</dict>
</plist>
 

The Monitor use another ProductID if it's connected to HDMI.
Therefore I need another override file. To verify the ProductID, I use this from terminal:

ioreg -l -w0 -d0 -r -c AppleDisplay | grep ID | grep -v IO

This override has a patched EDID to support RGB color mode with HDMI (see http://embdev.net/topic/284710 for more info)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>DisplayProductName</key>
  <string>Dell U2515H (HiDPI + RGB)</string>
  <key>IODisplayEDID</key>
    <data>AP///////wAQrG/QTEE0MCkZAQSlNx94JkRVqVVNnSYPUFSlSwCzANEAcU+p
QIGAd4ABAQEBVl4AoKCgKVAwIDUAKTchAAAaAAAA/wBYWFhYWFhYWFhYWFgK
AAAA/ABERUxMIFUyNTE1SAogAAAA/QA4Vh5xHgEKICAgICAgAKM=</data>
  <key>DisplayVendorID</key>
  <integer>4268</integer>
  <key>DisplayProductID</key>
  <integer>53360</integer>
  <key>scale-resolutions</key>
    <array>
    <data>AAAPAAAACHAAAAAB</data> <!-- 3840x2160 to get 1920x1080 HiDPI -->
    <data>AAAMgAAABwgAAAAB</data> <!-- 3200x1800 to get 1600x900 HiDPI -->
    <data>AAALQAAABlQAAAAB</data> <!-- 2880x1620 to get 1440x810 HiDPI -->
  </array>
</dict>
</plist>

Reboot and done :)
 

For easy resolution switching I wrote a command-line tool based on RetinaDisplayMenu.
I put SetDisplayResolution to /usr/local/bin and use Karabiner to create the keyboard shortcuts.
From my private.xml

    <vkopenurldef>
        <name>KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_2560x1440</name>
        <url type="shell">/usr/local/bin/SetDisplayResolution -w 2560 -h 1440 -s 1</url>
    </vkopenurldef>
    <vkopenurldef>
        <name>KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1920x1080_HiDpi</name>
        <url type="shell">/usr/local/bin/SetDisplayResolution -w 1920 -h 1080 -s 2</url>
    </vkopenurldef>
    <vkopenurldef>
        <name>KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1600x900_HiDpi</name>
        <url type="shell">/usr/local/bin/SetDisplayResolution -w 1600 -h 900 -s 2</url>
    </vkopenurldef>
    <vkopenurldef>
        <name>KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1440x810_HiDpi</name>
        <url type="shell">/usr/local/bin/SetDisplayResolution -w 1440 -h 810 -s 2</url>
    </vkopenurldef>
    <vkopenurldef>
        <name>KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1280x720_HiDpi</name>
        <url type="shell">/usr/local/bin/SetDisplayResolution -w 1280 -h 720 -s 2</url>
    </vkopenurldef>

    <item>
        <name>Apple Magic Keyboard</name>
        <item>
            <name>BRIGHTNESS_DOWN+COMMAND_L to SetDisplayResolution 2560x1440</name>
            <identifier>apple.magic-keyboard.sdr_2560x1440</identifier>
            <device_only>DeviceVendor::Apple_Bluetooth, DeviceProduct::MAGIC_KEYBOARD</device_only>
            <autogen>__KeyToKey__ KeyCode::BRIGHTNESS_DOWN, ModifierFlag::COMMAND_L, KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_2560x1440, Option::NOREPEAT</autogen>
        </item>
        
        <item>
            <name>BRIGHTNESS_UP+COMMAND_L to SetDisplayResolution 1920x1080 (HiDPI)</name>
            <identifier>apple.magic-keyboard.sdr_1920x1080_hidpi</identifier>
            <device_only>DeviceVendor::Apple_Bluetooth, DeviceProduct::MAGIC_KEYBOARD</device_only>
            <autogen>__KeyToKey__ KeyCode::BRIGHTNESS_UP, ModifierFlag::COMMAND_L, KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1920x1080_HiDpi, Option::NOREPEAT</autogen>
        </item>
        <item>
            <name>BRIGHTNESS_UP+COMMAND_L to SetDisplayResolution 1600x900 (HiDPI)</name>
            <identifier>apple.magic-keyboard.sdr_1600x900_hidpi</identifier>
            <device_only>DeviceVendor::Apple_Bluetooth, DeviceProduct::MAGIC_KEYBOARD</device_only>
            <autogen>__KeyToKey__ KeyCode::BRIGHTNESS_UP, ModifierFlag::COMMAND_L, KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1600x900_HiDpi, Option::NOREPEAT</autogen>
        </item>
        <item>
            <name>BRIGHTNESS_UP+COMMAND_L to SetDisplayResolution 1440x810 (HiDPI)</name>
            <identifier>apple.magic-keyboard.sdr_1440x810_hidpi</identifier>
            <device_only>DeviceVendor::Apple_Bluetooth, DeviceProduct::MAGIC_KEYBOARD</device_only>
            <autogen>__KeyToKey__ KeyCode::BRIGHTNESS_UP, ModifierFlag::COMMAND_L, KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1440x810_HiDpi, Option::NOREPEAT</autogen>
        </item>
        <item>
            <name>BRIGHTNESS_UP+COMMAND_L to SetDisplayResolution 1280x720 (HiDPI)</name>
            <identifier>apple.magic-keyboard.1280x720</identifier>
            <device_only>DeviceVendor::Apple_Bluetooth, DeviceProduct::MAGIC_KEYBOARD</device_only>
            <autogen>__KeyToKey__ KeyCode::BRIGHTNESS_UP, ModifierFlag::COMMAND_L, KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1280x720_HiDpi, Option::NOREPEAT</autogen>
        </item>

    </item>

Have Fun!

DisplayProductID-d06f.zip

SetDisplayResolution.zip

DisplayProductID-d070.zip

Edited by uglyJoe
  • Like 2
Link to comment
Share on other sites

Change grid layout in launchpad

Number of rows and columns:

defaults write com.apple.dock springboard-rows -int 8
defaults write com.apple.dock springboard-columns -int 7
killall Dock

 
Reset to defaults: 

defaults delete com.apple.dock springboard-rows
defaults delete com.apple.dock springboard-columns
killall Dock
  • Like 1
Link to comment
Share on other sites

Custom Display Icon

 

Edit:

/System/Library/Displays/Contents/Resources/Overrides/Icons.plist

add this to 'vendors' dict:

 

	<key>10ac</key>
	<dict>
		<key>products</key>
		<dict>
			<key>d06f</key>
			<dict>
				<key>display-icon</key>
				<string>/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.dell.u2515h.icns</string>
			</dict>
			<key>d070</key>
			<dict>
				<key>display-icon</key>
				<string>/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.dell.u2515h.icns</string>
			</dict>
		</dict>
		<key>display-icon</key>
		<string>/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.dell.generic-lcd.icns</string>
	</dict>
Download and copy the icons to

/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/

or use your own.

 

Reboot and done :)

dell-incs.zip

  • Like 1
Link to comment
Share on other sites

Dell U2515H via HDMI

 

Problem: YCbCr instead of sRGB color-mode.

May some one wonder if that really matter.

YES! Because the reset from sRGB to YCbCr at boot take responsibility for a gap between first- and second-stage boot-logo.

 

Connected to one of the HDMI ports the Dell returns another EDID as connected to DisplayPort.

This EDID (ver. 1.3) contains a extension block that holds some additional data.

 

From https://en.wikipedia.org/wiki/Extended_Display_Identification_Data#EDID_1.3_data_format

 

 

Byte sequence
00: Extension tag (which kind of extension block this is); 02h for CEA EDID
01: Revision number (Version number); 03h for Version 3
02: Byte number "d" within this block where the 18-byte DTDs begin. If no non-DTD data is present 
    in this extension block, the value should be set to 04h (the byte after next). If set to 00h,
    there are no DTDs present in this block and no non-DTD data.
03: Number of Native DTDs present, other Version 2+ information
     bit 7: 1 if display supports underscan, 0 if not
     bit 6: 1 if display supports basic audio, 0 if not
     bit 5: 1 if display supports YCbCr 4:4:4, 0 if not
     bit 4: 1 if display supports YCbCr 4:2:2, 0 if not
     bit 3..0: total number of native formats in the DTDs included in this block
...
From DarwinDumper's EDID.txt

CEA extension block
Extension version: 3
30 bytes of CEA data
  Video data block
    VIC 16 1920x1080@60Hz 
    VIC 05 1920x1080i@60Hz 
    VIC 04 1280x720@60Hz 
    VIC 03 720x480@60Hz 
    VIC 02 720x480@60Hz 
    VIC 07 1440x480i@60Hz 
    VIC 22 1440x576i@50Hz 
    VIC 01 640x480@60Hz 
    VIC 20 1920x1080i@50Hz 
    VIC 31 1920x1080@50Hz 
    VIC 18 720x576@50Hz 
    VIC 19 1280x720@50Hz 
    VIC 32 1920x1080@24Hz 
    VIC 33 1920x1080@25Hz 
    VIC 34 1920x1080@30Hz 
  Audio data block
    Linear PCM, max channels 1
    Supported sample rates (kHz): 48 44.1 32
    Supported sample sizes (bits): 24 20 16
  Speaker allocation data block
  Vendor-specific data block, OUI 000c03 (HDMI)
    Source physical address 1.0.0.0
Underscans PC formats by default
Basic audio support
Supports YCbCr 4:4:4
Supports YCbCr 4:2:2
1 native detailed modes
Detailed mode: Clock 148.500 MHz, 553 mm x 311 mm
               1920 2008 2052 2200 hborder 0
               1080 1082 1087 1125 vborder 0
               +hsync +vsync 
Detailed mode: Clock 74.250 MHz, 553 mm x 311 mm
               1920 2008 2052 2200 hborder 0
                540  542  547  562 vborder 0
               +hsync +vsync interlaced 
Detailed mode: Clock 74.250 MHz, 553 mm x 311 mm
               1280 1390 1430 1650 hborder 0
                720  725  730  750 vborder 0
               +hsync +vsync 
Detailed mode: Clock 27.000 MHz, 553 mm x 311 mm
                720  736  798  858 hborder 0
                480  489  495  525 vborder 0
               -hsync -vsync 
Detailed mode: Clock 162.000 MHz, 553 mm x 311 mm
               2048 2074 2154 2250 hborder 0
               1152 1153 1156 1200 vborder 0
               +hsync +vsync 
Checksum: 0xed (valid)

Supports YCbCr 4:4:4

Supports YCbCr 4:2:2

To disable this, Byte 3 -> bit 4+5 have to be 0

 

The original script (patch-edid.rb) removes the hole extension block and we lose the additional video-modes.

I rewrote the script so that it only change theses two bits and recalculate the checksum for the extension block.

 

#!/usr/bin/ruby
# Create display override file to force Mac OS X to use RGB mode for Display
# see http://embdev.net/topic/284710
# 
# Update 2013-06-24: added -w0 option to prevent truncated lines

#
# Update 2016-01-17: Removing YCrCb support from extension block instead of the hole block
#                    Setting the ProductName to Dell U2515H (HiDPI+)
#                    Added scale-resolutions
#                    Command line argument for edid.hex (use DarwinDumper to get own)
# see http://www.insanelymac.com/forum/topic/310345-qhd-monitor-1920x1080-hidpi/#entry2207446


# Usage: Open Terminal and enter "ruby patch-edid.rb" or "ruby patch-edid.rb /path/to/edid.hex"
# This should give you an override file for your display.

require 'base64'

data=`ioreg -l -w0 -d0 -r -c AppleDisplay`
productname="Dell U2515H (HiDPI+)"

# command line arguments
if ARGV.length > 0
    puts "Reading hex file from arguments."
    edid_hex=File.read(ARGV[0])
else
    edid_hex=data.match(/IODisplayEDID.*?<([a-z0-9]+)>/i)[1]
end

vendorid=data.match(/DisplayVendorID.*?([0-9]+)/i)[1].to_i
productid=data.match(/DisplayProductID.*?([0-9]+)/i)[1].to_i

puts "Found display: VendorId #{vendorid}, ProductId #{productid}, EDID:\n#{edid_hex}"

bytes=edid_hex.scan(/../).map{|x|Integer("0x#{x}")}.flatten

puts "Number of extension blocks: #{bytes[126]}"
puts "Removing YCrCb support from extension block"
bytes[131] &= ~(1 << 5);
bytes[131] &= ~(1 << 4);

bytes[255] = (0x100-(bytes[128..254].reduce(:+) % 256)) % 256 ## Checksum. Sum of all 128 bytes should equal 0 (mod 256).
puts 
puts "Recalculated checksum: 0x%x" % bytes[255]
puts "New EDID:\n#{bytes.map{|b|"%02X"%b}.join}"

Dir.mkdir("DisplayVendorID-%x" % vendorid) rescue nil
f = File.open("DisplayVendorID-%x/DisplayProductID-%x" % [vendorid, productid], 'w')
f.write '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">'
f.write "
<dict>
  <key>DisplayProductName</key>
  <string>#{productname}</string>
  <key>IODisplayEDID</key>
  <data>#{Base64.encode64(bytes.pack('C*'))}</data>
  <key>DisplayVendorID</key>
  <integer>#{vendorid}</integer>
  <key>DisplayProductID</key>
  <integer>#{productid}</integer>
  <key>scale-resolutions</key>
  <array>
    <data>AAAPAAAACHAAAAAB</data> <!-- 3840x2160 to get 1920x1080 HiDPI -->
    <data>AAAMgAAABwgAAAAB</data> <!-- 3200x1800 to get 1600x900 HiDPI -->
    <data>AAALQAAABlQAAAAB</data> <!-- 2880x1620 to get 1440x810 HiDPI -->
  </array>
</dict>
</plist>"
f.close

 

Have Fun!

patch-edid.rb.zip

  • Like 2
Link to comment
Share on other sites

  • 1 month later...

 

Hi,

my new Dell U2515H is connected via DisplayPort to a Intel HD4600.

I like this monitor very much but with the native resolution of 2560x1440 pixel system-font looks really small.

So I activated HiDPI from the terminal:

sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true

but with the "1280x720 HiDPI" resolution the screen is to small :(

 

After a long search I found a solution - display overrides.

 

For this I put an override-file 'DisplayProductID-d06f' with the code below to

/System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-10ac/DisplayProductID-d06f

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>DisplayProductName</key>
  <string>Dell U2515H (HiDPI)</string>
  <key>DisplayVendorID</key>
  <integer>4268</integer>
  <key>DisplayProductID</key>
  <integer>53359</integer>
  <key>scale-resolutions</key>
  <array>
    <data>AAAPAAAACHAAAAAB</data> <!-- 3840x2160 to get 1920x1080 HiDPI -->
    <data>AAAMgAAABwgAAAAB</data> <!-- 3200x1800 to get 1600x900 HiDPI -->
    <data>AAALQAAABlQAAAAB</data> <!-- 2880x1620 to get 1440x810 HiDPI -->
  </array>
</dict>
</plist>
 

The Monitor use another ProductID if it's connected to HDMI.

Therefore I need another override file. To verify the ProductID, I use this from terminal:

ioreg -l -w0 -d0 -r -c AppleDisplay | grep ID | grep -v IO

This override has a patched EDID to support RGB color mode with HDMI (see http://embdev.net/topic/284710 for more info)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>DisplayProductName</key>
  <string>Dell U2515H (HiDPI + RGB)</string>
  <key>IODisplayEDID</key>
    <data>AP///////wAQrG/QTEE0MCkZAQSlNx94JkRVqVVNnSYPUFSlSwCzANEAcU+p
QIGAd4ABAQEBVl4AoKCgKVAwIDUAKTchAAAaAAAA/wBYWFhYWFhYWFhYWFgK
AAAA/ABERUxMIFUyNTE1SAogAAAA/QA4Vh5xHgEKICAgICAgAKM=</data>
  <key>DisplayVendorID</key>
  <integer>4268</integer>
  <key>DisplayProductID</key>
  <integer>53360</integer>
  <key>scale-resolutions</key>
    <array>
    <data>AAAPAAAACHAAAAAB</data> <!-- 3840x2160 to get 1920x1080 HiDPI -->
    <data>AAAMgAAABwgAAAAB</data> <!-- 3200x1800 to get 1600x900 HiDPI -->
    <data>AAALQAAABlQAAAAB</data> <!-- 2880x1620 to get 1440x810 HiDPI -->
  </array>
</dict>
</plist>

Reboot and done :)

 

For easy resolution switching I wrote a command-line tool based on RetinaDisplayMenu.

I put SetDisplayResolution to /usr/local/bin and use Karabiner to create the keyboard shortcuts.

From my private.xml

    <vkopenurldef>
        <name>KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_2560x1440</name>
        <url type="shell">/usr/local/bin/SetDisplayResolution -w 2560 -h 1440 -s 1</url>
    </vkopenurldef>
    <vkopenurldef>
        <name>KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1920x1080_HiDpi</name>
        <url type="shell">/usr/local/bin/SetDisplayResolution -w 1920 -h 1080 -s 2</url>
    </vkopenurldef>
    <vkopenurldef>
        <name>KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1600x900_HiDpi</name>
        <url type="shell">/usr/local/bin/SetDisplayResolution -w 1600 -h 900 -s 2</url>
    </vkopenurldef>
    <vkopenurldef>
        <name>KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1440x810_HiDpi</name>
        <url type="shell">/usr/local/bin/SetDisplayResolution -w 1440 -h 810 -s 2</url>
    </vkopenurldef>
    <vkopenurldef>
        <name>KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1280x720_HiDpi</name>
        <url type="shell">/usr/local/bin/SetDisplayResolution -w 1280 -h 720 -s 2</url>
    </vkopenurldef>

    <item>
        <name>Apple Magic Keyboard</name>
        <item>
            <name>BRIGHTNESS_DOWN+COMMAND_L to SetDisplayResolution 2560x1440</name>
            <identifier>apple.magic-keyboard.sdr_2560x1440</identifier>
            <device_only>DeviceVendor::Apple_Bluetooth, DeviceProduct::MAGIC_KEYBOARD</device_only>
            <autogen>__KeyToKey__ KeyCode::BRIGHTNESS_DOWN, ModifierFlag::COMMAND_L, KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_2560x1440, Option::NOREPEAT</autogen>
        </item>
        
        <item>
            <name>BRIGHTNESS_UP+COMMAND_L to SetDisplayResolution 1920x1080 (HiDPI)</name>
            <identifier>apple.magic-keyboard.sdr_1920x1080_hidpi</identifier>
            <device_only>DeviceVendor::Apple_Bluetooth, DeviceProduct::MAGIC_KEYBOARD</device_only>
            <autogen>__KeyToKey__ KeyCode::BRIGHTNESS_UP, ModifierFlag::COMMAND_L, KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1920x1080_HiDpi, Option::NOREPEAT</autogen>
        </item>
        <item>
            <name>BRIGHTNESS_UP+COMMAND_L to SetDisplayResolution 1600x900 (HiDPI)</name>
            <identifier>apple.magic-keyboard.sdr_1600x900_hidpi</identifier>
            <device_only>DeviceVendor::Apple_Bluetooth, DeviceProduct::MAGIC_KEYBOARD</device_only>
            <autogen>__KeyToKey__ KeyCode::BRIGHTNESS_UP, ModifierFlag::COMMAND_L, KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1600x900_HiDpi, Option::NOREPEAT</autogen>
        </item>
        <item>
            <name>BRIGHTNESS_UP+COMMAND_L to SetDisplayResolution 1440x810 (HiDPI)</name>
            <identifier>apple.magic-keyboard.sdr_1440x810_hidpi</identifier>
            <device_only>DeviceVendor::Apple_Bluetooth, DeviceProduct::MAGIC_KEYBOARD</device_only>
            <autogen>__KeyToKey__ KeyCode::BRIGHTNESS_UP, ModifierFlag::COMMAND_L, KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1440x810_HiDpi, Option::NOREPEAT</autogen>
        </item>
        <item>
            <name>BRIGHTNESS_UP+COMMAND_L to SetDisplayResolution 1280x720 (HiDPI)</name>
            <identifier>apple.magic-keyboard.1280x720</identifier>
            <device_only>DeviceVendor::Apple_Bluetooth, DeviceProduct::MAGIC_KEYBOARD</device_only>
            <autogen>__KeyToKey__ KeyCode::BRIGHTNESS_UP, ModifierFlag::COMMAND_L, KeyCode::VK_OPEN_URL_SHELL_SetDisplayResolution_1280x720_HiDpi, Option::NOREPEAT</autogen>
        </item>

    </item>

Have Fun!

Hi @uglyJoe thanks you for your post.

 

I have my dell u2515h connected with DisplayPort  (first port) and my mac show it at native resolution 2560x 1440 but the font result too small  :(

 

so i have follow your instruction:

1) disable csrutil from recovery

2) cd to "/System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-10ac/"

3) create file "DisplayProductID-d06f" with your code.

 

but reboot and nothing...

 

so I launch commad in console "ioreg -l -w0 -d0 -r -c AppleDisplay | grep ID | grep -v IO" and result the follow:

"DisplayProductID" = 53358

"DisplayVendorID" = 4268

 

and inside "/System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-10ac/" i have the following file: (except previous create DisplayProductID-d06f, that doesn'ty exists)

DisplayProductID-4093 

DisplayProductID-40b6.mtdd

DisplayProductID-409c 

 

so have you any ideas? 

 

Thanks a lot !

Link to comment
Share on other sites

Hi,

DisplayProductID from ioreg comes in decimal (53358) but you need the hexadecimal value (d06e) for the file name.

'DisplayProductID-d06e' should fit your needs.

 

Ok i've done, and I created the resolution 3840 x 2160 ... but still don't see the hidpi ones :S

here a screen

 

conf_actuly.jpg

 

As you see my title now is SwitchresX - etc.. but don't worry I have just uninstall it !

 

Thanks you in advance

 

Elia

Link to comment
Share on other sites

Hi guys.
 
I'm connected with the IGPU and HDMI port, and I can't boost my resolution to native 2560x1440 with this Dell U2515H. All I can get is a maximum of 2048x1152.Any idea why? I do get native resolution in Windows 10, if that makes any difference.

Link to comment
Share on other sites

Hi,

 

maybe the framebuffer uses a wrong connector-type.

Verify with IOReq - search for 'Framebuffer'. HDMI should have a connector-type of <00 08 00 00>

I think we might be on the right track here.

 

My connector-type is set to <00 04 00 00>. Now, how do I change it?

Link to comment
Share on other sites

 

device-properties

<key>@xxx,connector-type</key>
<string>0x00000800</string>

 

Thank you so much! :)

 

In the meantime, I went with toleda's clover patches (plist patches should I say). And I got full native resolution!!!! YAAY!!

 

Now I just need to fix that awful screen garble for the second stage boot. I know I've seen a fix for it somewhere. Any clue?

 

So basically OS X expects DP and I'm giving it HDMI. That's why it doesn't work, right? Well, I might go all the way and buy a new graphics card, with DP. Then everything should be ok.

Link to comment
Share on other sites

...

 

Now I just need to fix that awful screen garble for the second stage boot. I know I've seen a fix for it somewhere. Any clue?

 

So basically OS X expects DP and I'm giving it HDMI. That's why it doesn't work, right? Well, I might go all the way and buy a new graphics card, with DP. Then everything should be ok.

From my experience, there is no guaranty that this will work with a external card.

OS X is not excepting any special. That differs from model to model and the used framebuffer.

With my old monitor, I got a seamless boot on DVI...

 

Did you try the RGB override patch above?

If you have a DVI2HDMI adaptor lying around, give it a try ...

Last but not least, you can patch the port order for your framebuffer but this is another story (and thread).

May it works or even not ;)

Link to comment
Share on other sites

From my experience, there is no guaranty that this will work with a external card.

OS X is not excepting any special. That differs from model to model and the used framebuffer.

With my old monitor, I got a seamless boot on DVI...

 

Did you try the RGB override patch above?

If you have a DVI2HDMI adaptor lying around, give it a try ...

Last but not least, you can patch the port order for your framebuffer but this is another story (and thread).

May it works or even not ;)

I did try the RGB patch above. I didn't see anything different...But maybe I did something wrong. Or didn't do something. I don't know. I still have that gap between the first and the second stage boot, with the second stage logo being scrambled all over the screen. But I'm gonna try to patch it tonight and see if it works after that.

 

I don't have a DVI2HDMI adapter. I do have cable. And it doesn't work. Because, for as far as I know, it needs to be actually a convertor. Not just a simple cable.

 

Not sure what you mean patching the port order for the framebuffer. I already used some patches from Toleda to trick it into thinking I'm connected via DP. And that fixed the resolution issue I mentioned above. But I didn't know that patching the Framebuffer can also be used to fix the screen garble issue.... Can it? Cause, right now, I've got only two issues left to fix: the screen garble, which I already know how to fix, and the gap between the two boot stages. Which, I'm not sure will be fixed as well with that patch. Maybe not. But I'll let you know.

 

Also, about the card...right now, I've got a GTX 650 which, for as far as I know, it's officially supported, doesn't need any dedicated Nvidia drivers (works OOB) and it worked perfectly fine until I got this monitor. So, I'm thinking maybe if I get another supported card (another GTX, for example the GTX 950 from MSI or Gigabyte; not sure they are supported or not, but I'll check for sure) maybe everything will work properly, AND I'll be able to use the included DP->MiniDP cable that Dell provides with this monitor.

 

As for the gap, if the patch was supposed to fix it, well, so far, it didn't. If you want and if you think there is a way if it has been correctly applied, please, let me know, and I'll provide the info you need to check if everything went ok, or not.

Link to comment
Share on other sites

Hi Elia,

did you scroll to the bottom of the list?

If yes, try pressing the option key while toggle to scaled resolutions

or use SetDisplayResolution (posted above) to verify your custom resolution.

 

Bye

 Hi there isn't any HIDPI.... :(

 

when i lunch your script response errror to set rsolution..

 

 I have osx 10.11.3 maybe is this the problem ?

Link to comment
Share on other sites

Hi arsradu,
 
the little patch above is only one step to a seamless boot. If your monitor is running in YCbCr instead of sRGB you never will get it because of the framebuffer reset.

You can check the current color-mode with the monitor's OSD.

 

For DVI <> HDMI a simple adaptor is sweet enough, but it has to be fully wired.

 

Yes - you can add, remove, reorder or what ever with the ports of the framebuffer, it may help or even not.

I think it dosen't matter where you fix the chain, but if only one link is broken, OS X has to reset the framebuffer at boot...


Hi there isn't any HIDPI.... :(
 
when i lunch your script response errror to set rsolution..
 
 I have osx 10.11.3 maybe is this the problem ?

 
Hi, I am on 10.11.3 too.
Please remove any overrides and do a reboot.
Than create a new override by using patch-edid.rb (see above) and install it to /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-10ac
Now reboot again ...
Link to comment
Share on other sites

Hi arsradu,

 

the little patch above is only one step to a seamless boot. If your monitor is running in YCbCr instead of sRGB you never will get it because of the framebuffer reset.

You can check the current color-mode with the monitor's OSD.

 

For DVI <> HDMI a simple adaptor is sweet enough, but it has to be fully wired.

 

Yes - you can add, remove, reorder or what ever with the ports of the framebuffer, it may help or even not.

I think it dosen't matter where you fix the chain, but if only one link is broken, OS X has to reset the framebuffer at boot...

 

Hi Joe,

 

Are you sure the gap between first and second stage boot is because of that switch from RGB to YCbCr? Cause in my case, it was pretty much always set to RGB in the OSD (I already set my monitor when I got it, to RGB) and still got that black frame when switching from first stage to second stage boot. I'm not saying it's not that. I'm just saying, in my case, it was set to RGB ever since I got the monitor.

 

So, you're saying, even with the monitor set to RGB, OS X still switches to YCbCr? And...the patch is meant to fix that? Please, correct me if I'm wrong.

Link to comment
Share on other sites

 

Hi arsradu,

 

the little patch above is only one step to a seamless boot. If your monitor is running in YCbCr instead of sRGB you never will get it because of the framebuffer reset.

You can check the current color-mode with the monitor's OSD.

 

For DVI <> HDMI a simple adaptor is sweet enough, but it has to be fully wired.

 

Yes - you can add, remove, reorder or what ever with the ports of the framebuffer, it may help or even not.

I think it dosen't matter where you fix the chain, but if only one link is broken, OS X has to reset the framebuffer at boot...

 

Hi, I am on 10.11.3 too.

Please remove any overrides and do a reboot.

Than create a new override by using patch-edid.rb (see above) and install it to /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-10ac

Now reboot again ...

 

 

Hi Joe, 

Thanks you for your support... but don't work :( 

I've done all as you tell me, but dont work :( 

In my case don't see the HiDPI support

 

here a video with the result

 

thanks in advance !

 

Elia

Link to comment
Share on other sites

I follow up more test and this is the result:

I connect my monitor with thundebolt /display port

 

the 16:10 hidpi resolution work... (with black line)

the 16:9 hidpi resolution don't work... (720p HiDPI don't show)

 

when i try to force 1080 HiDPI (with witchResX) the osx console says:

 

CGXCompleteDisplayConfiguration: Monitor 4304241; Mode -1569958512 not available

 

any advice?

 

Thanks you !

 

p.s same problem !

http://apple.stackexchange.com/questions/204769/hidpi-on-external-monitor-dell-u2515h-with-macbook-pro?rq=1

 

so I think is a bug with my MBP mid 2014 internal video card ( iris pro ) I hope there is a fix in the future version of osx :(

Link to comment
Share on other sites

Hi Joe,

 

Are you sure the gap between first and second stage boot is because of that switch from RGB to YCbCr? Cause in my case, it was pretty much always set to RGB in the OSD (I already set my monitor when I got it, to RGB) and still got that black frame when switching from first stage to second stage boot. I'm not saying it's not that. I'm just saying, in my case, it was set to RGB ever since I got the monitor.

 

So, you're saying, even with the monitor set to RGB, OS X still switches to YCbCr? And...the patch is meant to fix that? Please, correct me if I'm wrong.

Hi, the switch from YCbCr to sRGB is is one, but not the only reason for the gap at boot.

The Dell reports by EDID, that it supports YCbCr and sRGB for the HDMI ports. In my case, OS X than uses YCbCr. 

For the DP port only sRGB is supported and used by OS X.

 

The patch simply removes YCbCr support from the EDID, so OS X has to use sRGB with the HDMI ports, too.

 

The actual color mode is reported in system-information.

 

Bye

I follow up more test and this is the result:

I connect my monitor with thundebolt /display port

 

the 16:10 hidpi resolution work... (with black line)

the 16:9 hidpi resolution don't work... (720p HiDPI don't show)

 

when i try to force 1080 HiDPI (with witchResX) the osx console says:

 

CGXCompleteDisplayConfiguration: Monitor 4304241; Mode -1569958512 not available

 

any advice?

 

Thanks you !

 

p.s same problem !

http://apple.stackexchange.com/questions/204769/hidpi-on-external-monitor-dell-u2515h-with-macbook-pro?rq=1

 

so I think is a bug with my MBP mid 2014 internal video card ( iris pro ) I hope there is a fix in the future version of osx :(

 

Hi, did you tried  a custom override with some 16:10 resolutions? May it works that way...

 

Good luck!

Link to comment
Share on other sites

Hi, the switch from YCbCr to sRGB is is one, but not the only reason for the gap at boot.

The Dell reports by EDID, that it supports YCbCr and sRGB for the HDMI ports. In my case, OS X than uses YCbCr. 

For the DP port only sRGB is supported and used by OS X.

 

The patch simply removes YCbCr support from the EDID, so OS X has to use sRGB with the HDMI ports, too.

 

The actual color mode is reported in system-information.

 

Bye

 

Hi, did you tried  a custom override with some 16:10 resolutions? May it works that way...

 

Good luck!

mmm no... but if I swith to 16:10 resolution i see black line :(

Link to comment
Share on other sites

 Share

×
×
  • Create New...