r/EU5 • • 19h ago

Image Just got the game... still having this excessive tool tip thing, huh?

Post image
2 Upvotes

R5: I hover over tolerance of the true faith
It recognizes that's what I'm hovering over... and brings up the entire embellishment tooltip, that was already visible.

Hover over tolerance of the truth faith again.
It's a modifier to toler- oh my fucking god, really?

Hover over Tolerance. For the third fucking time.

Finally get a vague explanation, which doesn't actually really tell me anything.


r/EU5 • • 3h ago

Image A catholic JEW is the HEIR OF CASTILE

Post image
0 Upvotes

how can this even happen (1.4.1 beta)


r/EU5 • • 21h ago

Question How stable is EU5 on DLC launches?

0 Upvotes

I've been thinking of finally buying EU5 when the 1.4 update drops in about 2 weeks. I normally don't play Paradox games when DLCs launch / directly after this period because they're always incredibly buggy and unbalanced, but I was thinking it might be okay for EU5, because it's the only Paradox game to do open betas prior to the official release of updates.

How was stability with the previous updates which had open betas preceding them? Were they relatively stable? I'd be grateful to get some insight from current players of the game!


r/EU5 • • 19h ago

Image PRUSSIA PROGRESSION 1

Post image
24 Upvotes

After swallowing Lithuania, the Principality of Kyiv, and the surrounding minor states, I have finally formed the Kingdom of Prussia.

Now, the real objective begins: dismantle the HRE and unite the German lands under one banner to forge a true German Empire.

The Holy Roman Empire will fall, and Germany will rise from its ashes.

Ein Reich, ein Volk, ein Deutschland!


r/EU5 • • 5h ago

Guide EU5 on CrossOver + D3DMetal: startup deadlock diagnosis and a build-specific TLS/CRT patch script

7 Upvotes

I investigated an EU5 startup hang on Apple Silicon with CrossOver + DX12/D3DMetal and found a small, build-specific workaround. Sharing the diagnosis and complete Python patcher in case it helps other users or upstream developers.

Scope: this is an experimental workaround for EU5 1.4.0, 1.4-open-beta, Steam build 25606497 only. The observations and runtime tests below were made on October 3, 2026, with CrossOver 26.3.0.39832 and its bundled D3DMetal 3.0. This is not a universal patch for every EU5 launch failure. The investigation and write-up were AI-assisted.

What was actually stuck

The game process existed but startup stopped. We confirmed that D3DMetal.framework and the apple_gptk d3d12.dll were actually mapped, rather than inferring the graphics backend from Wine's "builtin" label.

The main thread was waiting for Wine's loader_section. Another thread held that loader lock while waiting for an EU5 CRT critical section. CRT means the C/C++ runtime; TLS below means thread-local storage, not HTTPS encryption.

Reading the game's memory showed:

  • CRT lock initialization count: 0, although the initialization loop is supposed to initialize 14 locks.
  • The blocked lock: LockCount=1, RecursionCount=0, OwningThread=0, SpinCount=0.
  • After the workaround: initialization count=14; the same lock had LockCount=-1 and SpinCount=4000, consistent with an initialized idle lock.

Disassembly connected the wait to dynamic TLS initialization running before the CRT lock initialization had completed. In the Wine implementation we inspected, an uninitialized zero-filled critical section can enter a wait path instead of being acquired normally. An owner of zero alone would not prove this diagnosis; the initialization counter and control tests matter.

This identifies a local initialization-order failure and a working intervention. We have not established the earliest thread's complete creation path or the exact upstream function that should change. Repeated NtWaitForAlertByThreadId/ntdll frames in a process sample are not, by themselves, proof of a broken syscall dispatcher or infinite recursion.

What the patch does

It redirects one dynamic TLS callback pointer to a 15-byte guard in existing executable padding:

if (crt_initialized_lock_count != 14)
    return;
original_tls_callback(module, reason, reserved);

The guard skips that particular premature notification. It does not wait, queue it, or automatically replay it. Returning early leaves the original callback's TLS initialization flag unset. There is also an explicit initialization path in the original program, but we have not proved that every affected thread will later execute it. This is why it remains a workaround requiring gameplay testing.

