Change:
Asian characters are all rendered as squares in client(not in games). Looks like steam client is not picking up system font configs? ! !
Note that Arch's wiki contains some useful information on that ().
Thanks, After a bit of testing, I realized steam client need font to display Asian characters. Adding to would resolve this. Maybe we could include that as a config option for Another thing I'm not so sure is about the font-config. My font configuration originally has some default config setting like: With that setting enabled, even adding to , Steam client still won't able to display Asian fonts. I have to disable the defaultFonts config to make Steam happy. I'd expect if not fount, it'd fall back to installed in the system this case. Maybe I misunderstood the purpose of defaultFonts config. My previous full font config: Below one makes steam happy (without defaultFonts):
Steam seems to have issues with variable fonts (noto-fonts-cjk-sans is packaged as a vf in nixpkgs). I am able to make it display CJK characters correctly after applying this PR:
Just came here to say I'm also having this problem with the Flatpak version of Steam on NixOS. seems to be the upstream issue.
Over time, this problem has had multiple different and complex causes on different Steam versions. This includes historical inability to load variable fonts, and font specification for Arial. For the author of this post, a detailed explanation and solution to this problem is here:
Non of the solutions mentioned here worked for me... I even cleared the fonts cached of steam and the system. What did work was adding this to my Yes I know that's not how you install steam and it seems superfluous, but it is the only thing that worked. Proof: !
I have already fixed this issue in , now steam will use the system fonts, and the font config in your home dir. You can also use if you won't want to introduce japanese fonts into your system.

Discussion:
then [ package ] ++ extraPackages else [ package32 ] ++ extraPackages32; in prevLibs ++ additionalLibs; <ins> extraPkgs = p: (cfg.extraPackages ++ lib.optionals (prev ? extraPkgs) (prev.extraPkgs p)); </ins> } // lib.optionalAttrs (cfg.gamescopeSession.enable && gamescopeCfg.capSysNice) { buildFHSEnv = pkgs.buildFHSEnv.override {

''; }; <ins> extraPackages = lib.mkOption { type = lib.types.listOf lib.types.package; default = [ ]; example = lib.literalExpression '' with pkgs; [ gamescope ] ''; description = '' Additional packages to add to the Steam environment. ''; }; </ins> extraCompatPackages = lib.mkOption { type = lib.types.listOf lib.types.package; default = [ ];

''; }; <ins> fontPackages = lib.mkOption { type = lib.types.listOf lib.types.package; default = config.fonts.packages; defaultText = lib.literalExpression "fonts.packages"; example = lib.literalExpression "with pkgs; [ source-han-sans ]"; description = '' Font packages to use in Steam. Defaults to system fonts, but could be overridden to use other fonts — useful for users who would like to customize CJK fonts used in Steam. According to the [upstream issue](https://github.com/ValveSoftware/steam-for-linux/issues/10422#issuecomment-1944396010), Steam only follows the per-user fontconfig configuration. ''; }; </ins> remotePlay.openFirewall = lib.mkOption { type = lib.types.bool; default = false;

}; }; <ins> programs.steam.extraPackages = cfg.fontPackages; </ins> programs.gamescope.enable = lib.mkDefault cfg.gamescopeSession.enable; services.displayManager.sessionPackages = lib.mkIf cfg.gamescopeSession.enable [ gamescopeSessionFile ];