‹ Reports
The Dispatch

OSS Report: PCSX2/pcsx2


PCSX2 Development Faces Persistent Bug Challenges Amidst Active Community Contributions

PCSX2, an open-source PlayStation 2 emulator, continues to see active development with a focus on enhancing user experience and addressing persistent bugs, particularly in graphics rendering and controller support.

Recent Activity

The recent issues and pull requests (PRs) in the PCSX2 project highlight ongoing challenges and efforts to improve the emulator. Notable issues include graphical artifacts and performance problems in hardware rendering mode, as seen in #11779, where enemies in Splinter Cell: Pandora Tomorrow react to audio they shouldn't. This suggests deeper issues with audio processing that need addressing. Feature requests such as #11775 indicate a desire for improved user interface elements.

Recent PRs reflect a focus on bug fixes and enhancements. For example, PR #11788 addresses localization file installation issues, while PR #11786 improves input profile management. The development team is actively engaged in these efforts, with members like kamfretoz contributing significantly to UI improvements and translations.

Team Members and Recent Contributions

  1. PCSX2Bot

    • Automated translation updates with 11 commits.
  2. kamfretoz

    • 18 commits focused on UI improvements and bug fixes.
  3. JordanTheToaster

    • 6 commits updating dependencies and settings.
  4. chaoticgd

    • 8 commits enhancing debugging tools.
  5. joestringer

    • 3 commits related to USB controller support.
  6. F0bes

    • 2 commits on UI enhancements in OSDSYS.
  7. lightningterror

    • 6 commits on graphics rendering improvements.
  8. Florin9doi

    • 8 commits on USB device emulation fixes.
  9. RedPanda4552

    • 1 commit on UI adjustments.
  10. deanff

    • 1 commit improving keyboard navigation.

Of Note

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 12 5 28 0 1
30 Days 44 25 130 0 2
90 Days 175 103 612 0 2
1 Year 370 200 1324 0 2
All Time 4554 4052 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
chaoticgd 1 4/3/1 8 141 71969
PCSX2 Bot 1 0/0/0 11 2 7456
KamFretoZ 1 6/5/0 18 23 2194
Florin9doi 1 5/5/0 8 15 1085
lightningterror 2 5/5/0 6 11 570
Joe Stringer 1 1/1/0 3 2 357
Jordan 1 6/8/1 6 18 221
RedPanda4552 1 2/1/0 1 2 80
Farran666 1 2/1/0 1 1 34
squidbus 1 2/2/0 2 1 25
Ty 2 1/1/0 2 1 16
deanff 1 1/1/0 1 1 10
Mrlinkwii 1 2/2/0 2 1 8
seta-san 1 1/2/0 1 1 5
TellowKrinkle 1 2/1/0 1 1 5
xperia64 1 1/1/0 1 1 4
Ettore Beltrame (E440QF) 0 1/0/1 0 0 0
oltolm (oltolm) 0 0/1/0 0 0 0
Stuart Kenny (stuken) 0 1/0/0 0 0 0
None (crashGG) 0 1/0/1 0 0 0
Денис Назаров (Nenderus) 0 1/0/0 0 0 0
Masimar (smasimar) 0 1/0/0 0 0 0
None (SuperSamus) 0 1/0/1 0 0 0
None (TheLastRar) 0 0/1/0 0 0 0
None (fuel-pcbox) 0 1/0/1 0 0 0
Timothy O'Barr (weirdbeardgame) 0 0/1/0 0 0 0
None (TheTechnician27) 0 0/0/1 0 0 0
None (github-actions[bot]) 0 11/11/0 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The PCSX2 GitHub repository currently has 502 open issues, indicating a high level of ongoing user engagement and development activity. Recent issues reflect a variety of concerns, including bugs related to graphical rendering, controller input, and game-specific problems. Notably, there are several reports of persistent bugs that have been carried over from previous versions, suggesting that some issues may require deeper investigation or more robust fixes.

A recurring theme in the recent issues is the presence of graphical artifacts and performance problems across various titles, particularly in hardware rendering mode. This suggests potential underlying issues with the emulator's graphics handling or compatibility with specific games. Additionally, several feature requests indicate a desire for improved user interface elements and enhanced functionality for controller support.

Issue Details

Most Recently Created Issues

  1. Issue #11784: [BUG]: FileSystem: recursive CreateDirectoryPath with absolute path broken on Windows

    • Priority: Bug
    • Status: Open
    • Created: 2 days ago
  2. Issue #11780: [BUG]: Version number reported by Windows Builds of PCSX2 does not follow semantic versioning standard

    • Priority: Bug, Core
    • Status: Open
    • Created: 3 days ago
  3. Issue #11779: [BUG]: Splinter Cell: Pandora Tomorrow - Enemies reacting to audio they shouldn't

    • Priority: Bug
    • Status: Open
    • Created: 4 days ago
  4. Issue #11775: [Feature Request]: GUI - move away Post-processing from Graphics to its own separate section

    • Priority: Enhancement / Feature Request, GUI/Qt
    • Status: Open
    • Created: 5 days ago
  5. Issue #11774: Support for Guitar Hero Drum Kit (ALMOST there with the current Rock Band Drum Kit)

    • Priority: Enhancement / Feature Request
    • Status: Open
    • Created: 6 days ago

