#Rosy
1 messages · Page 20 of 1
I'm not making a shading language, I'm going to look into generating spirv with my application code
going to give imhex another try
ezpz
oh if you want to. I am kind of figuring it out still
oh someone already made a spirv hexpat
oh nice
you can find it in the content store
https://docs.werwolv.net/imhex/views/pattern-editor is what I have been reading
that's fine man
this hexpat could be improved
let me try something
try replacing the definition of Instruction near the bottom of the hexpat with this, then click the green arrow to evaluate the file again
struct Instruction {
Op op;
u16 words;
u32 operands[words-1];
} [[format("FormatInstruction")]];
fn FormatInstruction(ref Instruction i) {
return std::format("{}", i.op);
};
I just added a formatter so it shows the op name instead of { ... } in the value column
a more advanced formatter would look at the op and then the operands
ohhh
I think I might be missing a feature
oh it says I can install the standard library
oh I forgot to give you another line
oh had to add #include <std/string.pat>
or import std.io;
awsome thank you
btw if you think generating shader from application code is weird, that's what I did for my blockens voxel game lol, the first thing I ever made with opengl
fn gen_inline_mesh_transforms(r: *runner) !void {
if (r.cfg.mesh_transforms == null) return;
var m = zm.identity();
if (r.cfg.mesh_transforms) |mts| {
const mt = mts[0];
if (mt.scale) |s| {
m = zm.mul(m, zm.scalingV(s));
}
}
const mr = zm.matToArr(m);
var line = try shader_helpers.vec4_to_buf(" vec4 sc0 = vec4({d}, {d}, {d}, {d});\n", mr[0], mr[1], mr[2], mr[3]);
r.l(&line);
line = try shader_helpers.vec4_to_buf(" vec4 sc1 = vec4({d}, {d}, {d}, {d});\n", mr[4], mr[5], mr[6], mr[7]);
r.l(&line);
line = try shader_helpers.vec4_to_buf(" vec4 sc2 = vec4({d}, {d}, {d}, {d});\n", mr[8], mr[9], mr[10], mr[11]);
r.l(&line);
line = try shader_helpers.vec4_to_buf(" vec4 sc3 = vec4({d}, {d}, {d}, {d});\n", mr[12], mr[13], mr[14], mr[15]);
r.l(&line);
r.a(" mat4 scam = mat4(sc0, sc1, sc2, sc3);\n");
}
:D
once c++ lets you reflect expressions (not in c++26 sadly), then we could generate whole shaders from c++ code
yeah idk who that guy is but he looks very wise and kind

you guys are wise and kind
I'm hoping this spirv detour won't be too much of a rabbithole
what are you doing exactly?
since I'm not making a general feature for others to use
my goal is to have the pixels the way I want
pixel.goHere(); pixel.goThere();
but without having to use a shader language
yes like that
only more like drawSkimmer() or something
bjorn->switchToRole("turtle");
why turtle
turtle grafics 😄

man tomorrow is a workday I better go to bed, thanks for all the help! 🐢

