Open elFarto opened 8 years ago
My display is also 10 bit per color and never had an issue connected by displayport with the AMD drivers, and also confirmed to be on 10 bits on the control panel.
Since this involves creating the window, there is a chance this is SDL related.
Same issue here using the latest Steam release, latest Nvidia driver 390.48 connected via displayport. Steam crashes when using a 30 bit depth Xorg server. Is there a way/command line option to force the Steam executable to search for a visual with a 30 bit depth color setup instead ?
This is still an issue in 2019 with the NVidia 430.34 driver.
Let me expand on that with a more useful reply.
Steam is attempting to create a 24-bit window, the NVidia driver doesn't provide 24-bit mode when operating in the full 10-bit channel (30-bit) setup although it appears AMD does. There is a post regarding this on NVidia's forums but it seems about as high a priority to them as this report seems to be - which is to say this might get fixed in another few years.
https://devtalk.nvidia.com/default/topic/994051/24-bit-visuals-on-a-30-bit-display/
It sounds like it would be much less work for the Steam client to natively support 10-bpc (30-bit) color than it would be for NVidia to support 24-bit applications with 30-bit displays?
Currently Steam is just one of two applications that I know of which don't work with 10-bit channel displays running at their full bit depth.
A quick test of some SDL using applications including gaming with xonotic-sdl shows that this issue isn't inherently an SDL issue - they worked fine.
This issue is now 3 years old. Any chance that it will be fixed soon?
Anybody using 30-bit Xorg stack, try setting SDL_VIDEO_X11_VISUALID
envirionment variable for steam, to some 8-bit per channel visual maybe? You can list all visuals using visualinfo
. You an inspect visuals used by other windows by running xwininfo
in terminal and then clicking on any X window, results will show in the terminal.
My steam uses 0x514 (decimal 1300) visual.
+-----+-------------------------+-----------------+----------+-------------+-------+------+
| | visual | color | ax dp st | accum | ms | cav |
| id | tp xr cl fm db st lv xp | sz r g b a | bf th cl | r g b a | ns b | eat |
+-----+-------------------------+-----------------+----------+-------------+-------+------+
| 514 | wp y tc i y . 0 . | 32 8 8 8 8 | . . . | . . . . | 4 1 | none |
You can search for similar visuals using visualinfo
, important flags: tc
, rgba 8 8 8 8
, last column
I tried forcing stuff using SDL_VIDEO_X11_VISUALID=xyz steam
, but it did have no effect on what xwininfo
is showing.
The fact that Nvidia drivers don't provide 8 bpc visuals is sad. You can't expect all software and libraries to be compatible with 10 or 16 bpc on X11. Not only they all have different bit widths, but also different encodings, gammas and color space conversions, which should be handled by the driver, hardware and compositor really, not apps.
This is how steam looks with 30 bit color:
I have tried SDL_VIDEO_X11_VISUALID=xyz steam and the only effect that it has is that it shows the previous window. Is there any workaround for this? Is valve working on fixing this? Is this a bug on SDL?
Any update on the issue? It's 4 years old.
Still only making it to the Validating Steam/Updating with random colors, then crash. On arch 5.7.2, mesa 20.1.1.-1 with AMD.
Can confirm the same as @Wolnos, my system is a Fedora 32 on Linux 5.7.8, latest mesa and AMD 5600 XT. Other software present issue too, like Firefoz being supper sluggish with low frame rate, chromium show the color of youtube videos all messed up.
I'm also affected by this issue. Chrome works 100% with 10 bits, if Steam also adds this feature, I don't really need anything else.
same issue here, since 10bit monitors / hdr monitors get affordable (300€ price range) a lot more people will have 10bit pipelines in the future.. Would be nice to see this fixed.
Adding keywords for search. How to find out if you are affected:
GLXBadContext
errors in stderr when running steammodeset(0): Depth 30, (==) framebuffer bpp 32
(modeset or amdgpu as examples for recent AMD GPUs)The only viable workaround I found is to disable 30-bit depth reverting it to 24. Basically: create /etc/X11/xorg.conf.d/color-depth.conf
with content
Section "Screen"
Identifier "foo"
DefaultDepth 24
EndSection
and restart X session.
I hacked xtrace to fix the broken x11 protocol steam generates. This lets me start steam with depth 30. Most of my GL based games worked out of the box, some required SDL_VIDEO_X11_VISUALID tricks, but unfortunately all Vulkan based games were an utter failure. Code is here if anyone else is interested: https://github.com/vsyrjala/xtrace/tree/steam_depth_30_hack
it has been 5 years, any updates now?
@kweop tried it the other day, still a nope.
The fact that Nvidia drivers don't provide 8 bpc visuals is sad. You can't expect all software and libraries to be compatible with 10 or 16 bpc on X11. Not only they all have different bit widths, but also different encodings, gammas and color space conversions, which should be handled by the driver, hardware and compositor really, not apps.
I do have the very same problem using and Intel card. It seems those are only provided by AMD cards
@vsyrjala Is this a driver related issue, as in it may work with different graphic cards/manufacturers?
8-bit to 10-bit is a significant upgrade in image quality. At least in my case everything else is working with 10-bit and Steam and games are the sole offenders. The worse is that I have to downgrade the image quality of everything else in my system just so Steam work. And, as far as I know, there's no way of changing the color depth without restarting the X server.
bumping this.
but unfortunately all Vulkan based games were an utter failure.
Mesa support for 10-bit depth was recently added. Only on the master branch at the moment so Mesa 22.0 is probably when it will arrive.
It is almost 5 years since this was opened now, and 10bpc displays are quite popular consumer products these days. It would be great if Steam finally caught up with this, in a graphics driver independent manner so it would work for amdgpu, radeon, nouveau and meas etc. within 2022. Anything less is quite disappointing.
It is almost 5 years since this was opened now, and 10bpc displays are quite popular consumer products these days. It would be great if Steam finally caught up with this, in a graphics driver independent manner so it would work for amdgpu, radeon, nouveau and meas etc. within 2022. Anything less is quite disappointing.
I have to agree. its another annoying block to linux gaming for some people.
Having this issue with Manjaro and 1080Ti on proprietary drivers. Note, this was only possible with X11 sessions. AFAIK, neither KDE nor GNOME's wayland compositor have completed the respective PRs for 10bpc support.
I really hope this is worked for when 10 bits support come to wayland. Most likely will be the case with SteamDeck on the table.
Still broken here. Previous "fixes" above yielded mixed results. Insane in this era where 10-bit color depth monitors are a cheap thing, and yet Proton just refuses to even try switching to a different mode or handling this issue gracefully.
Crashes similarly on my system, with no problems before setting the screen section of my xorg.conf to DefaultDepth 30
as my laptop’s GPU and display as well as my monitor support it.
OS: NixOS Unstable Kernel: 6.0.6–6.0.17, 6.1.7–6.1.11 Windowing system: X11 Window manager: Xmonad Video drivers: amdgpu (with DRI, OpenGL, OpenCL, and Vulkan)
10-bit panels are far far more these days. The fact that this issue is still not resolved is intolerable.
How do we get attention to this issue?
When ran with steam -bigpicture
plays the opening video animation fine, but then crashes. steam -gamepadui
(soon to be steam -newbigpicture
) played the opening video too, but the colors were incorrect (magenta and yellow in my case), then segfaults (console log: https://paste.sr.ht/~toastal/d95543b782a25aa130cc03e1c763c6ebb57efa5b).
How do we get attention to this issue?
Get it viral on reddit maybe?
This is an 8 year old issue lmfao this is embarrassing. Im quite surprised how much steam lacks in linux still.
Valve is working on HDR support, so surely this bug will be fixed soon.
Steam please fix this issue next, because using the Color Depth of "16" compared to the Xorg Default Color Depth of "24" can increase gaming performance.
OpenGL already has a performance boost with the Color Depth of "16" compared to using the Color Depth of "24".
I made an issue in the Mesa Gitlab at about Vulkan not working with the Color Depth of "16" and found a way to make Vulkan work with the Color Depth of "16": https://gitlab.freedesktop.org/mesa/mesa/-/issues/7846
According to my testing using Vulkan with the Color Depth "16" in that link, i was able to gain around 17% more performance with Vulkan with the Color Depth "16". This could be a good performance boost for the Steam Deck. This could be a good performance for proton which is using DXVK.
I also put instructions in that link on how to start steam with Color Depth of "16" so you test this performance boost by using the Color Depth of "16". Mesa needs to fix Color Depth of "16" not working Vulkan first though in order to use proton with DXVK with Color Depth of "16". But OpenGL games already have a performance boost with the Color Depth of "16".
Steam please fix this issue because this a good opportunity to get performance boost for the Steam Deck, so that other Color Depths like "16" can be used to get a performance boost for gaming without having to use this xtrace hack to be able to start steam with the Color Depth of "16". This can be a good performance boost for the Steam Deck too.
I dont recommand playing games with Color Depth of "30" though because it decreases performance compared to using the Xorg Default Color Depth of "24". I recommand the Color Depth of "16" for a good performance boost.
16-bit color is 65536 color. What year is this. 🧐
16-bit color is 65536 color. What year is this. monocle_face
Even though its 16-bit with 65536 color which adds color banding when testing some games, this is such a good performance booster. Hopefully Steam can make Steam be able launch with other Color Depths like "16" (Good performance boost) without using an xtrace hack to launch steam with the Color Depth of "16" (Good performance boost) to get this performance boost because I think the Steam on Linux is forcing the Color Depth of "24" which is causing an Xorg Error which Steam does not launch with the Color Depth of "16" (Good performance boost), or Color Depth of "30" (can decrease performance). Hopefully Steam fixes this so that Steam can launch with other Color Depths other than "24" without using an xtrace hack to launch Steam with a different color depth.
I also noticed that screenshots and maybe screen recordings take up less storage when using the Color Depth of "16" compared to using the Xorg Default Color Depth of "24" where Steam is able to launch without using an xtrace hack.
This is a good opportunity for Steam to get a performance boost for the Steam Deck too by being able to use the Color Depth of "16". Hopefully this gets fixed so that people can get this performance boost without using an xtrace hack to be able to launch steam with a different Color Depth other than "24".
━ 1. Start Steam
at the Color Depth of "24"
━ 2. Open Terminal
and do startx -- -depth 30
or startx -- -depth 16
(6 bit color increases FPS)
━ 3. Then open the Terminal
and do echo $DISPLAY
(Example: it displayed :1
for me)
━ 4. Switch back to the Xorg
session that is using the Color Depth of "24"
by using CTRL+ALT+F#
(Example: It was CTRL+ALT+F1
to switch to the Xorg
session that was using the Color Depth of "24"
for me)
━ 5. Right click on a game in steam
and click Properties...
━ 6. In LAUNCH OPTIONS
, set DISPLAY=(the output of "echo $DISPLAY" on the Xorg session that was using either the color depth of "16" or "30") %command%
(Example: I put DISPLAY=:1 %command%
for me)
━ 7. LAUNCH THE GAME
━ 8. Switch back to the Xorg
session that is using either the color depth of "16" or "30"
by using CTRL+ALT+F#
(Example: It was CTRL+ALT+F2
to switch to the Xorg
session that was using the Color Depth of "16"
for me)
━ 9. The game window should now open at either the color depth of "16" or "30"
!!!
━ 10. HOW TO VERIFY IF YOUR GAME IS RUNNING AT EITHER THE COLOR DEPTH OF "16" or "30"
: Open Terminal
and use xwininfo
command and click on the game window (It should show either Depth: 16
or Depth: 30
)
I used this method to a play a Steam
game at the Color Depth of "16"
for a PERFORMANCE BOOST!!! instead of the the Default Color Depth of "24"
because of steam
not launching at the Color Depth of "16" or "30"
This is the FPS BOOST that I got by using the Color Depth of "16"
in VULKAN
:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/7846#note_1720383
Color Depth of "30": 121 FPS Color Depth of "24": 124 FPS COLOR DEPTH of "16" (PERFORMANCE BOOST!!!): 144 FPS
If your have atleast MESA 23.1
they made VULKAN
now work at the Color Depth of "16"
with merge request:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20673
More people should know about using theColor Depth of "16"
and how it BOOSTS FPS
For OPENGL
games: In Minecraft
using the Color Depth of "16"
gave me a BIG PERFORMANCE BOOST!!!
Minecraft 1.12.2 with Optfine "HD_U_G5" with Color Depth of "24" FPS: 971 FPS Minecraft 1.12.2 with Optfine "HD_U_G5" with Color Depth of "16" FPS: 1400 FPS
Using the Color Depth of "16"
gave me a 44% PERFORMANCE BOOST in Minecraft
!!!
Latest beta seems to have correct-ish color on the launcher, but then crashes on the client. We might be seeing some updates to this finally. 🤞
The colors look desaturated. This reminds me of how Brave, the web browser, looks before I forced it into P3 color through the application’s flags.
@icculus @Plagman You guys were assigned to this 6 and 7 years ago respectively, fix the damn bug.
I recognize your frustration, and since I don't actually have access to the code where this would need to be addressed, and am not a Valve employee, I feel like I am in a position to reply to this freely:
When you show up in a bug tracker and talk like this, you might believe you are adding pressure to get an issue fixed, but in reality it just reflects badly on you. That should be enough by itself, but even in a purely self-interested way: this sort of comment makes people want to help you less, which is in conflict with your goals here.
So don't do this on bug trackers, whether they are run by Valve or tiny unknown open source developers. It isn't becoming of you to do so.
Not to mention, Aiden, you just pinged hundreds of people with unhelpful comments.
Valve IS working on this. They have showed some HDR footage recently at a conference. This is not some forgotten ghost issue. Please be patient and let the devs cook.
On Fri, Jul 7, 2023 at 3:42 PM Ryan C. Gordon @.***> wrote:
I recognize your frustration, and since I don't actually have access to the code where this would need to be addressed, and am not a Valve employee, I feel like I am in a position to reply to this freely:
When you show up in a bug tracker and talk like this, you might believe you are adding pressure to get an issue fixed, but in reality it just reflects badly on you. That should be enough by itself, but even in a purely self-interested way: this sort of comment makes people want to help you less, which is in conflict with your goals here.
So don't do this on bug trackers, whether they are run by Valve or tiny unknown open source developers. It isn't becoming of you to do so.
— Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/steam-for-linux/issues/4399#issuecomment-1625984313, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZY6D4PZL6UB4XZXEEBKNTXPBRC5ANCNFSM4CAXGAOQ . You are receiving this because you commented.Message ID: @.***>
Still cooking ;v
I recently picked up a 10bpp monitor and managed to get it working, but Steam segfaults when trying to create the main window. The initial download window also looks similar to the previous shown but with different colors, but the login window looks normal. The machine it's on advertises itself available for streaming on local machines, but of course after crashing it disappears. crash_20240328094145_34.dmp.zip
Why is this still an issue? Shouldn't the new Steam client architecture have resolved this since its basically just a wrapped Chromium now?
Hi,
I recently got a Samsung Odyssey G9, and started migrating from Windows to Linux. Unfortunately, this is the last piece that is blocking to fully move to Linux. This issue is open since 2016, is there any update in the progress? Thanks.
When attempting to start Steam on Fedora 23 with a 30-bit colour depth display (10 bits per component) on the nvidia binary drivers, it fails with the following error:
Followed by a bunch of related errors.
I xtrace'd the calls to X and found the offending call:
This is attempting to create a 24-bit colour (depth=0x18) window with a visual of 0x21, which isn't allowed. Here's the snippet from xdpyinfo: