-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update documentation, trivial cleanup, change OpenCore prefs #139
Conversation
Thank you! <3 It might take me a while to go through these changes and merge them. |
Thank you 😊, this is a WIP so there are still a few optimizations I'm working on...
|
Things changed - Add adjustable variables in all scripts, make them "any-location launch" ready - Remove "Penryn", inhert host CPU and it's capabilities instead [still shows up as GenuineIntel] - Rearrange arguments to make it easier to read - Add foxlet's passthrough fix for passthrough launch script - Replace e1000-82545em with vmxnet3 in passthrough launch script
Notes: - Patches added for all three OpenCore folders but disabled for Big Sur - The "skip cpuid_cores_per_package test" patches seem to compliment "don't set cpuid_cores_per_package" and "jmp to calculations and set cpuid_cores_per_package" but the first complement causes a crash and with the second one, it refuses to boot altogether. The patches added alone don't seem to fix the odd cores crash issue but I figured it might help so I've added it anyways - Verbose has been enabled by default just to make debugging easier
I've added the expected value, 18809603 as a comment in the plist file just for convenience sake
Changes done: - Added passthrough instructions for AMD - Ensure that VFIO driver loads first (courtesy of https://github.com/intel/nemu/wiki/Testing-VFIO-with-GPU) - Add both initramfs and GRUB bootloader VFIO instructions - Remove VirtualHere and virio-net-osx references - Add 'gtk initialization failed' fix, ScanPolicy fix - Add instructions for attaching a physical block drive - Add basic Ubuntu SSH instructions - Add link to RadeonBoost.kext (improved scores on my system, seems good) Note: Because of changes in previous commits, explicitly specifiying AVX2 is not necessary but specifiying AES-NI for some reason is still necessary, still kept because of inconsistent behaviour
I forgot that they don't have the patches from OpenCore, oops!
Pinging @kholia |
b417e6f
to
5e2fff2
Compare
I have started testing and merging selective changes from this PR into |
@@ -1,32 +1,38 @@ | |||
#!/usr/bin/env bash | |||
|
|||
# See https://www.mail-archive.com/qemu-devel@nongnu.org/msg471657.html thread. | |||
# Special thanks to... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's leave the old files unchanged.
Same goes for other scripts meant for older macOS versions.
@@ -14,41 +14,40 @@ echo "\n== Loaded Modules ==" >&2 | |||
lsmod | grep kvm | |||
lsmod | grep amd_iommu | |||
lsmod | grep intel_iommu | |||
v=`cat /sys/module/kvm/parameters/ignore_msrs` | |||
v=$(cat /sys/module/kvm/parameters/ignore_msrs) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incorporated. Thanks.
Please rebase on latest |
@@ -340,16 +340,40 @@ | |||
<key>Emulate</key> | |||
<dict> | |||
<key>Cpuid1Data</key> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: Every change needs to be tested end-to-end.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They weren't. I couldn't get Big Sur to work due to problems on my end, sorry about that. I figured changes from Catalina should translate over
@@ -516,7 +582,8 @@ | |||
<key>HaltLevel</key> | |||
<integer>2147483648</integer> | |||
<key>ScanPolicy</key> | |||
<integer>18809603</integer> | |||
<integer>0</integer> | |||
<!-- <integer>18809603</integer> --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This (commented stuff) is not valid for OpenCore 0.6.0.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OpenCore doesn't like the comment or doesn't like 18809603
?
Just checked with the commit, it doesn't like the comment.
Are there any problems with the additional algrey patches? The leaf7 patch was really useful to get AVX working on my AMD system w/o manually specifying it.
-netdev tap,id=net0,ifname=tap0,script=no,downscript=no -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 \ | ||
-monitor stdio \ | ||
-vga vmware | ||
ALLOCATED_RAM="3072" # MiB |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incorporated. Thanks.
d079513
to
9bc8ca9
Compare
@@ -233,7 +233,7 @@ Add `-vga vmware` to QEMU parameters in the booot script (e.g. boot-macOS.sh), i | |||
|
|||
*Warning: The OpenCore distribution that comes with OSX-KVM already has AppleALC, do not mix VoodooHDA with AppleALC. You may want to consider HDA passthrough if it is practical or use HDMI audio instead* | |||
|
|||
No support is provided for this. You are on your own. The sound output is known to be choppy and distorted. | |||
No support is provided for this. You are on your own. The sound output is known to be choppy and distorted. *(Though this can be mitigated using [spheenik's version of qemu](https://github.com/spheenik/qemu/tree/3.1.0-patched) but it has not been thoroughly tested)* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We cannot recommend unmaintained and very likely non-working versions of QEMU.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a branch with QEMU 4.0 (https://github.com/spheenik/qemu/tree/4.0-glorious) but it should probably be omitted because we don't know how it'll behave
Replaced by #142, closed |
Things done
gtk initialization failed
fix (common on Ubuntu based hosts) for users who are running the QEMU script from SSHScanPolicy
fix to allow detection of ISOs made fromcreateinstallmedia
RadeonBoost.kext
for AMD GPU usersrc.local
withsystemd
(for Ubuntu users)ALLOCATED_RAM
,CPU_SOCKETS
,CPU_CORES
,CPU_THREADS
) and variables that can be defined so that script can be launched fromrc.local
(REPO_PATH
,OVMF_DIR
) without relative references (e.g../
and../
)ScanPolicy
to 0 by default in OpenCore configsAdd algrey'sThis doesn't work, more info in commit ed75a20cpuid_set_cache_info - don't set cpuid_cores_per_package
patch from AMD-Vanilla to fix odd topology issues (as suggested by Leoyzen here)vmxnet3
, rearrange arguments to make them neater to readAdditional Credits
-cpu host
patch ideas and the NVME controller note were courtesy of Pavo from the AMD-OSX Discord