🇬🇳
Once I have a p_spv_write_header function and a p_spv_write_ops function that just takes an arena, context and ops code and a size and a pointer to bits the lowest level SPIR-V stuff is done. Then I just write some functions for each ops I want to use that just writes to 32 bits aligned memory. I will need an ssa table of values. Build out some helper functions for doing common things
Then bob’s your uncle
Maybe I can use _Generic and typeof for the data
ops... ssa...
why do c people write cryptic code 🙂
and what is p_ supposed to mean, procedure? ie return void?
or is it function pointer prototypes? hence p_?
That was a short amount of time between last message before sleep and first message of the day. I know that feeling when you are focused on a problem and even when you wake up you're still thinking about it ☺️
indeed, barely 5hrs
what if Bjorn is actually still asleep and is just sleeptexting 
hmm
forbidden cheese knowledge 🙂
OpsCode etc
p_ is my application’s prefix because there are no namespaces
All my global functions and names have the prefix to avoid collisions
With win32 global names
One letter is probably not safe enough
And 0x07230203?
Pjorn 🙂
Five hours is a long amount of sleep for me lol
I basically slept in
I am well rested
Living the dream! I used to be able to do that... Years ago... 👴
that's not good for you
i'd know because i do the same 
I turn 50 in a year fwiw
7 more years for me
maybe you have that low sleep gene
the shorter the telomeres get the less schleep you need 😄
I need the full 8h, I can go off of 6h if I pay it back
i hope i do cause otherwise i'm gonna die 
yeah to some extent I think
I can function more or less fine off of anything more than 3 hours of sleep but yeah I need to pay it back asap
more than one day in a row of <7h sleep wears me down rapidly
really any sleep is better than none
I've pulled exactly one all nighter in my life and I slept through every class the following day
and got like a 60% on the assignment I stayed up all night to do anyways
but one or two full sleep cycles makes the next day more or less normal
I feel like doodoo all day if I get less than 8 hours of sleep
It really matters where in the cycle you wake up
I feel better off of 3 hours of sleep than I do off of 5
sleep cycles are ~1.5hr
Yeah I got like 5 hours last night and I feel ok. I'll probably become very sleepy soon though
A few years ago I was doing really well getting 8 hours of sleep every day, and during that time if I slept anything less than 8 hours I would feel terrible. Now I have just normalized feeling terrible and it just becomes the new normal
wfm
I'm sure I would be better off if I slept 8 hours, but I would only be able to live for work if I did that and I can't live like that.
it's a lot more tolerable to feel awful all the time if you don't exercise imo
it also contributes heavily
I exercise a lot
5 days a week + 10K steps a day
I get exercise like at 11pm to 1 am lol
I can't exercise immediately after work I'm too beat up and tired
I do some game dev, that recharges me, I exercise and go to sleep
I am reducing my strength training a bit to lose weight for the next quarter or so
I used GLSL to make some place holder spirv
to build a development render for the spv I'll generate
back to trongle I go
next is set up a test for generating valid spirv, then I'll replace the fragment shader with my own spirv
I took this GLSL directly from LOGL
for the fragment shader
I have regressed
1 step forward 5 months of steps back, I always say
I just need to generate
; SPIR-V
; Version: 1.0
; Generator: Google Shaderc over Glslang; 11
; Bound: 14
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %FragColor
OpExecutionMode %main OriginUpperLeft
OpSource GLSL 330
OpSourceExtension "GL_GOOGLE_cpp_style_line_directive"
OpSourceExtension "GL_GOOGLE_include_directive"
OpName %main "main"
OpName %FragColor "FragColor"
OpDecorate %FragColor Location 0
%void = OpTypeVoid
%3 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%FragColor = OpVariable %_ptr_Output_v4float Output
%float_1 = OpConstant %float 1
%float_0_5 = OpConstant %float 0.5
%float_0_200000003 = OpConstant %float 0.200000003
%13 = OpConstantComposite %v4float %float_1 %float_0_5 %float_0_200000003 %float_1
%main = OpFunction %void None %3
%5 = OpLabel
OpStore %FragColor %13
OpReturn
OpFunctionEnd
if this ends up not feeling like something I want to continue to do I may just go to GLSL
or idk, do something else with my time
maybe just do software rasterization
or do something with cuda
oh hrm
What about HLSL? I know you rejected slang but I can't remember your reasons for disliking HLSL
I don't know anything about HLSL
it's very different
I've been using slang not HLSL
I don't think it does bindless the same
slang has HLSL like syntax
hrmmmmmmmmmmmmmmmmmmmmm
I'm approaching a precipice
those RT tlas VVLs man, they suddenly just started annoying me so much I couldn't take it anymore, and then trying to fix it felt bad all the way down
What are you thinking? You could ignore RT (and other graphics stuff) for now and keep working on the gameplay and mechanics?
work on gameplay and mechanics? in this server??
its broken c++ with even more broken templates
imagine Slang, but:
- templates, not generics
- buggy and broken with spirv
- fixing bugs takes a long time
I think there's a path to get shader language free real time rendering on the GPU
without having any spirv involved
A Vulkan memory object exported using VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT can be imported into CUDA using the NT handle associated with that object as shown below. Note that CUDA does not assume ownership of the NT handle and it is the application’s responsibility to close the handle when it is not required anymore. The NT handle holds a reference to the resource, so it must be explicitly freed before the underlying memory can be freed.
and
I would get step debugging on the gpu in visual studio
and, I'd get RT pipeline with OptiX
and it would render to memory owned by VK so I can just present it
and I don't have to write any shader code in anything but C
I'd have to give up clang for nvcc
I think that extension is intended for sharing textures across process, like how video players do for security
it's just memory
eg the video decode and player service runs out-of-process and then the app process displays the rendered output
(oh good, you're back, I was afraid you had fallen over the p_recipice!)
across process?
An application may wish to reference device memory in multiple Vulkan logical devices or instances, in multiple processes, and/or in multiple APIs. This extension enables an application to export Windows handles from Vulkan memory objects and to import Vulkan memory objects from Windows handles exported from other Vulkan memory objects or from similar resources in other APIs.
the or
in and/or
leads me to think it's not about multiple processes
gl and vk using it in the same process
HANDLE handle;
PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR =
(PFN_vkGetMemoryWin32HandleKHR)instance.getProcAddress("vkGetMemoryWin32HandleKHR");
if (vkGetMemoryWin32HandleKHR == nullptr) {
// handle missing function
}
VkMemoryGetWin32HandleInfoKHR info =
{ VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR };
info.memory = vkDeviceMemory;
info.handleType = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT;
if (vkGetMemoryWin32HandleKHR(vkDevice,&info,&handle) != VK_SUCCESS) {
// handle error
}
CUexternalMemory externalMemory;
CUDA_EXTERNAL_MEMORY_HANDLE_DESC desc;
desc.type = CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32;
desc.handle.win32.handle = handle;
desc.size = size;
if (cuImportExternalMemory(&externalMemory,&desc) != CUDA_SUCCESS) {
// handle error
}
cuda has a cudaWaitExternalSemaphoresAsync
https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__EXTRES__INTEROP.html#group__CUDART__EXTRES__INTEROP_1g52ecbdf57e75f0fde9fa44a2f9532c2d
This sample demonstrates Vulkan Image - CUDA Interop. CUDA imports the Vulkan image buffer, performs box filtering over it, and synchronizes with Vulkan through vulkan semaphores imported by CUDA. This sample depends on Vulkan SDK, GLFW3 libraries, for building this sample please refer to "Build_instructions.txt" provided in this sample's directory
cudaExternalSemaphoreWaitParams waitParams = {};
waitParams.flags = 0;
waitParams.params.fence.value = waitValue;
cudaExternalSemaphoreSignalParams signalParams = {};
signalParams.flags = 0;
signalParams.params.fence.value = signalValue;
// Wait for vulkan to complete it's work
checkCudaErrors(cudaWaitExternalSemaphoresAsync(&m_cudaTimelineSemaphore, &waitParams, 1, m_stream));
// Now step the simulation
m_sim.stepSimulation(time, m_stream);
// Signal vulkan to continue with the updated buffers
checkCudaErrors(cudaSignalExternalSemaphoresAsync(&m_cudaTimelineSemaphore, &signalParams, 1, m_stream));
this is the holy grail as far as I'm concerned
you can compile with clang and nvcc
nvcc compiles your cuda stuff, you call that from your clang cpu stuff
and then link dynamically?
uhh, I don't know the specifics too well.
I've only ever used cuda via the magic tarp visual studio throws over it all so that it works seamlessly
nice
@ sam0oneau should know, I guess you'd ask in #gpu-compute
thank you!
I want the ability to step through on the gpu in visual studio
that's really cool
I don't really need to hang on to clang, the issue would be, I think I'd be starting a new project I'm so deep into clang right now
which is fine
i don't think the vs step debugger is a live debug, I'm pretty sure it's the same as renderdoc where it's a simulated replay
also the vs step debugger has been deprecated, PIX is the replacement
nvidia ships a visual studio thing
it can't be a 'live' debugger (per thread), that wouldn't make any sense given current hardware limitations (not without side effects that is)
I think you're talking about something else
NSight has a real live debug but it requires 2 gpus, one to run the game and one to run the debugger
I believe this is mostly the fault of the compiler (glslang, slang, etc...)
compilers are supposed to link each spirv op to a line in the non-compiled code by putting DebugOp's in the spirv (if they want complete and accurate stepping): https://registry.khronos.org/SPIR-V/specs/unified1/DebugInfo.html
the problem here is that this becomes a very messy ordeal
hrm I see
I don't really know too much about the debug ops though, haven't had any time to play with them-- someone else probably knows more on this than me.
no more skimmer racing? 😢
no I think I can copy a lot of that code over
idk
I think this is a cool project idea
I don't think many people are doing a thing like this, I could be wrong
The precipice!
I feel similarly to Ravbug, though, I will miss the skimmer racing. But it's your own free time, you should definitely spend it doing what you want 🙂
I should have never tried vcc tbh
:\ProgramData\NVIDIA Corporation\OptiX SDK 9.0.0\SDK>dir
Volume in drive C is OS
Volume Serial Number is 5C1A-ED43
Directory of C:\ProgramData\NVIDIA Corporation\OptiX SDK 9.0.0\SDK
11/26/2025 10:43 PM <DIR> .
11/26/2025 10:43 PM <DIR> ..
11/26/2025 10:43 PM <DIR> CMake
01/29/2025 04:29 PM 25,337 CMakeLists.txt
11/26/2025 10:43 PM <DIR> cuda
11/26/2025 10:43 PM <DIR> data
01/29/2025 04:06 PM 1,132 INSTALL-LINUX.txt
01/29/2025 04:06 PM 2,540 INSTALL-WIN.txt
11/26/2025 10:43 PM <DIR> lib
11/26/2025 10:43 PM <DIR> optixBoundValues
11/26/2025 10:43 PM <DIR> optixCallablePrograms
11/26/2025 10:43 PM <DIR> optixClusterStructuredMesh
11/26/2025 10:43 PM <DIR> optixClusterUnstructuredMesh
11/26/2025 10:43 PM <DIR> optixCompileWithTasks
11/26/2025 10:43 PM <DIR> optixConsole
11/26/2025 10:43 PM <DIR> optixCurves
11/26/2025 10:43 PM <DIR> optixCustomPrimitive
11/26/2025 10:43 PM <DIR> optixCutouts
11/26/2025 10:43 PM <DIR> optixDenoiser
11/26/2025 10:43 PM <DIR> optixDynamicGeometry
11/26/2025 10:43 PM <DIR> optixDynamicMaterials
11/26/2025 10:43 PM <DIR> optixHair
11/26/2025 10:43 PM <DIR> optixHello
11/26/2025 10:43 PM <DIR> optixMeshViewer
11/26/2025 10:43 PM <DIR> optixMixSDKs
11/26/2025 10:43 PM <DIR> optixModuleCreateAbort
11/26/2025 10:43 PM <DIR> optixMotionGeometry
11/26/2025 10:43 PM <DIR> optixMultiGPU
11/26/2025 10:43 PM <DIR> optixNeuralTexture
11/26/2025 10:43 PM <DIR> optixNVLink
11/26/2025 10:43 PM <DIR> optixOpacityMicromap
11/26/2025 10:43 PM <DIR> optixOpticalFlow
11/26/2025 10:43 PM <DIR> optixPathTracer
11/26/2025 10:43 PM <DIR> optixRaycasting
11/26/2025 10:43 PM <DIR> optixRibbons
11/26/2025 10:43 PM <DIR> optixSimpleMotionBlur
11/26/2025 10:43 PM <DIR> optixSphere
11/26/2025 10:43 PM <DIR> optixTriangle
11/26/2025 10:43 PM <DIR> optixVolumeViewer
11/26/2025 10:43 PM <DIR> optixWhitted
01/29/2025 04:06 PM 2,512 sampleConfig.h.in
11/26/2025 10:43 PM <DIR> support
11/26/2025 10:43 PM <DIR> sutil
4 File(s) 31,521 bytes
what did vcc do to you 😭
spoiled me
why did you stop using vcc?
nvm, found the thread: #vulkan message
hopefully one day these languages will be fully implemented and made stable
one day...
long thread a few months ago when I actually tried to contribute to vcc #1323084490997895198 message
I spent like 2 months on vcc
this does connect some dots for me~ I recall you talking about contributing to Gob, had no idea you made a pr to shady at some point!
vcc is amazing
I'm about to get vcc at home though
samples build
cool
uses #include <cuda_gl_interop.h>
D:\projects\cuda-samples>dir /s /b D:\projects\cuda-samples\Samples\*vulkan*
D:\projects\cuda-samples\Samples\5_Domain_Specific\simpleVulkan
D:\projects\cuda-samples\Samples\5_Domain_Specific\simpleVulkanMMAP
D:\projects\cuda-samples\Samples\5_Domain_Specific\vulkanImageCUDA
D:\projects\cuda-samples\Samples\5_Domain_Specific\simpleVulkan\VulkanBaseApp.cpp
D:\projects\cuda-samples\Samples\5_Domain_Specific\simpleVulkan\VulkanBaseApp.h
D:\projects\cuda-samples\Samples\5_Domain_Specific\simpleVulkanMMAP\VulkanBaseApp.cpp
D:\projects\cuda-samples\Samples\5_Domain_Specific\simpleVulkanMMAP\VulkanBaseApp.h
D:\projects\cuda-samples\Samples\5_Domain_Specific\simpleVulkanMMAP\VulkanCudaInterop.h
D:\projects\cuda-samples\Samples\5_Domain_Specific\vulkanImageCUDA\vulkanImageCUDA.cu
heyyyyy
cuda vulkan interop
I got working OptiX examples and working vulkan memory sharing with cuda examples, this should be doable
tomorrow I start my 5th vulkan init
gonna use SDL and C++ though, no more NIH
so I can use vkbootstrap and go fast
this time I'm for sure going to get WSI right, for sure
imgui the whole deal
I'm gonna go exercise and go to bed, this is fun
You're not doing the cuberoach anymore?
no, but this is the one, I'm sticking with this project, for sure
Limited to ‘C++20’
That’s ok
nvcc sends host compilation steps to msvc
Also ok
Can’t actually write C as nvcc is not a C compiler
That’s fine
You can specify a different host compiler
So probably clang is possible as long as it’s C++20
you can specify older versions of the C++ std
nvcc creates statically linked binaries that are incompatible across major versions of NVIDIA GPUs
It just has to work on my machine
what's the new project about tho
Same as all my other projects, just to learn and have fun
I am personally not interested in distributing my own software to others
yes but what will it do
I am going to make a ray traced game
It has to be compiled from source for a specific major NVIDIA gpu version using MVDIAs CUDA compiler and the OptiX SDK and the Vulkan SDK
I am over the handmade thing
Going to continue to use neovim, but going back to premake and using visual studio as my debugger
I think renderdoc is now useless to me
I gotta narrow my goals and focus
yeah, that's fair enough, writing your own everything is fun but not a great way to finish, well, anything really
gotta find a middle ground
it's already bad at RT, and yeah, it doesn't support the APIs I am going to use
TIL Meta has a Renderdoc fork https://developers.meta.com/horizon/documentation/unity/ts-renderdoc-for-oculus/
Meta now maintains its own fork of RenderDoc. This fork provides access to low-level GPU profiling data from Meta Quest’s Snapdragon 835, Meta Quest 2’s Snapdragon XR2, and Meta Quest Pro’s Snapdragon XR2+ chips, specifically information from its tile renderer.
baldurk:
As a general rule I don't add support for vendor API extensions unless they're mostly trivial and 'free' to implement, which is definitely not the case for nvidia's RT extensions.
and that's just about the API extensions
that discussion is frustrating to read
baldurk making a very understandable case to someone who wants the RT support and isn't reading the very clear points baldurk is making
I could never maintain an open source project
the aftermath sdk can help explain lost device crashes cool
to make things worse, the guy is complaining because he can't use RenderDoc to profile his app
as if RenderDoc is even capable of accurate profiling
right, and I was surprised profiling is the use case for the meta renderdoc fork
reading that I was thinking, but why renderdoc
does qualcom not have their profiling tool
looks just like nsight
ok I guess I should write some code or something
I'll start with a blank premake lua file
and see what happens
hrm latest premake that supports vs2026 doesn't build
that's fine, I'll just use the vs2022 option that builds in vs 2026
oh
--cc=VALUE Choose a C/C++ compiler set; one of:
clang Clang (clang)
gcc GNU GCC (gcc/g++)
mingw MinGW GCC (gcc/g++)
msc-v100 Microsoft compiler (Visual Studio 2010)
msc-v110 Microsoft compiler (Visual Studio 2012)
msc-v120 Microsoft compiler (Visual Studio 2013)
msc-v140 Microsoft compiler (Visual Studio 2015)
msc-v141 Microsoft compiler (Visual Studio 2017)
msc-v142 Microsoft compiler (Visual Studio 2019)
msc-v143 Microsoft compiler (Visual Studio 2022)
msc-v80 Microsoft compiler (Visual Studio 2005)
msc-v90 Microsoft compiler (Visual Studio 2008)
maybe I can't use it
fine cmake
cmake_minimum_required(VERSION 4.0)
project(PixelStorm LANGUAGES CXX CUDA)
set(VULKAN_SDK $ENV{VULKAN_SDK})
set(CUDAToolkit_ROOT "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.0")
set(OPTIX_ROOT "C:/ProgramData/NVIDIA Corporation/OptiX SDK 9.0.0")
find_package(CUDAToolkit REQUIRED)
find_package(Vulkan REQUIRED COMPONENTS volk)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED 20)
set(CMAKE_CUDA_STANDARD 20)
set(CMAKE_CUDA_STANDARD_REQUIRED 20)
set(CMAKE_GENERATOR_INSTANCE "Visual Studio 17 2022")
set(CMAKE_CUDA_ARCHITECTURE 86)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_library(SDL3 SHARED IMPORTED)
set_target_properties(SDL3 PROPERTIES
IMPORTED_LOCATION "${VULKAN_SDK}/Bin/SDL3.dll"
IMPORTED_IMPLIB "${VULKAN_SDK}/Lib/SDL3.lib"
INTERFACE_INCLUDE_DIRECTORIES "${VULKAN_SDK}/Include"
)
add_subdirectory("external/vk-bootstrap")
add_executable(pixelStorm WIN32 src/main.cpp)
target_include_directories(pixelStorm PRIVATE
${OPTIX_ROOT}/include
${VULKAN_SDK}/Include
)
target_link_libraries(pixelStorm PRIVATE
SDL3
Vulkan::Vulkan
Vulkan::volk
CUDA::cuda_driver
CUDA::cudart
vk-bootstrap::vk-bootstrap
)
add_custom_command(TARGET pixelStorm POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${VULKAN_SDK}/Bin/SDL3.dll"
$<TARGET_FILE_DIR:pixelStorm>
)
{
"version": 10,
"cmakeMinimumRequired": {
"major": 4,
"minor": 0,
"patch": 0
},
"configurePresets": [
{
"name": "dev",
"displayName": "Release (Ninja)",
"description": "development build using ninja",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build-dev",
"cacheVariables": {
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "release",
"displayName": "Release (Ninja)",
"description": "Relase build using ninja",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build-release",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_CXX_FLAGS_RELEASE": "/O2 /Ob3 /DNDEBUG",
"CMAKE_CUDA_FLAGS_RELEASE": "-O3"
}
},
{
"name": "vs",
"displayName": "Visual Studio",
"description": "build using Visual Studio",
"generator": "Visual Studio 17 2022",
"binaryDir": "${sourceDir}/build"
}
]
}
C:\Users\Bjorn\projects\code\pixel_storm>cmake --preset dev
-- The CXX compiler identification is MSVC 19.44.35221.0
-- The CUDA compiler identification is NVIDIA 13.0.88 with host compiler MSVC 19.44.35221.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.0/bin/nvcc.exe - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- Found CUDAToolkit: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.0/include;C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.0/include/cccl (found version "13.0.88")
-- Found Vulkan: C:/VulkanSDK/1.4.328.1/Lib/vulkan-1.lib (found version "1.4.328") found components: volk glslc glslangValidator
-- Configuring done (8.3s)
-- Generating done (0.0s)
-- Build files have been written to: C:/Users/Bjorn/projects/code/pixel_storm/build-dev
C:\Users\Bjorn\projects\code\pixel_storm>cmake --build build-dev
[6/6] Linking CXX executable pixelStorm.exe
C:\Users\Bjorn\projects\code\pixel_storm>start build-dev\pixelStorm.exe
gives me the hello SDL window right now
ready for vulkan init now
all I need from vulkan is some memory and a present
I'll blit the memory to the swapchain, submit and present and that's all vulkan will do
cuda and optix will write pixels to the memory
I will actually also add imgui, so I guess I do need a dynamic render pass
I'll do that after I have an OptiX generated triangle presented by vulkan on the screen
once I have a triangle I'll set up an acceleration structure
once I have that I'll add my track and skimmer back in
and we'll be back in business
ah all my controls have to get migrated to sdl3 stuff
man vk boostrap is pretty cool, fastest device init ever
took like 30 minutes
writing C++ again is so weird
C and C++ are not the same language
I hate that meme
I really don't like it, it is false
C/C++ is just ++
1/++
forgive me deccer for I have sinned by using a regional indicator instead of a flag
I think how fast I get back to having a track and a skimmer all depends on how much work it is to get through the cuda and optix stuff
I'm gonna be optimistic and say before the year is over
the hardest part will probably just be figuring out the new stuff (optix, cuda, cuda-vk interop)
cuda is actually pretty simple to use so probably just the other two things
well I assume the cuda vk interop is solved based on the examples I have, it's a vk timeline semaphore and an win32 external memory handle
I think I can just copy paste the code
idk
yeah that's probably a single day problem at most
but it's still relatively unknown territory
yes
I read through the optix programming guide and it reminds me a lot of all the NV RT extensions
for vulkan
which are slightly different from the KHR RT pipeline features
mine usually takes around 300ms and it feels slow to me :^)
support for Visual Studio 2026 is still pretty far behind
cmake, premake, sdks, etc
have had trouble with pretty much everything, but just going with the Visual Studio 2022 generator in cmake solved all my problems and VS 2026 can handle it
I pasted my config above, I'm just ninja and rad debugger for the most part, it's just easier and faster, but if I need to debug in visual studio I have that option
today I have been setting up my laptop since I'll be traveling a bunch
haven't opened it in nearly a year had an hour's worth of windows updates to go through and am setting up my build system, making sure all the cuda optix stuff also works on this laptop
it's has a discrete RTX 3070 gpu for laptops, which is the same generation as my PC so hopefully works
cmake has worked fine with vs 2026 for me
my issue is with visual studio missing extensions
you're likely do not need these extensions
the extensions work with using the vs 2022 generator and then building inside vs 2026
the extensions are NVIDIAs
I don't really know where the fault is
I think there's problems all around in detecting the extensions, presenting the error correctly and building
i think if you use cmake to create a vs2022 sln and open it in vs2026 it will still use the vs2022 compiler to build jt
that's fine
I'm limited to C++20
that's the newest version supported by nvcc
I wonder if clangd is gonna have trouble with .cu files
I don't think it will
are you using the vs generator just for debubbing?
isn't it easier to just use gdb at that point
cmake does support it
just requires cmake 4.1 i think?
or at least cmake 4