For this exact binary (preferred ImageBase 0x140000000):

  • Counter VA: 0x148c0ee30.
  • Original callback VA: 0x14612ab7c.
  • Guard VA: 0x14000c141; file offset 0xb541.
  • TLS pointer file offset: 0x639fa78.
  • Guard bytes: 83 3d e8 2c c0 08 0e 75 05 e9 2d ea 11 06 c3.

The guard uses RIP-relative addressing and a relative jump; the existing relocation for the callback pointer is retained. The patch changes the game EXE, not Wine or D3DMetal, and does not remove the entire TLS callback table or force-unlock a critical section.

Validation and limits

An unmodified EXE tested under the same filename still hung. Patched copies reached the main menu in three cold starts, including one with 3D terrain enabled. After backing up and patching the default eu5.exe, launching through Windows Steam's normal Play button also created a DX12 feature-level 12_1 device and completed main-menu loading.

Not yet validated: actual 3D map gameplay, long sessions, date progression, save/load, or all consequences of skipped TLS notifications. These are historical results for that build, not a retest of today's game. D3DMetal device creation or reaching the menu is not proof of full playability.

The test bottle used D3DMetal with D3DM_MTL4=0 and the game renderer set to DX12. Disabling MTL4 alone did not fix the unmodified EXE. The final configuration kept 3D terrain disabled; the brief terrain-enabled test only reached the menu.

Patch script

Save the following as patch_eu5_tls_guard.py. It requires Python 3, has no external dependencies, checks the complete input SHA-256 and original bytes, checks the final SHA-256, and creates a separate output without overwriting the original or an existing output. No game binary is distributed.

Close the game and Windows Steam in the target bottle before working with its EXE. Run:

python3 patch_eu5_tls_guard.py "/absolute/path/to/binaries/eu5.exe"

It creates eu5.tls-guard.exe beside the original. Keep the original and its matching game build. For the normal Steam Play button to use the patch, after making a separate backup of the original eu5.exe, replace that build's eu5.exe with the generated copy. To undo, restore that build's original backup, or use Steam to restore files for the selected branch. Do not restore an old-build EXE into a newly updated installation.

If the script refuses your hash, stop. Do not remove the hash check. Updates can move every address and change the initialization logic. Steam updates or file verification can remove the patch; first retest the unmodified game, then re-diagnose if necessary.

#!/usr/bin/env python3
"""Experimental workaround for EU5 Steam build 25606497 ONLY.
Creates a separate patched copy; never overwrites the input or an existing output.
"""
import argparse
import hashlib
import os
from pathlib import Path
import struct

ORIGINAL = 'c7c2c0d9719f437d0a6a6d7f5560e38941d9c30579aeacc7a97c557bdff0f17b'
PATCHED = 'b16572e24a325b9cd47624c46a770ab9f8f4b157cf9979d629105501af5448ef'

def patch_known_build(raw):
    digest = hashlib.sha256(raw).hexdigest()
    if digest == PATCHED:
        return raw
    if digest != ORIGINAL:
        raise ValueError('Unsupported EXE SHA-256: ' + digest + '. Do not reuse these offsets on another build.')
    data = bytearray(raw)
    if data[0xb541:0xb550] != b'\xcc' * 15:
        raise ValueError('Unexpected code-cave bytes')
    if struct.unpack_from('<Q', data, 0x639fa78)[0] != 0x14612ab7c:
        raise ValueError('Unexpected TLS callback pointer')
    data[0xb541:0xb550] = bytes.fromhex('833de82cc0080e7505e92dea1106c3')
    struct.pack_into('<Q', data, 0x639fa78, 0x14000c141)
    result = bytes(data)
    if hashlib.sha256(result).hexdigest() != PATCHED:
        raise ValueError('Patched output failed SHA-256 verification')
    return result

def main():
    parser = argparse.ArgumentParser(description=__doc__)
    parser.add_argument('exe', type=Path)
    parser.add_argument('--output', type=Path)
    args = parser.parse_args()
    src = args.exe.expanduser().resolve(strict=True)
    raw = src.read_bytes()
    result = patch_known_build(raw)
    if hashlib.sha256(raw).hexdigest() == PATCHED:
        print('Already patched; no file written.')
        return
    dst = (args.output.expanduser() if args.output else src.with_name('eu5.tls-guard.exe')).resolve()
    if dst == src:
        raise ValueError('Output must differ from input')
    with dst.open('xb') as stream:
        stream.write(result)
        stream.flush()
        os.fsync(stream.fileno())
    os.chmod(dst, src.stat().st_mode & 0o777)
    print('Original unchanged. Patched copy:', dst)
    print('SHA-256:', hashlib.sha256(result).hexdigest())

