Skip to content
This repository has been archived by the owner. It is now read-only.
Lilu plugin that 'fixes' opening JPEGs with Preview and Quicklook on 10.14
Branch: master
Clone or download
Latest commit e7e1d60 Jun 15, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
NoVPAJpeg.xcodeproj Build script: also set compatible Lilu version in build directory Inf… Dec 30, 2018
NoVPAJpeg Show module version in Finder Nov 21, 2018
.gitignore Update readme Dec 11, 2018
LICENSE.md Initial commit Apr 21, 2018
README.md Update readme Jun 15, 2019

README.md

NoVPAJpeg (Deprecated)

NoVPAJpeg.kext is deprecated.

In case its functionality is needed, use WhateverGreen.kext and add the following boot arguments:

shikigva=32 shiki-id=Mac-7BA5B2D9E42DDD94

NoVPAJpeg Lilu plugin: Disables the hardware JPEG decoding feature of the AppleVPA framework that breaks Preview and Quicklook on some systems.

Based (entirely) on NoTouchID by al3xtjames (TheRacerMaster)

Building

Xcode

Set LILU_VERSION in 'User-Defined' target build settings, then build.

Command line

Specify LILU_VERSION when running xcodebuild:

git clone https://github.com/vulgo/NoVPAJpeg.git
cd NoVPAJpeg
xcodebuild -target NoVPAJpeg -configuration Release LILU_VERSION=1.2.8

Configuration

NoVPAJpeg accepts the following boot arguments:

  • -novpaoff disable NoVPAJpeg
  • -novpabeta enable NoVPAJpeg on unsupported macOS versions (10.14 is supported by default)

About

Preview or Quicklook will use the AppleVPA.framework's hardware JPEG decoding feature for Mac models with an IGPU, as enabled by board-id in this file:

/System/Library/PrivateFrameworks/AppleVPA.framework/Versions/A/Resources/Info.plist

If the feature is enabled, AppleVPA.framework looks for the IGPU driver using these exact IORegistry paths, trying both:

  • IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2
  • IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/GFX0@2

The Intel accelerator driver must be found using one of these paths, otherwise Preview or Quicklook will freeze.

For systems where the IGPU is unavailable, NoVPAJpeg introduces a patch for the AppleVPA.framework binary so that it no longer matches 'jpeg' in the above Info.plist, for any Mac model.

Credits

Cyberdevs, arsradu

License

Copyright (C) 2018 Alex James (TheRacerMaster).

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

You can’t perform that action at this time.