Staying in the SF W Hotel for fan expo, got a real nice view
that picture makes it look much brighter than it is
stay safe and enjoy
make sure to stay away from the Tenderloin!
nice today I got my laptop working with my new project, tomorrow I can make more progress on vulkan init
We compare the 16-inch Macbook Pro M1 Pro GPU rendering against the RTX 3070 Ti (CUDA and Optix) in Cycles rendering.
We’ll see how the M1 Pro measures up to an RTX 3070 Ti with and without the RT core advantages.
The scenes we test are:
The Junk Shop by Alex Trevino - https://cloud.blender.org/p/gallery/5dd6d7044441651fa3decb56
Racing Car...
interesting I guess
3 year old tech though
idk
not really a Gamers Nexus benchmark video
hrm, the RT blender uses is optix
it has a variety of backends
it used to be only CUDA, then nvidia added an optix backend, and after a while apple added a metalRT backend, and AMD and Intel added backends for their respective technologies
I don't think blender uses DXR or VulkanRT for anything
This video explores what benefits, if any, nVidia's Optix on their RTX graphics cards bring to Blender3D
My Gumroad Site https://polynormal.gumroad.com
Blender3D https://www.blender.org
Blender Hardware Benchmarks https://opendata.blender.org
this is also via blender
optix in this video is about twice as fast, but this isn't really rigorous science
twice as fast compared to what?
afaik the CUDA backend in blender is purely a software trace and doesn't use any dedicated silicon
in my testing an M4 Max is about 10% faster than a 2070 super in hardware ray tracing. idk how much those numbers mean to u though
the M4 is about 3 or 4 years newer than the 2070, and the 2070 is first gen RT?
not sure
I was just trying to understand what the future has in store for OptiX, they built it before Vulkan RT was a thing
I think?
like I'm getting invested in this proprietary API so just was looking for recent news, and all these Blender benchmarks popped up
which is not really what I'm interested in
but was kind of interesting
the latest release is in march https://github.com/NVIDIA/optix-dev/releases
which added clusters
idk
optix won't be magically faster in any crazy way
there may be slight benefits from a few new knobs to fiddle with
but its the same hardware with largely the same features at the end of the day
yeah
that's nuts
wow that's a tiny amount
iirc my m3 pro is only slightly slower than my 2060s too
I imagine 2070 super is nothing nowadays
m3 onwards will make a big difference because they actually have hwrt
it's still a desktop class card
m4 max has like a fifth of the power budget
for the entire soc
the price my man
m4 max macbook pros are well within the range of the highest end gaming laptops
for the desktop variants it's even worse
that's why I'm saying the amount is tiny
you can get a razer blade with RTX 5090 for the same price as the m4 max mbp
and I reckon the 5090 is more than 10% better than the 2070 super at hw rt
anyway I was just surprised
because I was under the impression that apple was much better than this at rt
yea but it's a razer 
i had a razer blade trust me you don't want one
but yea gpu is not apple's strong suit
then again none of their latest attempts at gaming really impressed anyone
except for death stranding on their phones, it's pretty crazy to play DS on a phone
the rt is pretty decent for the tiny power budget
but yeah it's not even close to current nvidia tech
gpu is drawing 15-16w while rendering with cycles so at full sustained load
tdp for the smolest blackwell gpu is three times that lol, no wonder it's a lot faster
I had one too, in like 2015, it was very bad
razer's are overpriced so that actually supports FIrefly's argument
nobody is buying a mac for RT cores though
mine was... 2018 iirc? some 6-core i7 and a mobile gtx 1060, perf was actually decent, the issue was with build quality
razer cheaped out on the battery and stuck some no name chinesium in there rated for 40ºC
the cpu right next to it hit 95
I think they deserve a class action lawsuit tbh
so ofc battery got fucked after a year and it started inflating like a yummy lithium balloon
man i love my $2k laptop turning into a fire hazard overnight 
oh also the gpu fan went after two years and started making a horrible grinding noise, so i had to disable it and then disable the gpu to stop it overheating
they probably deserved a class action lawsuit for how horrible they are and the quality they ship given the price
ended up selling the thing for less than half price because of all the issues it had
mine just stopped turning on and I threw it away
a year after that i got an m1 macbook for work and never looked back lmao
there are no good windows laptops
I have a dell, it is "ok"
but it is more expensive than a mac
oh btw i only got the razer blade because the dell xps i bought also had qc issues (awful fan noises day one) and it was the last one in stock
I have an exps yeah
so yea those xps look nice but i don't trust dell's qc either 
I haven't had any quality issues with this dell
I went through a lot of troubled windows laptops
I had an asus gaming laptop, the razer, two surfaces
before I finally got this dell and I have had this for like 3 or 4 years now with no issues
tbh i think they're among the better non fruity laptops, still, only one i would actually get is a t or x series thinkpad
but those are also prices very close or more expensive than macs so,,, why
any reason? the quality gap between the good thinkpads and everything else lenovo makes is massive
like they might as well be two different companies
because I don't trust the manufactor to not put RoC stuff on there
my business laptops are all thinkpads ever since, the cool (sic) thing about them is that you can flip them over during lunchtime to cook your meal on it
i have two thinkpads both >12 years old 
the old thinkpads are fine before lenvo bought them
awful screens, but they're excellent blunt weapons
i keep them around in case of home invasion
yeah the old thinkpads had shitty lcd screens
the ibm model m is my sword, the t420 is my shield
these are lenovo but like 2nd-3rd gen after the buyout, those were still great
i can use my p15 as a counterweight for the liebherr ltm 11900.1
newer ones are fine but not as tanky
trust me they are tanky, still
though i hate the stupid camera bump on the newer thinkpads, it looks so dumb
why did they do that
to appease the mac peasants
? macs don't have a bump, they have a notch thing like the iphones
it doesn't physically stick out
same thing 😄
i mean this dumb thing
i always went with the performance series of them thinkpads though, not sure about the lightweight ones
it's ugly
the p15 doesnt have that one yet, not sure if that would bother me personally
p series?
ye
ye those are awesome
this is the wrong comparison
a lenovo 'gaming' laptop with 64gb of ddr5 ram and a 5060 is ~1300usd last time I checked
the newer ones do have the bump apparently
and a 5060 without doubt beats a m4 max pro gigachad whatever gpu
i was eying a p16 gen2, not sure if they had a bump mcbumpington

