[Updated - Turtorial] Non 2x Custom Hidpi Mode on Macs - Fixed mouse delay problem

Discussion in 'macOS' started by cenconq, Apr 10, 2013.

  1. cenconq, Apr 10, 2013
    Last edited: Apr 16, 2013

    cenconq macrumors newbie

    Joined:
    Apr 9, 2013
    Location:
    Canberra, Australia
    #1
    Updated: It would be highly appreciated if you can share your Mac model, monitor model and max Hidpi setting in this thread. I will then tidy that up and put it into a table~ cheers

    I think someone may already figured out how to do a custom Hidpi mode on Mac (this solution works for most of the Macs) but I will still share it to you guys just in case if anybody may need that.

    Here is the screenshot on a 2013 27" iMac

    [​IMG]


    So to do that we need the following softwares
    - SwitchResX

    After installation, you then click System Preferences > Other > SwitchResX > select your Mac / Monitor from the right column -> Custom Resolution > and click + button to add a new resolution.

    Now you need to select "Scaled resolution" inside the select option field & enter the resolution inside the scaled to Text field. So lets say if you want a 1920 x 1080 Hidpi setting, you need to create a custom 3840 x 2160 etc.

    After all, just click save and then restart it, once you restart your mac, you should be able to see the new hidpi setting under display setting. Done ~~ Good Luck :)

    [​IMG]

    Updated:

    If you experienced with mouse delay or lagging problem, please try the following app.

    http://smoothmouse.com
     

    Attached Files:

  2. ncrypt macrumors regular

    Joined:
    May 16, 2012
    Location:
    UK
    #2
    This is excellent! Lets me run my 13" rMBP in full 1920x1200.

    Thank you for sharing :D
     
  3. cenconq thread starter macrumors newbie

    Joined:
    Apr 9, 2013
    Location:
    Canberra, Australia
    #3
    Good idea but do you think the text is too tiny to read
     
  4. ncrypt macrumors regular

    Joined:
    May 16, 2012
    Location:
    UK
    #4
    For me, it seems perfect :D. Anything higher probably would be too small though.
     
  5. lcmazza macrumors regular

    Joined:
    Apr 3, 2012
    #5


    Please, I'm trying to create a custom HiDPI resolution that looks like 1600x900 on a 1920x1080, as this really nice for my 40" TV... I'm using SwitchRes, but I can't create this resolution with HiDPI mode. Do you know how do I do that, if it's even possible to?

    Thanks so much :D
     
  6. cenconq thread starter macrumors newbie

    Joined:
    Apr 9, 2013
    Location:
    Canberra, Australia
    #6
    Instead of creating a HiDPI in SwitchRes, You need to create a 3200 x 1800 (non Hidpi) custom scaled resolution, so that the system will think the monitor comes with 3200 x 1800 pixels instead of 1920 x1080, it will then offer a 1600x900 Hidpi Setting under system Display setting.

    p.s. Remember to save the custom scaled resolution and reboot your Mac :D
     
  7. adnbek macrumors 65816

    adnbek

    Joined:
    Oct 22, 2011
    Location:
    Montreal, Quebec
    #7
    I have a mini 2011 connected to my 1080 monitor through HDMI. I try adding the first resolution exactly as you described but when I reboot I get a "not activated - invalid" message in switchresx. Any idea why?
     

    Attached Files:

  8. lcmazza macrumors regular

    Joined:
    Apr 3, 2012
    #8
    It is not working for me. I can't create Scaled Resolutions at 3200x1800 nor 1600x900. They don't activate after a reboot. I tried to create it only for the external monitor as well as for the Color LCD on the rMBP. Didn't work :(
    It think it is not possible to create new HiDPI resolutions if you don't want to use Apple's standards... This is really annoying. Apple loves to be "that guy" who doesn't let you do some pretty basic stuff with capable hardware.:confused:
     
  9. macman34 macrumors regular

    Joined:
    Apr 13, 2013
    #9
    First of all many kudos to the OP for this thread. I can't figure out how it's not gotten enough replies, since (with a few caveats) it effectively helps solve on of the longest standing problems in OS X, that of non resolution independence. I 'll put the lack of attention down to the general low level of the apple forums these days.

    To the guys having problems, I 've already set this up in a few macs, so guys it should work, just do it again and see if you might be doing something wrong, alternative try posting what you do step by step so we can help you out by spotting where you go wrong.

    Now for the caveats, as far as I understand and correct me if I am wrong:

    a. This might on principle work on every mac, BUT it will considerably degrade performance for any but the latest macs with the best gfx cards and cpu. What we are doing here is taking apple's (rather crude and nasty) hack for resolution independence by tricking the system to draw a twice the size canvas for the retina resolution we are aiming at and going into retina resolution then via system prefs. So as per the lagging and stuttering rmbp models the computation is costly, drawing at extra high dpi, then scaling the whole thing down to the existing screen size. The gfx needs to be able to support such high dpi rendering, and the cpu to be able to handle the computations for the scaling. On almost all macs you are definitely going to see slow frame rates, even on the retina pros the fps don't exceed 30fps, this is not for gamers that's for sure. Even the best gfx cards out there can't run the latest 4k monitors (sharp's for example) flawlessly at 60hz, so going for say a custom 3840 x 2160 via switchresx on the typical mobile gpus apple uses, or even worse the integrated intel *****, will take it's toll.

    b. If I understand this right, the machine needs to have a high enough ppi for it to work, at least what the 27" inch has, if I remember correctly about 109ppi, because if it doesn't you are going to get less than perfect looking font. They are already less than perfect on apple's own implementation in the scaled modes on the retina models, so you can figure out how they are going to be looking in non retina macs. Of course they are not going to be near as bad as just running in a different resolution via system prefs or using the dreadful zoom in "feature".

    Nevertheless this is a great hack via switchresx and again much, much kudos to the op. As far as I know this is the only place on the web showing you how to do that. And one question to the op: I am looking to buy the 27" imac, would you think I should opt for the highest end gfx for it to work you reckon, the NVIDIA GeForce GTX 680MX. What's your gfx and do you notice the system lag at all?
     
  10. lcmazza, Apr 13, 2013
    Last edited: Apr 13, 2013

    lcmazza macrumors regular

    Joined:
    Apr 3, 2012
    #10
    Sorry, I think you got some concepts wrong and maybe the OP too.
    Let me try to explain it a little... ;)

    A resolution of 3800 (whatever) is actually not possible. When you set this resolution, what you actually do is to emulate the "look" of this resolution using the maximum number of pixels you might have in your monitor. Things will look tiny, that's all.

    The problem is that only a bunch of some resolutions (apparently, only the Scaled ones) are allowed to be used by OS X when it boots (after you created them on SwitchResX), because Apple "pre-approved" them. There's some information about this on SwitchResX's manual, although it is not very clear about this, but they do state that many resolutions won't work after you reboot the system, mainly scaled ones.

    The resolutions (scaled and HiDPI) available for all original Mac monitors and also 1080p ones are available with the look of half of the original resolution as "retina mode" or HiDPI. So, you can have a "retina resolution" for 1080p as the equivalent of 1920x1080p in 960x540p, for instance. Also for all of Apple's monitors and computers, with the Retina Macbook Pro with more options, as it is obviously the newest retina mac product.

    The caveat is that you can't actually set other HiDPI modes that Apple hasn't enabled. You apparently can set different resolutions for your monitor if the hardware supports it, but you cannot set different HiDPI (or "retina") modes that are not originally available from Apple. That's why the OP's scaled resolutions which he "created", actually worked... Because they were already available by Apple.

    Correct me if I'm wrong, but that's what I learned from two days with lots of research about the subject and practice too. :D
    Try to set different HiDPI resolutions from the ones available from Apple... It didn't work for me. If it works for you, please send us a screen capture of both the settings and the resulting image. I tried to create a 1600x900 HiDPI mode to correspond with a slightly bigger UI than the original 1920x1080, but OSX does not accept this mode... It only has the 1440x900 HiDPI for 1920x1080 mode, but the sides are cut off, showing black bars... That's why I wanted the same HiDPI mode, but using the additional 160 "virtual pixels" to fill up the 1080p resolution.

    Complicated? Well.. It is :)
     
  11. macman34, Apr 13, 2013
    Last edited: Apr 13, 2013

    macman34 macrumors regular

    Joined:
    Apr 13, 2013
    #11
    I am aware a 3800, whatever, is just an emulation mode so you can have the hidpi modes available for it enabled have them appear in system settings, and use them.

    I see what you mean though about only having access to what apple has set as hidpi modes. Thanks for clarifying this bit, we are all learning from each other here since apple has been less than forthcoming in exposing the backbone of this. So what we can hope for are only the pre-enabled modes in hidpi from apple. Even that though goes a long way in providing some functionality that some of us have been missing, namely a more preferred font size/real estate ratio than the one we might have now, as in the 27" imacs very small font and large real estate which so far the only option was to just enable hidpi at x740 and lower.

    It's just new ground being broken here, there's not even a related thread on superuser and these guys know a thing or two about programming, and all the other threads I 've looked at really deal with just going to quartz debug and enabling some standard half the vertical and horizontal pixel count or less hidpi mode.

    I 'll test what you said too, as soon as I get the chance, but I am quite convinced already that it's the way you say it is.

    There's still something I don't understand, if I go 4k in order to get a pixel doubled 1080p hidpi mode enabled on a 27" imac, how does the system know it's still dealing with a 1440p screen so it can scale it to this size, downscale it that is from the pixel doubled 1080p (4k) to 1440p, as I 've already tricked it to believe it's dealing with a 4k screen instead.

    Where does it store the knowledge that it's a 1440p screen after all to do the right scaling operations, so the sequence goes as follows: render at 4k a pixel doubled 1080p image of the os then scale it to fit 1440p. That's what it does in apple's "proper" implementation on the retina notebooks but there they 've told the os to scale to the native resolution that they know their built in screen has. How does the os "know" what the screens native resolution is if you 've tricked it to thinking it's another one....

    Hmmm.... I guess I 'll answer my own question, in that this knowledge must be inbuilt as it already does just that if you set it to hidpi modes lower than the pixel doubled ones, that is in the 27" imac case not the x720 hidpi one but the x620 (or so) hidpi one, in which case it's upscaling the end result.

    (As an aside, I wonder why apple is not natively allowing for this to take place in say the 27" inch imac that's notorious for its small fonts and users have been complaining about it for some time. The answer I can come up with is that it's not going to be possible on the lower end gpus they use even in the current model and even at the high end it's going to introduce some system lag and lower frame rates in games and the like, and the last thing they want is to have more heat on them due to ui fluidity issues than what they already have in the rmbps.)

    Great thread, let's keep it going!
     
  12. cenconq, Apr 13, 2013
    Last edited: Apr 13, 2013

    cenconq thread starter macrumors newbie

    Joined:
    Apr 9, 2013
    Location:
    Canberra, Australia
    #12
    :D I am using NVIDIA GeForce GTX 680MX on my iMac 27, and since it comes with 2GB DDR5, Both 1920x1080 & 1600x900 Hidpi settings works perfect on this machine~~ you cant see any lagging when you are dragging and moving the windows, all the animations are really smooth~~
     
  13. lcmazza macrumors regular

    Joined:
    Apr 3, 2012
    #13
    The scaling works in two ways: UI elements (bitmap images like logos, icons, buttons, etc) are available in super high resolutions since Lion (with Quartz enabled) and applications that are non-retina-compatible are independently scaled up or down, according to the "virtual resolution", like 3000 pixels or more, for instance, or even 2888 on iMacs and HDTVs.

    But HiDPI mode is used only with pre-approved modes.

    When using HiDPI or scaled up or down modes, the OS always knows the current resolution of the screen and renders the full image accordingly on the chosen resolution (always the maximum monitor resolution). The actual resolution called HiDPI, with numbers, like 1440x900 HiDPI mode is nothing more than a comparison. It has nothing to do with the real resolution. The resolution will always be what your monitor supports and the UI will be scaled up or down depending on the DPI the OS supports and the one that you chose.

    The GPUs available today on even older Macs are all capable of rendering HiDPI modes, but maybe not at 60 frames per second. So this is not a hardware limitation, as the rMBP has a higher resolution screen than even the current iMac with a less powerful GPU and it works great.
    The UI bitmaps are stored in GPU memory, while the scaling process uses the GPU processor.

    I think what Apple is doing by limiting available HiDPI modes for the retina-only Macbook Pro is purely marketing and timing-related. They don't want to promote and support HiDPI on other Macs because it's still a recent product launch, but maybe new DPI modes will be available on the newer OS X 10.9? I don't know, but I do hope so. I really wanted more flexibility, but as we know Apple, they're not this type of company. :(
     
  14. lcmazza macrumors regular

    Joined:
    Apr 3, 2012
    #14
    Hey, could post a picture of the 1600x900 HiDPI mode? I mean, the menu where it is available? thanks :)
     
  15. cenconq thread starter macrumors newbie

    Joined:
    Apr 9, 2013
    Location:
    Canberra, Australia
    #15
    [​IMG]
     

    Attached Files:

  16. adnbek macrumors 65816

    adnbek

    Joined:
    Oct 22, 2011
    Location:
    Montreal, Quebec
    #16
    I emailed the author of switchresx yesterday to try to find out why I couldn't get it to work. He says that while built-in support for higher-than-native scaled resolutions are supported by Nvidia and HD3000-4000 chipsets due to them being on retina MBPs, AMD chipsets (like the one in my Mini) may simply not be supported at the moment unless a retina Mac comes out with AMD parts inside.

    Could this be possible or is there some other reason why I can't get those resolutions to activate?
     
  17. lcmazza macrumors regular

    Joined:
    Apr 3, 2012
    #17
    I think he is right, because the scaling is highly driver-dependent.

    ----------


    Did you create the 1600x900 HiDPI resolution or was it natively available? If you created it, did you just follow the steps you mentioned above?
     
  18. adnbek macrumors 65816

    adnbek

    Joined:
    Oct 22, 2011
    Location:
    Montreal, Quebec
    #18


    Any way to modify the kext to add such support?
     
  19. lcmazza macrumors regular

    Joined:
    Apr 3, 2012
    #19
    I don't think so... It is much more complicated than that. :(
     
  20. lcmazza macrumors regular

    Joined:
    Apr 3, 2012
    #20
    I contacted the developer for SwitchResX and this is his what he says...

     
  21. macman34 macrumors regular

    Joined:
    Apr 13, 2013
    #21
    Stephane sounds like a really nice guy, and it's always very welcome when developers take the time to reply to users. I am going to be saying thanks too with my wallet as soon as my trial runs out.

    I have to point out however that as reported by the op, and he might want to confirm it again, the hack does output pretty sharp font of the 1440p screen of the 27" imac. I can also confirm that I 've run it on a circa 2006 imac with nvidia gforce 7300 gt, on 10.7.5, and despite the hardware struggling to accommodate the hack, the software seems to have no problem whatsoever.
     
  22. lcmazza macrumors regular

    Joined:
    Apr 3, 2012
    #22
    I finally did it! I set up a Scaled resolution, rebooted, activated and then chose it on SwitchResX (3200x1800). Then everything looked really tiny on my external Samsung 1080p monitor with HDMI. Then, while I was still using this resolution, I was able to choose 1600x900 HiDPI mode in the program.

    I had to do a full uninstall of SwitchResX first, deleting the preferences too, following Stephan's instructions:

    Now everything looks crisp and is working perfectly!
    SwitchResX definitely is worth the money!
     
  23. cenconq thread starter macrumors newbie

    Joined:
    Apr 9, 2013
    Location:
    Canberra, Australia
    #23
    Awesome:D, happy to know that~~~
     
  24. macman34 macrumors regular

    Joined:
    Apr 13, 2013
    #24
    Congrats man! I share your excitement. Many kudos to Stephan, his software is worth its code in gold for many of us that are finally getting some resolution independence in OS X. Even if he doesn't know how great it works and he's not marketing it as he probably should have been.

    (Although maybe that's an asset in a way, because who knows, maybe if word got out to more people apple might have banned it in an update, it's the way they work these days: if someone offers a hack with a choice they don't offer, they ban it, then after a while release it as their own implementation. They have much vested interest here too, let's not be naive about it, because if most current macs can do resolution independence and font scaling that gives waaaay much less an incentive for anyone to buy the retina models.)

    This thread is also the only place in the world so far documenting this hack that enables what has been a user demand for more than 15 years in the mac community. I am planning to use the exact same resolution you are using with my 23" 1080 p monitor as soon as I get to my office tomorrow, on a 2011 mac mini. I am very much looking forward to it.
     
  25. adnbek macrumors 65816

    adnbek

    Joined:
    Oct 22, 2011
    Location:
    Montreal, Quebec
    #25
    What kind of Mac do you have?

    ----------

    Wake me up when this finally works on AMD Radeons. :(
     

Share This Page