Video Acceleration with Mojave

Discussion in 'macOS Mojave (10.14)' started by octoviaa, Dec 4, 2018.

  1. octoviaa macrumors newbie

    Joined:
    Oct 19, 2013
    #1
    Hi all,

    It seems I'm not able to play video using Hardware Acceleration (GPU) with VLC and mpv.
    I know VLC is not using hardware acceleration because when I play the video 'vtdecoderxpcservice' is not active in the Activity Monitor.

    MPV has error:
    [vd] Requesting pixfmt 'videotoolbox_vld' from decoder.
    [ffmpeg/video] h264: Failed setup for format videotoolbox_vld: hwaccel initialisation returned error.

    I also tried playing video in youtube and only using safari I can see 'vtdecoderxpcservice' is being used.
    Chrome will not trigger the 'vtdecoderxpcservice'.

    Anyone have similar issue?
    Currently my system:
    Mac Pro 5,1 GTX 680, Mojave 10.14.1
     
  2. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #2
    Apple intentionally block all GPU hardware decoding on the Mac Pro 5,1. You won't get it.

    The only hardware decoding (on Mac Pro 5,1, in macOS) can work is H265 decode via Polaris / Vega GPU. But only works in 10.14.0. Apple remove that in 10.14.1
     
  3. DesterWallaboo macrumors 6502a

    DesterWallaboo

    Joined:
    Sep 7, 2003
    Location:
    Western USA
    #3
    There are no video drivers for Mojave for Nvidia cards.... yet. Normally you can download Mac Nvidia drivers straight off of the Nvidia site, but they haven't released any for Mojave as of yet. You have zero acceleration under Mojave with an Nvidia card until Nvidia releases new ones and you install it.

    I'd definitely roll back to High Sierra.
     
  4. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #4
    GTX680 is natively supported in Mojave, driver included.
     
  5. DesterWallaboo macrumors 6502a

    DesterWallaboo

    Joined:
    Sep 7, 2003
    Location:
    Western USA
    #5
    Only the most basic functionality works in Mojave. There is no acceleration. You can read all about this issue on the TonyMacx86.com site. It persists not only with Macs but with Hackintoshes as well.
     
  6. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #6
    Apple said GTX680 is supported, and it is supported. Try it yourself.

    https://support.apple.com/en-hk/HT208898

    Screenshot 2018-12-06 at 15.45.01.png
     
  7. octoviaa thread starter macrumors newbie

    Joined:
    Oct 19, 2013
    #7
    Agree, this is why it puzzled me why there is no video acceleration in Mojave and only applicable to '3rd' party apps, while Safari can utilise the GPU for the acceleration.


    Thought I do think the Apple driver might not be as complete as Nvidia, but video acceleration do work under Safari, it just that VLC, Chrome, mpv they all failed to initialise the video acceleration.

    Luckily the CPU usage without acceleration is nothing alarming for my case it is just around 3-4% CPU usage, however it is 'disturbing' as with W10 using VLC my CPU is hovering around 1% while GPU is being utilise to accelerate the video
     
  8. DesterWallaboo macrumors 6502a

    DesterWallaboo

    Joined:
    Sep 7, 2003
    Location:
    Western USA
  9. h9826790, Dec 6, 2018
    Last edited: Dec 6, 2018

    h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #9
    Mac Edition or not doesn't really matter.

    All GTX680 has the same Device ID, which means all use the same kext (driver) in macOS, which means the GPU is natively supported in Mojave.

    Also, his GTX680 is flashed. So practically, it behave the same as the Mac Edition card. However, apart from providing boot screen, flash or not won't affect the GPU's functionality / performance inside macOS. Mac EFI UGA only works until driver take over. Once the kexts are loaded, Mac Edition or not has absolutely no difference.
    --- Post Merged, Dec 6, 2018 ---
    In fact, the very 1st thing in my mind when I see this thread is "who care?", because the CPU can do the same job with low pressure anyway).

    But few seconds later, I remember that some slower CPU cannot decode high bitrate 4k H264 video smoothly. So, it does matter, especially you are still using the E5620.

    But you are right, the Apple driver is not that complete. Because you can't use CUDA with Apple driver. Web driver is a requirement to utilise CUDA. However, that won't do anything to video acceleration.

    I consulted Nvidia before according to this issue. They confirmed that there is no such function (video acceleration) provided in macOS, and also no plan to provide such function in macOS in any foreseeable future. They said they already pass my request (provide GPU hardware encoding / decoding) to the development team. However, at this moment, Apple don't even allow the web driver to be released in Mojave. I don't think this function will be available in short future.
     
  10. octoviaa thread starter macrumors newbie

    Joined:
    Oct 19, 2013
    #10
    You're correct, it would be more troubling for 4K.
    So sad there won't be any video acceleration in Mac and it is quite 'troubling' when common usage such as video playing is not being optimised in Mac compare to Windows (What happened APPLE?)

    Just curious though, will AMD card works better or maybe HighSierra with web driver?

    Unfortunately I don't have spare disk right now, otherwise I would install HighSierra to find out video acceleration works with web driver.

    @DesterWallaboo, as stated by h9826790, my GTX680 is flashed.
     
  11. DesterWallaboo macrumors 6502a

    DesterWallaboo

    Joined:
    Sep 7, 2003
    Location:
    Western USA
    #11
    AMD cards perform natively out of the box with full acceleration.
     
  12. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #12
    Same as GTX680. It work natively out of the box with METAL, OpenCL, OpenGL...... everything Apple provided to AMD GPU. Only CUDA need web driver, which AMD cards do not have, even web driver is installed.

    Depends on your work flow, if you can utilise CUDA, then go back to HS with web driver definitely help.

    But if not, then doesn't really matter, HS or Mojave should be more or less the same. But my experience so far, Mojave is smoother. Most likely due to Metal vs OpenCL / OpenGL. CPU single thread performance is quite weak on the cMP, by using Metal to reduce CPU overhead, your GPU can perform better usually.

    But if your main workflow is FCPX, than AMD card is definitely better. My RX580 can easily kill my 1080Ti in FCP due to the software itself is highly optimised for AMD architecture.
     
  13. octoviaa thread starter macrumors newbie

    Joined:
    Oct 19, 2013
    #13
    Thanks, since I’m not using CUDA and FCPX it seems Mojave and GTX 680 is just fine then.

    I should stop worrying about video acceleration then.

    I’ll be tinkering with ram disk to cache log, if you happened to know a good tips please kindly share. My purpose aside from speed is to reduce SSD wear (I’ve disable atime).

    Currently I’m mounting var/log library/logs and ~/library/logs to RAM disk.

    Again thanks for all the help really appreciate it.
     
  14. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #14
    If you have TRIM enabled, that amount of log / cache is virtually nothing to a modern SSD.

    For normal usage, a SSD can easily last for 20 years. By that time, you should able to easily get another one for much lower cost with much higher performance / capacity.

    AFAIK, Mojave changed some cache location, which makes some RAM drive software use RAM disk for cache at this moment. (e.g. iRamdisk). But your manual way should work.

    I tried RAM disk cache before, can't feel the difference in speed. The data that OS required to load are stored in the RAM anyway, until run out of RAM, those "cache" are always there. I just check my memory usage, 12GB cache files is there. Let the system to decide which data can stay in the RAM usual provide better performance.
    Screenshot 2018-12-08 at 03.03.45.png

    So, unless you can clearly feel the difference in your workflow, there is no need to use RAM disk cache to reduce SSD wear.
     
  15. octoviaa thread starter macrumors newbie

    Joined:
    Oct 19, 2013
    #15
    Yes, I did the TRIM force so it is enabled in my WD Blue.

    I think you're pretty much correct, the endurance of the modern SSD should be good at least for normal usage.
    I just check my 500GB WD blue, it is rated at 200TB so if I write 10GB per day it will last me > 50 years (oh dear)

    as doing RAM disk for endurance is quite a moot reason, I'll try to see whether there is a performance different I can feel when compiling codes using IntelliJ with RAM disk, if no diff then I should just forget RAM disk at the moment.

    BTW You definitely use quite some RAM at ~30GB app memory :) though the RAM pressure seems low, I think it is because 12GB RAM is used as cached only, hence it is still available when required.

    Just curious, did you use 3 channel (16 x 3) for your RAM?
    I'm using 8G x 6 + 4G x 2, due to the 4G x 2, I'm not using 3 channel, wonder if you ever use 2 channel and notice any slowness with your system compared with 3 channel.

    Thanks a lot.
     
  16. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #16
    Your memory still running at triple channel. All slot 1,2,5,6 has its own channel. Slot 3,4 share a single channel, slot 7,8 share the remaining channel. It is IMPOSSIBLE to fall back to dual channel when you use all 8 slots. That’s a completely wrong interpretation.

    Anyway, my CPU doesn’t support 4x16GB, therefore, yes, I am running 3x16GB, co-incidentally optimised for triple channel. But if I can use 4x16GB, I will use that and forget about the “optimisation” thing, that provides zero benefit for absolutely most of usage.
     
  17. octoviaa thread starter macrumors newbie

    Joined:
    Oct 19, 2013
    #17
    So some slot share a channel but then it doesn’t mean will revert to dual channel :)
    Thank you for the correction.
     

Share This Page