what about the m2 ultra that ships in a mac pro?
ah gen 3 has the bump
keeps me on my toes feet 😛
unsurprisingly with 3x the power budget yes
gpu perf is not what you buy a macbook for
let alone gaming lmao
i play rimworld on it sometimes 
I think the mac pro is where the target user would care about RT performance
mac pro/studio have a higher power budget iirc, though if it's still stuck on m2 that has no hwrt whatsoever
yes, Macs have good longevity on low powered workloads
but once you need high powered loads, macs falter hard
macbooks do be looking neat, at least the aluminium casing, speaking of aluminium, googles new os is called Aluminium too, not Aluminum xD
I'll send something in a minute
build quality is just light years ahead of everyone else tbh
like it just feels nice to hold the thing
i can't say that for literally any other laptop, except maybe the fancier dell xps
i have not touched a single macbook, last one was a powerbook 150 or something
In synthetics it looks close
In gaming (although not many cases that are shared, it's not even close)
depends on the load, at cpu workloads they're pretty dang good for a laptop, gpu workloads yeah no that's not what you buy them for lol
oh the mac studio ms an m3 ultra
yeah i think the mac pro is ded
mac studio replaced it
if i could put the intestines of my lenovo into a macbook shell, and use that beautiful display too, i would do it 😄
not surprising, who would want the huge box when a tiny mac studio fits the exact same hw
the mac cpu is way faster though, the chips are the best part
gpus are meh but the cpu cores are insanely good
but the macos ecosystem sucks and asahi is probably not worth the hassle to use fulltime yet
ymmv i'm drinking the hell out of this koolaid and it's tasty
It's an okay build, I don't like the thin flat design personally.
The nonsense keyboard layout is the real annoyance for me
although-- I like the cpu efficiency 'portion' of the chip a lot
it doesn't at all suck
not for developers
looking forward to pollute my systray with 40 icons and apps of allah because you need to install all of them to make macos usable
i've read stories about company gives all their employees apple silicon macs, one employee tries building the project on their new mac, oops it builds 2x faster than it does on the dedicated build server
i guess we support macos now
hehe
apple silicon cpus are amazing at compile workloads
i can build gcc in <5 mins and barely make a dent on the battery
and this is the cheapest m3 pro
im just jealous hence the talking out of my ass
your options as an engineer for a work computer at my company are a macbook or a macbook
ye i do wish i could dualboot linux on it for some stuff (playing around with vk mostly heh)
I recognize that.
My advice for ppl and laptops is a really simple pathway mapping of:
- want macOS? get a mac
- don't want macOS? get a non mac
if you hate macOS, don't get a mac, if you like it, get a mac
what nonsense layout? it's pretty standard, other than well having the same modifier key layout macs have had since forever
basically yes
xcode sucks
comparing between macs and anything else is kinda pointless because you don't decide based on berf or anything like that
agreed
shrimply don't use it 
developing on macos is great, developing for macos is a pain
use your favorite terminal.ai 😄
but as long as you're not developing for ios (or macos and using swift and all the fancy shtuff ig) you can just not use xcode
I use wezterm on my mac, ghostty is also ok
I like wezterm because it also runs on my windows machine
wish kitty had that
wish kitty had an option to center the fucking window when it spawns, but muhinder is reluctant because of some wayland excuse
so I have the same terminal on mac and windows, obviously the shell is different, but I can share the dotfile config
command and option is a horrible mess.
when I use programs I love my cmd menus. These are pretty standard across apps on windows.
On MacOS? everyone has a different opinion on what OPTION+SOMETHING and CMD+SOMETHING is supposed to do (and which one should be the defacto CMD menu button)
as a result I need to fix the key binds of a bunch of programs manually, it annoys me a lot
yeah that is reasonable
use fish
you have that ctl, ctl+alt, alt, ctrl+shift, alt+shift, ctrl+alt+shift bs on other osses too
what kinda software? ime it's pretty consistent
😭 I use a Mac when I have to do the for part
i blame the developers of non os software, not adhering to os guidelines
my condolences
xcode is truly ass
you can't use fish on windows without wsl
but it has a decent metal debugger 😄
normally on other OS's its ctrl for everything
on Mac it's cmd or option for the same thing that was once ctrl
why did they reinvent the key board layout... thats all I am asking 
fish is fucked on linux too, you cant just run any bash in it, because of fish is doing some things differently
are you memeing
nah, blender is great
just switch to 2.79 key binds
its pretty bad in my experience, it just crashes... all the time...
Also, you can't mix debugging and validation
doesn't it just work if you have the #!
they didn't? they've had those keys since the 80s
back then it was kinda wild west and everyone did whatever
not at following os guidelines for keyboard shortcuts lol
i never bothered to look into it
lol blender’s shortcuts feel like they were designed to slow people down
“hmm instead of clustering common actions next to each other so that one hand can operate all of them, lets scatter them randomly around the keyboard!”
slowly making my own key map
though I guess blender’s shortcuts are more equitable for left handed people. The industry keymap is designed for right handed people while blender’s shortcuts are equally terrible for everyone
I like spacebar menu 
(for reference I’m not left handed)
games don’t have that many shortcuts so some people just use wasd with their right hand
But one time I sprained my wrist and Maya because unusable to me because they arranged they keys assuming your left hand is over the left side of the keyboard
I use the marking menu in maya
I don't use keyboard shortcuts outside of switching between rotate, translate, scale and some other minor things
you don't need a keyboard at all besides hitting the space and cntrol and shift buttons
I feel like a wizard using the marking menu
I also use set key frame (s), group (g), and the shading modes (1 2 3 4)
Probably some more since they are muscle memory now
X to toggle the snap mode
yeah shading modes
I use those
other than that it's all marking menu, you got the full power of maya in it
I'll use the menu bar for snapping windows
have you tried the marking menu
that’s the space bar menu right?
I do everything with the marking menus
including creating cubes/geometry, manage UVs
I tool switch like from quadtool to select to whatever
if you have #!/bin/bash in the first line that should tell the shell (os?) to run it with bash
everything
one of my major annoyances with blender is that the modes are global. Vs here you can have different objects in different modes at the same time and select things in both simultaneously
flipping between modes constantly in blender is a major source of slowdown
yeah no idea, tbh, i never went back to fish since the first incident a decade ago or whenever itwas i tried fish
and you also can’t go from any mode to any other mode in blender either. If you’re doing skin weights and you’re in mesh edit mode, you have to first go to object mode, deselect everything, select the armature and the object in the correct order, and then go to weight mode. 4 actions instead of 1
yeah that mode nonsense is quite weird
i think they started to work on that, according to blendercon from january 2025?
the modes are tied to what view you’re in too. If you change from layout to compositing and you were in edit mode it might take you to object mode and lose your selection. infuriating
big if true
time to rewrite a blender clone from scratch!
screw your minecraft clone and openworld mmo rpg
hehe we should suggest that to beginners actually, those who want to compete with ue5 nanite and lumen
make a blender clone instead 🙂
how hard can it be
replace python with c# on dotnet
or, alternatively. replace the existing gltf importer/exporter with something fast 😄
freya holmer is doing that
she hasn't updated that page in a while but on her bluesky she does https://bsky.app/profile/freya.bsky.social/post/3m6ggmojkss2c
I've *almost* got dual quaternion interpolation going!
DQs naturally interpolate using a screw motion, which works for any two rigid poses
202
nah shes just working on a subset of tools
and the source code is quite spaghetti
Is she working on half edge still?
yes
yep
Nice
she streamed yesterday while working on it
she was streaming it yesterday (or a day ago? idk)
https://lotusspring.substack.com/p/how-i-wrote-the-fastest-blender-exporter prety cool post i just found
i think i shared the videos some time ago
that embedded yt looks familiar
could you check if this was i posted this in #graphics-resources and if not also link it there, i think this is some cool stuff
ah nevermind
that article is just few days old 🙂
i must have posted only the yt videos back then
just shared it 
i remember that blender ackchually builds quite fast
when jakov and i enhanced the existing gltf plugin lol
thank u for ur service
I don't hate cmake
it's ok
I'm not doing a ton with it
I just kept avoiding it because everyone always complained about it
but just my first cmake project, idk, it's fine, it works
yeah, its quite ok for small projects
once you put your butt down for half an hour to see what you need and how to use those bits, at least when it comes to lunix and binbows, no idea how fucked it is for android or mac
it’s ok for big ones too. for some reason people love putting tons of extra crap in their cmake that makes it worse and I don’t know why
works the same on mac as it does for Linux. On android it’s painful but that’s because doing anything with Android dev is painful
mac is pretty much the same as loonix
i also had no trouble to add foreign code which didnt come with cmake support, but cmakeified it so to speak
i thought so
On Android you have to do some backflips to get gradle to invoke cmake, and some gradle functions like “clean” don’t work correctly
i could never get the find package stuff to work, probably cmake skill issue
i also thought so about android 😄 i did touch it 100 years ago for a month or two
i hate cmake though
for a very small project i'd rather just write a makefile
and for something bigger i uh
i never rely on findpackage, i just compile shit myself, and sometimes you have to anyway
use cmake and really wish i had a better build system 
hehe
i don't like writing cipipi to begin with anyway
me waiting for Google to expose everything to NativeActivity so we never have to deal with Java again (I will die of old age)
makefile doesn't work on windows, but it's ok too
just join tccpcpcpp server and checkout #showcase, every other week some 17 year old reinvented a c++ build/package manager system
makefile also works on windows, oyu need to have your PATH properly set for that, or have some, god forbid, cygwin/wsl shit setup
no
afaik on Android your app starts life by having the jvm load your main class via reflection. It’s cooked out the gate
makefile on windows is a shitshow unless you're using wsl 2
i remember using make on binbows, in 2006 or so to add native ntlm support to TortoiseSVN
it doesn't work
in theory it should at least work with the nicer JVM langs, like kotlin
like I can just build my work's anything on windows with any of our makefiles
makefile on windows is a shitshow unless you're using wsl 2
ftfy
if only kotlin was any better
don't you do fullstack stuff
it isn't 
kotlin itself is 10000 times better than jaba
why does your work have makefiles
because we use go
I want to meet the person at Google who decided “let’s run 50 JVM instances on this memory-constrained device”
and go projects use Makefiles
go go make-o-mobile
isn't there an embedded version of java
and yes, every app or process is its own JVM instance. It has to be, for security
i disagree, i mean, it's marginally better but also worse in some ways
the syntax decisions they made are utterly baffling
its what java should have been 20 years ago already, at least
it does at least get true generics ig
but the syntax is awful, ambiguity everywhere, kotlin code is just super hard to parse for a human
https://github.com/ConductorOne/baton-demo/blob/main/Makefile#L17C15-L17C20 xD ./... looks funny
does bongows even have make?
yes
not by default
I have msys 1.0 mapped into my path so makefiles work better than otherwise
but you still have trouble from the more GNU-y builds
worth it though pretty much solely for grep
Switching to kotlin doesn’t make android dev with native code any easier. You still have to deal with the dual build systems and JNI-whispering to do anything
C:\Users\swart\projects\code\pixel_storm>winget search gnuwin32.make
Name Id Version Source
--------------------------------------------
GnuWin32: Make GnuWin32.Make 3.81 winget
is there an actual build or are you using mingw or some memery like that where you pretend it's a real os
how is mingw not an actual build
mingw isn't solely contained in msys 2.0, they have exes for native windows everything, pretty well maintained and supported
I use GCC via cmd.exe, not directly but via cmake/ninja
Í don't know why you need mingw when there's wsl 2
but you absolutely need msys 2.0 to build weird stuff that's designed to live in GNU-y environments (ffmpeg is my chief example) though pretty much entirely for the shell emulation
wsl is just cope tho
like just install linux
stop lol
I don't wanna build for linux, if I wanna make a linux build I boot into linux
yea you're not gonna target binbows from wsl right?
msys lets me work around shitty linux-oriented build systems but still generate an entirely windows native result
again e.g. ffmpeg, I can build it with msys and I link it from my regular windows builds
especially since it's just a DLL with a C API I can use it from either MSVC or my gcc builds
I don't wan't or care about linux, I don't use linux I don't want to build anything for linux, but sometimes some tools are only available/work well on linux, as in maybe ffmpeg (I don't know) in that case wsl 2 is going to be fine
ffmpeg is available for windows, could not live without it
building it from source while on windows is just a bit annoying
right I don't have an example of a linux only thing
I think the openai cli tool is an example
codex
the only one I can think of is valgrind, but it relies on being in the linux env
that's only on windows via wsl 2 right now
windows sdk also provides make for windows, but lets not talk about that
but I just have my laptop that I pretty much only boot into linux and I just build linux native stuff there
cool, I don't have a need to do that personally
i will respect your decisions because this is your own project thread and you're a cool frog
but inshallah we will wipe windows off the face of this earth 🙏
I am so used to the windows crust and have so many ways of coping that it doesn't bother me at all anymore
that being said it's crazy how much linux literally is by and for C/C++ devs
(I mean basically all OSes are by C/C++ devs when you get down to it, but you know what I mean)
I was thinking of stepping back into Linux but the friction is still so high
I just use kubuntu, everything is like ubuntu under the hood but it uses KDE and doesn't have regular ubuntu's sponsored bloat
could not use it as my daily driver because there's a lot of programs I like on windows
I have a Manjaro box, I was thinking of installing it on my main machine for a bit
but it's my "it just works" options that I open and do dev stuff and don't care
I guess I'm gonna find out what the windows things I rely on are
yeah I mean if you're using high friction distros that's that much more stopping you
I mean already #1 is probably Visual Studio
using an ubuntu-based distro any issue I have is like the first result when I search
Is manjaro high friction? it was the smoothest linux experience I had in a while
that was on AMD though
Nvidia gpu is probably gonna make it worse
does it not have similar DIY setup friction as arch
ubuntu based distros usually have "old"er packages installed, especially compilers
if thats no concern for you then you are good
Yeah I hate that shit
archinstall's installer is also very straight forward these days
nvidia gpus are no issue anymore, since 560.xx or 540.xx even
when I set up a fedora install I had to run that stupid .run file to install the Nvidia drivers
so it’s still a pain there
This is my definition of no issue, immediately after installing I can go watch a YouTube video and there will be no screen tearing
theyve had some fuck ups in the past (ex. their gui package manager had bugs that caused the arch aur to effectively get ddos'ed twice) personally id reccomend one of the other "arch with a gui installer" distros like cachy or endeavor
You have no idea how many distros I've tried that had full screen tearing right out of the box
cachy is one of those distros made by 18 year olds, god knows when they burn out and then this goes to shit
yeah I actually just checked and I only have gcc 13.3.0 on my laptop, though I have 14.6.0 on windows and I haven't updated mingw in forever
I'm also using LTS so that might contribute to how far behind it is
yeah
also I find modern gnome very annoying to use. and you have to install 3rd party plugins to fix those behaviors. sucks though because gnome actually handles DPI scaling correctly
26.04 is next LTS iirc
that's why I use kubuntu, you get KDE so you don't get gnomed
yeah gnome sucks somehow, thats why i just go with XFCE, i like its uglyness and it has some neat even more ugly themes which i enjoy for nostalgic raisins
and no preinstalled amazon shop button or whatever else they do these days
last time I used KDE it did not handle DPI scaling very well, though it’s been a few years
kde has HDR support at least, which somehow works good enough
with nvidia that might happen until you install the proprietary drivers, distros probably cant ship them by default (and require something like a button in the installer or an install thingy after the install) for legal reasons or something
steam also runs out of the box on arch at least, i could imagine same on fedora, not so sure about oeboentoe based ones because of outdated packages perhaps
yeah I forget how I installed official nv drivers, probably off their website though
was helping debug something for someone and it turned out cachy broke something when it was building all of its various forks for its package manager
sudo pacman -S nvidia-dkms or select nonfree dribers in archinstaller
cachy seems to break shit quite often, i was lurking on their discord for a week because i thought i give it a try
all i do now, is check archlinux.org once a week or two, to see if some manual intervention is required before updating the os, which was also very trivial in the past, and happened once a year or so
and i have to disable auto update every 3 months or so for discord, because discord claims thres an update, but the package has not been updated to latest version yet, which usually happens a day later then
unless you use it in ze browser only
Rosy the new Linux Distro 😛
would install
but yeah, sorry bjorn
I remember last time, not only did I have to install the official drivers, but I also had to edit some arcane config file
Oh thank god
wayland is the way
even xfce is almost wayland-support-complete
im still on x11 though, until 100% is done and tested for some time
i just use kde (100% shameless kde shill)
Kshameless KDE Kshill, Kplah
Ok I might try the arch installer, but if I run into issues I'm blaming you @brisk chasm
i have cachyos on my laptop because i like the kde cachyos nord theme, can always revert to base arch if need be
the built in arch installer can be accessed by just typing archinstall inside the archiso enviornment
yeah
wait it isn't a button?
of course not, it's arch
its a little menu driven thing
you aren't selling me on this
it guides you through all the important bits
Manjaro it is then
nope its a TUI (terminal user interface) installer
just wait another few years
oh dear god no
elementaryOS i would allow, but manjaro is dead for me
elementary comes with a grafickel installer too
and its main color is some sort of purple somehow which i like
I've heard of artix before, I think it's just arch made easier to use
never bothered to investigate it though
theres also endeavoros which ive heard good things about
guipilled take, become one with the terminal
no
I'm just saying any distro that doesn't have a GUI installer is bound to have a whole bunch of other shit I don't like
fair, arch is not for people who value their time 
artix is arch sans systemd, instead if uses openrc as the init system or whats it called, it also has its own repos, like manjaro
systemd is very good tho
the thing with kinda obscure forks is can you trust them to stay maintained
i'd stick to well known and supported distros for that reason
I wish there wasn't this whole repo nonsense with linux, I wish I could just download shit from the developer's website like you do on windows 
instead you gotta trust someone is maintaining the packages
you mean like package managers?
Like on windows when I want a program I go to the developers website and I can just download an installer
but on linux theres all this extra bullshit
like oh, that version of the package isn't available on your distro
on linux i just do yay thing and bam it's installed
that's the single reason arch is my favorite distro btw the official repos + aur has everything under the sun and it's all up to date
but who is behind making yay thing work
yay install openjdk-latest is something i had to do for my younger brother yesterday
if it works
fedora
i've never had it not work
on windows a lot of shit can be installed via winget/chocolatey too, no manual msi bs where you download and run and click through 100 Next buttons of allah
maybe dev stuff
I never use that chocolately stuff
I kind of like the 100 next buttons of allah
I miss when they were called wizards
idk i've always disliked installers tbh
i always hated it
that was back when computing was cool
Like I want a binary installer
My favorite is the classic installer wizard when there is a secondary window that takes up the whole screen with a fancy blue gradient background and then the regular installer wizard appears above that
I miss those days
i also have ptsd from building installers xD
I still have no idea what it means to even install a program lmao mine just run out of a folder
i hate not knowing what the hell the install is doing, windows installers will create three folders in different places in your filesystem, mess with the registry and do god knows what else
you install it by cramming that folder somewhere in appdata or program files
or both
there must be more to it than that though
I figure there's some registry BS or something going on
i like the macos approach where stuff is packaged and self contained and you literally just copy it to applications folder
I don't necessarily like or dislike that but it's definitely different
It depends on the installer
i also have fond memories of having all my fav tools (TeraCopy, Getright, IrfanView et al) on some lan drive, and a .reg file to "install"
windows feels like it's inserting tendrils of chaos into your computer and if you just delete the folder in program files it's like leaving the head of the tick in your skin
I like that windows is standard/monolithic enough that you can do nontrivial stuff like that, imagine trying to associate a browser link with a program on linux
e.g. a default magnet:// program or something
yeah, i mean, if you never did that on binbows before its as hard/trivial
I mean programs can ship that'll do that with certainty, try shipping a linux binary that can do that
xdg-settings set default-web-browser google-chrome.desktop
I remember when I was trying out matrix servers there was this rust one I was curious about because theoretically it would've been less resource intensive than synapse
or graffical if you want
they claimed to have an ubuntu build but it was literally just a binary from their CI in one of their CI dump folders, and I had no fucking clue how to get it to work and they had no docs
but hey there was technically a static standalone binary
except it was server software so I would've needed to figure out how to configure the service for it from scratch, so fuck that
i remember these standalone .exe files which were some standalone virtualized os thingy
it wasnt vmware and wasnt virtualbox, something enterprisey/commercial
hyper-v?
a 500mb exe or so, you just run it, and inside oyu have 1 application running in another os
no
was it like proto-docker
ja way before
mid/late 2000s
if not late 90s already
you could also "dockerize" whole applications with it, and stuff everything into that one .exe
neat, never heard of that
I remember like 10ish years ago it was cool and fancy tech to have seamless RDP for single applications, citrix type stuff
very commonplace now
congratulations dodo 🙂
you can have different views all at the same time?
oh wow, I forgot to scroll down for a while...
An installer can basically do anything, including editing the registry and badly behaving programs can just leave a mess behind because the incentive to providing a good uninstaller is not is understood or not appreciated by some companies
needing an uninstaller at all is fishy
ideally i should be able to just rm a directory and poof gone
how do you deal with the case of stuff you interact with centralized OS state for
like file extension association or registering services
yeah, that's a fair point
at some point you're gonna have to register something with the os
I don't like that they're binaries though, if installers/uninstallers were transparently shell scripts you could at least deal with the majority of the crust
ig at that point you'd want to make it minimal enough that the os can clean up after an uninstalled program
also uninstallers have the opportunity to clear out caches and other junk that would be left behind if you just deleted the dir
though if you write your cache to the correct location the OS is supposed to clean it up for you
like, if you have an associated extension to a program that's no longer there os just goes "well ig that's gone, let's just use the next one and get rid of this entry"
though conversely if it was a shell script then the user having an incompatible shell would mean it wouldn't work
eg users who uninstall bash and then wonder why nothing works anymore
that's what we call a skill issue
uninstalling bash is like deleting random files in system32
if you're that dumb you do not deserve a working os
if you have a custom shell that can't even run compat for bash you should figure out how to edit your own installer scripts
because that's clearly the message you're sending
idk, on linux every component is supposed to be replacable so I don't think the desire to uninstall bash is that unreasonable
yeah but in practice that's exactly why the user experience of linux is dogshit
having a manifest system for programs to tell the OS where they write all their config and temp data would mean that an uninstaller wouldn't need to itself be an executable program
because it's not like the temp files location changes for a given program
im always kind of amazed when i take a binary i cooked on arch box1 and let it run on some oeboentoe test vm and it just works out of ze box, or other way around
why do the programs need to write shit anywhere other than their binary dir or a global temp dir anyway
store the config next to the binary, shrimple
i would be amazed too, because i have never had this type of cross-distro running work
XDG_BASE_DIRECTORY you mean 🙂
Sorry about the thread Bjorn, we went a lil off topic
because the install location is not always writable
esp if you got installed via a package manager
hrm fair
there is no excuse to dump your cache in my documents folder though
mozilla fixed a 21 year old request recently, which was around ~/.mozilla on linux not adhering to XDG_BASE_DIRECTORY
the only two sane options imo are either store it next to the binary and ensure the program has access to its own directory, or global (or user-wide) config dir
yeah, in a multiuser environment having it all in the app dir is weird, but, if i am the only user, yes, lets go
btw next time we derail ravbugs fred
I don’t mind
I am not making a lot of progress this weekend just hanging out with my kid at the convention
what's the convention
always important to spend time with the kids 
code can be written tomorrow
kids won't always be there tomorrow
bikeshedders anonymous
I guess something in SF from his picture yesterday
I was working the first aid station at SJMADE on Friday
San Jancisco
lol
This, based on the lanyard https://fanexpohq.com/fanexposanfrancisco/
SF Fanexpo
people do things in San Jose?
I thought the city was mostly empty...
interesting.
a lot of it is your typical suburban sprawl
SJ is also home to the nations worst light rail system 
most expensive as well*
(
)
at least it has a light rail system 
that's better than most of the us
I rode the VTA light rail once. should’ve walked instead
the plan originally was to build a circular system like in paris. but they only built a quarter of the circle
In California you either drive or uber to places
every other option has severe downsides
i've used SF Muni, caltrain, and bart and those have all been fine. but yeah everywhere else you're toast
you still need to uber to the rail system 
(and from)
I take the AC Transit bus to work
I live near Berkeley
USA buses are not very enjoyable to use (worse than Canada/europe at the very least)
i would take the bus to work but I'd have to connect halfway and the busses arrive within 2 minutes of each other. so if the first one is late then i'm stuck at that street corner for 30 minutes
not worth it
esp since my entire commute by car is 30 minutes 
The transbay AC bus is a pretty fancy bus
Karl Urban is doing talk that’s cool
Cast from the Boyz
I didn't think so but there were 12,000 people there lol
I think me and my partner were the only white people in the entire building though
About the demographics of SJ you'd expect
Pretty neat event
Cool that people line up like crazy for convention center stuff I guess nature is healing