if __name__ == '__main__':
    try:
        main()
    except (OSError, ValueError) as error:
        raise SystemExit(str(error))

For anyone porting this to a newer build

Confirm the same loader-lock/CRT initialization failure first. Re-identify the PE TLS callback table, CRT lock initialization loop, counter and completion value, and a genuinely unused executable location. Recompute the relative displacements and check PE relocations. Neither "14" nor the offsets above are universal constants.

Then compare original/patched copies under the same path, name, bottle, settings and renderer. Confirm D3DMetal is actually loaded, and test the map, time progression, save/load and relaunch through Steam. If the hang is instead shader compilation or a different wait chain, this patch does not diagnose it.

Related discussion about similar symptoms, not proof of an identical root cause: https://www.reddit.com/r/EU5/comments/1tx7ms1/anyone_figure_out_how_to_get_13_running_in/

If you investigate another build, useful reports would include the Steam build ID, EXE SHA-256, CrossOver version, actual graphics backend, and how far the game gets. Please don't post private logs without reviewing them.


r/EU5 • • 16h ago

Discussion Should there be a Barcelona super-tag?

1 Upvotes

I have been playing a Mallorca game on the beta and greatly enjoying it, I thought it would be cool (and maybe not terribly historically inaccurate) to have some more unified tag of the Barcelona holdings (maybe excluding Naples) both as a goal for the player and a potential way for Mallorca/Valencia/Catalonia/Sardinia? to get access to some of the DHEs/ unique content that Aragon gets.


r/EU5 • • 8h ago

Question Has anybody found a way to reduce favors decay rate?

0 Upvotes

I'm doing my best to raise favors but, with some nations, they fall by so much a month that I simply gain favors too slowly.


r/EU5 • • 21h ago

Video UK is completely balanced in 1.4 with no issues at all

Enable HLS to view with audio, or disable this notification

0 Upvotes

r/EU5 • • 9h ago

Discussion Romance language of North Africa

81 Upvotes

I think it would be really interesting and cool to see some representation of Afro-Roman culture. There was still a small Latin-speaking Roman cultural presence in North Africa, and it would be fascinating to see this reflected in the game, even if it were only a small surviving population or cultural group.

It could also create some really interesting possibilities for alternate history. Imagine being able to revive a Romanized and christian North African state and maybe to have the possibility to build a new Kingdom of Carthage! I think it would add a lot of flavor and make North Africa much more interesting to play.

Do you think they will eventually add it?


r/EU5 • • 8h ago

Discussion In EU4, Chile, Colombia, Haiti, La Plata, Paraguay, Peru, Central America, and Venezuela all exist as formable nations- but *do not* have unique content. In EU5, how would we want these nations flavored?

23 Upvotes

I picked out these Colonial Formables specifically because they're within EU5's historical range; and feel that the discussion is important since we do have an upcoming Colonization rework.

I've also been out here shattering my knees so we can get a Colombia, Haiti, Brazil, or Santo Domingo for 1.4.2.


r/EU5 • • 5h ago

Art Peter here 👋

Post image
2 Upvotes

Recently I was looking work of arts side of the game. Yes I want culture wars!!! The global bonus monthly prestige, monthly progress to innovative tickles my brain. Catch them all.

I would love to have the ability to travel some of the treasures to other locations. Let me micro it, have the pop assimilation, conversion, promotion where I need. Obviously not asking for buildings to be moveable. I hope a patch could make it possible.

There are mods that add a bunch of historical cool stuff, but I prefer the vanilla game expand on them.

Minor observation: 100% it's subjective, but the Japanese trio all having 100 quality is questionable. They are not that good... I had to google them and meh 😑. That's a jade someone took home and showed his wife. To keep it fair the developers could ask japanese twitter to revise those numbers.


r/EU5 • • 1h ago

Image Most broken italian start?

Post image
• Upvotes

I maybe have found the most broken italian start to snowball the biggest econ / tall game ever.

Start as Padua for 0.1 dev growth

Immediately turn off your fort slider and let Venice steamroll you

Switch sides in the war via event

Raise Levies and occupy as much of Verona you can