Most Recently Updated Issues

  1. Issue #11779: [BUG]: Splinter Cell: Pandora Tomorrow - Enemies reacting to audio they shouldn't

    • Last Updated: 3 days ago
  2. Issue #11780: [BUG]: Version number reported by Windows Builds of PCSX2 does not follow semantic versioning standard

    • Last Updated: 3 days ago
  3. Issue #11784: [BUG]: FileSystem: recursive CreateDirectoryPath with absolute path broken on Windows

    • Last Updated: 2 days ago
  4. Issue #11775: [Feature Request]: GUI - move away Post-processing from Graphics to its own separate section

    • Last Updated: 5 days ago
  5. Issue #11774: Support for Guitar Hero Drum Kit (ALMOST there with the current Rock Band Drum Kit)

    • Last Updated: 6 days ago

Important Observations

  • The issues span a range of categories, primarily focused on bugs but also including feature requests.
  • There is a notable urgency in addressing bugs related to game performance and graphical fidelity.
  • The presence of multiple issues related to audio and controller functionality indicates areas where user experience could be significantly improved.
  • The community appears active in both reporting issues and suggesting enhancements, reflecting a strong engagement with the emulator's development process.

This analysis highlights the ongoing challenges faced by the PCSX2 project as it continues to evolve and adapt to user needs while maintaining compatibility across a wide array of PlayStation 2 titles.

Report On: Fetch pull requests



Report on Pull Requests

Overview

The PCSX2 project currently has 17 open pull requests (PRs) and a total of 6645 closed PRs. The recent activity indicates ongoing development focused on improving functionality, fixing bugs, and enhancing user experience across various aspects of the emulator.

Summary of Pull Requests

  1. PR #11788: Install translations in PACKAGE MODE
    Created by Денис Назаров (Nenderus) - Open
    This PR aims to ensure that localization files are correctly installed when the PACKAGE_MODE option is enabled, addressing a significant packaging issue for Linux distributions.

  2. PR #11786: Config: Prevent pad settings lingering in game properties blocking profiles
    Created by RedPanda4552 - Open
    This change removes an outdated check that interfered with loading input profiles, improving user experience for those who switch profiles frequently.

  3. PR #11783: GS: Update lottes crt shader
    Created by Stuart Kenny (stuken) - Open
    This update aligns the shader with the latest version, enhancing graphical fidelity but raising concerns about color balance based on community feedback.

  4. PR #11782: Hotkeys: Flipped the order of Hotkey action "SaveStateAndSelectNextSlot" to "SelectNextSlotAndSaveState"
    Created by Masimar (smasimar) - Open
    The change aims to streamline the save/load process but has sparked debate about user preferences regarding hotkey configurations.

  5. PR #11781: FSUI: Misc Fixes
    Created by KamFretoZ (kamfretoz) - Open
    A collection of minor fixes intended to enhance the Fullscreen UI experience.

  6. PR #11753: GameDB: Add Skip MPEG Hack to Never7
    Created by Farran666 - Open
    This PR introduces a game fix to prevent freezing during video playback, although it has been debated whether this is the best solution.

  7. PR #11734: EE: Allow mapping main memory anywhere
    Created by TellowKrinkle - Open
    This significant change allows more flexible memory mapping for recompilers, potentially improving emulator stability.

  8. PR #6553: WIP: GS: Add Pre-Round Sprite hack
    Created by refractionpcsx2 - Open
    A work-in-progress aimed at replicating hardware behavior for better graphics rendering, though still considered unstable.

  9. PR #11595: Debugger: Fix possible recursion loop when pause-on-tlb-miss is enabled
    Created by Ty (F0bes) - Open
    Addresses a critical bug in the debugger related to TLB misses, although further issues remain unresolved.

  10. PR #11574: Tools: Port refraction's bulk compression script to Python
    Created by TheTechnician27 - Open
    Converts a Windows-only script into a cross-platform tool, enhancing usability for all users.

  11. PR #11461: [WIP] GS/HW: Initial work implementing RT in RT support
    Created by refractionpcsx2 - Open
    Early-stage work on implementing render target support within render targets, with known issues still present.

  12. PR #11292: CMake: Force /usr/local/include to come last
    Created by TellowKrinkle - Open
    Aimed at resolving build issues on macOS and improving compilation reliability.

  13. PR #11787: GS/HW: Add all levels/unclamped mipmap modes
    Closed (not merged) - Created by crashGG
    Proposed enhancements for mipmapping that were ultimately not accepted due to concerns over complexity and stability.

  14. PR #11778 & PR #11777 & PR #11773: Various updates related to base translations and minor fixes, all recently closed after successful merges.

  15. PR #11698: USB-related fixes aimed at improving emulation accuracy for specific devices.

  16. PR #11696: Updates to trilinear filtering descriptions for clarity.

  17. PR #11693: General fixes in third-party libraries to improve stability and performance.

