My Experience with the MacBook Pro 2018 w/ Vega graphics
After exploring the Pixelbook as a development platform, I decided that I need to replace my mid-2014 MBP w/ 16 GB RAM 256 GB SSD and Intel graphics with the new 2018 MBP w/ Touch Bar 32 GB RAM 512 GB SSD and Vega 20 graphics.
I am going to use this post to chronicle the first days of using this machine. I hope that it will help other developers and professionals who may also be looking at the latest MacBook Pro line up. Oh and I’m sure there will be some gaming content in here as well 😁
When I purchased my 2014 MBP, I opted to pass on the Nvidia discrete graphics card. This was based on two primary drivers: heat and usage.
At the time, I had a Dell XPS desktop for gaming. So I didn’t intend to do any graphics heavy tasks on the MBP. I was also upgrading from a Chromebook Pixel 2013 which had a very hot i5 CPU. Thus, I wanted to get a device that I could use on my lap while doing basic web browsing or writing.
Fast forward to 2018, my 2014 MBP is 4.5 years old and well outside of the extended warranty plus my gaming desktop is about to be retired. I’m also in a situation where I anticipate needing to be able to do all of my professional work on a mobile platform for the next few years. This means that something like the attractive 2018 Mac mini won’t work for me.
I watched the early 2018 MBP i9 thermal drama unfold from a distance. I was happy to see that Apple quickly released a patch for this. The resulting benchmarks were acceptable to me. Additionally, as a developer, the burst speed of the i9 processor is valuable to me as it helps to eliminate micro interruptions in my workflow. I don’t really need to run the CPU at max for extended periods of time as is needed for video processing.
I was convinced to go with the Vega 20 after watching a number of videos that covered the benchmarks, thermals, and real world performance. For reference, some of those include:
A brief summary of those videos
The thermals of the i9 w/ Vega 20 seem to be improved over those of the i9 w/ 560X even in pure CPU tasks.
The Vega 20 was able to get 60+ FPS in modern games at medium settings and in slightly older games at high settings.
The previous issues of throttling and stuttering during game play have been resolved (I believe as part of the thermal patch).
The i9 w/ Vega 20 graphics provided a ~20–60+% increase to graphics performance for ~10% increase in cost.
Gaming on Windows 10 in Boot Camp provided an increase of about 10–25 FPS over the same in macOS.
Additionally, I researched peripherals and adapters so that I could work with USB-C effectively. I picked up a USB-C card reader and two Thunderbolt 3 to HDMI adapters. These were used to hook up my two external monitors and, since the MBP has 4 USB-C ports, I’ll also be able to plug in power and a dongle for my external mouse and keyboard. The adapters also came with a discount for a Thunderbolt 3 to VGA adapter which will be useful when presenting at some schools and meetups. I decided to wait on ordering a dock until I was confident the laptop was going to be a keeper. The dock that I have my eye on is the CalDigit Thunderbolt 3 dock w/ 85 W charging.
My new MBP shipped straight from Shanghai. There was a delay of 2 days in Japan and that triggered UPS to push my expected delivery date by 4 days. Thankfully, soon after that it started moving again and was quickly back on track for on time delivery.
When FedEx delivered my new MBP, it was a familiar unboxing experience. I went with silver, partially since I didn’t want a darker color that might absorb more external heat. It’s probably only the smallest possible difference, but it was enough for me 😉
The feel and build was similar to by 2014 MBP, but there were some differences. It felt slightly thinner overall and instead of a light up apple on the top, it’s just a shiny silver apple. 👍🏼
When I opened it up, the giant touchpad really stood out and worried me that it might cause issues while typing. The Touch Bar was there too… and the keyboard…
Thankfully it arrived with macOS Mojave already installed.
I booted it up and wasn’t sure what to expect of the Migration Assistant. The first attempt was with Wi-Fi, but I saw a message that connecting to my old MBP via USB would be faster. So I got the USB-A to USB-C data cable that came with my Pixel XL and plugged that in to each laptop. My old MBP detected it and switched to Peer-to-Peer networking, but the new MBP got stuck at “Switching”.
I had to cancel and restart the process. This time connected via USB from the start. I also had to make sure to overwrite and not duplicate any of the users, or the files (uncheck a box in the Migration Assistant wizard). The migration went smoothly this time. It originally estimated around 3 hours and 45 minutes to complete, but it was done within a couple of hours.
I knew that it was going to try to migrate some apps and settings, but I didn’t have high hopes and expected to install a bunch of apps and tweak a lot of settings after it was done. To my surprise, it basically copied over my entire device to the new device with almost nothing missing other than re-granting security and accessibility permissions! This was really the experience that I was hoping for!
This gives me a lot of confidence that should I have a MBP fail, I can restore to another MBP device from a Time Machine backup and be productive again in just a couple of hours. This is critical to me and my consulting business.
I read a number of articles about installing Windows 10 via Boot Camp and it seemed somewhat straight forward. It was my first time working with Boot Camp though.
I downloaded the 5.08 GB Windows ISO from October 2018. I picked 150 GB for my Windows 10 partition and started it up. After about 30 minutes, it failed to copy the Windows files and started trying to back out the partitions that it had created. This seemed to get stuck, so I had to cancel it and manually clean up the partitions as detailed here.
That same article explained that the issue was Boot Camp’s partitions being FAT32 which support file sizes up to 4 GB. Then it provided a Boot Camp ISO Converter tool to split the ISO into smaller chunks in Boot Camp. I also disabled Time Machine and installed an update to Mojave just to be safe. This worked like a charm for me!
Windows 10 on a Mac was quite disorientating to me initially. Dragging windows with the touchpad didn’t seem to work and tap to click wasn’t enabled. Thankfully I found options in the Boot Camp settings to enable tap to click. It also had an option to change how window dragging worked, but that didn’t seem to help. I just had to figure out that I had to click and drag all with one finger instead of holding a click with one finger and dragging with another finger.
There were some prompts to install drivers, Windows updates that needed to install, virus scanning, and the usual range of other Windows tasks that had to be sorted out. I also went and cleaned up most of the privacy settings, disabled Cortana, and uninstalled as many Windows store apps as possible. Oh but I did install Slack from the Windows store. Then I downloaded and installed Chrome, Firefox, NVDA, Guild Wars 2, and Star Wars, The Old Republic.
Downloading, installing, and patching these games really gave the machine a workout. It flew through most tasks, but this got the fans going and got the CPU load up to around 18% while the Wi-Fi was going as fast as possible (unfortunately, we don’t have Fiber here). Even with all of this load, the palm rest remained a comfortable ~45C while the CPU ramped up to around ~80C. It certainly created a hot spot on my desk and would not have been comfortable on my lap under this kind of load.
That said, while sitting here in macOS with a 30+ open Chrome tabs, Slack open, numerous menu add-ons running, lots of Chrome extensions enabled, and writing this post, the palm rest is at a cool 30C, the GPU is only 35–40C, and the CPU is 38–45C. These temperatures are perfectly comfortable to use on your lap.
The MBP handled this load just fine over a period of about 3–4 hours while ~80GBs of game assets and patches were downloaded. After one of the games finished, and the other was playable, but downloading background updates, I decided to walk away for a bit and shut the lid. Doh! I hadn’t changed the Windows 10 settings for this, and it went to sleep right away. I could tell when the fans cut off about 20 seconds after closing the lid.
I opened it back up and went to change the setting when BSOD! Windows crashed, and the Event Viewer didn’t have much useful information for me. I didn’t see anything related to bridges or T2 chips… After rebooting, I was able to change the setting and get it to keep running after closing the lid.
About 5 hours later, after all the updates and downloads finished, I was installing NVDA when Windows 10 prompted me with a popup about sound issues. Then another BSOD! After rebooting, I was able to install NVDA without any problems. I tested using it for a bit and verified that sound was working in Google Play Music.
Using a Nonda USB-A to USB-C adapter, I was able to work with my U2F security key just fine. This adapter is Thunderbolt 3 compatible and passes data just fine while I have another adapter that only handles charging and doesn’t work with data. Keep this in mind if you are looking into USB-C adapters. I had picked up this attractive Nonda adapter at DevFest Florida 2016 as a speaker’s gift.
Back to macOS
I decided to head back to macOS in order to write up the first day of experiences and to start testing peripherals like my external keyboard, mouse, monitors, and backup drive.
Now I’ve been typing on this keyboard for a few hours now… It’s certainly worse than my 2014 MBP, and it’s much worse than the Pixelbook’s keyboard. Even with the minimal typing required for installing software and entering basic details, it caused me to make a lot more mistakes than usual. I figured that this might just take some getting used to, so I waited until day 2, after writing this post, to provide feedback on the typing.
So the verdict after writing up this post with the MBP 2018 keyboard? I can certainly still type fast! But there are a lot missed keystrokes and mistyped keys, much more than any other typing experience that I’ve had in years. The “new, softer sounding keys” are too loud for my tastes and the “new, softer feel” is also not something that I am happy with.
The arrangement of the up and down arrow keys on the MBP is not something that I like compared to the 2014 model. That said, it hasn’t caused me too much pain, yet.
I don’t know if there is a setting for this or not, but the
caps lock key’s light only seems to work about
20% of the time. I don’t know how, why, or when it decides to work, but I’ve seen it come on. If I click
it a bunch of times here in Medium, the light stays off, but the caps lock mode does enable and disable.
Solved: this turned out to be a bug in Karabiner
that was fixed in their beta a couple months ago and just got fixed in their stable release in February 2019.
In my home office, these keyboard issues won’t be a problem since I’ll be using a trackball and external keyboard. However, I’ve never been a person to carry an external keyboard to co-working spaces. That may need to change. I wonder if there is already a keyboard on Kickstarter that fits over the top of the MBP’s keyboard 🤔
Now before we get into the Touch Bar, I just wanted to be clear, the MBP 2018 keyboard is by far the most underwhelming and disappointing feature of the device.
I am generally happy with the touchpad so far. I’m also happy with the Touch ID sensor. However, I wish that I could use my fingerprint for even more of the admin password prompts.
The Touch Bar experience in Windows 10 was a little confusing. Sometimes the volume up and down virtual
keys would work, sometimes they would not. The
esc key seemed to work.
The Touch Bar experience is unsurprisingly better in macOS. I have enjoyed being able to tap the volume or brightness buttons and then use the slider to find a setting that I was happy with. Some shortcuts in Finder and Chrome are useful, but I haven’t used them much yet.
Slack doesn’t offer anything but the default
esc and brightness / volume / mute / Siri virtual buttons.
The Touch Bar in JetBrains’ WebStorm and IntelliJ IDEA seems quite useful! Here’s what I see when I open a project:
You can see that it offers me a menu to pick from the Run Configurations, then buttons to run, debug, or stop a Configuration. Additionally, it offers to the Git Update and Git Commit buttons.
If you open the Run Configurations menu, you can scroll through the options in the Touch Bar:
In this case, there is a green dot on “Watch Site” because it is currently running. If I exit the menu, I can see that the Run button has changed to Re-run, and the Stop button is enabled:
Even the Git Commit dialog has Touch Bar support. In this case it saves me an extra click by showing “Commit and Push…” in the Touch Bar:
Since I use a Logitech K800 Wireless, back-lit keyboard with a Windows layout for most of my work, I have
the F1-FX keys mapped to actions like volume up/down, mute, etc. Thus, I don’t really make use of these
Function keys when doing development. My primary shortcuts in WebStorm are all configured to use
option , combinations instead.
That means that I’m not really sad to be “missing” the F keys. I also haven’t hit a situation yet where
I needed the
esc key, and it wasn’t there. I’ll certainly be keeping my eye open for that though.
Verdict after 2 days: I’m learning to live happily with the new Touch Bar. Hopefully I don’t like it too much though. There are no external keyboards with Touch Bars yet and getting used to this 2018 MBP keyboard isn’t proving to be easy.
Everything went super smoothly with hooking up two 27" AOC 1080p HDMI monitors, an Anker 10 port USB 3.x Hub, and power. The time it takes to wake and sync the monitors seems to be cut in half compared to my 2014 MBP w/ Intel graphics.
I was a little worried that, with all 4 USB-C ports in use, I would have a problem with using my Titan U2F Security key. That was solved easily by just plugging it into my Anker Hub.
I haven’t had time, or a need to test out my Uni Thunderbolt 3 to VGA Adapter or Anker Thunderbolt 3 SD Card Reader yet.
It’s certainly a pleasure to be using this high speed laptop with my beloved Logitech K800 keyboard and M570 Trackball!
Additional Peripheral Research
I noticed that Logitech released the new MX Ergo Trackball last year. So I put in an order immediately since it was at its lowest price in 4+ months (it’s now about $6 higher than yesterday). I can’t wait to try it out after 5 solid years with two of the M570s.
I also did a lot of research on keyboards in the last 2 weeks. I got some great recommendations for things like the Code keyboard, and the Apple Magic keyboard, however I’m looking for a wireless, back-lit keyboard with a Mac keyboard layout. The Code isn’t wireless. The Magic isn’t back-lit. The K800 has a Windows layout.
I looked at the Macally keyboards, but wasn’t able to find a good fit. However, it sounds like they may be launching something that meets my needs in the next few months.
I got a suggestion for Matias keyboards as well, but there are too many reviews that are very negative on the typing experience.
The best match that I can find seems to be the new Logitech Craft keyboard. However, it’s $199 MSRP (twice that of the K800) stopped me in my tracks. It’s currently $169 on Amazon, but I’m going to try waiting a few more months to see if there are any price dips. One of the biggest complaints with the Craft is the Logitech software support. Hopefully over the next few months, they can squash a few more bugs.
I spent a good deal of time cleaning up my machine today. This meant removing old VirtualBox VMs and uninstalling VirtualBox since I have VMWare Fusion now. While doing that I noticed some old multi-GB docker images, Android Virtual Devices, and some other cached files from NVM, Gradle, Maven, etc that could be cleaned up.
I also noticed that some programs weren’t compatible with Mojave. This wasn’t an issue with the new MBP, as the same needed to be done on my old laptop as well. This just meant downloading and installing updates to things like KeyCastr, Robo 3T, Android File Transfer, Postman, Logitech Camera Settings, Logitech Control Center, etc.
While Git, SSH, GPG, and many other CLI tools were working fine after the migration, there were still
some issues with MacPorts giving some
plist warnings when running
sudo port selfupdate. I followed
the steps in the Install Guide and I was back up and running
(without needing to do the steps in the Migration Guide).
I also spent some time customizing the key mappings when using my external keyboard via Karabiner Elements. While doing this, I noticed that my volume up, volume down, and mute keyboard buttons were working w/o the need to map them to a Function key. Some time ago, this wasn’t working on my 2014 MBP, but I didn’t go back to verify if this still an issue on that device.
Just like I saw with the built-in keyboard, the
caps lock light not coming on while using my
Logitech K800. I tried to enable Karabiner’s option to “manipulate” the Caps Lock LED, but it didn’t help.
**Solved: **this turned out to be a bug in Karabiner
that was fixed in their beta a couple months ago and just got fixed in their stable release in February 2019.
I ran into some confusing behavior in Chrome that seems to be related to the Migration. I went into Sharing Settings to give this new Mac an updated Name. This didn’t seem to help though. Whenever I go into Chrome’s History and look at “tabs from other devices”, I can’t see tabs from my 2014 MBP. It’s like Chrome somehow thinks that the two devices are a single device. I disabled and re-enabled sync on both devices without any luck. I stopped short of completely clearing my sync data, which the forums mentioned may be required.
I also setup Chrome Remote Desktop. After the migration, this meant disabling remote desktop on both MBPs and then re-enabling it with updated names and PINs.
Overall, things are feeling clean and fast now. This “Spring cleaning” cleared up around 20 GB of disk space.
I also watched a nice summary video on this machine from AppleInsider
It looks like some of my keyboard settings didn’t make the migration. I noticed that I wasn’t able to hold
a key to have it repeat. This is especially important with
delete. I found that the “Delay Until Repeat”
setting in Keyboard settings was set too long. I moved it to the second shortest value. Then
started working as expected. So of course I tried it with some other keys like
aaaaaa, but that didn’t
work! Instead, it opened up an accent picker.
This was new to me. An AppleInisider article
helped me understand what was going on. I am happy with the
option shortcut method:
This screenshot is showing that if you want to type
ü then you need to press
option+u and then
Using this same approach but typing
option+u and then
e will give you
ë. Great! This will work
perfectly for me when I need to use different accents (something that I am trying to get better with in
However, I want to repeat keys on long press. To do that, I found this answer which advised running the following in the Terminal to disable the accent picker on long press:
defaults write -g ApplePressAndHoldEnabled -bool false
Then you need to reboot for it to take effect.
I went back to work with a full focus on productivity. This machine blew my mind with its speed 🚀 and general productivity boosts ❤️. I haven’t taken measurements yet (planning on it), but there is a very noticeable improvement in the speed in my every day development and testing tasks.
I decided to dig into the media aspect of this device. I used an Anker USB-C SD Card Reader to pull 25 GB of photos off of my DSLR. Then I proceeded to copy and organize those files before batching uploads to both Google Photos and a Synology NAS. This resulted in driving the network card and CPU quite heavily for many hours in a row. Everything went extremely smoothly.
I’m not an experienced video editor, but I did some work on some small video editing in iMovie. I’ve identified a 2.75 GB video that I plan to do some additional testing with. Other than my own issues learning to use the iMovie user interface, everything here went smoothly as well.
The Logitech MX Ergo Trackball arrived. Pairing it up with the Logitech receiver and installing Logitech Options was simple. The transition from the Logitech M570 Trackball was pretty smooth. After a few hours, most all the minor differences faded away. This even included using the Ergo at the 20 degree tilt. I appreciate the minor amount of extra friction / stepping in both the trackball, and the mouse wheel. The precision mode is very handy, but I forgot to use it earlier when I was editing images in GIMP.