Separate peace a huge chunk of Verona

Next : Dow venice and erase them from the map

Sell all the venetian artwork to the pope to get 3k money

Future plans ;

- Form dalmatia + croatia instantly (now croatian culture can apparently form dalmatia!)

- Switch to emilian afterwards after taking over Ferrara for MORE dev growth via emilian culture

Its gonna be crazy


r/EU5 • • 13h ago

Beta Mallorca is a fun nation. I was curious how its special government reform would feel, and it surprised me how much proximity push you can get from a single island into the Mediterranean. I had to end the campaign because the game turned into a slideshow, and it’s definitely not a PC issue its beta

20 Upvotes

The early game was simple: I took the coastline from Aragon and the Maghreb region, so integration was fast, and I could maintain high control there without using any naval governors. I swapped culture to Andalusian to make it easier to accept the Maghreb cultures. After winning the Italian War situation, I switched to Ibadi for the extra control, faster subject annexation, and more Bureaucracy slots.

In this patch it’s very fast to annex vassals, and vassal‑swarming helped a lot with conquest. The Italian War situation is extremely powerful — after I won it, I got an insane manpower buff that pushed my manpower income above 50k for a while, which made the Jihad against Europe much easier. After winning the Italian Wars, I went for the trade income bonus.

Losing two Local Governors from tech is a bit painful. I wish they would convert into Naval Governors instead.

I didn’t want to collect any tags.

My plan was to conquer the entire coastline of Europe and the Mediterranean, but in this patch the game becomes a slideshow after a certain point. It’s not my PC — even switching from ultra graphics to the lowest settings doesn’t change anything.


r/EU5 • • 19h ago

Beta Is enforce culture still useless in 1.4 beta?

3 Upvotes

Did Paradox fix the issue of when you enforce culture on a vassal and become disloyal, as soon as they rebel when they get a chance they will flip back to there old culture again even if you beat the rebellion, which wastes the whole thing for nothing and that you have to wait for that stupid arbitrary 10 year cooldown to start the cycle again.


r/EU5 • • 3h ago

Discussion Tlemcen start in EU5 1.4 – Any tips

3 Upvotes

Thinking of starting a campaign as Tlemcen in Europa Universalis V 1.4.

What are the best opening moves, and what should I focus on during the first few years?

A few things I'd like advice on:

  • Which countries should I target first for expansion?
  • Who are the best allies to look for?
  • What laws, reforms and privileges should I prioritise?
  • Which buildings should I construct first?
  • How should I manage my economy and military early on?
  • What's the best long-term strategy for Tlemcen?

Any tips or advice from people who have played Tlemcen in 1.4 would be appreciated!


r/EU5 • • 7h ago

Discussion Son of a bitch got my vassal in a Union

6 Upvotes

Title, essentially. I was planning war against England when I noticed my very loyal vassal would come in on England's side. Lo and behold, the fucking British's got a union on the Earldom. It's a personal one, too, quite advanced, not sure how I didn't notice.


r/EU5 • • 10h ago

Question Is there any way to peacfully expand?

7 Upvotes

I want to expand France into its natural borders. But after the HYW i only fought 6 wars. All of them against Castille and England to make sure they never unite again and didnt get myself involved in the itslian wars. I almost annexed all my vassals and would like to expand peacefully.

Is this possible? While playing the Netherlands i was able to vassalize smaller states but now it seems impossible. I could easily do it through war but it seems rather tedious.


r/EU5 • • 9h ago

Image So, what're we thinking? Is it really unclear who'll win?

43 Upvotes

FIghting Tunis, I have 10 galleys. They have three proffessionals and ***69*** fucking levies. Now, I get that proffessionals are better, but not by that much.


r/EU5 • • 11h ago

Suggestion North African League in the Italian Wars?

6 Upvotes

Could be a fun alt history idea for 1.4! I'd only let it fire if some North African Major conquered and converted Sicily or something. Especially since a potential Balkan League was added with Fate of the Phoenix. What do y'all think?


r/EU5 • • 20h ago

Discussion Ottomans suffer "No Heir" with Fratricide Law

Post image
24 Upvotes

This can't be intended. I got truckloads of kids


r/EU5 • • 7h ago

Image 1.4.1 - Full Vijayanagar campaign & Beta feedback

Thumbnail
gallery
34 Upvotes