Analysis of Pull Requests

The current landscape of open pull requests reveals several key themes and areas of focus within the PCSX2 project:

  1. Localization and User Interface Enhancements: Several recent PRs (e.g., #11788, #11782, and multiple translation updates) indicate an ongoing effort to improve user accessibility through better localization and UI responsiveness. This reflects a commitment to enhancing user experience across different languages and platforms.

  2. Bug Fixes and Stability Improvements: A significant number of PRs are dedicated to fixing bugs that affect gameplay or emulator stability (#11786, #11753, and others). These changes are crucial as they directly impact user satisfaction and the overall reliability of the emulator.

  3. Performance Optimizations: Many recent contributions focus on optimizing performance through better memory management (#11734), shader updates (#11783), and other enhancements aimed at reducing overhead during gameplay (#11737). These optimizations are essential for maintaining smooth performance across various hardware configurations.

  4. Community Engagement and Contribution Diversity: The variety of contributors—from first-time contributors making minor fixes (#11738) to experienced developers tackling complex issues (#6553)—highlights an active community engaged in collaborative development. However, some discussions around contentious changes (e.g., hotkey modifications in PR #11782) suggest that while community engagement is strong, it can also lead to disputes over design choices and user preferences.

  5. Long-standing Issues with Merged PRs: Some older PRs remain open or have been closed without merging due to unresolved issues or lack of consensus within the community (#6553). This indicates potential bottlenecks in decision-making processes or differing priorities among contributors regarding what features or fixes should be prioritized.

  6. Recent Activity Trends: The influx of recent pull requests suggests an uptick in development activity as the team prepares for upcoming releases or milestones (e.g., Release 2.2). However, there is also a notable presence of older PRs that have not seen recent activity or resolution, indicating areas where attention may be needed to avoid stagnation in development efforts.

In conclusion, while PCSX2 continues to thrive with active contributions focusing on usability improvements and bug fixes, there are underlying tensions regarding feature implementations and community consensus that could benefit from clearer communication channels among contributors. Addressing these issues will be vital for maintaining momentum as the project evolves further into its next phases of development.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Recent Contributions

  1. PCSX2Bot

    • Recent Activity: Automated updates to translations, contributing 11 commits with 7456 changes across 2 files.
  2. kamfretoz

    • Recent Activity: Made 18 commits focusing on UI improvements, translations, and bug fixes. Collaborated with other developers on translation updates and UI enhancements. Notable changes include fixing theme switching glitches and improving keyboard navigation.
  3. JordanTheToaster

    • Recent Activity: Contributed 6 commits mainly updating dependencies and making minor adjustments to settings. Collaborated with others on translation updates and bug fixes.
  4. chaoticgd

    • Recent Activity: Significant contributions with 8 commits totaling 71969 changes, primarily focused on debugging tools and enhancing the expression parser. Collaborated with other developers on various debugging features.
  5. joestringer

    • Recent Activity: Contributed 3 commits related to USB controller support, specifically for DenshaCon controllers.
  6. F0bes

    • Recent Activity: Made 2 commits focused on UI enhancements in OSDSYS, including enabling savestate options.
  7. lightningterror

    • Recent Activity: Contributed 6 commits primarily focused on graphics rendering improvements, particularly in blend multipass handling.
  8. Florin9doi

    • Recent Activity: Made 8 commits related to USB device emulation, including fixes for specific devices like Capture Eye and Singstar microphones.
  9. RedPanda4552

    • Recent Activity: Contributed 1 commit related to UI adjustments.
  10. deanff

    • Recent Activity: Contributed 1 commit improving keyboard navigation in the game library.

Patterns and Themes

  • Translation Updates: A significant focus on updating translations was observed, primarily driven by PCSX2Bot and kamfretoz.
  • UI Enhancements: Multiple team members contributed to improving the user interface, indicating a collective effort to enhance user experience.
  • Graphics and Debugging Improvements: Chaoticgd and lightningterror made substantial contributions towards debugging tools and graphics rendering, suggesting ongoing efforts to improve emulator performance.
  • Collaborative Efforts: Many commits involved collaboration among team members, particularly around shared features like translations and UI improvements.
  • Active Maintenance: The team is actively maintaining the project with regular updates, addressing bugs, enhancing features, and ensuring compatibility with various controllers.

Conclusion

The development team is actively engaged in enhancing the PCSX2 emulator through collaborative efforts focused on user experience improvements, debugging capabilities, and ongoing maintenance of translations. The recent activities reflect a commitment to both technical excellence and community engagement within the retro gaming space.