[Bug] [Linux] Millennium doesnt apply
Before Reporting
- [x] I found no existing issues matching my bug
- [x] My issue is not caused by a theme
- [x] My issue is not caused by a plugin
Describe the Bug
Millennium doesnt work: the millenium options aren't there. If I launch steam with the terminal it says: ERROR: ld.so: object '/usr/lib/millennium/libmillennium_x86.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. Redirecting Steam output...
Expected Behavior
I see a millennium option in the steam dropdown or I can access the millennium settings via the steam url.
Steps To Reproduce
install millennium with yay run the millennium patch command
Operating System
Linux (endavour os)
Anything else?
also when I run the millennium patch command, it asked me to run with sudo: Resolving permissions... Insufficient permissions. Please run this script with sudo.
It wasn't said in the documentations so this is odd. I ran it with sudo but I don't know if it really worked.
I'm having the same issue. I also installed the AUR version using yay just now, making sure to also run the post install millennium patch command, and either steam launches without millennium patched or it doesn't at all with the same output of ERROR: ld.so: object '/usr/lib/millennium/libmillennium_x86.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. Redirecting Steam output...
I have the same problem. I am on CachyOS Linux with Hyprland and installed millennium from the AUR with paru.
It shows the same error: ERROR: ld.so: object '/usr/lib/millennium/libmillennium_x86.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. Redirecting Steam output... for me.
I think It backed up and ran steam, not steam-native.
Yep exactly. I'm on CachyOS too. It modifies /usr/bin/steam which is fine, but we need /usr/bin/steam-native patched as this is preferred over the default steam packages. Maybe this can be added as a flag or as an argument to the patch command.
Reproducible on Fedora 42. After running sudo millennium patch a second time, steam refuses to open entirely and repeats the line Redirecting Steam output... indefinitely.
Reproducable on Fedora 41 but Steam will still start. Running sudo millennium patch returns no error but Steam will output "ERROR: ld.so: object '/usr/lib/millennium/libmillennium_x86.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored" on startup. Steam will still start normally, Millennium is nowhere to be found after startup though. Following this thread.
Edit1 for devs: I installed with the bash script from your page, which went through with absolutely no errors. Then tried to patch with the aforementioned command to no avail.
@imnaK & @BLACK4585
Does the steam package not follow the arch-repos? The arch-repos moved from steam-native to steam a few months back.
@JKL213 & @Amr7122
What command are you using to start Steam?
@hollowillow
What distro are you on?
I ran steam with the terminal today and it gave me more errors thought it might be useful:
@liampas
Run
sudo chown -R "$USER":"$USER" ~/.local/share/millennium
Run
sudo chown -R "$USER":"$USER" ~/.local/share/millennium
Can unfortunately confirm that this fix does not work on Fedora 41 with GNOME.
I tried the same out of curiosity. Didn't work - I quit Steam with pkill -9 steam and ran your command, then started Steam up again from the terminal (steam command).
Steam generated an error output this time:
Traceback (most recent call last):
File "/home/jan/.local/share/millennium/lib/assets/core/main.py", line 4, in <module>
from updater.millennium import MillenniumUpdater
File "/home/jan/.local/share/millennium/lib/assets/core/updater/millennium.py", line 5, in <module>
import requests
File "/home/jan/.local/share/millennium/lib/cache/lib/python3.11/site-packages/requests/__init__.py", line 164, in <module>
from .api import delete, get, head, options, patch, post, put, request
File "/home/jan/.local/share/millennium/lib/cache/lib/python3.11/site-packages/requests/api.py", line 11, in <module>
from . import sessions
File "/home/jan/.local/share/millennium/lib/cache/lib/python3.11/site-packages/requests/sessions.py", line 15, in <module>
from .adapters import HTTPAdapter
File "/home/jan/.local/share/millennium/lib/cache/lib/python3.11/site-packages/requests/adapters.py", line 80, in <module>
_preloaded_ssl_context = create_urllib3_context()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jan/.local/share/millennium/lib/cache/lib/python3.11/site-packages/urllib3/util/ssl_.py", line 298, in create_urllib3_context
context = SSLContext(PROTOCOL_TLS_CLIENT)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jan/.local/share/millennium/lib/cache/lib/python3.11/ssl.py", line 500, in __new__
self = _SSLContext.__new__(cls, protocol)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ssl.SSLError: unknown error (_ssl.c:3098)
alongside with this error IMMEDIATELY after running the steam command in the terminal:
ERROR: ld.so: object '/usr/lib/millennium/libmillennium_x86.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
@hollowillow
What distro are you on?
Just pure Arch
I'm a little too busy to try right now but I'll try the command bellow and get back if it works or not in a day or two
Run
sudo chown -R "$USER":"$USER" ~/.local/share/millennium
Worked for me too :) the libs in there are owned by root for some reason.
Run
sudo chown -R "$USER":"$USER" ~/.local/share/millennium
Seems to have worked for me as well, thanks
@JKL213
Add
export OPENSSL_CONF=/dev/null
above the LD_PRELOAD line in the steam script on your distro (probably /usr/bin/steam but it might be different)
Add
export OPENSSL_CONF=/dev/nullabove the
LD_PRELOADline in thesteamscript on your distro (probably/usr/bin/steambut it might be different)
Thank you, can confirm that worked like a charm on Fedora 41.
Got any technical insight as to why?
@JKL213 Add
export OPENSSL_CONF=/dev/nullabove theLD_PRELOADline in thesteamscript on your distro (probably/usr/bin/steambut it might be different)Thank you, can confirm that worked like a charm on Fedora 41.
Got any technical insight as to why?
I don't know the specific issue, but it was some global OpenSSL config Millennium was having trouble with. The line you added just makes sure Millennium doesn't use your system OpenSSL config.
Add
export OPENSSL_CONF=/dev/nullabove the
LD_PRELOADline in thesteamscript on your distro (probably/usr/bin/steambut it might be different)
Struggled with this issue for like an hour!! Thanks so much <3
i'm having the same issue. Adding export OPENSSL_CONF=/dev/null or running sudo chown -R "$USER":"$USER" ~/.local/share/millennium unfortunately did not help, and i keep getting the same error (ERROR: ld.so: object '/usr/lib/millennium/libmillennium_x86.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Redirecting Steam output...)
Can confirm with @tomhard1, the previous aforementioned fixes do not work on Arch with the current AUR package.
Fedora 41, still have the same issues ERROR: ld.so: object '/usr/lib/millennium/libmillennium_x86.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. Redirecting Steam output... , even after using OPENSSL_CONF=/dev/null and sudo chown -R "$USER":"$USER" ~/.local/share/millennium
Fedora 41, still have the same issues
ERROR: ld.so: object '/usr/lib/millennium/libmillennium_x86.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. Redirecting Steam output..., even after usingOPENSSL_CONF=/dev/nullandsudo chown -R "$USER":"$USER" ~/.local/share/millennium
The LD_PRELOAD error can be ignored, its not the reason its not working. What does your steam output look like when running?
Fedora 42 user here, just installed aswell. I did the 2 workarounds from top but no result either.
Here is the output from steam log.txt
I saw this line ERROR couldn't initialize from config failed to get the Python codec of the filesystem encoding, but id be surprised if it failed to load just because im on btrfs. Aside from that, it doesnt look too problematic
on debian 13 trixie here and i get the same thing, installed steam from the default repository "sudo apt install steam" \home\manitoba> steam ERROR: ld.so: object '/usr/lib/millennium/libmillennium_x86.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. Redirecting Steam output... /usr/bin/steam: line 48: /usr/lib/steam/bin_steam.sh: No such file or directory
the fixes in this thread did not work when tried.
I'm experiencing the same issue on Fedora 42 with a fresh installation of Steam and Millennium.
Is there a potential mismatch between Steam's 64-bit system and the library's 32-bit system? How come there is only an x86.so and not a x64.so or x86_x64.so? I wondered if Steam has recently moved to an x64 architecture throughout and no longer loads the x86 by default or at all.
I tried launching Steam as an x86 app with no success, with or without Millennium installed ~/.local/share/Steam/ubuntu12_32/steam. I presume in a newer install of Steam or a dependency update, 32-bit no longer works, forcing Millennium to use x64.so, which it doesn't have, hence the LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32).
However, running LD_LIBRARY_PATH='/usr/lib:/usr/lib/millennium' LD_PRELOAD='/usr/lib/millennium/libmillennium_x86.so' ~/.local/share/Steam/ubuntu12_32/steam or ~/.local/share/Steam/ubuntu12_32/steam; I found the initial error ERROR: ld.so: object '/usr/lib/millennium/libmillennium_x86.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. Redirecting Steam output... no longer appears. Hope this helps someone smarter than I work this out.
Honestly, I'm grasping at straws here a little bit, but I hope there's something useful here.
Fedora 42 Proceeding with v2.25.1 results in same LD_PRELOAD error with Steam launching without Millennium integrated, none of the solutions above works. Using v2.26.0-beta.14 appears to make Millennium running but appears to be crashing steamwebhelper instead and no window comes up.
Steam has recently made some changes that broke Millennium on Linux.
+1 here
@codeuriii Are you using the latest beta?
I dont know, im using with the web installer, and sudo millenium patch and i have the libso error
attach your logs