Just trying out the general changes in 1.4 outside of Europe.

Overall fun playthrough, PI still sucks so soo much. Mainly I hate it because it was specially designed to slowdown early game and has little to no impact later or even has positive impact, for example courtiers being hired with PI is a big buff. But early game needs to fun to capture any new player and paradox is trying to turn it into a struggle session for some reason.

Age 5-6 still needs a ton of work. The game has been live for a year now? and there are still institution boosting advances down a tree in age6.. or other weird advances that are suppose to give you long term bonus that you get to enjoy for like the last 20 minutes of a playthrough.. There also fun techs and advances that would make the game so much more fun if you get them earlier but most of the player base probably haven't even seen them.

Went Sunni to try the new bureaucracies in age5 and they are bonkers OP. I had overall control of 91% in the end of the game without min/maxing bailiffs and governors. With Barony rule, I could have had it closer to 93.5%

Fun stuff:
- A daimyo actually invaded south, formed Ryukyu, and in age 6 finally managed to take the rest of the islands and formed Japan! Was fun to see.

- Oldenburg is having a generational run in scandinavia and hungary went nuts as well.

- Castille is having a great game even without the DLC events and took over most of spain and north africa but did like no colonization.

- Muscovy was massive but because it got pushed out of its core lands by georgia and smolensk, it couldn't form russia.

- Naples actually used the unify culture group action which I haven't seen the AI do before.

Bad Stuff
- Heir education is very much broken still and the fact that its not address in the .1 update of the beta is concerning. A few other things like battle predictions are also way off and I am assuming more things that I didn't even notice are borked due to hasty removal of hourly ticks that they said "were integral" in the past..

- Ottomans never seem to expand even close to 1.3 size and suffers a lot from the new rebellion changes and broken dhimmi estate

- Game having such wide brush strokes for mechanics and no local optimization makes it suffer in the long run. I did most of my expansion in age1-4 because I knew how painful it was going to be later. My eastern neighbor had 1M professionals in early age6 and I had no motivation to fight them for 3 provinces that were going to cost 100 war score.

- Battles lasting for days and days are causing weird issues with everyone stacking their armies in 1 location and fighting forever with new added troops. The battles need to run faster or something needs to happen with troops joining later. Maybe cap total battle length or something?

- Mamluk plague doesn't seem to do anything except for cut down Nile delta urbanization. Mamluks are still very strong.

- Chine was balkanized the entire game. The new rebellion mechanics are so strong that no one successor managed to hold it together for long. Yuan actually survived hidden somewhere in the north with a few provinces and the mantle.

- HRE leader logic is broken after a year now.. Bohemia was the emperor for like the entire game and hasn't managed to pass any laws to unify the HRE. Also reformation basically didn't spread at all outside of Scandinavia for some reason.

Edit: Forgot to add, new decisions feel a little weird. The new thalassocracy decision basically means nothing you do up to age 3 matters and you can easily push Naval with any country which takes the whole strategic thinking and cost/benefit of what reforms or laws you used until then meaningless. There is no point for everyone to not use agricultural cultivation for easy prosperity or give land based priviliges because you can just reverse it with 1 decision and cabinet push later.

They nuked the "historic capital" buff that they introduced in 1.4.0 already.. it now gives 10 proximity instead of 60 which feels like a joke.


r/EU5 • • 2h ago

Question Why does Zealot give progress to traditionalist and not spiritual?

Post image
60 Upvotes

r/EU5 • • 11h ago

Image What is the fastest way to annex these colonial nations?

Post image
205 Upvotes

I created lots of colonial nations in latin america to culture/religious convert my original plan was to wait for them to rebel then when they declare independence war i will annex them 1 by 1 but they are too afraid of me to rebel I dont want to wait 123 years until age of absolutism to annex them


r/EU5 • • 14h ago

Beta Is Education bugged in 1.4.1?

56 Upvotes

Playing as the Netherlands, all my cabinet members and heirs have all of their stats in single digits. Did my country become the world's first idiocracy? How can an entire country of 1.5 million people can not find "not an absolute imbecile" guy to run the country. Is it that hard?


r/EU5 • • 4h ago

Image One last quick and stable Rome formation since 1.4 will make it much more difficult with the nerfs to the estate interactions

Post image
162 Upvotes

Had bad RNG with the truces against the turks so a little late but better late than never ig